Ryan Davis is someone to keep an eye on. His work on ruby parsers is letting a lot of interesting stuff flow into and through Ruby. And just as worth watching is Caleb Clausen and the Ruby Extended Grammar. These are interesting times to live in for Ruby.
Wednesday, April 27, 2005
Tuesday, April 26, 2005
Monday, April 25, 2005
Cincom Smalltalk's VisualWorks is a rich, portable Smalltalk VM and image suggested to me by Peter Suk as a target VM for porting Ruby. The software installs easily under Windows (well, you need to unpack it yourself and set up the Windows file assocation, but the instructions are clear) and runs beautifully. It makes me wistful for Smalltalk and happy to port Ruby to such a nice environment.
Tuesday, April 19, 2005
Glazed Lists is a clever Java API for list filtering. The swing intergration is particularly nice, and they even have a nice JNLP demo that works on live data from real projects rather than a canned fake like most JNLP demos. For example, the Glazed Lists data is the list of issues for the product itself. Great job!
I wish more demos were as realistic (and performant) as this one. To be honest, the demo is so excellent (look at the bug list for Looking Glass Core) it overshadows Glazed Lists. But this is a such a plus: an utility API should never get in the way of the GUI frontend, and Glazed Lists lives up to that expectation greatly.
Monday, April 18, 2005
Wednesday, April 13, 2005
BileBlog likes to throw sideways squirts at ThoughtWorks (my former employer) once in a while. Friday's full-on firehose is entertaining and even insightful. And it's nice being called a young kid. Time to shake some dust off my USENET asbestos suit. uucp anyone?
I just wrote this letter to Paul Holser, a buddy of mine at ThoughtWorks. It explains pretty well the excitement I feel coming from Ruby:
I'm doing my best. I smell the Ruby-bean coffee brewing, and my caffeine cravings are kicking mighty hard.
I am (was) an expert in C++. But I long ago passed the 80/20 mark. To get more ooph out of C++, I became a template metaprogramming wizard. But the reward/effort ratio was low.
Then I became an export in Java. But again I have passed the 80/20 mark and am (was) exploring annotations and aspects to get more bang for the buck. Again the reward/effort ratio is too low.
So now I have a shiny new toy in front of me, Ruby. This is so much more fun than trying to squeeze those last few MPG out of my other programming engines.
Know what I mean, Earl?
Right now are those heady, young days again like when I first learned about programming and why the meta-thinking I enjoyed in college was actually useful. Shine on!
Tuesday, April 12, 2005
Obie writes a bang-up piece in praise of Ruby. Coming from ThoughtWorks, I know just where he's speaking from when he says:
The nubys that do not have OO programming experience are being helped by Ruby old-timers and the other significant group of developers streaming into the Rails community: senior Java developers looking for something better that what we have to deal with now.Yes, I am one of those senior Java developers. And where did I first hear of Ruby? At ThoughtWorks. If a long-time, hard-core, high-end shop like ThoughtWorks is preaching Ruby to clients like some vanguard of the proletariat, then the revolution is well underway.
I just got off the horn with the excellent Peter Suk (he of Ruby to Smalltalk VM porting fame) and found a place for the Houston Rubyists to roost: Tuesdays at The Stag's Head Pub in Shepherd Plaza at 2128 Portsmouth. Be there, or be like a static programming language.
UPDATE: Peter pointed out the wiki for his VM project. However, it's timing out for me.
UPDATE: Well, I didn't make it. My date rang long (a better excuse than many), so I owe Peter a decent draft.
Monday, April 11, 2005
Now here's an interesting book title, Higher-Order Perl. The description:
Higher-Order Perl is about functional programming techniques in Perl. It's about how to write functions that can modify and manufacture other functions.
That's worth my Amazon wishlist.
Saturday, April 09, 2005
One piece to mind is
DiceExpression.jj. I wrote it some time back to parse simple dice roll expressions such as 2d6+3. To wit, Maven provides a JavaCC plugin but the documentation is rather sparse. I can tease most of it out from the
plugin.jelly for JavaCC, however a working example is always easier.
Happily, Howard Lewis Ship provides one ironically named Moving Away from Maven. Thank you, Howard.
Friday, April 08, 2005
Thursday, April 07, 2005
Ruby, unlike Java, has full native continuations and call/cc ala LISP. This makes for some really interesting code, mind-bending and very rewarding. For web programming, it moves you away from a messaging model to more traditional program flow: you get to code linearly, but the program is still multiplexed in the web way.
There is a great future for futures.
(I had trouble with the link. A bright spark suggested the wayback machine.)
Rubyists in Houston unite!
You have nothing to lose except your chained method invocations!
Actually, this post is for those interested in getting together and discussing Ruby over beer and cool code. Please leave your contact information in the comments and I'll see if we can put something together.
Tuesday, April 05, 2005
I needed a quick and dirty web server on an XP box for a project at work without the fuss of setting up Apache et al. I found just the thing, the Abyss web server from Aprelium Technologies. No source, unfortunately, but I do not need source for my task. The configuration is 100% in simple, highly usable web pages, and it is rather more full featured that I need, but not so much so to get in the way. And the price is $0. Works for me.
Monday, April 04, 2005
and a pony
Common usage: "I want faster compiles, more hardware, and a pony."
Meaning: "I know I'll never get any of these things so why not add a pony to the list just to make myself feel better?"
Saturday, April 02, 2005
My cool purple Gentoo 2005.0 CDs came this week. I've been putting it off before because of spotty hardware support, but I'm ready with this release to try Gentoo Linux on my Dell Latitude D600. Happily, there are plenty of resources out there for me to use.
As I progress, I'll update this posting.
From the factory my Dell laptop was setup to boot from the hard drive, not the CD. So use F2 immediately at boot to change that in the BIOS. Thank you, Dell.
First thing I found, the hardware detection on the live CD is great! However, it does not run DHCP on my Intel Pro 2200BG wireless card. The ipw2200 kernel module loads, but DHCP will not set up networking. There was noise about firmware needed, but I do not want to go there. Would it trash my XP partition from networking?
Yah! The live CD includes
/usr/bin/ntfsresize so I can avoid the expensive, commercial alternative — besides, their pages loads too slowly. Now I just have to figure out how to shrink my Windows XP installation so I have so disk space for Gentoo.
Friday, April 01, 2005
Christian Neukirchen writes about implementing T in Ruby. In case you are not a LISP fan, T is a LISP dialect. It is the implementation that is so elegant: 20 lines of Ruby. And there is a corresponding simplicity of concepts, but surprising generality.