Zenbits are posts which include a variety of interesting subjects that I’d like to talk about briefly, without writing a post for each of them.
A few hours ago Rails 2.0 was finally (quietly) released. Unfortunately if you try ‘gem update’ or ‘gem install rails’ you will get the following error:
ERROR: Error installing rails:
rails requires activeresource (= 2.0.0)
To solve this problem, assuming you are installing, simply run:
$ gem install rails --source https://gems.rubyonrails.org
For details about this new release wait for the official announcement by DHH and his team.
On the subject of announcements, the IBM_DB Python driver for DB2 version 0.2.0 was released. This includes a Python egg for Linux and (finally) for Windows. You can download both of them from Cheeseshop.
A few days ago NetBeans 6.0 was released. Its support for Ruby and for Rails is stellar. Its editor seems to be refined to provide developers with a comfortable environment for programming Ruby and Rails applications in. The code auto-completion (with documentation on the fly) alone makes it extremely valuable. From what I’ve seen so far it’s a solid, well thought out IDE that sets the bar high when it comes to the world of Ruby/Rails editors. Now we need Aptana IDE to implement similar features, for those of us who use and prefer (at least on Windows and Linux) an Eclipse based IDE. Between NetBeans’ support for Ruby and the active development of JRuby, one can only conclude that Sun is very serious about Ruby and that they really “get it”. We can wish for the same kind of commitment from Microsoft, but so far I get the impression that projects like IronRuby are seen by Microsoft as little more than pet projects just like IronPython is. But I’d be happy if my first impression was to be proved wrong. That said, Microsoft is receiving a huge wake up call from their research division, as shown by excellent videos which cover non-mainstream and research topics as well. They’ve also proved this by incorporating advanced features from research languages in C# 3.0. We’ll see how it goes, but it looks like there might be some hope after all.
Speaking of videos, I recommend a fantastic interview with E.W.Dijkstra, recorded a few years ago. It’s called Discipline in Thought and deals with the subject of the nature of programming. I highly suggest that you watch part 1, part 2 and part 3. After that, you can dig further by reading some of his manuscripts in this archive.
On a different topic, I’d like to thank everyone who commented and posted about my Ruby shootout. We made the front page of, among others, Del.icio.us. Its popularity is important to me, because it gives the proper exposure to these projects and their authors and debunks the myth that we are all happy with Ruby’s status quo in terms of speed. The next run will add extra benchmarks (in order to provide less of an advantage to Ruby 1.9). Performance is not everything, but it can be an important aspect. I like Charles Oliver Nutter’s (of JRuby) approach:
If you run across benchmarks of any kind that show JRuby running slower than Ruby 1.8.x, we’d appreciate you filing them as bugs.
That’s the right attitude, it shows serious commitment in terms of resolving this issue. Kudos to him and his team. As far as commitment goes, I can’t praise Engine Yard enough, as they’ve just hired two excellent hackers (Ryan “zenspider” Davis and Eric “drbrain” Hodel) to work full time on Rubinius along with Evan Phoenix (who started the project in the first place). From January onward, Engine Yard will also pay Wilson “Defiler” Bilkovich and Brian “brixen” Ford to do work on Rubinius. That’s a ridiculously high IQ potential to have working on Rubinius. We can only expect great results and undoubtedly say that Engine Yard really gets it.
Finally, for those of you who requested it, please find here the results of my benchmarks in Excel and PDF format.
Update
The released (through rubygems) but not announced Rails 2.0 has now been upgraded to 2.0.1, and that’s what you’d get if you ran ‘gem install rails’ or ‘gem update’. The error reported above still exists, so you can update by specifying the source as mentioned in this post.
Update 2
For those of you who didn’t believe in my “scoop”, here is the official announcement with all the glorious details. Awesome! 🙂
Update 3
The gems should be properly propagated now, so that error shouldn’t be there anymore.
Get more stuff like this
Subscribe to my mailing list to receive similar updates about programming.
Thank you for subscribing. Please check your email to confirm your subscription.
Something went wrong.
w/r/t Sun “getting it”. We can wish for the same kind of commitment from IBM.
Sun doesn’t get Ruby any more than Microsoft got Java. Sun’s just trying to brand someone else’s kool-aid(tm). They’re trying to jump on the bandwagon because their own language is currently threatened on its two major fronts: 1) in the Enterprise, by Microsoft C#, and 2) on the Web, by Ruby. Have fun on mobile, Java. Sun has invested millions in a crap IDE that nobody cares about (case in point: even after crediting them, you’re still hoping for Eclipse). Meanwhile they’ve let their own language completely rot at the hands of the JCP. Generics, crap, not even typesafe(!). Annotations, horrible, no extension, stupid syntax, C# attributes are better. Autoboxing is incomplete, half baked and just poor. Enums are okay, but I’ve been doing just as well without a keyword alias for “class”. Have you seen the proposals for closures? Meanwhile, where’s the simple things like a multiline string? Parameter name accessibility by reflection? I’ve been programming in Java for 10 years, I’m done. Ruby or even Groovy[1] for web apps, C# for rich clients.
So no, Sun doesn’t even get their own language.
[1] Yes the JVM is fine, I love it. It’s the Java language I can’t stand. Groovy is a big step in the right direction.
CB, I agree with you that Sun has certainly seen in Ruby an opportunity, or as you put it, a threat. I also agree that C#’s evolution is smoother and faster than that of Java, which is a language that I’m not fond of. What I don’t agree with is the fact that Sun doesn’t get Ruby. Since they embraced Ruby for whatever reason, they’ve come up with an excellent implementation of Ruby for JVM and an IDE that is now the most advanced Ruby IDE out there. Again, whatever their reasons, Sun has done a lot for the Ruby community, even if they did it their own way. I think that ironically they “get it” for Ruby and might not get it for Java itself. Finally, Ruby for scripting and for the Web, and C# 3.0 for rich client applications is a very good combination that I like myself.
With regards to the Python DB2 driver:
Python 2.5.1 (r251:54863, Oct 5 2007, 13:36:32)
[GCC 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import ibm_db
>>> conn = ibm_db.connect(‘sample’,’db2inst1′,’password’)
Traceback (most recent call last):
File “”, line 1, in
Exception: [IBM][CLI Driver] CLI0133E Option type out of range. SQLSTATE=HY092 SQLCODE=-99999
That’s what I get when using the EGG from cheeseshop.
Same code works fine from a build.
Hi Greg,
that error is generally due to an old version of DB2 being used. Are you sure you’re using DB2 9 FP 3 or DB2 9.5?
Here is the output from db2level:
DB21085I Instance “db2inst1” uses “32” bits and DB2 code release “SQL09050”
with level identifier “03010107”.
Informational tokens are “DB2 v9.5.0.0”, “s071001”, “LINUXIA3295”, and Fix Pack
“0”.
Product is installed at “/opt/ibm/db2/V9.5”.
Greg, you found a bug in the egg. 🙂 I filed a bug report for the team and it should be fixed very soon.