Just need to keep a link to this one to check it out soon… jConfig aims to make managing configuration information easier, providing multiple storage mechanisms along the way.
This blog went an entire week without entries, which is quite unusual. The week before that was quite quiet, too. I don’t think Blue Sky On Mars has ever had that lengthy a quiet period.
It started with a trip to Niagara Falls, for a JSTOR-wide company retreat. That was a packed couple of days, but it was a good chance to meet people from our New York office. Things were busy after getting back, because we’re full-steam-ahead on our project at work, and I’m pair programming all day these days.
The weekend after Niagara Falls, I wound up with a nasty little cold, that I’m only now just about done with.
Then, last Friday, I finally had LASIK performed on my heretofore unaltered eyes. I’ve had a pretty easy recovery thus far, my vision is pretty good (but still stabilizing). I’d certainly recommend it for anyone who is not afraid of having their eyes tampered with and whose vision will likely be restored to 20/20. After years of wearing glasses or contacts, it is a huge change to be able to see so well without any additional apparatus. For me, the procedure was fully painless.
One word of advice: if they have a monitor in the pre-op area that is showing a LASIK procedure that is currently underway, don’t look at it. I was doing fine before the operation until I saw a 20″ (diagonal) eye being kind of abused. I still did fine after that, but the sight made me a little more tense. I found it much easier to go through in the first person than to view in the third.
My LASIK was performed by Dr. Sensoli at TLC in Ann Arbor. He’s performed thousands of these procedures and did great for me.
[strike out] is a neat site that shows a little insight into Microsoft marketing folks in the form of Microsoft Word’s “Track Changes” feature. It looks like there are even people in Microsoft who don’t know how to use this feature correctly when posting a document online. The author of “Strike Out” found that 5% of the documents that tracked down on Microsoft’s site had deletions still tucked away within the document.
In truth, I don’t think that what you see on “Strike Out” is all that different from the types of edits that go on in marketing departments everywhere as marketeers try to hone their message for best response.
Mike Hogan pitches an application architecture that should yield superior productivity. He talks about using RDF as his data model, though he admits that there isn’t very good tool support for RDF at this point. That’s certainly one trouble I’ve seen with putting RDF to practical application.
He talks about storing the data in Prevayler. Sure, there is a class of applications for which having all of your data in memory is fine. But, there are also plenty of applications where a larger data store is needed.
I’ve been thinking of this problem a little bit recently. I used Zope extensively for about a year, and find that the ZODB provides really great transparent persistence and doesn’t require you to have your entire database in memory. Of course, you have to be using Python to use the ZODB.
Recently, I also came across the IO Language, which seems like an unfortunate name because searching for “IO” on Google does not retrieve useful results. That said, I noticed something interesting in IO’s SQLLite interface: a “Soup” module. A “Soup” is a concept from the Newton. It’s basically an object store that indexes on named properties of your choosing.
Once you’ve worked with flexible, transparent persistence, you don’t want to go back. Hibernate is reasonably transparent (at least about as transparent as you can get in Java), but it still requires all of the maintenance of an SQL database. Yes, yes, I know that no one has yet made an object database that can scale as well as an RDBMS. But, there are a whole lot of applications you can do that fit within the scale that various object databases can accomodate.
I hope that Groovy will help to bring a little bit of dynamic behavior to the sometimes overly static world of Java. Nanoweb seems like a good start, because there’s just way too much housekeeping required for a typical Java webapp.
I just came across the FormLayoutMaker project which provides a visual editor for the JGoodies Forms layout package. This looks like a handy way to set things up. Though FormLayout is the nicest LayoutManager to use by hand, sometimes it gets a little painful to make changes to your CellConstraints by hand.
James Strachan has written about some interesting applications for Groovy, with a link to an excellent discussion of using Groovy in conjunction with Ant. This post also includes, notably, an apology for Jelly.
Groovy: First Contact provides a detailed look at Groovy’s features and Mike Spille’s likes and dislikes thereof. Here was my comment about the review:
Excellent post, indeed.
I think it’s important for Groovy to have a Java-like syntax, because that makes it easier to move back and forth between the two languages. I also agree that having more than one way to do things is the slippery slope to Perl (resulting in write/execute-only code — don’t try to read it).
But, if Groovy is *too* close to Java, as I think BeanShell is, you lose part of the reason to have a scripting system at all. The “->” and “.” thing seems like exactly the kind of thing that will throw Java folks off at first, but is useful when you’re trying to quickly put a script together. The optional parenthesis and semicolon can be nice for interactive use of a Groovy command line.
I haven’t looked under the hood, but I wouldn’t be surprised if operator overloading is used to provide some of the conveniences for Maps and Lists. Sure, you’ll have someone out there trying to multiply a GIF image by a JDBC ResultSet, but that’s really their problem. If someList.add(“foo”) can be replaced by someList + “foo”, I think that’s a win in a scripting language.
This article is the best one I’ve seen so far for giving people an idea of whether or not Groovy is for them.
Here’s an inspiring (in a businessy sort of way) tale of JetBlue’s CEO doing steward duty on one of their flights. This CEO, Dave Neeleman really puts the customer first, relying on first hand knowledge of customer wants instead of statistics in customer surveys and the like. His tactics are also great for motivating employees, who see their CEO taking all sorts of jobs seriously.
It’s great to see a new site that follows the iTMS pricing model, but offers unrestricted MP3 and Ogg Vorbis files. Audio Lunchbox only has indie tunes, but maybe someday most artists will be “indie”
Massachusetts Builds Open-Source Public Trough is a big deal, because government is one area where I’m sure the needs are similar from place to place and one city is not really trying to beat another city by having a more efficient DMV. This site will allow government agencies to more easily share software among each other.