My posts on JDJ/Ciol

Few of my posts made under technology catgeory have been featured by the portal Ciol. One of the articles is available here. Another recent post of mine on Code Analyzers has made been mentioned in Eric's Pulse of 20th October and has been published in the Java Developers Journal Industry newsletter available here. Thanks Eric :). The same post features on Ciol here. Thanks Ciol!

Comments Log

Is there any way in JRoller to get a consolidated summary of, say, last 50 comments (for any/all posts) as here? Many JRollers would agree that once the posts are archived and not visible on front page it is often difficult to read or reply to any comment to back posts, not speaking of keeping track of the spam comments that are often posted on very old posts.

Much ado about CAFEBABE

I was going through the documentation of BCEL and started wondering how come the magic-number in the Java class file 0xCAFEBABE looks so meaningful. While the original purpose for specifying the begining four bytes of Java class files is to assist in segregating prbable class files from non class files the the choice lets one ponder on whether it was just inadvertant or an easter egg. Googleing on the origin of the word lead me to some interesting discussions of the past in Java circles.

The most convincing rationale is perhaps at Doug Landauer's blog where he mentions that the term originated in 1989 from the name for an erstwhile C++ compiler CAFE (C++, A Front End) and the suffix BABE came from the cafe product manager Kim Polese's name who was “described” by people as “babe”. Another opinion says “0xcafebabe is also the constant value at the start of mach-o files. mach-o is the binary format for native Mac OS X libraries and applications. “ Few other interesting comments at artima are worth mentioning here:

.. they presumably had to pick something as their magic number to identify class files, and there's a limit to how many Java or coffee related words you can come up with using just the letters A-F 🙂

..my guess is that (a) 32-bit magic numbers are easier to handle and more likely to be unique, and (b) the Java team wanted something with the Java-coffee metaphor, and since there's no 'J' or 'V' in hexadecimal, settled for something with CAFE in it. I guess they figured “CAFE BABE” was sexier than something like “A FAB CAFE” or “CAFE FACE”, and definitely didn't like the implications of “CAFE A FAD” (or worse, “A BAD CAFE”).

..they *could* have used the number 12648430, if you choose to read the hex zeros as the letter 'O'. That gives you 0xC0FFEE, or 0x00C0FFEE to specify all 32 bits. OO COFFEE? Object Oriented, of course..