I'm making progress patching my fork of Stunt LambdaMOO by generating patches from the git log of Waverous LambdaMOO. There have been the occasional rejections by patch that have puzzled me a bit; I wonder if it's a white space problem? I doubt it. I didn't look terribly close because doing the edits by hand only took a minute. I'm now up against the dreaded TRY/EXCEPT/ENDTRY set of C preprocessor macros. By my commit log in Waverous:

Geez, that was three years ago? I was hacking away in my little second-bedroom-turned-office in Jackson Heights, Queens; and these days I'm in a high rise in downtown Las Vegas.

Anyway this patch was completely rejected. It's late and my brain is too short on glucose to get the job done. Time to push to master and try to catch up on MOO-talk again. I can't keep up with it lately!

I didn't have oodles of time so I let it slide for a few weeks... my time was being taken up by a Udacity course, running LVDev, campaigning for a political candidate, working on a GreenerBlocks.org project and more! But the itch is there and wants scratching. Tonight I packed my laptop and went over to the Vegas Jelly in /usr/lib above The Beat Coffeehouse. It meets every Thursday night. The Linux, Bitcoin and All Things Open Source group was meeting in the conference room (Hi, Julian!) and I took a seat in the back of the room. I worked while a debate raged about the prospects of Bitcoin but I barely took notice. What I first found was gcc, make and friends were not present on my system anymore. I upgraded my laptop to OS X Lion recently when I participated in an iOS Boot Camp. But I installed XCode; wtf? Googling told me I needed to install the command line tools via Preferences -> Downloads. Completely obvious in retrospect, heh. I renamed configure.in to configure.ac, copied my Waverous version of the file over it and ran autoconf. All good. I ran ./configure:

Another wtf moment. I googled around but didn't really find anything specific enough for my situation; maybe upgrading the autotools? I did port update on autoconf and automake; but still the same error. Finally I just copied install-sh from the automake directory; this is scratch hacking after all, and with version control you never have to say you're sorry. (EDIT: Duh, I forgot to run automake --install-missing, was all).

OK, more wtf material... I called it an evening, had a nice discussion with a couple of the Linux guys about LambdaMOO and the problems of getting the masses to use new software, and headed home.

Back in my home office I googled the error a bit, editing out the particulars of the error message to make the search query more generic; somewhere I found one forum post where the reply was "Your aclocal got borked." Ah! Did I not move some of the MOO m4 macros to another file to reduce the size/complexity of configure.ac?

So I copied acinclude.m4 over from the Waverous project, ran aclocal, ran autoconf and finally ./configure and everything went well. I now have a Makefile that will correctly call g++ for the project. Time to commit my work, push it to github and sleep on it a bit.

What comes next, should I undertake it, is a lot of bare knuckle hacking to resolve conflicts between Waverous's code base and Stunt's. Todd has made a lot of edits to the C sources, I'm sure, and I started from the most recent version of LambdaMOO on Sourceforge. It means I'll have to come to understand a lot of the changes Todd made, and that will be challenging.

Todd Sundsted has been doing some amazing work with his fork of LambdaMOO, Stunt. While I was trying to catch up on the MOO-Talk discussion list (which has been very busy as of late!) he announced Composed, a package manager he wrote and has been using for two years. Check it out! He even has a call to action for people to package their MOO code for release. Imagine one ANSI package to rule them all.

"Object frameworks and object browsers are not a substitute for good design or documentation, but they often get treated as one. Too many layers destroy transparency: It becomes too difficult to see down through them and mentally model what the code is actually doing."

Let not a month go by without some work on thine open source project...

I closed a ticket today, a very minor one: the programmer's manual, which is a Texinfo document wasn't building on my Fedora 14 system on an Intel Mac Mini.Some months ago I decided to upgrade the Mini to Fedora 16 and that was the end of the Mini. Long story short: Fedora switched to the GRUB2 boot loader and after the distro is installed on the Mini it won't reboot. GRUB2 couldn't find the kernel, even when I explicitly passed the path on boot.The Mini has a flaky CDROM drive so installing anything means trying over and over until the installation process survives with no bad reads from the DVD disc. I should just pry the Mini open at this point and install a new optical drive.Tonight while doing another task (several, really) I kept trying to reinstall FC on the Mini, and the sixth or seventh try went without a hitch. Finally. I started "yum groupinstall"ing things to get the system fleshed out with the tools I need. It's almost there now.So I git cloned Waverous off Google Code and got the manual to build. Finally! It's not much but at least that's one ticket closed and the project inches forward. I still wanna try branching and doing a radical rewrite of the structs into classes just for kicks.

I'm posting to say I haven't gone away, nor plans for Waverous... I am still planning on releasing File I/O in a newly patched form for the MOO community.I'm also keen on doing some serious experimentation with Waverous by doing wholesale changes from C to C++, just to see what happens.I've been super busy here in Las Vegas running the Python Programmers Meetup and attending many other meetups, especially the Las Vegas Jellies. The weekly Jelly happens right down the street from me and has exploded with activity.

I've recently done some testing for GammaMOO, which has restarted development. It's really exciting to see LambdaMOO development happening again.Check out Luke's GammaMOO project!The other ongoing fork of LambdaMOO is Todd Sundsted's Stunt which adds multiple inheritance to the Moo scripting language. Also worth checking out! Or cloning, as be the case.

The one thing I don't like, so far, is I have to maintain a .netrc file with my Google Code password, and when I git clone the repository I have to edit out my username@ from the URL. But after that everything seems to work fine, though git push just returns "Repository up-to-date" without telling me anything happened.So, from the top: