Archive for November, 2006

Beverly Hills 90210 now Wicket enabled

Wednesday, November 29th, 2006

If you love that 90’s show with Shannon Dougherty, Jason Priestly and Tori Spelling, and love Wicket development, you may want to apply for this job.

Hibernate 3.1-something performance problems cont'd

Tuesday, November 28th, 2006

In a response to my previous rambling, Benoit was kindly enough to point me at a severely under-documented Hibernate configuration property:

hibernate.jdbc.wrap_result_sets = true

I did some performance tests with getting some date out of our database and look and behold:

Method                                       Time(ms)     Count
oracle.findColumn(String)                      2793       19292
oracle.getLong(String)                         1630       12836
oracle.getBigDecimal(String)                    397        1068
oracle.getInt(String)                           258        2152
oracle.getString(String)                        192        1068
oracle.getTimestamp(String)                     190        1068
oracle.getDouble(String)                        101        1068
oracle.getBoolean(String)                        21          32

hibernate.ResultSetWrapper.findColumn(String)   409       19292
hibernate.ResultSetWrapper.getLong(String)      225       12836
hibernate.ResultSetWrapper.getInt(String)        63        2152
hibernate.ResultSetWrapper.getBigDecimal(String) 52        1068
hibernate.ResultSetWrapper.getDouble(String)     21        1068
hibernate.ResultSetWrapper.getTimeStamp(String)  21        1068
hibernate.ResultSetWrapper.getString(String)     20        1068
hibernate.ResultSetWrapper.getBoolean(String)     3          32

If you use Oracle in combination with Hibernate, I urge you to use the setting Benoit kindly provided (your mileage may vary though).

Hibernate 3.1-something performance problems

Monday, November 27th, 2006

In our current project, we found out that Hibernate uses the column-names in queries to retrieve data from the resultsets. Now this is usually not a problem (it debugs pretty good thank you very much), but it adds quite the overhead for our Oracle driver. About 50% or more of the time for retreiving objects (dehydrating them) is spent in finding the correct column.

We are using a pretty archaic version of Hibernate (3.1 something), and therefore I was looking at 3.2 to see if this has improved. I found the following todo comment in the dehydrate logic:

for ( int i = 0; i //TODO:  this is kinda slow...
    }
}

Something tells me there is room for improvement.

List of OS X apps necessary on reinstall

Sunday, November 26th, 2006

This list is not a top 10 apps I prefer, but a reminder that whenever I am going to reinstall my OS X drive (due soon, again because bootcamp needs an unpartitioned drive to function):

  • QuickSilver (productivity enhancing application launcher)
  • SuperDuper (backup utility)
  • OmniGraffle (best diagram drawing tool I know)
  • ToDos (not a todo-list manager, provides an overview of all OS X apps installed)
  • Growl (notification utility)
  • adium (multi protocol chat client)
  • skype
  • colloquy (provides access to ##wicket @irc.freenode.net)
  • textmate (a decent text editor)
  • svn client
  • xcode (provides cvs commandline functionality, web objects, etc. editor for Java seems obsolete with Eclipse)
  • iBackup (backup utility)
  • iWork’06 (keynote and pages)
  • iAlertU (alarm for those moments you have to leave your notebook alone)
  • pzizz (get those refreshing naps)
  • SSH Agent (no more password reminders)
  • transmit (FTP client)
  • YourKit (the best Java profiler
  • sidenote (stickies but then to the side of your screen)
  • scrivener (screenplay, notes taker, etc)

Note that I don’t use all programs at a regular basis. For instance, I don’t use, haven’t used scrivener much, though I do like the idea and think I wouldn’t mind using it.

Mac Zealotism

Wednesday, November 22nd, 2006

After a full new reinstall on my Mac Book Pro (first gen), I decided to create multiple partitions and take on backing up my data. Fortunately, Mac OS provides a ton of good backup tools: iBackup and SuperDuper!.

The former (iBackup), is great for the casual backup: it backs up all settings and data from applications. Restoring is very easy and convenient. I had my MBP up and running in no time using this tool. I don’t like that I am not able to easily create bootable disk images using this tool.

For creating (bootable) disk images I discovered that Super Duper! works great. I am seriously considering to shell out the necessary $$$ to use this program. Especially for trying out drivers and updates it has a great solution: sandbox images. I suggest you try both of these apps, because making a backup never has been easier: all you need is a place to store your data.

The 100GB 4200RPM harddisk (G in gibi, not giga) in my MBP is now partitioned into 3 partitions: 1 boot OS X, 1 data and 1 bootcamp (winxp). The latter still has to be installed though, as I haven’t got a slipstreamed SP2 Windows XP disk around. For backup purposes I use an external USB2 drive (320GB, 7200RPM), and that works great. It is fast, easy and very convenient to add my other drives in cases of transferring large amounts of data.

Though I love my Mac Book Pro, I wish I could enlarge the harddisk and make it speedier: 120GB or 160GB spinning at 7200RPM would be very, very welcome. Unfortunately the current offerings in these sizes are available in 5400RPM only.