20060214 Tuesday February 14, 2006

It's A Small Semantic World

Had one of those funky coincidences tonight as I got home from dinner and got on the elevator here in Chicago. I noticed that the man that walked into the elevator with me seemed very familiar. "Do we know each other?", I ask.

"Yes, I believe we do."

"Are you a ThoughtWorker?", I ask, since given the amount of business that we give Club Quarters, it would not be a farfetched guess.


Luckily, it hit me that this familiar fellow was Harold Solbrig of the Mayo Clinic, who I met last summer in Madrid at the Protoge conference around the time I was pitching deep integration of semantic web and dynamic languages. Funny thing is, my humble Ruby seeds planted in Madrid have sprouted. Not only did Harold recognize who I was, turns out he has roots in computer language design and is interested in making some Ruby + Ontology magic of his own.

I know at least a few of you reading this blog originally subscribed for the semantic stuff that I was wrote about back then. At some point I decided that it was a little ahead of its time and my efforts would be better spent evangelizing Ruby and Rails overall, but if you are still interested in the topic: why not go ahead and drop me a line? I'll definitely hook you up with others that share the same interest and have written me over the course of the last six months. If there is enough interest maybe we can even go ahead and start a small mailing list or Google Group to keep in touch with each other.

( Feb 14 2006, 02:40:24 AM EST ) Permalink Comments [2]

IntelliJ 5.1 Oh Yeah

I upgraded yesterday, and gotta say... TextMate ain't got nothing on my beloved IntelliJ. I'm starting to notice some of the really nice, but subtle improvements in 5.1, everything is just a lot smoother and more polished. The Javascript, CSS and XHTML support is truly superb. You can even do class and id refactorings to CSS... try it and see!

Their amazing JavaScript capabilities really gives me hope that JetBrains will come out with full-fledged Ruby support soon.

( Feb 14 2006, 01:34:19 AM EST ) Permalink
20060206 Monday February 06, 2006

Kicking Off Enterprise[sic] Rails in Delaware

Well the day finally arrived to kickoff my new "enterprise" Rails project; this one a lot more sophisticated and cooler than the supply-chain stuff I was doing late last year.

I'm arrived in Delaware last night and I'll be commuting here for the next few months building a fairly complex, internal-facing Rails app to do credit-card related transactions processing. Today Jeff Patton and I spent most of the day acclimating and making sure I have a fuller understanding of the requirements. Among the exciting technical constraints, the system should scale up to handle 20 million accounts without a problem... right now we'll be processing about 5 million accounts on a monthly basis. The proposed app itself is quite interesting technically -- it's essentially a large rules-oriented system -- we have to do all sorts of workflow and validation around the rules and be able to execute them on a monthly schedule to generate financial results that get routed into other internal systems. We're replacing Oracle scripts that have proven too difficult to maintain and extend.

I haven't encountered anything that seems like "rocket-science" yet, and don't expect to. Also the internal team has been very responsive and enthusiastic so far, which is making me feel good about our ultimate success.

The team blog should be up soon and I'll post the link here as soon as it's available. I know that over the next few months we will have lots of interesting techniques and cool Ruby stuff to share. Ah yes, the rest of the team: Jeff Patton (unfo just for a couple of weeks), Michael "Perlmage" Granger (well-known in the Ruby world), Joe O'Brien (Chicago.rb organizer) and Badri Janakiraman (new to Ruby but one of the best minds in the company, and that is saying a LOT!)

( Feb 06 2006, 11:25:49 PM EST ) Permalink Comments [5]

Good Screencast acts_as_threaded demo

Props to Bob Silva for building a kick-ass Rails plugin and then putting together a very tight screencast showing off how to use it. Build your own threaded forum, or more importantly methinks, add threaded discussion capabilities to your application in about 5 minutes flat! (That is, if you're on Rails...) ( Feb 06 2006, 07:18:09 AM EST ) Permalink
20060204 Saturday February 04, 2006

Java as a Platform for Dynamic Languages

While I've lost all desire to write Java code, I find it heartening that important people are talking about decoupling use of the Java Platform from use of the Java language. Stephen O'Grady reports from the Sun Analyst Conference:

Unlike IBM or Oracle, Sun's done little above the operating system level to engage with large scripting communities. Unlike OpenSolaris, which as discussed yesterday as done an excellent job of forging ties to a variety of languages and platforms, the rest of the software assets continue view competing languages through the Java lens. Rather than talk about Ruby, it's JRuby. Rather than talk about PHP, they'll talk about Caucho. Rather than talk about Python, they'll push Jython. Taking nothing away from those or other projects such as Groovy, they are not the centers of gravity in the development space. There are a great many dynamic language developers who either won't or can't run a JVM, so a Jython or a JRuby that will run on top of one is not of interest - it's more likely to be a non-starter. Java advocates might come back and remind me of JSR 223, but given that that effort began in '03 and is still listed as in progress, I stand by my contention that the Java world has not done enough to make room for competing approaches. via Tim Bray

Will I be able to easily deploy my Ruby on Rails apps on a JVM in 2007? 2008? How long will it take?

( Feb 04 2006, 01:51:27 PM EST ) Permalink Comments [3]

20060130 Monday January 30, 2006

It works but for chrissakes

James reminds me to some degree of how inelegant Java-driven web applications are nowadays. ( Jan 30 2006, 07:12:17 PM EST ) Permalink

Bulleted Update

  • I'll be formally announcing my book project very soon. The writing is starting to keep me very busy every night and has definitely sapped some of my energy for posting regularly to this blog.
  • The Intro to Rails article that I just wrote for Mark Collins-Scope's ObjectiveView magazine is submitted and will be published soon.
  • My current project is a very fancy kiosk with Rails/Prototype/Scriptaculous driving the front-end and Ruby daemons managing the hardware to Rails interfaces. It's the first Rails project that I've done with a large (8 person), distributed (most in India) ThoughtWorks team and I can state confidently that the productivity benefits are holding up very well. Apparently Ruby has spread at TWI like influenza and there's a lot of excitement there. I'm impressed with how easily my colleagues are learning Ruby.
  • Next week I'm kicking off work on a significant project in Wilmington, DE. I'm leading a team of 4 ThoughtWorkers in rewriting and reinventing a critical-path backoffice banking system in Ruby/Rails. Based on the analysis done so far we're leaning heavily towards a DSL approach to the design that should reap many benefits for the client compared to how we know this type of system would normally be implemented. One of the great aspects of this project is that we have permission to discuss it publicly as long as we don't disclose their business processes, so we are planning on publishing a team blog just like our colleagues over at Greenpeace in the UK do with their cutting-edge social portal project written in Django.
  • Aslak "DamageControl" Hellesoy and I are collaborating again! Along with my girlfriend Desi (fellow Railser!) we are building a web-based tool named Kipling which facilitates Agile software development with stories. I'm having a great time with this project because 1) getting to pair with your girlfriend and one of your best friends is super-cool and 2) we are taking the opinionated software approach to how we design the features of the app -- and we think the difference between our product and competitors like Xplanner will be remarkable.
( Jan 30 2006, 07:03:25 PM EST ) Permalink Comments [4]
20060123 Monday January 23, 2006

Kinda like actually going to the gym beats watching people running on TV

"The value of doing dwarfs the value of complaining by at least 1539%. So please do convert the time of complaints, especially when worded in an offensive manner, into time for improvement. You'll feel much better afterwards. Kinda like actually going to the gym beats watching people running on TV." - David on the RForum sucks thread.

( Jan 23 2006, 10:39:26 AM EST ) Permalink

20060122 Sunday January 22, 2006

Edd Dumbill On Ruby

"For developers who consider themselves as poets and artists too, I can't think of a better language." - Edd Dumbill on choosing Ruby over alternatives. via Josh ( Jan 22 2006, 03:16:40 PM EST ) Permalink
20060121 Saturday January 21, 2006

Closures in Java

Checkout an interesting post from Danny about writing closures in Java. Is it worth the additional complexity? ( Jan 21 2006, 12:41:01 PM EST ) Permalink Comments [3]

Writing massively scalable software

Got an email from an old friend yesterday that mentioned Erlang. Also ran across this great article about the OpenPoker system which describes how you write massively scalable stuff in Erlang.

Erlang is a functional, dynamically typed language with built-in support for concurrency. It was specifically designed by Ericsson for telecommunications applications such as controlling a switch or converting protocols, and thus is particularly suitable for building distributed, soft real-time concurrent systems.

Applications written in Erlang are often composed of hundreds or thousands of lightweight processes communicating via message passing. Context switching between Erlang processes is typically one or two orders of magnitude cheaper than switching between threads in a C program.

Don't know much about Erlang (and most likely I won't anytime soon), but it does strike me as another example of where smart people are choosing to use the right language for the job rather than blindly going with Java (or other mainstream languages) and consequently needing to figure out all the hard stuff for themselves. Oh, and it's also an example of where open-source, proven technology beats the pants off of commercial vendor solutions costing millions.

When simulating 27,000 poker games on my laptop I found that I had about 136,000 players and close to 800,000 processes in total.

Too cool.

( Jan 21 2006, 12:31:54 PM EST ) Permalink Comments [2]

20060120 Friday January 20, 2006


Gavin presented about SEAM and JSF to the AJUG this week. I asked him about it this morning over IM and he bragged about "sticking it to Rails" and how it pleased the audience. Right. I'm sure it pleased them, but what is the point? I doubt that Java will ever have anything that can stick it to Rails, especially if it involves JSF. Given my background, I'm trying to keep an open mind about Java (no, seriously), but for godsakes, when I later mentioned this topic to the number one Java zealot I know, his response was priceless.

"I've heard more 'I tried JSF and went back to Struts...' stories.... if I had a dime for each..." and "the current Java story in my opinion is this: 1) The stuff that used to work, still works, and will continue to work, and is better than most of the new stuff that's come out. 2) The stuff we hope to get in Java is unlikely to arrive for at least another 2 years when it will be horribly irrelevant."

I am really starting to believe that the dominance of Ruby on Rails for web applications is not diminished, and perhaps even enhanced, by the increasing field of contenders, none of which can ever rise above a decidedly secondary position. Proof? Whenever a new lightweight web framework is introduced nowadays, Rails is mentioned. It's free marketing and a constant mental reinforcement of Rails dominance. As DHH asked when we discussed this topic not too long ago: "Why go with an imitator when you can use the real thing?"

Someone should really start a list of Rails imitators (topfunky?). I'll bet that most of them are at best insignificant or already dead in the water.

( Jan 20 2006, 01:09:53 AM EST ) Permalink Comments [3]

Mark Cuban Mentions Rails

Massively influential blogger Mark Cuban mentions Rails as one of the technologies driving a new era of business opportunities and innovation. Cool.

( Jan 20 2006, 12:40:47 AM EST ) Permalink

20060119 Thursday January 19, 2006

XML Situps

xml situps

( Jan 19 2006, 11:54:45 PM EST ) Permalink Comments [1]

Chilling in the Caboose

From now on whenever I have little Rails and JavaScript tidbits, such as this slideshow script that uses Prototype and Scriptaculous, I'll post them at the caboo.se blog. Don't worry, I'll still be posting regularly to this blog, I've just been quiet on here lately on account of being so busy. Just today I've worked on a magazine article and my book project, spent an hour on a conference call planning an upcoming enterprise Rails project, another two on a conference call planning the 2006 ThoughtWorks internal conference, about 30 mins going to get lunch to eat at my desk, 6 hours doing intense Rails and JavaScript coding and development on this kiosk that we're building, and about another 20 minutes (including now) blogging. Desi and I scored some tickets to the hockey game tonight, which I'll probably be late for... then when I get back to the hotel room I have to spend some time on the phone with my editor and probably work on my book for another couple of hours.

Gotta run! :)

( Jan 19 2006, 07:49:11 PM EST ) Permalink