Recent Posts

RSS Feeds

Woot!

iPhone, key arrived, os installing, nothing to be said, NDA and all that, very excited...

Lame attempt to be funny, hard to be silent.

Permalink     1 Comment

Mac Developer Round Table

Scotty was kind enough to have me on the Mac Developer Roundtable tonight. If you are interested in WWDC or iPhone SDK please have a listen. It was tons of fun! Thanks again Scotty!

For those of you coming here from Scotty's site check out my Core Animation blog, its probably more relevant as this is my java blog...

Permalink     No Comments

New Mini Online...

As I documented here my poor old PPC mini was having trouble keeping up with the success of my wife's iPhone Games so I bought and configured a new Intel mini and shipped it off last week. It went on line yesterday and is now barely above 10% CPU usage (the PPC mini was at 100% since ballblast came out).

I took the opportunity to upgrade to Roller 4.0 and update the theme for my blog.

Permalink     No Comments

Coming Home...

Way back in college I had the great privilege of working on a NeXTCube (started on system 0.9, yes I'm old...) with Mathematica doing some really cool non-linear stuff. It was my first exposure to Unix (which of course spoiled me rotten) and I was hooked. After the end of the semester I managed to land a job building code on the NeXT (doing 3d visualization of stress in materials). I had no idea what I was doing so I bought a book on object oriented programming, a book on smalltalk and a book that was a collection of research papers that mentioned Objective-C. I did not sleep much, got a second credit card and bought a NeXTStation (or pizza box as they were called). After I bought that baby (25MHz, 8MB Ram, 105 MB scsi hard drive, oh yeah!) I really did not sleep or study my aero space engr stuff either :) I still have it BTW and it boots just fine into NeXTStep 4.0, I put a 512MB SCSI disk in it (before I retired it). It also has the printer if anyone out there is in great need of a 25MHz 8MB computer I'm your guy.

After I graduated I looked around for a NeXT related job but nothing happened before my offer to go work at Rockwell Int. at NASA's Johnson Space Center in Houston expired so I took the job @ NASA and did some cool stuff. But other things were in store...

About 6 months into my full time employment I got a call from one of the consulting companies that I'd sent my resume to and they had some work doing NeXT training for Meijer. I jumped on that job in a second. While I was sad to leave behind astronauts, the space shuttle etc. The chance to work on NeXTStep full time was too tempting. That was 1992. I did professional NeXT stuff until 1998 when I jumped on the Java bandwagon and did a Java startup or two. Then went back to consulting doing enterprise java stuff etc etc, a lot of which has been documented on this blog...

Now to the point of this rather lengthy reminiscence. In November of 2007 I quit a great Java related gig to give the OSX world a shot (OSX is NeXTStep for those that don't know) and to focus on an OSX book for the Pragmatic Programmers. The book is finally beta, you can take a look at it here. I fell like I'm coming home writing a book about Cocoa related technologies. While hardware has come a long way the underlying philosophy of OSX has not changed since the NeXTStep days. It makes developing fun again (at least for me). Who knows if I'll do more java or not, best gig would be a combo, front end OSX, back end Java EE.

You can see some of the beauty possible with Core Animation on Apple's site or of course you could buy the book and mess with the samples. It has been a fun time and I'm really stoked about the transition.

Permalink     3 Comments

Zero G?

So way back in the day when I worked at NASA one of the projects I was involved in was the space suits for Reagan's space station. That was supposed to be assembled from K'enx type things and they needed new suits to give the astronauts more time in space (among other things). Anyway as part of that work I got to go flying in what is affectionately known at NASA as the Vomit Comet.

Anyway I noticed that Virgin Galactic announced their space ship today.

Step 1

At a cost of about $200,000 USD for 4 minutes of Zero-G (or around $830/second) it reminded me of the good ol' Vomit Comet. Which also reminded me of Zero G Corp. While its not orbital its a bit more cost effective at around $4000 (with 7 to 8 minutes of zero g or around $8.30/second). So while the Virgin Galactic flight might be cool, for the working class there is always Zero G Corp.

Permalink     No Comments

Alfresco on OS X - ImageMagic and OpenOffice

Alfreso is a fantastic ECM solution that has some amazing features and some great momentum. It has been more than a year since I've used Alfresco and man have they gotten some cool stuff done.

I spent the last couple of days getting certified to teach a couple of Aflresco's classes. I used my mac (running leopard) and I figured I'd post a bit about what I did to get all the features up and running. Alfresco is able to use OpenOffice and Image Magick to do some cool stuff like transform any word doc to PDF or and GIF to PNG etc. Problem is the Alfresco site is short on detail about how to make all that goodness work on the mac.

Being the stubborn guy that I am I would not leave well enough alone and run it on some other OS. It took me a couple of hours but I got everything working. Here are the details...

Grab Open Office from here. I got the aqua interface cause I don't really care about the UI anyway. Install by copying it to your Applications folder. I renamed the app to OpenOffice.app (got rid of spaces) although I'm not sure that is necessary it ended up that way after all the experimentation and I've not had a chance to go back and check if it would work with a space (seemed at the time like something that Alfresco was using was not properly escaping spaces).

Now that you have the OO install done its time to teach Alfresco about it. In your alfresco install (the one that includes tomcat) there is an extensions folder (tomcat/shared/classes/alfresco/extension). Go there and add a folder called 'bootstrap'. Then in there create an XML file called openoffice-startup-context.xml. I've included mine here so you don't have to set it up from scratch. Basically this file tells Alfresco how to startup openoffice in headless mode so that it can be used to do doc transforms.

Install Image Magick with mac ports via a command line that looks basically like this sudo port install ImageMagick. If you are stubborn and you don't want to use Mac Ports the Image Magick community has a binary distro for you here. I used the mac ports build instead of the binary distro so your millage might vary if you use the binary.

That is it, now when you restart Alfresco it will be able to do the document conversion and image conversion. If you are looking for an ECM take a look, its really cool stuff.

Permalink     No Comments

Maven - Choose Your Pain (Re: mostly hate)

So I generally feel that using maven or ant or make or shell scripts, building is a pain in the neck and what ever way you choose you will have pain. You get used to the pain of one kind or another and sort of grow to like that sort of pain and you forget that you ever lived without it. And at times you even start to defend the kind of pain that you like as pleasure. I'm having one of those moments after reading this.

Agreed maven has bugs, agreed maven has some doc problems, but...

Point 1 - the maven release plugin has its faults to be sure but more or less it works as advertised and if you are following the 'typical' path of using your SCM then the plugin even does a very nice job of keeping tags and such for you.

Point 2 - you can specify the path to the parent pom if you don't have it in the default location (e.g. ../pom.xml) in your parent descriptor (look for relativePath).

Point 3 - Agreed this is really irritating (esp the silent failures) but I've not had much trouble with Checkstyle or PMD on my 'very big' multi-module project. More detail would probably turn up some links to fix whatever issues are being experienced.

Point 4 - We use the assembly plugin with great success on Crank. Geronimo uses it as well. I could not tell what the actual problem was from the description given but I'll bet again there are ways to do that.

The 4 specific pain points I think are relatively easy to work through. The other 50+ things who knows. On my team we were tempted to write a custom plugin but we were able to make things work without it and were much better off in the long run IMO. Not that writing a custom plugin is bad, but in most of the cases on IT projects that I've seen folks writing a plugin its because they want to do something counter to the way maven expects. Such a plugin will be nothing but pain long term.

All that said, I feel his pain. I've been using maven for 2+ years and its only the last few months that I feel competent to make a big project really work. I'm not sure if that is completely a lack of docs or problems with maven. But I've gotten used to the pain of maven and I've really started to dislike the pain that I received from Ant (perhaps 2.0 will be worth a look when its done).

Permalink     5 Comments

Java on Leopard - enough complaining

So while reviewing the release notes for Java on Leopard I noticed a couple of interesting bits. First they included junit 4.1 and maven 2.0.6 in the mix, which is great (except that maven 2.06 had some serious bugs with transitive dependencies). mvn is now on your path so you don't have to download to get maven on your leopard box. Second they really cleaned up the awt/swt issues in this release so we can use stuff like Batik in Eclipse now. They also made the default rendering pipeline the Sun pipeline. Over all a ton of good work. JDK 6 and hopefully the full open source stack of 7 will be happening soon enough.

So for Leopard apple did a ton of java work as well as deeply integrating ruby, over all i think we got a sweet package. And I am ignoring all the complaining.

Yes the lack of official information is irritating to me too...

Permalink     3 Comments

Software Summit 2007 - Learn IT and Skiing

Hope to see you there. I'll be talking about Spring vs Guice and Continuous Integration. Its going to be fun and a great spot to learn tons of good stuff. I'm really looking forward to Dion's gears talk.

Make sure to save some energy for Friday afternoon as A-Basin is open!

Permalink     1 Comment

What was I thinking...

I don't know why it irked me so badly. I was looking at my javablogs email and saw that and thought oh wow I was just going on about this I wonder what the post is about. I read it and posted a comment. Now I'm thinking I have too much real work to do to get sucked into this debate again...

Open mouth, insert foot...

Did I mention that I'm really looking forward to CSS? :)

Permalink     No Comments

Interface 21 and economically rational developers...

Matt hit the nail on the head. Ben has a great point. This is exactly the same stuff that JBoss does/did. Rod is much less 'lawyery' (as Matt said and I've experienced, Rod has not come after me or anyone I've heard of with Cease and Desist letters) about it but that is only because the VC's just got their hooks into him. He will in time be forced to start enforcing Interface 21's trademarks just like JBoss must. And that is as it should be, please understand that I'm not hammering Rod, Interface 21 or even JBoss. (As much as I apparently like to do that, the only reason I've ever hammered on JBoss in the past is because they are something that everyone knows. Makes it much easier to discuss a concrete instance rather than some abstract notion).

So anyway we should try to be economically rational and tie our hard work and knowledge acquisition to truly open solutions instead of just being wowed by getting the source for free. Having the source is great, having freedom is even better.

In my opinion as the open source market matures folks like us (developers and consultants) will start to understand this kind of thing more and more. And as new opensource things come to the market we will be more aware of the fact that joining the Spring community enriches chiefly Interface 21 in the same way that joining the JBoss community chiefly enriches RedHat. Now of course as people involved in these communities we are able to make a living, but its only because we are playing the game by Interface 21's (or JBoss') rule book. If we want to do something with JBoss outside that rule book we are smacked down. In truly open communities like Eclipse or Apache you do get ownership when you join the community, true ownership, not just the source code.

And as I've said a bunch of times in the past that is what makes open source cool for me, I get ownership and freedom to do what I can, or am able, to enrich myself. If I'm good at it I help myself and the community. I help myself cause I get to bill, I help the community because I'm helping someone better understand what the community has built. Thus more people are using the software, more people are able to contribute and the ecosystem grows. The same thing has been happening since the beginning of IT, but its always been the companies that made the community.

We are in an age where big companies are not required for a piece of software to become widely used. Don't believe me? Take a look at appfuse. From Matt's passion to grok java web development came something that more than a couple of people have found useful. And there are many other examples of this kind of thing.

Back to Interface 21 and Spring. You can't justify VC and 10x - 20x revenue buy outs on the DHH philosophy. I tend to be with Matt on this (and alot other things too) that I prefer the DHH model of things, I prefer open communities, truly open, where the community decides direction not a single company or single person. Sure the folks that founded the community should be held in high regard and looked to for direction. But for the committers list to be restricted to one and only one company, that is a recipe for Cease and Desist letters.

All I'm saying is that we should be 'economically rational' and put our weight behind communities that will not come back to squash us.

Permalink     8 Comments

Beware, the lawyers are coming

good for tool vendors, perhaps, bad for programmers for sure[Read More]

Permalink     No Comments

Objective C - book in progress

So I've just about finished up the first chapter of my ObjC book. Its been a ton of fun so far.

I posted some thoughts about it here on my objc blog for those that are interested or anyone that might have thoughts about picking up ObjC coming from Java, .NET, C++ etc.

Permalink     No Comments

Software Summit Slides Away...

I finally got my slides off to CSS. Hope to see you there!

Permalink     No Comments

Software Summit 2007

The time is almost upon us to get into the Keystone mode. The Software Summit starts in just a few weeks. I'm really stoked about the content this year and I hope I get to see you there.

One of my favorite things about the conference (besids the content) is the location. Keystone is absolutely beautiful and some years there is early season skiing. Its been really wet this year all summer. Wet summer does not necessarlly point to snow winter but it can't hurt. Its going to be fun!

Permalink     No Comments