<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>Advogato blog for wainstead</title>
    <link>http://www.advogato.org/person/wainstead/</link>
    <description>Advogato blog for wainstead</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Fri, 10 Feb 2012 18:24:02 GMT</pubDate>
    <item>
      <pubDate>Tue, 3 Jan 2012 05:36:38 GMT</pubDate>
      <title>GammaMOO and Stunt LambdaMOO project plugs</title>
      <link>http://www.advogato.org/person/wainstead/diary.html?start=87</link>
      <guid>http://waverous.blogspot.com/feeds/3597658643063872618/comments/default</guid>
      <description>&lt;p&gt;I've recently done some testing for &lt;a href="http://luke.dashjr.org/programs/gammamoo/" &gt;GammaMOO&lt;/a&gt;, 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 &lt;a href="http://207.210.101.162/" &gt;Stunt&lt;/a&gt; which adds multiple inheritance to the Moo scripting language. Also worth checking out! Or cloning, as be the case.&lt;/p&gt;&lt;div&gt;
  &lt;img width="1" height="1" src="https://blogger.googleusercontent.com/tracker/3253888304126050756-3597658643063872618?l=waverous.blogspot.com" alt=""/&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <pubDate>Fri, 2 Dec 2011 06:07:57 GMT</pubDate>
      <title>What I'd like to see for LambdaMOO</title>
      <link>http://www.advogato.org/person/wainstead/diary.html?start=86</link>
      <guid>http://waverous.blogspot.com/feeds/83577748628158738/comments/default</guid>
      <description>&lt;p&gt;On the MOO-talk mailing list, the question was posed: What other things are missing from the MOO server?My answer: &lt;a href="https://groups.google.com/d/msg/moo-talk/7U-HKJmJCQs/W7sElutX3xwJ" &gt;users. And usability. And hackers.&lt;/a&gt;&lt;/p&gt;&lt;div&gt;
  &lt;img width="1" height="1" src="https://blogger.googleusercontent.com/tracker/3253888304126050756-83577748628158738?l=waverous.blogspot.com" alt=""/&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <pubDate>Sat, 3 Sep 2011 20:08:37 GMT</pubDate>
      <title>Waverous is now using Git</title>
      <link>http://www.advogato.org/person/wainstead/diary.html?start=85</link>
      <guid>http://waverous.blogspot.com/feeds/2790101296034690208/comments/default</guid>
      <description>&lt;p&gt;I finally sat down, rolled up my sleeves and converted Waverous to a Git repository on Google Code. There were a few things that needed extra attention:&lt;/p&gt;&lt;p&gt;1) I used &lt;a href="http://john.albin.net/git/convert-subversion-to-git" &gt;John Albin's instructions on converting a Subversion repository to Git&lt;/a&gt;. It provided the most complete way of doing it.I had to do some detective work to figure out the names and emails of some previous committers, but in the end I had a repository with all the data I wanted including all branches and tags.&lt;/p&gt;&lt;p&gt;2) Getting all branches to the remote was not obvious, so I just did some rectangle editing in Emacs:&lt;/p&gt;&lt;pre&gt;&lt;br/&gt;git checkout AUTOCONF_TWO&lt;br/&gt;git checkout CONSTANTS&lt;br/&gt;git checkout FLOATSUSPEND&lt;br/&gt;git checkout HEAD -&amp;gt; origin/master&lt;br/&gt;git checkout INLINEPC&lt;br/&gt;git checkout UNSAFE_OPTS&lt;br/&gt;git checkout WAIF&lt;br/&gt;git checkout WROGUE&lt;br/&gt;git checkout avalon181&lt;br/&gt;git checkout demacrofication&lt;br/&gt;git checkout demacrofication@233&lt;br/&gt;git checkout experimental_automake&lt;br/&gt;git checkout experimental_reorg&lt;br/&gt;git checkout master&lt;br/&gt;git checkout pavel&lt;br/&gt;&lt;/pre&gt;3) Then I pushed everything to Google Code:&lt;pre&gt;&lt;br/&gt;git push googlecode --all&lt;br/&gt;&lt;/pre&gt;4) I found the tags didn't make it up either. This was another step:&lt;pre&gt;&lt;br/&gt;git push --tags&lt;br/&gt;&lt;/pre&gt;The one thing I don't like, so far, is I have to maintain a &lt;tt&gt;.netrc&lt;/tt&gt; file with my Google Code password, and when I &lt;tt&gt;git clone&lt;/tt&gt; the repository I have to edit out my &lt;tt&gt;username@&lt;/tt&gt; from the URL. But after that everything seems to work fine, though &lt;tt&gt;git push&lt;/tt&gt; just returns "Repository up-to-date" without telling me anything happened.So, from the top:&lt;pre&gt;&lt;br/&gt;# clone repository created from John Albin's instructions&lt;br/&gt;git clone  ~/new-bare.git waverous&lt;br/&gt;&lt;br/&gt;# add the new remote per Google's instructions&lt;br/&gt;git remote add googlecode https://code.google.com/p/waverous &lt;br/&gt;&lt;br/&gt;# check out all branches from my local repository&lt;br/&gt;git checkout AUTOCONF_TWO&lt;br/&gt;git checkout CONSTANTS&lt;br/&gt;git checkout FLOATSUSPEND&lt;br/&gt;git checkout HEAD -&amp;gt; origin/master&lt;br/&gt;git checkout INLINEPC&lt;br/&gt;git checkout UNSAFE_OPTS&lt;br/&gt;git checkout WAIF&lt;br/&gt;git checkout WROGUE&lt;br/&gt;git checkout avalon181&lt;br/&gt;git checkout demacrofication&lt;br/&gt;git checkout demacrofication@233&lt;br/&gt;git checkout experimental_automake&lt;br/&gt;git checkout experimental_reorg&lt;br/&gt;git checkout master&lt;br/&gt;git checkout pavel&lt;br/&gt;&lt;br/&gt;# push all branches to Google Code&lt;br/&gt;git push googlecode --all &lt;br/&gt;&lt;br/&gt;# push all tags to Google Code&lt;br/&gt;git push --tags&lt;br/&gt;&lt;br/&gt;# Clone and push the wiki on Google Code as a new Git repository&lt;br/&gt;git clone https://code.google.com/p/waverous.wiki&lt;br/&gt;cd waverous.wiki&lt;br/&gt;svn export --force http://waverous.googlecode.com/svn/wiki .&lt;br/&gt;git add .&lt;br/&gt;git commit -m "Conversion of Waverous's wiki documentation to Git."&lt;br/&gt;git push origin master&lt;br/&gt;&lt;/pre&gt;Overall this was a dumb brute force approach, but it got everything done.&lt;div&gt;
  &lt;img width="1" height="1" src="https://blogger.googleusercontent.com/tracker/3253888304126050756-2790101296034690208?l=waverous.blogspot.com" alt=""/&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <pubDate>Wed, 24 Aug 2011 14:06:56 GMT</pubDate>
      <title>technorati claim post (ignore)</title>
      <link>http://www.advogato.org/person/wainstead/diary.html?start=84</link>
      <guid>http://waverous.blogspot.com/feeds/8664331771702663640/comments/default</guid>
      <description>&lt;p&gt;84VBNE7QDC98&lt;br/&gt;this is to satisfy technorati that I own this blog&lt;/p&gt;&lt;div&gt;
  &lt;img width="1" height="1" src="https://blogger.googleusercontent.com/tracker/3253888304126050756-8664331771702663640?l=waverous.blogspot.com" alt=""/&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <pubDate>Thu, 4 Aug 2011 02:06:33 GMT</pubDate>
      <title>The road to 'automake'</title>
      <link>http://www.advogato.org/person/wainstead/diary.html?start=83</link>
      <guid>http://waverous.blogspot.com/feeds/5928465903863050088/comments/default</guid>
      <description>&lt;p&gt;Today I deleted another file from the repository, &lt;tt&gt;aclocal.m4&lt;/tt&gt;. It redefined an &lt;a href="http://www.gnu.org/software/autoconf/" &gt;Autoconf&lt;/a&gt; macro to support &lt;a href="http://en.wikipedia.org/wiki/Tru64_UNIX#OSF.2F1" &gt;OSF/1&lt;/a&gt;. That was &lt;i&gt;all&lt;/i&gt; it did, and &lt;tt&gt;aclocal&lt;/tt&gt; itself wants to generate a file of the same name so that was that... and the macro in &lt;tt&gt;aclocal.m4&lt;/tt&gt; was taken from a later version of Autoconf anyway.&lt;br/&gt;&lt;br/&gt;Now I've returned to an issue I saw a few months back:&lt;br/&gt;&lt;/p&gt;&lt;pre&gt;bash-3.2$ autoheader&lt;br/&gt;autoheader: warning: missing template: BZERO_IN_STDLIB_H&lt;br/&gt;autoheader: Use AC_DEFINE([BZERO_IN_STDLIB_H], [], [Description])&lt;br/&gt;autoheader: warning: missing template: FSTAT_WORKS_ON_FIFOS&lt;br/&gt;autoheader: warning: missing template: NEED_BSDTYPES_H&lt;br/&gt;autoheader: warning: missing template: NEED_MALLOC_H&lt;br/&gt;autoheader: warning: missing template: NEED_MEMORY_H&lt;br/&gt;autoheader: warning: missing template: NEED_SELECT_H&lt;br/&gt;autoheader: warning: missing template: POLL_WORKS_ON_FIFOS&lt;br/&gt;autoheader: warning: missing template: POSIX_NONBLOCKING_WORKS&lt;br/&gt;autoheader: warning: missing template: SELECT_WORKS_ON_FIFOS&lt;br/&gt;autoheader: warning: missing template: UNDEF_IO_IN_STROPTS_H&lt;br/&gt;autoheader: warning: missing template: USE_OWN_STRING_H&lt;br/&gt;autoheader: warning: missing template: _HPUX_SOURCE&lt;br/&gt;autoheader: warning: missing template: _NEXT_SOURCE&lt;br/&gt;autoheader: warning: missing template: const&lt;br/&gt;&lt;/pre&gt;&lt;br/&gt;I know there are some deprecated macros lurking in &lt;tt&gt;configure.ac&lt;/tt&gt; and I haven't done anything about it yet; high time I took care of this. I am going to strip support for NeXT, SGI and a few other relics too.&lt;div&gt;
  &lt;img width="1" height="1" src="https://blogger.googleusercontent.com/tracker/3253888304126050756-5928465903863050088?l=waverous.blogspot.com" alt=""/&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <pubDate>Thu, 4 Aug 2011 02:06:33 GMT</pubDate>
      <title>Good news, everyone: 'pgperf' dropped</title>
      <link>http://www.advogato.org/person/wainstead/diary.html?start=82</link>
      <guid>http://waverous.blogspot.com/feeds/6102771940195675843/comments/default</guid>
      <description>&lt;p&gt;Yesterday I &lt;a href="http://code.google.com/p/waverous/source/browse/#svn%2Fbranches%2Fexperimental_reorg" &gt;started a branch in SVN&lt;/a&gt; to experiment with changing the directory layout of the project.&lt;br/&gt;&lt;br/&gt;While reorganizing everything I had to think about how to handle 'pgperf', the customized version of &lt;a href="http://www.gnu.org/s/gperf/" &gt;GNU gperf&lt;/a&gt; that shipped with the original LambdaMOO server. gperf is a "perfect hash generator" that creates a hashing function and a lookup function for the LambdaMOO programming language. It generates the file 'keywords.c' in the project. LambdaMOO came with a hacked version because in 1997 gperf didn't support case-insensitive lookup tables, and the &lt;a href="http://en.wikipedia.org/wiki/Pavel_Curtis" &gt;original author of LambdaMOO&lt;/a&gt; added this feature and included it with the project.&lt;br/&gt;&lt;br/&gt;The idea for the project reorganization I have is at the top level of the &lt;a href="http://code.google.com/p/waverous/" &gt;Waverous project&lt;/a&gt; you will see the standard directories you see in a lot of open source projects:&lt;br/&gt;&lt;/p&gt;&lt;pre&gt;bash-3.2$ ls -l&lt;br/&gt;total 376&lt;br/&gt;-rw-r--r--    1 swain  swain  145516 Jul 29 19:57 ChangeLog&lt;br/&gt;-rw-r--r--    1 swain  swain    8605 Jul 29 19:47 LICENSE&lt;br/&gt;-rw-r--r--    1 swain  swain     343 Jul 29 19:44 Makefile&lt;br/&gt;-rw-r--r--    1 swain  swain   10770 Jul 29 19:47 README&lt;br/&gt;-rw-r--r--    1 swain  swain    2907 Jul 29 19:47 README.Minimal&lt;br/&gt;-rw-r--r--    1 swain  swain   10121 Jul 29 19:47 README.rX&lt;br/&gt;drwxr-xr-x    7 swain  swain     238 Jul 29 22:40 databases&lt;br/&gt;drwxr-xr-x    8 swain  swain     272 Jul 29 19:49 doc&lt;br/&gt;drwxr-xr-x   17 swain  swain     578 Jul 30 09:19 examples&lt;br/&gt;drwxr-xr-x    5 swain  swain     170 Jul 29 19:46 extensions&lt;br/&gt;drwxr-xr-x    5 swain  swain     170 Jul 29 20:00 extras&lt;br/&gt;drwxr-xr-x  148 swain  swain    5032 Jul 30 09:38 src&lt;br/&gt;drwxr-xr-x    8 swain  swain     272 Jul 29 19:45 tools&lt;br/&gt;&lt;/pre&gt;My goal is to write a Makefile.am that handled the subdirectories that formed "standalone" projects: src (the server), doc (the manual and Doxygen docs), and extras/pgperf.&lt;br/&gt;&lt;br/&gt;While waiting for my wife's oil change at the dealership (yay free wi-fi!) I tried to compile 'pgperf' as shipped with the project. Compilation failed due a dependency on &lt;tt&gt;varargs.h&lt;/tt&gt;, "gcc" telling me it was obsolete. This brought to mind a task I've thought about a number of times but hadn't written down: drop pgperf for GNU gperf IFF gperf now supported case-insensitive lookup tables.&lt;br/&gt;&lt;br/&gt;GNU gperf added support in 2002 with the flag &lt;tt&gt;--ignore-case&lt;/tt&gt;, so after an afternoon of tinkering, regenerating files, recompiling and testing I've gotten everything working just fine with gperf. I've dropped pgperf entirely from SVN.&lt;br/&gt;&lt;br/&gt;On a side note, working with Subversion is so painfully slow now -- I've been using &lt;a href="http://git-scm.com/" &gt;Git&lt;/a&gt; for the past six months -- that I'm going to switch the project to Git quite soonish &lt;a href="http://google-opensource.blogspot.com/2011/07/announcing-git-support-for-google-code.html" &gt;now that Google Code supports Git&lt;/a&gt;.&lt;div&gt;
  &lt;img width="1" height="1" src="https://blogger.googleusercontent.com/tracker/3253888304126050756-6102771940195675843?l=waverous.blogspot.com" alt=""/&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <pubDate>Thu, 4 Aug 2011 02:06:33 GMT</pubDate>
      <title>File I/O is here at last: now a compile-time option</title>
      <link>http://www.advogato.org/person/wainstead/diary.html?start=81</link>
      <guid>http://waverous.blogspot.com/feeds/5856263688480970128/comments/default</guid>
      <description>&lt;p&gt;Tonight I did all the legwork (fingerwork?) to make File I/O a compilation option. File I/O is a patch to the LambdaMOO server that allows programmers to manipulate files outside the server.&lt;br/&gt;&lt;br/&gt;Someone mentioned my Waverous project on the &lt;a href="https://groups.google.com/forum/#!forum/moo-talk" &gt;MOO-talk mailing list&lt;/a&gt; back in December 2010, and a followup poster &lt;a href="https://groups.google.com/d/msg/moo-talk/pMRb_iaVtMk/hPQXgJ_Uk90J" &gt;made a disparaging remark about FUP&lt;/a&gt; (ext-FUP is the other extension to the server for file manipulation, and they have very different ways of doing it).&lt;br/&gt;&lt;br/&gt;I was not sure I had the most recent version of File I/O, which I downloaded from the &lt;a href="http://www.lisdude.com/moo/" &gt;MOO Resources&lt;/a&gt; site. Ken Fox created it originally, but &lt;a href="http://www.xythian.com/moo/fileio/" &gt;now discourages its use&lt;/a&gt;. The person who patched and released it later was Andy Bakun, working at &lt;a href="http://yelp.com/" &gt;yelp.com&lt;/a&gt; these days; he was kind enough to reply to my email that File I/O 1.5p1 was the most recent version to his recollection.&lt;br/&gt;&lt;br/&gt;As of now, the version in HEAD of the repository has the configure option --with-fileio and will try to compile File I/O into the server, but it fails quite spectacularly; probably because it won't compile as C++. I have to pick through the errors and fix it up. (addendum, July 2011: it works just fine now. It did need some tweaking so &lt;tt&gt;g++&lt;/tt&gt; would compile it).&lt;br/&gt;&lt;br/&gt;The other task I need to remember -- I should file a ticket -- is if File I/O is compiled in, then there has to be a target directory created to store the files manipulated by the MOO server. The original install instructions call for this directory (simply called "files") to be made in the server directory. I'll have to figure out how to handle this when I get around to developing a proper "install" target to "make."&lt;/p&gt;&lt;div&gt;
  &lt;img width="1" height="1" src="https://blogger.googleusercontent.com/tracker/3253888304126050756-5856263688480970128?l=waverous.blogspot.com" alt=""/&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <pubDate>Thu, 4 Aug 2011 02:06:33 GMT</pubDate>
      <title>New configure options, MCP included in distro</title>
      <link>http://www.advogato.org/person/wainstead/diary.html?start=80</link>
      <guid>http://waverous.blogspot.com/feeds/8723570089633220965/comments/default</guid>
      <description>&lt;p&gt;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).&lt;br/&gt;&lt;br/&gt;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).&lt;br/&gt;&lt;br/&gt;See &lt;a href="http://code.google.com/p/waverous/" &gt;http://code.google.com/p/waverous/&lt;/a&gt;&lt;/p&gt;&lt;div&gt;
  &lt;img width="1" height="1" src="https://blogger.googleusercontent.com/tracker/3253888304126050756-8723570089633220965?l=waverous.blogspot.com" alt=""/&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <pubDate>Thu, 4 Aug 2011 02:06:33 GMT</pubDate>
      <title>Licenses, licenses, licenses</title>
      <link>http://www.advogato.org/person/wainstead/diary.html?start=79</link>
      <guid>http://waverous.blogspot.com/feeds/3607679113317383558/comments/default</guid>
      <description>&lt;p&gt;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.&lt;br/&gt;&lt;br/&gt;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.&lt;br/&gt;&lt;br/&gt;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.&lt;br/&gt;&lt;br/&gt;And I've filed a few tickets. It's progress.&lt;/p&gt;&lt;div&gt;
  &lt;img width="1" height="1" src="https://blogger.googleusercontent.com/tracker/3253888304126050756-3607679113317383558?l=waverous.blogspot.com" alt=""/&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <pubDate>Thu, 4 Aug 2011 02:06:33 GMT</pubDate>
      <title>The need for a binary distribution</title>
      <link>http://www.advogato.org/person/wainstead/diary.html?start=78</link>
      <guid>http://waverous.blogspot.com/feeds/3689210917785825664/comments/default</guid>
      <description>&lt;p&gt;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.&lt;br/&gt;&lt;br/&gt;Meanwhile... the need for binary distributions of &lt;a href="http://code.google.com/p/waverous/" &gt;Waverous&lt;/a&gt; rears its head. I hadn't really thought about it beyond creating an RPM, and perhaps a DMG.&lt;/p&gt;&lt;div&gt;
  &lt;img width="1" height="1" src="https://blogger.googleusercontent.com/tracker/3253888304126050756-3689210917785825664?l=waverous.blogspot.com" alt=""/&gt;&lt;/div&gt;</description>
    </item>
  </channel>
</rss>

