Sunday, May 22, 2005
Monday, May 16, 2005
Touch Piggy's Eyes
So 'm been playing with Mono on OSX recently and it works. I wrote a Lindenmayer Systems parser based on 'The Algorithmic Beauty of Plants' in what amounts to a dozen or so hours without the help of a IDE or debugger.
Now I really want to do something with it, at the moment all its good for is producing a massive string of characters or an ArrayList of 'tokens' from which the big string is derived. Stick a front end on it and its could be a 3D plant / tree generator or just a fun toy. Have a look at what Laurens Lapré does with his. This is of course where the problems begin.
While Mono is great its primarily a Linux project based on .NET a Microsoft technology. This means that all the necessary supporting products tend to be a let down on OSX. The reason I'm working without a debugger / IDE is because there isn't one, apart from a new $300 one which is a bit much to spend for a toy project like mine.
Now I'm going to rant, it's a totally unfair rant, and I haven't brought the problems up in the more appropriate places but
hey, it's a rant
The first front end I was going create would have been a simple OpenGL viewer. OpenGL is supported in .NET / Mono through the Tao framework. Now the framework is going through a bit of an upheaval as it changes hands so there are currently no binaries available. That fine, I'm a programmer I can build stuff from source :-).
One tar ball later and, oh no build instructions. A bit of digging later and I'm downloading NAnt, the required build tool.
I start the build...oh NAnt thinks I'm running win32. I'll try the Linux option since there no OSX or Unix option. No, that failed too, it does not like my version of sed?!?
Well, lets build NAnt from source, maybe it'll pick up some OSX friendliness along the way. Download the latest RC. Nope that failed, it could not run mono?? despite me being able to run mono from the same terminal using the same command. The latest nightly give me a different error a MissingManifestResourceException. It looks more like a mono problem this time. At least I've now got a good starting point for getting some help this time.