Archive for December, 2007

Of course, programming can be a very creative occupation – and so can politics. Or you could try a bit of drawing, even if it’s not exactly on paper. A new contender on the market of drawing programs is Pencil, a free and open source program available for multiple platforms. For an early beta version, it’s surprisingly functional, at least for someone like me (I never make drawings, unless it has to do with application design and architecture). My little Wacom tablet required nothing but plugging-in in the USB hub, and off I was. Pencil does animations too – by drawing, of course. Nice one, Pascal!


Read Full Post »

I’m a few weeks late in noticing its appearance, but I want to note report it anyway: there is now a open source version of the well-known Komodo IDE called Komodo Edit. Komodo Edit is not as extensive as Komodo IDE, but useful on its own: it knows several languages like Python, Ruby and Javascript, and it has knowledge of API’s like Rails and several Ajax libraries like Dojo. Note that even the Edit version is more than a text editor: it knows projects and workspaces, and it does FTP in several variants. So much for the functionality; you should also note that Komodo Edit is a multi-operating system tool, built around well-known tools such as Scintilla (the editor), XPCOM and XUL. ActiveState, the company behind the Komodo tools, has a well-deserved reputation for dynamic language support on Windows; I hope their reputation is confirmed with Komodo Edit.

Read Full Post »

Virus Attack!

Yes, I got caught by a virus – the common cold. And it was a nasty strain – I even hardly touched my mouse and keyboard!

Read Full Post »

As my collegues know, I find well-written code quite important – sloppy, unstructured and hard-to-read code is prone to have more bugs and is more difficult to maintain at the same time. Naming classes, methods, variables, etc. is an important task if you want to get readable code. Since I just found a few “bad” names in my own code (the same class had a getAllStatistics and a getGlobalStatistics method, and I had to interpret the code to see the actual difference between both) I’m happy to note a few good texts on the subject:

I’ll think of better names for my methods tomorrow!

Read Full Post »


Read Full Post »

James Gosling is a good public speaker, and it was nice to hear him talk about his favourite application of Java: real-time and scientific stuff. But in general, the talks about the future of Java (the platform) were a bit vague: no definitive planning for the “fast comsumer” version of Java SE, and many mentions of JavaFX as “a platform” (whatever that means). To me, the most interesting language on the JVM is now Groovy (with JRuby as very close second). The Groovy guys surprised me with a clone of the JavaFX Explorer, that confirmed my suspicion about JavaFX (the language): JavaFX is just a DSL, so why do we have to call that a new platform? Give us a quicker and easier way start applets, and do the rest with good tools!

I have discovered a few interesting tools. The first is Î¼jax (“micro-jax”). David Nuescheler showed us how it combines a content repository with a client-side Javascript library to quickly build HTML applications with persistence. The second neat tool is IBM’s Project Zero, which is at the same time a runtime platform and an application developement tool. Project Zero uses Groovy or a PHP subset as development language. Contrary to μjax however, Project Zero is not completely open-sourced. Both tools merit a bit of experimenting, however: they are going beyond most of the current web development frameworks.

Taking about Java: I attended the session on JSR-303 Bean Validation. Now don’t get me wrong, I’m all for annotations – but part of the JSR-303 story is about data typing, and that should be done in Java, not in annotations. If Groovy can let you define “ranges” of simple types, why can’t Java incorporate that mechanism on the language level. Ah, in the good ol’ days we had Pascal to do that, right? The JSR-303 Expert Group will have to tackle another problem as well: either they allow validations that go further than what relational database allow, or they stop what they are doing as a separate JSR and join JSR-317 to help draft a way to define SQL-constraints in your Java code…

Thomas Schaeck of IBM told us a coherent story about the collaboration tools made by and used inside IBM – the presentation was too short, of course, to show all those goodies in reality. But the rationale and the strategy behind it are clear: better collaboration is necessary (but not sufficient, as usual) to drive enterprise agility and innovation.

On the tool front, Dion Almaer explained that Google Gears is not just about “offline web apps”. The prediction that future websites (aka. web applications) will increasingly offer offline features as well as online features was underscored by the preview of the upcoming version of www.parleys.com by Stephan Janssen, Bejug chairman and organiser of Javapolis. Parleys will become a Flex application, offering more ways to organize and annotate the content, as well as a download mechanism for the presentations. The designer (Ben Dobler) received a well-merited round of applause for his work! Needless to say, Adobe Flex as well as AIR were the subject of several presentations as well.

Terracotta promises to simplify higher availaiblity and scalability of your (server) applications. From my talks with one of the Californians on the Terracotta stand, I conclude that this is indeed a product that you have to look into when building web applications for a large public.

Today I focused not on tools, but on the development process as such. David J.Anderson documented a Kanban approach to software development (while waiting for his presentation to become available online on the Parleys site, you can find videos of a similar presentation on his weblog). Having an optimized flow of small but valuable developments instead of a project-based approach could be quite a productivity booster for many IT deparments. Scott Ambler later reinforced the message by challenging current agile processes and exhorting all agile practitioners to do a better job of “selling” agile methods to our customers. And as usual Scott made us laugh out loud, reinforcing his messages, as in: “Friends don’t let friends use MS Project” (yes, agilist do plan, but in another way using other tools). Too bad that Bruno Seghers wasn’t present; he would have understood that his views on the waterfall model and equirements gathering have little to do with agility.

To finish this overview, I must mention Peter Kriens and his presentation of the OSGi Framework. Some 10 years ago, I wrote down my definition of what a “software component” should be; I’m happy to see that the OSGI R4 is finally making it possible to create components as I saw them then (I’ll translate and publish my definition soon). If you’re serious about reuse, can you afford NOT to build (on) OSGi components?

Just a small PS: James Gosling provides me with another googlewhack, when he mentioned “art school types whom you would trust to do some pixel fondling” – pixel fondling, indeed!

Read Full Post »

ExpandoMetaClassConstructorMethodInvocationWithAugmentedAnnotatedArguments, and I’m leaving out a host of other buzzwords ;-) Darn, it’s past midnight again – at least I did get the best of my Javapolis photos uploaded. I’ll write up my impressions and conclusions later; see ya back at Metropolis in a few hours!

Read Full Post »

Older Posts »