
I'm being part of the development team for migration of a mainframe ERP to Java technology. A preliminary version of the app shows no less than 878 tables (see image). It could be much more, knowing that quite a lot of “lists of values” – which are not supposed to change frequently during the application's lifecycle – were transformed into POJOs containing – well – lists of values. Even on this unfinished version, it was nice to see how Hibernate copes with the level of complexity.
Well, it does scale rather nice. The SessionFactory creation takes about 40 seconds (P4/2.4G/512MB) which is very very decent in this context. The necessary memory for all that metadata and stored statements looks loke a measly <10MB (altough it's hard to tell, being deeply buried in the entrails of Tomcat - no profiling yet, it's a bit early to invest time in that). And what's more important : our custom app for browsing the database looks as snappier as ever. Next step - when time permits - will be to grind the app a little bit to see if there are any concurrency issues. But so far so good – Hibernate sure looks like a real winner.
Archive for November, 2003
Hibernate DOES scale
Acrobat Reader killed my Palm
You can tell that my Palm m105 is not exactly bleeding edge. Both by its rather bland dark ugly look (completely out of fashion compared with today's shiny brigh colored semi-transparent PDAs) and its feature list which does not include webcam, MP3 player, Internet browsing and Office compatibility. However, back to 2001 when I received it as a gift it was a pretty decent machine.
Nevertheless, this little piece of silicone and glass is playing an important role in my life. I keep my agenda and calendar on it, I use it as an alarm clock and especially for evening reading. Instead of printing articles and waste trees, I use Pyrite publisher to easily convert between major formats and store files on Palm for subsequent reading.
PDF is a major format, but haven't really felt the need to convert it to Palm-readable until recently. As a IEEE Computer subscriber, I have access to the Digital Library, where articles are first published in PDF format, then – only after a few weeks – in HTML. My first thought was to save files as TXT from Acrobat Reader (6), but it's a no-no (although, I vaguely remember being able to save in a different format from Acrobat 5). OK then, let's just use the text tool, select everything and copy/paste into an editor. Well – stupid design flaw or feature crippled on purpose – the text selection can be done only INSIDE a single page. So – 20 pages mean 20 copy/paste operations. Ctrl-A does select only text from the current page. Then, I tried to bypass the “functionality” by using automation and the ActiveX Acrobat control. More or less expected, the control does not allow usage of text tool and selection is not possible (yes you can display documents, walk through them page by page, but that's the most you can do). Grrr.
My hope that GhostScript and GhostView could perform a text extraction proved utopic. Yes it probably works on some simple test files, but on Computer's documents with different layouts and formats and their inserted textboxes it either produce a completely unreadable textfile or it simply fails with a cryptic error.
All this left me with only two choices : buy a conversion product (huh, is there a market for such a thing ?) or use Adobe Acrobat for Palm, latest (3.05) version. My hardware is in the supported list, I have a hefty 8MB of RAM on my Palm so I decided to go with the latter. It was a mistake.
First, PDF “conversion” of files does almost nothing to reduce file size. If you start with a 3MB PDF, you'll end up loading a 3MB PDF into your Palm (that is, if you have the available memory). Go on, check graphic resize in preferences – it's NOT helping. Second, it's slow as hell. A few seconds to pass from a page to another. But what the heck, I could read PDF documents and this was my initial purpose. Alas, it was too early to declare victory.
My reading pattern in bed is quite simple : I read until I'm too asleep to continue, then put my Palm next to the bed and turn off the light. Don't even bother turning off the Palm, since it automatically turns off after 30 seconds of inactivity. That is, until I had installed Adobe Acrobat.
Next morning, instead of the familiar tut-tut-tut of my Palm alarm clock, there is someone knocking energically at the door. And surprise-surprise, it's not 7 o'clock but almost 9 ! It was another day when I was supposed to be the driver and give a lift to the office to other 3 co-workers, usually leaving around 8:20. No wonder they were at my door wondering if I was sick or something. No, I was perfectly well and my Palm was alive and kicking, still on and displaying happily the now familiar Acrobat screen with the last page from the previous night. The Palm was FREEZED, unresponsive to any button and only the hidden reset switch from the back had managed to provoke some faint reaction. I left in a big hurry.
After a long day back in the evening, almost forgotten the incident, watched a movie, read some blogs and back to bed. No reading this time. But it seems that, after a whole night turned on, the AAA batteries are low so I can't turn on the alarm clock (what sort of idiosincracy is this, forbidding an action because the batteries are low). It was too late to call anybody, so I ended up WARMING the Palm to trick it into thinking that the batteries are a tad more active and allow me to activate the alarm clock. So much for the useful things learned in the electronics classes.
Anyway, the next synch crashed on me, and the synch after, and the few subsequent retries. It calmed down only after uninstalling Acrobat. So I guess it was not a victory after all. From now on, I'll stick with reading simple plain text files on my Palm. Anyway, Reader is a free product after all so I'll stop the rant here – but I was expecting something more from a company such as Adobe.
This rocks : Bugzilla plugin for Eclipse !
This evening, I was searching for something completely unrelated. In the lines of how to use Eclipse CVS library (ccvs.core) in a standalone “eclipse-less” context (is this possible, by the way ?). Stumbled upon this interesting project called Hipikat, from the Software Practices Lab of University of British Columbia, CA, Computer Science department, of course.
I would have downloaded it and put it in my fat “to_see_later” folder (which is growing and growing and growing), but suddenly became a little nervous when I noticed that there is a certain “Bugzilla plugin” required in order to run the Hipikat app which by the way is an Eclipse plugin and freely downloadable. I jumped immediately on the update link for Eclipse and (whaddayanow) I have a perfectly functional Bugzilla interface in Eclipse.
It works like a charm and it's perfectly integrated with Eclipse. You have a search Bugzilla tab, favourite bugs view and even a new bug wizard ! I had no problem to make it work with 2.16.1, but it completely crazed the search view when tried on 2.17.1, needing an Eclipse restart. There are some small glitches here and there, but overall it's a fine piece of software that I recommend to anybody using Bugzilla on frequent basis.
And i'm pretty sure that if they dare to opensource it there are going to be lots of contributors. There is huge potential in the direct integration of a bug database with Eclipse, besides this Hipikat app which I'm going to try right now.