Open Source

FriendFeed's Pseudo-ODB

Object database technology has never really taken off in the industry, but it has a lot of valid purposes, and in many scenarios can be very quick and powerful for developers to work with.

Relational databases carry a certain aura of reliability and reusability that make them appealing for businesses. Buying a pre-packaged product (whether it is a database, a reporting engine, an application server, or whatever) has a certain appeal to most businesses; the warm-blanket effect.

Constructor Completion

Well, it took over seven years, but finally Eclipse bug 6930: Constructor Completion Proposals has been put to bed.

It’s always fun to see the really, really old bugs get closed out.

Getting True Java Classes in JRuby

This is an interesting thing I ran across when dealing with JRuby 1.1.4 and Swing - some of this may be just my lack of understanding of some of the Java integration features, some of it may be lingering bugs in the Java integration, and some of it may just be what has to be done to make it work; anyway - here goes.

JRuby 1.1.4 Released

JRuby 1.1.4 has been released.

There are a huge number of repairs and performance improvements related to the Java integration in this release. This is great for me, as I have hit some real stumbling blocks trying to build Swing GUIs with JRuby 1.1.3, and the bugs I was being tripped up by, have been fixed.

Highlights after the break:

Did You Know: JFace ArrayContentProvider

When coding in Eclipse RCP or, for that matter, any JFace based UI, you often times are implementing viewers, which require a content provider and a label provider. In most cases, you’re dealing with the IStructuredContentProvider API, which would be appropriate for both the ListViewer and TableViewer classes.

If you have a need to populate these views with data that is effectively static, you can use the org.eclipse.jface.viewers.ArrayContentProvider class to get you up and running quickly; and it is really quite functional in many cases.

Drupal 6 Released

Drupal Logo Drupal 6 was released today after several months of development, and over 1600 issues being closed. Drupal 6.0rc4 was just released on February 8th, leaving the final release a mere week in the future. As is typical, contributed modules (many of which are fairly integral functionality for many users) are not all up to spec to the 6.0 infrastructure. As such, for some Drupal users, 5.0 may still be the best release for some time yet. Also of note, Drupal 6.0 is the last major Drupal release that will run on PHP 4 - as part of the Go PHP 5 initiative, Drupal is using their clout to help push the industry to PHP 5.2 - and Drupal 7 will be PHP 4 incompatible.

The changes in 6.0 are significant as usual - here are some of the interesting ones:

Reminder of Type Erasure Problems

I always hate when I’m reminded why I don’t like some technology. Today I was working with Java 5 and specifically a pre-Java 5 xml_rpc API similar to Apache XML-RPC. I made some incorrect assumptions about the return value of a particular rpc call. I was confident that it returned an array of strings (which is translated into a list of strings in Java) - but in fact it returns an array of structs (which is translated into a list of maps).

Go Team Go: The Tech Community Shines Again

The consistently rude are being consistent again, as yet-another-chain of comments on Javalobby shows how internet criticism flows so freely.

The Sharp Pain of Burnout

Life’s funny; today in my Google Reader tally I ran across this post by Steven Wittens - titled ‘On not doing Drupal anymore’, and it helped put some personal frustrations in to perspective for me on the concept of ‘burnout’ in the modern open development age.

Quote of the Day

Eclipse Logo

Nick Boldt has a perfect quote in an IRC trace embedded in his recent blog entry ‘Dr. Strangechannel Or How I Learned to Stop Worrying and Love IRC’:

nickboldt: […] it’s open source. to “demand” without opening a bug is like pissing on your car to make it start

I tried that once - what bothered me was the steps to turn it back off.