Older blog entries for wainstead (starting at number 80)

New configure options, MCP included in distro

I've moved a couple of the constants out of options.h into configure.ac/config.h.in/configure, so they are now flags to ./configure (see ./configure --help).

I've had troubles for weeks trying to commit changes, getting some 405 error back from Google Code; but I thought today my repository copy might be borked so I checked out a new one and was able to do all my commits just fine. Tho I'm at a library, so that might have made a difference (this 405 issue seems to happen when I'm in a hotel).

See http://code.google.com/p/waverous/

Syndicated 2011-07-08 00:27:00 (Updated 2011-07-30 23:06:00) from Wainstead

Licenses, licenses, licenses

Tonight I did a long overdue audit of all the files in the project, their licenses, and aggregating all of that in a LICENSE file. A friend of mine had contributed one of the C source files, so with his blessing I added the copyright notice and licensing terms.

There are three files with no licenses at all, and those will have to wait for another day. The good news is there's no GPL code being compiled into the server code that I can find. I think anything that is compiled into the server has to be compatible with Xerox's licensing terms, and I doubt the GPL fits.

I've been doing some tinkering with the autoconf stuff too; I changed the configure options from --enable-wooblam to --with-wooblam, which seems more natural-sounding to me.

And I've filed a few tickets. It's progress.

Syndicated 2011-06-15 04:03:00 (Updated 2011-06-15 04:03:33) from Wainstead

The need for a binary distribution

Today I finally got my Amazon AWS account fixed via Amazon support and ran some EC2 instances... the default Linux 64 bit image has no tools on it -- not surprisingly -- so I have to search for a suitable image.

Meanwhile... the need for binary distributions of Waverous rears its head. I hadn't really thought about it beyond creating an RPM, and perhaps a DMG.

Syndicated 2011-02-02 23:02:00 (Updated 2011-02-02 23:02:21) from Wainstead

Last week I was wandering the farmland of southern Indiana with a friend; he negotiates right-of-way for the phone company. This involves approaching farmers or homeowners and negotiating things like installing a box on a corner of their property, or burying cable along the edge of their property.

While talking to one couple about running a line along the road in front of their house, he pre-empted a question he knew they'd ask: Are we getting broadband? He said he was not authorized to answer that, but laying new lines was the first step towards rural broadband in this case.

In the many times he and I have wandered the countryside, be it Ohio, Iowa, Wisconsin or wherever -- or for that matter, seeing Arizona and Nevada myself -- there is an idyllic charm to some of the old farmhouses (or Airstream trailers in the desert) and the life of peace and quiet and big, open nature.

And I've thought it would be neat, as a programmer, to live in such a place for a while and work remotely.

But the hard reality is most of these places, Eden-like as they seem, are still using dial-up.

Universal service seems very far off.

24 Mar 2011 (updated 24 Mar 2011 at 22:40 UTC) »

I installed rvm (Ruby Version Manager) on my iMac and was trying to install Ruby with rvm... but it failed on this compilation error:

readline.c:1386: error: 'username_completion_function' undeclared (first use in this function)

Googling around did not turn up any satisfying solutions... and then my friend Randy at quicksandswimmingpool.com pasted this to me: a fairly straightforward solution.


# installing rails 3 on mac os x snow leopard (w/ rvm)
# ---


cd /tmp

curl http://ftp.gnu.org/gnu/wget/wget-1.12.tar.gz > wget-1.12.tar.gz tar xzf wget-1.12.tar.gz cd wget-1.12 ./configure make sudo make install cd .. rm -rf wget-1.12

wget ftp://ftp.cwru.edu/pub/bash/readline-6.1.tar.gz tar -xvzf readline-6.1.tar.gz cd readline-6.1 ./configure make sudo make install cd .. rm -rf readline-6.1

# this part comes right from Ruby Version Manager's installation # instructions...

bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head )

# edit $HOME/.bash_profile to include: # [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # this should be the last line

# End rvm installation; now finally get down to business... rvm remove 1.8.7 rvm install 1.8.7 -C --with-readline-dir=/usr/local/ rvm install 1.9.2 -C --with-readline-dir=/usr/local/ rvm 1.9.2 --default

rvm use 1.9.2 gem install bundler gem install rails

Yesterday, I took a long detour into golang... installing it on my linux box (an Intel Mac Mini), doing a few sample programs, reading godocs. I've thought about writing a MOO server in golang with Javascript as the scripting language; I've found lex and yacc clones written in golang. It looks like most of the pieces are there, but I'd have to do the Javascript engine all on my own.

I've been back at the autotools for my Waverous LambdaMOO project. I've gotten some conditional stuff working, like ./configure --enable-expat. I have a few more to add to ./configure like --with-ssl and --with-fup and --with-fileio.

After that I think I'll be mostly done with the build system. There's GNU Coding Standards stuff to take care of still: I'm completely undecided on what make install should do. I think ideally I'd like it to build a chrooted environment, but that might not be practical to do from a Makefile.

Today I found that my project inherited the .indent_pro file (which feeds flags to GNU 'indent') from the original LambdaMOO project, and this specifies the K&R formatting style.

I tried changing this file, whose arguments are:

-kr -ip4 -psl -nfca -lps

into the long forms per the man page (i.e. -nfca becomes --dont-format-comments), but strangely the code was formatted differently somehow. Go figure! So I'm leaving it as-is.

I've released the first beta of Waverous LambdaMOO.

It's been a long time coming, and a lot of hard work learning how to convert C to C++, learning the autotools, and learning that the magic of the LambdaMOO server runs far deeper than I ever thought. Heck, it's Miller Time.

I've been burning my eyes out looking at GDB for a day and a half, trying to figure out why Waverous LambdaMOO has a bug on Darwin but not GNU/Linux.

In a nutshell, doing "look me" as a wizard caused a signal 11. My friend Merlin suggested I explicitly compile it for 32 bit architectures; I found gcc's -m32 flag.

This solved the bug! Just shows you how one should not program in isolation. :o)

But this brings forth another major issue in updating LambdaMOO: making it 64 bit safe.

I had the desire for a new SVN command: svn sdiff. Does not exist, sadly, but svn is so CLI friendly at times I want to shake the hands of all the Subversion developers.

So:

svn cat some_file.c | sdiff -w220 - some_file.c

will do one file, and with mixed results you can do:

for i in `svn stat | egrep '^M' | awk '{ print $2 }'`; do svn cat $i | sdiff -w220 - $i; done

The downside is sdiff spits out whole files, so there's a lot of output; I long for grep's --before-context and --after-context. I don't demarcate the start of new files either, but a simple "echo $i;" should do it in the loop.

71 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!