Older blog entries for wainstead (starting at number 77)

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.

Today I finally emailed Pavel Curtis a note that I obtained a copy of the LambdaMOO code base, per Xerox's copyright notice. So far it hasn't bounced.

Score one for SourceForge. Though I have to click through three pages to download a tarball (was that trip really necessary?), one can copy a CVS project wholesale with rsync. Found this out via Subversion's FAQ, which points to cvs2svn, which points to cvsclone, which has the instructions in a comment.


 Applying this tool to sourceforge.net or savannah.gnu.org is
 neither necessary nor recommended: With $1 being the project,
 you can simply
      rsync -av rsync://$1.cvs.sourceforge.net/cvsroot/$1/ $1
So rsync -av rsync://lambdamoo.cvs.sourceforge.net/cvsroot/lambdamoo/ lambdamoo-CVSROOT got me the whole CVS repository; pointing CVSROOT at it in my shell, I can check modules out locally. How fun is that? (Now, to convert it to git).
20 May 2009 (updated 20 May 2009 at 13:57 UTC) »

(defun hahahahaha()
  "descriptive string"
  (interactive)
  (jump-to-register ?1)
)

68 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!