Wednesday, April 27, 2005

One to keep an eye on (or two)

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.

Monday, April 25, 2005

Rubyists in Houston unite with your CopyNight brethren!

Peter Suk and I are getting together at the The Stag's Head Pub in Shepherd Plaza at 2128 Portsmouth at 6pm Tuesday. All Houston Rubyists welcome. Pair Programming is in the offing.

AND: And as an extra special attraction bonus feature, Bobby Nagle organized the CopyNight folks to meet with us! Courtesies to the H-Town Blogs.

You have nothing to lose except some unsightly pounds or the loss of public domain works, whichever comes first.

VisualWorks, Smalltalk VM and image

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 for Java

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

Ruby hookup on Tuesday

Peter Suk and I are getting together at the The Stag's Head Pub in Shepherd Plaza at 2128 Portsmouth at 6pm Tuesday. All Houston Rubyists welcome. Pair Programming is in the offing.

Wednesday, April 13, 2005

Hani does ThoughtWorks

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?

Ruby revelation

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 does Ruby

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.

Houston Rubyist hoedown

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

Higher-Order Perl

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

Maven and JavaCC

I finally have a little time, so I'm writing a prototype build of PCGen using Maven as an alternative to the Ant build.

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

Maven 2

Ah, yes. That favorite tool of many (especially Hani) is reappearing in a new incarnation. Maven 2: The Rewrite Simpler! Faster! Easier! All worthy goals. Of course, I have to try it.

Thursday, April 07, 2005

Ruby, continuations, the web and you

Amit Rathore at ThoughtWorks got me interested in using continuations in web applications. Gregor Hohpe did some interesting work there moving away from the call stack in program design.

Keeping in line with these approaches, I ran across a great link posted to the Ruby Talk mailing list: Continuations on the Web.

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!

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

Quick and dirty web server

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

Rails on Slashdot

Slashdot is have a content-rich discussion of Ruby on Rails compared to J2EE. There is rather low flamebaiting for such a discussion. Perhaps the kinder, gentler Ruby culture is seeping through.

And a pony?

Dark software humor picked up off the XP group on Yahoo!:

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?"

Also happens when management wants to squeeze a #12 bag of features in a #10 slot of schedule, a ripe moment for story cards and the planning game.

Saturday, April 02, 2005

Gentoo 2005.0 on my Dell Latitude D600

If this image is missing; Dell might have reorganized their site.

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

Playing with your balls in Ruby

Some bright spark (actually it was Ilmari Heikkinen) makes lit spheres in Ruby using OpenGL and GLUT. Shiny!

Study in elegance

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.