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.
IntelliJ 5.1 Oh Yeah
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!)
Good Screencast acts_as_threaded demoProps 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
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?
It works but for chrissakesJames reminds me to some degree of how inelegant Java-driven web applications are nowadays. ( Jan 30 2006, 07:12:17 PM EST ) Permalink
- 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.
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
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
Closures in JavaCheckout 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 
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.
( Jan 21 2006, 12:31:54 PM EST ) Permalink Comments 
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.
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
Chilling in the Caboose
Gotta run! :)( Jan 19 2006, 07:49:11 PM EST ) Permalink