Wednesday, June 20, 2007

A Sinless future

A rather interesting and thought provoking article about the brave new future on Christianity Today.

Ten reasons why we need to ditch Java in favor of the NBL (Next Big Language)

A list of very pragmatic reasons we need to ditch Java:

1. Java is over a decade old, a whole Decade, it comes from the same era as Netscape Navigator 3, Windows 95, OS/2 Warp and websites that have tables with etched borders, grey backgrounds and are in a Times New Roman font.

2. You don't want to end up catching yourself saying phrases like "Java can do anything NBL can do, and do it better!"

3. You don't want to have twenty something whipersnapper developers snicker at you because you still code in that Java and that's sooo analogue, in much the same way you snickered at COBOL developers when you had to make your shiny new Java system work with the COBOL "legacy" system.

4. We can finally get our revenge on C++ developers. Its was their fault that Sun put in all those hacks like the final requirement on anonymous inner classes and primitives. In fact the NBL will probably contain all the features those pointer loving fiends hate. Justice is sweet!

5. You wont feel like a complete loser because you have to write a .bat file to launch your application in Windows.

6. No more carpal tunnel syndrome because your architect over-engineered your package names.

7. It's an effective way of letting Scott McNealy know that he is a dip stick.

8. James Gosling can get back to designing new development tools instead of wasting time trying to create the ultimate Java One T-Shirt hurler.

9. You can finally write NBL code in NBL syntax as opposed to writing most of your "Java" code in XML.

10. Let the old bat die with dignity, do we really want to turn Java into the new C++ and then bitterly complain because Java hacks are not in the NBL.

Saturday, June 16, 2007

RubyGems and Ubuntu

I just installed Ubuntu Fiesty and once again I cannot install Ruby Gems via apt because it is not in the repository forcing me to once again do it manually.

While I appreciate the reasons for doing so, it doesn't make my life easier.

So here is a script to do it:

#!/usr/bin/ruby
gems_version="rubygems-0.9.4"
gems_version = ARGV[0] unless ARGV[0].nil?
rubyforge_v = "20989"
rubyforge_v = ARGV[1] unless ARGV[1].nil?
puts "installing unpack (unp)"
system("sudo apt-get install unp")
puts "done!"
puts "installing rdoc"
system("sudo apt-get install rdoc")
puts "getting ruby gems version #{gems_version}"
system("wget http://rubyforge.org/frs/download.php/#{rubyforge_v}/#{gems_version}.tgz")
puts "unpacking..."
system("unp #{gems_version}.tgz")
pwd = Dir.pwd
Dir.chdir(gems_version)
puts "running install"
system("sudo ruby setup.rb")
puts "cleaning up"
system("rm -rf #{gems_version}")
system("rm -rf #{gems_version}.tgz")

All you need to do it grab it, save it to a file, chmod it, run it, and you are done :-).

PS: you need to be logged in as a user who can sudo. Also note the version of gems the script supports if you need to change it you will have to determine the name of the file (minus the .tgz) and also the magic number at which the file sits in the rubyforge repository, which you need to pass to the script respectively as arguments.

Peace.

Christian Fundamentalism

Richard Dawkins and Sam Harris are at it again, spewing potential fertiliser about what fundamentalism, so perhaps its time time define that.

If I could list the attributes of a Christian Fundamentalist, I think of Jesus' sermon on the mount, and I get the following:

  • A voice of reason and love in a time of darkness and evil (Matthew 5:13-16)
  • To be transparent in EVERYTHING, in other words to be honest in EVERYTHING at ALL times even down to the time you got much change, to the time you could have taken that bootlegged MP3 (Matthew 5:13-16)
  • Never to seek the blood of men or even allow the thought to enter your mind (Matthew 5:21-22).
  • Never to keep a grudge, seek revenge or anything else that poisons your soul (Matthew 5:23)
  • Pacifism (this is how I see it anyway) (Matthew 5:38-48)
  • Selfless charity and and aversion to the pointlessness of materialism (Matthew 6:1-4,19-24)
  • Don't worry be happy (someone start whistling :-)) (Matthew 6:25-34)
  • To be willing to lay down your life for your most bitter enemy in the same way you would be willing to lay down your life for your own child. (Matthew 5:43-48)
  • To be faithful to the people you love at all times as you expect them to love you and be faithful to you (Matthew 5:27-29)
Now I will be the first to say that as a Christian I have fallen far short from this lofty piece of idealism, both before and after my religious enlightenment. Which is whole point of why the Uber dude had to come down and pay for all our potential fertiliser in the first place. The the goal however remains and we are called to strive to this lofty ideal with all our heart mind and soul.

What a world it would be if all Christians could stoop to this level of fundamentalism :-)

Tuesday, June 5, 2007

Command and Conquer 3 on the XBox360

After playing it for the better part of a month, I can honestly say this is one of the most fun RTS games I've played for quite some time. It's fast, it's fun and best of all it really works well with the controller, in fact in some ways its even better than using a mouse and keyboard.

Well done EA, you guys have really delivered an excellent game. here's to many more RTS games on the XBox

Ruby and Object databases

When I first started studying back in the late nineties, in the days before XML and SOA, The buzzword technology of the day was Object Databases.

These new databases promised a way to easily manage data without the pain of binding to a relational database.

Fast forward almost a decade; Oracle is still top dog and MySQL is the bees-knees in the OSS world. Object databases have pretty much been relegated to the niche of enterprise computing and they are either ridiculously expensive, or feature incomplete.

Which brings me to my next gripe: Unless you've been living under a technological rock, Ruby is the new bright OO language on the block and it is the language I chose to develop my little personal time keeping application. One of the requirements for this application is the ability to run off my USB flash disk. Another requirement is the ability to add new features without spending half a century worth of development time to create it, hence the choice to use Ruby. It therefore stands to reason that a nice, simple embedded Object Database is the perfect choice for my little application.

That is of course until I decided to go hunting in Open Source world for a nice Ruby Object Database and found pretty much nothing.

All is not lost however, I do think though that this is an interesting project, so if you are interested in creating an open source Ruby Object Database; let me know.