|
|
||
Tim Boudreau's BlogOpen Source ArchivesWhat if we built Java code with...Java?Posted by timboudreau on January 30, 2008 at 01:36 PM | Permalink | Comments (23)My friend Jon had an interesting insight: Both Ant and Maven rely on lots of XML. XML is good for describing data and terrible for describing behavior. A build is mostly behavior. What if, instead of tormenting Ant into iterating on a bunch of subprojects of subprojects, if we just used an actual programming language to write build scripts. Like, oh, say...Java, for instance? So he created the Gosling project. It's pretty embryonic - and I think some of the file and resource classes could be replaced by straight usage of things like javax.tools.FileObject, but it has a nice simplicity. Here's the constructor for Gosling's own build to build itself. It has a similar feel to what Jon did in designing Wicket's APIs:
public GoslingProject() {
final Folder root = new Folder("/Projects/gosling/workspace/gosling");
final Folder source = root.folder("src");
final Folder lib = root.folder("lib");
final Folder target = root.folder("target");
add(new JavaApplicationBuilder() {
@Override
protected Set
Everett Hafner, a belated eulogyPosted by timboudreau on January 12, 2006 at 11:30 PM | Permalink | Comments (3)I was just reading Richard Feynman's essay Arlene, about the loss of his wife - written with a combination of wit, love, seriousness, practicality and a real sense of loss. That and another conversation and it made me think of one of the most fascinating people I ever knew. I write this in his memory, because to this day he lives in my memory, and I know I am not the only one. Sometimes you meet someone who ends up influencing your life and thinking in subtle but important ways. Everett Hafner was an eccentric, brilliant man who left a legacy in the lives of many of his students, and I was one of them. In college I took Electronic Music. My TA was Everett. I had to pass an interview to enter the course. My music reading was abysmal, despite having perfect pitch - when I took piano, it was always so easy to memorize what I had to play that reading music never sunk in - I'd play it once and then study the notes when I got lost, until I didn't get lost anymore. My music teacher finally bagged me, noting that my my mistakes were always "musically correct". That left me fantastically underprepared for a grad-level music course as a freshman. Most professors would have booted me out the door; Everett asked me to hum intervals and probed my ability to understand music and arrange - he actually was interested in my native ability, not formal training, and just took an unorthadox approach based on my mental model for music, rather than the formal model of written western music. I hummed intervals. And he let me into the class. It's rare to meet someone with the interest and the ability to intuit how someone conceives of a topic, and then measure their ability through their conception of it, instead of simply measuring their amount of formal training, which is much less work. Everett was a physicist, and had been one of the designers and founders of Hampshire College in the 60's, and was dean of sciences until his retirement, already in his 70's I believe. At which time he decided to get his PhD. in music at UMass and learn to fly planes. That alone I admired - and hadn't encountered before. Here's a man in his seventies getting his pilots license and a PhD. in a discipline completely unrelated to his former career (though he had been a pioneer in electronic music in the 60's). Seeing him changed what I could imagine for myself as I get older. He was eccentric - I don't know if he owned a car, but he often needed a ride home to Williamsburg after class, and so we got to talk for the forty minute ride - I lived in Northampton, Mass., so it was only a little out of the way. Once he asked me if I wanted to "go up" in the plane, but I declined - somehow I thought I'd be imposing. Despite what would later happen, I wish I'd said yes. A few times he invited me in, and we would talk about music theory, or unrelated things - and always in the middle of a conversation, he would simply say "Well, run along now..." - I was dismissed. He had this giant light bulb, manufactured in 1919 and still working, mounted with a giant transformer in the electronic music studio. A former colleague of his, and father of a boyhood friend, once told me "Everett has ten ideas a minute, and half of them are bad." Some stories I remember:
What I admired most was his open mind and ability to think way out of the box. And that in his seventies, he was more alive than many people I knew in their twenties, engaged with the world and interested in new things. I pray I am so lucky. In the fall of '99, when I was working in Prague, I googled his name - hoping to find an email and reconnect. And found his obituary. He'd died in a plane crash, flying his Cessna. I cry rarely, probably too rarely, but I did at my desk that day. He was such an ageless presence that it was impossible to imagine him gone - it is to this day. And it was also for him. He died doing something that he loved. Having seen family members go slowly and painfully, I hope that I die doing something I love. So I write this today, because I find after all these years, I still mourn Everett Hafner. And googling, I was surprised to find out how many others had similar things to say and fond memories. I'm sure some of the fifteen year old memories I've written here are off in the details, but not in the essence.
For the subtle influence he had on the course of my life and my thinking, I can only say a, far too late, thank you.
NetBeans now has Mac-friendly key bindingsPosted by timboudreau on September 08, 2004 at 01:37 PM | Permalink | Comments (7)I just committed some changes to NetBeans key bindings handling, so that mac users will get key bindings that are much more like other mac apps (no change for Windows or Linux users). Specifically what's different:
Also, dialog buttons will now appear in the correct order on Macs, with OK on the right. Alas, these changes will not be in NetBeans 4.0 Beta 2 - I missed the cut-off, but it's better to review things properly than to rush. They will be in Beta 3. Please give it a try, and let me know if any of your habitual keystrokes are doing the wrong thing. You can download tonight's build here. Be sure to select "Daily" from the "Build Type" drop-down.
The build with these changes will become available just after 4PM PST, or 1AM GMT.
| ||
|
|