Netuality

Taming the big, bad, nasty websites

Archive for the ‘library’ tag

… want to know what trouble means for a distributed project ?

leave a comment

“The project was complex-the USS Monitor had 47 different patentable inventions on board at launch. (Think you have integration problems?) When the pieces arrived at the shipyard from the foundries, they fit together poorly and much retrofitting had to be done. This affected the schedule and standards of quality. Thus, there was a rushed final integration effort and a couple of trial run retrofits. Although the ship's first battle in 1862 against the larger but less maneuverable ironclad CSS Virginia was successful (both sides declared victory-and wooden warships became a thing of the past), the USS Monitor sank a few months later on New Year's Eve while under tow in rough seas.”

Quote from a must-read article : Distributed Development Lessons Learned, ACM Queue vol. 1, no. 9 – December/January 2003-2004 by Michael Turnlund, Cisco Systems.

I have only recently descovered ACM Queue (via Miguel) and think that's a great resource. I have also found out that a new free, limited account is available on ACM Digital Library ? It's nicely complementing my IEEE Computer subscription (altough I never have to the time to read everything I want to, it's a warm, nice, fuzzy feeling to know that more and more articles are available :) ).

Written by Adrian

January 31st, 2004 at 10:36 am

Posted in Articles

Tagged with ,

Maven-less Codehaus

leave a comment

While I think that Codehaus is an exceptional provider of open-source software (some of the projects hosted there are really shining), I'm a little horrified by all their Maven-generated sites. It's not because I'm ignorant to Maven usefulness, but BECAUSE I've worked extensively with Maven since the beta7 days (August 2002, if i remember well ?) and gave up in April this year, replacing everything with Ant tasks and customized Python scripts. Painful memories of strange bugs (compatibility issues from a version to another, proxy problems, not being able to create a simple and primitive CVS log, or test suites for one of our projects not executing under Maven due to some obscure, unsolved class loader problems) are haunting me. But, the most frustrating issue on Codehaus is the 'Mavenized' sites – superfluous clicks and a number of pages you have to see again and again just to download the latest version of a certain project … a not so strange resemblance with the horrendous structure of the Jakarta site.

The simplest solution is just ignore the project sites on Codehaus and go directly to the root of the download repository. Only by looking at directories dates, you can guess if a new version was released. And as a small bonus, you'll find there some (still incubating ?) projects that aren't even referenced on the Codehaus main page. There is JMock, which looks like a easier-to-use EasyMock-like library (but it doesn't seem like being up to EasyMock on functionality level). And a nice Spice project, a sort of library of IoC-able components with multi-container support, some of them worth a look (JNDIKit, ThreadPool).

You know what would be really nice ? Being able to subscribe to RSS feeds containing release information a la SourceForge …

Written by Adrian

December 6th, 2003 at 4:31 pm

Posted in Tools

Tagged with , ,

Acrobat Reader killed my Palm

leave a comment

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.

Written by Adrian

November 15th, 2003 at 5:33 pm

Posted in AndEverythingElse

Tagged with , , ,

This rocks : Bugzilla plugin for Eclipse !

leave a comment

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.

Written by Adrian

November 3rd, 2003 at 11:32 pm

Posted in Tools

Tagged with ,

SWT has an older brother … wx4j

leave a comment

wx4j is a Java wrapper around the *tried and tested* wxWindows widget framework. The main idea may be similar with one which gave birth to SWT : hide native widgets behing a [more or less] thin layer of Java. By “native” I mean widgets for Windows flavours, Linux/Unix with GTK+ or Motif, and MacOS as well. However I see some interesting differences :
+++ source code is available for native wxWindows, however not available for native part of SWT ?!?
+++ wx has considerably more C++ than Java. Some layers such as event loop are native to the OS thus (afaik) faster than SWT's.
— what about wxEmbedded ? would be nice to integrate also … SWT has already made some steps in this direction
— I find somehow questionable the sanity of the “native” approach, because we'll eventually end up writing small Java control layers manipulating native GUIs and native data sources (OTL anyone ?). But then again, this might be a valid approach.
As well as in SWT, there is some ["non-Javaic"] memory management needed such as destroying transient windows containers and deleting memory used by drawing contexts … Although the library is extremely young the doc is quite useful, even showing non-obvious things like how to deploy a wx4j app with webstart.

Written by Adrian

June 5th, 2003 at 2:43 pm

Posted in Tools

Tagged with , , , ,