<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Toxic Elephant : Archives for January 2007</title>
    <link>http://www.matijs.net/blog/2007/01.rss</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>Don't bury it in your back yard!</description>
    <item>
      <title>WNT Online</title>
      <description>&lt;p&gt;As of today, the `Woordenboek der Nederlandsche Taal&amp;#8217; (Dictionary of the
Dutch Language) or &lt;span class="caps"&gt;WNT&lt;/span&gt; is &lt;a href="http://wnt.inl.nl/"&gt;online&lt;/a&gt;. It is a massive
dictionary of Dutch,
&lt;a href="http://ruudvisser.wordpress.com/2007/01/24/worlds-biggest-dictionary-goes-online/"&gt;apparently&lt;/a&gt;
comparable to the Oxford English Dictionary. I first heard about this
dictionary when I was a young boy, and &lt;a href="http://www.cinema.nl/cinema/persons/index.jsp?persons=6258769"&gt;my
father&lt;/a&gt; made
&lt;a href="http://www.cinema.nl/cinema/movies/index.jsp?movies=6664181"&gt;a documentary&lt;/a&gt;
about it (sorry, those links are in Dutch). At the time, the &lt;span class="caps"&gt;WNT&lt;/span&gt; was not
finished and already occupied several bookshelves. People had been working
on it for 125 years, and it seemed it would not ever be finished. Since
then, they&amp;#8217;ve clearly come a long way.&lt;/p&gt;


	&lt;p&gt;[Unfortunately, their interface is in Flash. Why, why, why? Three of the
ten questions in their &lt;span class="caps"&gt;FAQ&lt;/span&gt; have to do with problems caused by choosing
Flash. That should have made some bells ring.]&lt;/p&gt;


	&lt;p&gt;By the way, I was alerted to this historical event by the invaluable &lt;a href="http://itre.cis.upenn.edu/~myl/languagelog/archives/004088.html"&gt;Language
Log&lt;/a&gt;. Be
sure to also read the resulting discussions of Babel Fish
&lt;a href="http://ruudvisser.wordpress.com/2007/01/24/professor-harm-tired-cherry/"&gt;name&lt;/a&gt;
&lt;a href="http://itre.cis.upenn.edu/~myl/languagelog/archives/004095.html"&gt;mangling&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Sat, 27 Jan 2007 12:40:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:dd31a58c-38a4-4f4b-9d38-96fe409eaa19</guid>
      <author>blog@matijs.net (matijs)</author>
      <comments>http://www.matijs.net/blog/2007/01/27/wnt-online#comments</comments>
      <category>life</category>
      <category>web</category>
      <category>wnt</category>
      <category>linguistics</category>
      <trackback:ping>http://www.matijs.net/blog/trackbacks?article_id=wnt-online&amp;day=27&amp;month=01&amp;year=2007</trackback:ping>
      <link>http://www.matijs.net/blog/2007/01/27/wnt-online</link>
    </item>
    <item>
      <title>I Want Cells-GTK for Ruby</title>
      <description>&lt;p&gt;For some applications, a spreadsheet is the perfect development
environment. The UI is a no-brainer, while the relations between the
different values is clearly visible, and changes are automatically
propagated from what could be called properties to derived values.&lt;/p&gt;


	&lt;p&gt;The problem is, of course, that you&amp;#8217;re missing out on the features a
programming language could offer. Macros are basically a dead end, unless
you like to solve user issues like &amp;#8216;It doesn&amp;#8217;t work because I disabled all
macros.&amp;#8217;&lt;/p&gt;


	&lt;p&gt;What I want is something that gives me this easy linking within a model and
between model and UI, but from withing Ruby. It is my prefered solution to
the &lt;a href="http://www.kryogenix.org/days/2006/07/06/gnome-2"&gt;Gnome on Rails&lt;/a&gt; problem.&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://common-lisp.net/project/cells/"&gt;Cells for Common Lisp&lt;/a&gt; promises to
take care of the automatic propagation and dependencies between cells:&lt;/p&gt;


	&lt;blockquote&gt;
		&lt;p&gt;Cells is a mature, stable extension to &lt;span class="caps"&gt;CLOS&lt;/span&gt; that allows you to create
classes, the instances of which have slots whose values are determined by a
formula. Think of the slots as cells in a spreadsheet (get it?), and you&amp;#8217;ve
got the right idea. You can use any arbitrary Common Lisp expression to
specify the value of a cell. The Cells system takes care of tracking
dependencies among cells, and propagating values.&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;p&gt;That seems to take care of the automatic updating of derived values. The
second part is the no-brain-UI. What&amp;#8217;s needed for that is a dead-simple way
to link settable values to input widgets (text boxes, spin buttons, etc.),
and to link derived cell values to labels. By dead-simple I mean that it
should be done in at most one line per widget/value pair.&lt;/p&gt;


	&lt;p&gt;It seems for that part, the solution would be to use
&lt;a href="http://common-lisp.net/project/cells-gtk/"&gt;cells-gtk&lt;/a&gt;:&lt;/p&gt;


	&lt;blockquote&gt;
		&lt;p&gt;Cells transparently link &lt;span class="caps"&gt;GUI&lt;/span&gt; elements with each other and the
application model to greatly simplify development of rich interfaces. Cells
also automate how Lisp &lt;span class="caps"&gt;GUI&lt;/span&gt; instances drive their &lt;span class="caps"&gt;GTK&lt;/span&gt;+ counterparts.&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;p&gt;Sounds great!&lt;/p&gt;


	&lt;p&gt;The problem (for me at least) is that this is all in Lisp, and I don&amp;#8217;t know
Lisp yet. So, I want this, but in Ruby (since that&amp;#8217;s the language I like to
use most right now). Some basic ingredients are already there: We can use
blocks as formulas for the derived values, and there&amp;#8217;s the Observable
module. Also, Ruby has bindings for Gtk+.&lt;/p&gt;


	&lt;p&gt;I have some more wishes, but they&amp;#8217;re mostly about Gtk+, so I leave those
till later.&lt;/p&gt;</description>
      <pubDate>Mon, 22 Jan 2007 13:21:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:d91127bb-b776-4664-a600-96d168999ba1</guid>
      <author>blog@matijs.net (matijs)</author>
      <comments>http://www.matijs.net/blog/2007/01/22/i-want-cells-gtk-for-ruby#comments</comments>
      <category>software</category>
      <category>ruby</category>
      <category>lisp</category>
      <trackback:ping>http://www.matijs.net/blog/trackbacks?article_id=i-want-cells-gtk-for-ruby&amp;day=22&amp;month=01&amp;year=2007</trackback:ping>
      <link>http://www.matijs.net/blog/2007/01/22/i-want-cells-gtk-for-ruby</link>
    </item>
    <item>
      <title>Hurray! A Forum That Doesn't Suck</title>
      <description>&lt;p&gt;Wow, compare the eye-friendly layout and colors of a &lt;a href="http://www.twelvestone.com/"&gt;Twelve Stone&lt;/a&gt; &lt;a href="http://www.twelvestone.com/forum_thread/view/33815"&gt;forum thread&lt;/a&gt;, to a completely random &lt;a href="http://forums.gentoo.org/viewtopic-t-532539.html"&gt;example of pbpBB&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;There&amp;#8217;s also a refreshing lack of the unwelcoming five &lt;strong&gt;cannot&lt;/strong&gt;&amp;#8217;s that grace nearly every forum I anonymously surf to.&lt;/p&gt;</description>
      <pubDate>Sat, 20 Jan 2007 10:28:57 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:9ff1655a-2bf7-4078-ba7f-069598999baf</guid>
      <author>blog@matijs.net (matijs)</author>
      <comments>http://www.matijs.net/blog/2007/01/20/hurray-a-forum-that-doesnt-suck#comments</comments>
      <category>web</category>
      <trackback:ping>http://www.matijs.net/blog/trackbacks?article_id=hurray-a-forum-that-doesnt-suck&amp;day=20&amp;month=01&amp;year=2007</trackback:ping>
      <link>http://www.matijs.net/blog/2007/01/20/hurray-a-forum-that-doesnt-suck</link>
    </item>
    <item>
      <title>Skipping Python for Ruby</title>
      <description>&lt;p&gt;&lt;a href="http://withoutane.com/rants/2007/01/embrace-the-heresy"&gt;Without an e writes&lt;/a&gt;:&lt;/p&gt;


	&lt;blockquote&gt;
		&lt;p&gt;Well, ruby just isn&amp;#8217;t that much better than python. If I&amp;#8217;m going to
  relearn everything, why would I bother with ruby? Why not just jump
  straight to lisp?&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;p&gt;I can really appreciate this argument, since it resonates with my reasons
for not learning Python: I knew Perl, and was doing most of my programming
in it, making nicely structured, readable, object-oriented programs. To me,
Python didn&amp;#8217;t seem like such a big step forward: It&amp;#8217;s like a Perl with
enforced readability.&lt;/p&gt;


	&lt;p&gt;And then came Ruby.&lt;/p&gt;


	&lt;p&gt;My introduction to Ruby was not through Rails, but through reading the
online version of the Pickaxe Book. After reading the first chapter, I was
sold. Here was a language that truly embraced object-orientation, and gave
access to all kinds of interesting abstractions that I had only vaguely
heard of (such as coroutines). There also was a pleasant lack of
boilerplate.&lt;/p&gt;


	&lt;p&gt;So to me, Ruby is that much better than Perl, whereas Python is not. I
wouldn&amp;#8217;t know if I agree that Ruby is not that much better than Python, but
at least I can understand the argument. Ruby is certainly no Lisp, although &lt;a href="http://www.randomhacks.net/articles/2005/12/03/why-ruby-is-an-acceptable-lisp"&gt;it comes close&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;So what&amp;#8217;s next? Lisp&amp;#8217;s features certainly look appealing, giving basically
the pinnacle of power of abstraction, in exchange for slightly unappealing
syntax. I believe the syntax can be overcome, so my next language to learn
may well be a Lisp. Which Lisp is still an open question. On the other
hand, there are interesting languages like Erlang, ML and the like.&lt;/p&gt;


	&lt;p&gt;[Incidentally, Without an e is the creator of
&lt;a href="http://scarletlambda.org/"&gt;Scarlet Lambda&lt;/a&gt;, which
is roughly a web framework written in, or at least used with, a functional
style of programming in Python, with a Lisp-like syntax. Wow.]&lt;/p&gt;</description>
      <pubDate>Thu, 18 Jan 2007 18:59:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:b1e959c7-9a2b-48f9-923a-984f09a47bde</guid>
      <author>blog@matijs.net (matijs)</author>
      <comments>http://www.matijs.net/blog/2007/01/18/skipping-python-for-ruby#comments</comments>
      <category>software</category>
      <category>ruby</category>
      <category>lisp</category>
      <category>programming</category>
      <category>python</category>
      <trackback:ping>http://www.matijs.net/blog/trackbacks?article_id=skipping-python-for-ruby&amp;day=18&amp;month=01&amp;year=2007</trackback:ping>
      <link>http://www.matijs.net/blog/2007/01/18/skipping-python-for-ruby</link>
    </item>
  </channel>
</rss>
