November 2002 Archives
November 30, 2002

Java | Weblogs

If you have a Java blog, don't forget to register it at the awesome It's a simple and effective way of keeping track of people working with Java. Kudos to Mike Cannon-Brookes for coming up with the idea!

Posted by ovidiu at 01:17 AM |

Other new bloggers


Other new bloggers I found are Bertrand Delacr?taz and Tom Klaasen. They both have come to the Cocoon GetTogether, but the time was so short and so many people came...

Posted by ovidiu at 01:02 AM |
November 29, 2002

New bloggers


This is great, Marc Portier and Sylvain Wallez have new Weblogs! Marc and Sylvain are great guys working on Cocoon, whom I met at the Cocoon GetTogether last week.

A co-worker of mine Pankaj Kumar, working on Java security among other things, has also setup a Weblog. He seems to have some problems with the setup, but they should be fixed.

Posted by ovidiu at 10:38 AM |

Lost and found luggage


I just received the second and last bag I've lost while coming back from my trip to the Cocoon GetTogether and the short detour I took to Bucharest.

On my way there, one bag was delayed in Amsterdam, but I received it at the hotel that night. Coming back home, both my bags were missing at the airport. The first one I received the next evening, while the second one took 4 days to receive. Really frustrating, as some of the computer cables and the battery recharger for my digital camera were in the last bag.

Posted by ovidiu at 01:20 AM |
November 27, 2002

Pictures from Cocoon GetTogether


I've added some more pictures taken at the Cocoon GetTogether, check them out.

Posted by ovidiu at 03:19 PM |
November 20, 2002

JFit: fit your full-blown Java app in J2ME


Sylvain Wallez's J-Fit seems to be an amazing tool. It essentially rewrites the code to remove debugging statements, rewrites the code to work with J2ME which lacks important functionality. Using this tool, Sylvain was able to fit Cocoon in a mere 1.1Mb jar file, and have it running on a PowerPC 50MHz with 32Mb of RAM. Apparently the tools is also very small, about 10 classes each with less than 500 lines of code. All the XSP pages are precompiled, so there's no compilation happening. The result is that requests are served in less than 300ms. This includes time spent by Saxon, the XSLT processor, whose results are not cached at all. With precompiled pipelines, XSLT would no longer be necessary which would speed things up quite a bit.

Hopefully he'll release the tool as open-source, so we can all make benefit from it.

Posted by ovidiu at 05:03 PM |

Cocoon thoughts


In this time, I'll try to put together some of the thoughts I have after the very productive and inspiring conversations we had at Cocoon GetTogether. Too bad it was so short and Matthew and Carsten left so quickly. I didn't have time to talk in detail with them, and many of other people. But we did have quite a few beers, which was really good!

I'm very interested in moving forward with few things:

  • precompilation of Cocoon pipelines, so that as much as possible is done only once
  • automatic expiration of continuations
  • identify why my top-of-the-trunk Cocoon installation is so slow, nobody else seems to have this problem
  • propose a name change for sendPage as Marcus and Michael suggested, which will hopefully make things clearer.

I'm visiting Bucharest, my home town, for few days. I will be checking my email and blog only scarcely during this time, but I should be back in force on Monday when I get back home.

Posted by ovidiu at 04:57 PM |

Cocoon GetTogether wrapup


Marc presented xReporter during which, I'm ashamed to say this, I almost fell asleep. After last night's beers I went to bed at 2am, just to wake up 5 hours later. I think this night will be same, but what the heck, you only get a chance to meet with the Cocoon developers once a year.

Steven and Outerthought have done an amazing job hosting this GetTogether. Many thanks to them for organizing this!

Posted by ovidiu at 04:10 PM |
November 19, 2002

Cocoon talks


Matthew has done a much better job than me describing the talks that happened here, at the Cocoon gettogether.

Steven and Matthew called me the favorite HP employee. I asked him if I'm the only HP employee they know: and apparently I'm not the only one ;)

One bad part about knowing people in person, is that you can't tell when people are just being polite or they really mean it when they say your talk was good.

Torsten is describing various ways you have in Cocoon today to build Web applications. He covers all the existing technologies including flowscript, XForm, precept.

Carsten had a great talk on the authentication and portal framework. Interesting, I've been thinking along the same way but using a control flow approach.

Need to talk some more with Carsten and Sylvain on possible ways to optimize Cocoon, by precompiling pipelines, such that there's no XSLT transformation happening on each request. Too bad Carsten and Matthew are leaving this evening.

Posted by ovidiu at 06:57 AM |

Cocoon gettogether


Matthew made his presentation, an introduction to Cocoon. Lots of questions from the audience, ranging from low level stuff to how to use it to build applications for 3G mobile devices.

Sylvain had a great talk on MicroCocoon, a version of Cocoon designed to run on mobile devices. Very interesting work, they built a tool (J-Fit) to dynamically transform the Cocoon Java bytecodes, usually designed to work on full-blown JDKs, to run on PersonalJava, a JDK running on small devices. Lots of interesting things, I hope we'll see these technologies in Cocoon.

Posted by ovidiu at 02:24 AM |
November 13, 2002

New release of WebObjects


Apple quietly released a new version (5.2) of their WebObjects Web application product. Interesting new features include ability to provide a Web services interface to your business logic. They apparently use Axis as the Web services engine. Pretty cool!

The ideas behing WebObjects are fairly interesting, and their tools seem very nice to develop with. They have a very easy and intuitive Object/Relational mapping tool called EOF. Long time ago, together with a friend I built a clone of an earlier Objective-C only version.

Posted by ovidiu at 11:23 AM |
November 12, 2002

How to best use US cell phone in Europe?


I will be traveling next week to the Cocoon gettogether in Ghent, Belgium, to make a presentation on the Cocoon control flow. I would like to be able to place phone calls and be called on the cell phone while I'm there. What is the best way to do it?

Since here I only had a CDMA phone, which obviously doesn't work in Europe, I went out today and bought an Ericsson T68i phone with a Cingular plan (amazing phones, by the way!). Now the only problem is that their international roaming charges are something exorbitant: $4/minute to receive a call from US while in Europe, and $2.5/minute to place a call anywhere in Europe, again while you're in Europe.

I was looking for a less expensive solution, and Steven told me to look for some prepaid cards. A quick search on Google revealed this site, which has calling card with $0.17/minute from Belgium to US. Now suppose I buy one of these cards. The only thing I don't understand is how will I be able to make use of the cell phone in Europe without being a subscriber to any of the local carriers? How about making calls elsewhere in Europe? It appears such a calling card allows you to call only US.

Also how in the world do I get a European local phone number so I can be called from US or elsewhere?

Could someone please enlighten me?

Posted by ovidiu at 11:59 PM |
November 11, 2002

Ruby or Python: learn them both

Matthew writes:
Decisions: Should I learn Ruby or Python? I am looking for a scripting language that will allow me to hack-up a few small applications for day-2-day tasks or prototypes. I also want to see if these type of languages can be used in some areas we work in - instead of always writing Java or C++ apps. And the evenings are getting darker...

Learn them both! Seriously, my take on languages is that once you know one, it's very easy to learn another one. The way I learn a new language is by identifying

  • the major differences that require a shift in the mental model about writing programs in that language
  • some of the most used patterns in it

I programmed in a lot of languages including Perl, Python, Scheme, Lisp, XSLT, C, Objective-C, Prolog, JavaScript, Tcl, Java, a bunch of Unix small languages etc. While I may not be able to remember the exact syntax of a particular construction, I do remember the programming style and main ideas of the language, enough so I can go to the reference manual and search for the thing I'm interested in.

I find Python and Ruby to be more expressive and concise than Java, but they may need some time of getting used to. The lack of static typing may be seen as a problem, but in practice I find this to be an advantage.

My dream tool is a Java Web application framework which uses multiple scripting languages to glue or even implement portions of an application. I found most of the Java implementation of popular scripting languages to be as fast as Java, since they get translated to Java bytecodes. But since there's no need to recompile these scripts, writing the code in a scripting language has a lot higher turnaround cycle than the usual edit-compile-run cycle in Java.

Posted by ovidiu at 07:45 PM |

Jaguar 10.2.2 breaks Emacs package

Apple | Emacs

I've just upgraded my machine to 10.2.2. After the install, I've noticed the Emacs for MacOS X package I've put together breaks with segmentation fault on startup. I have no clue why this happens, so I recompiled the binary and everything seems to be working fine again. I'm uploading the new binary as we speak, and it should be up on the Web site shortly.

Posted by ovidiu at 07:09 PM |
November 10, 2002

NetInfo problems


My Powerbook, running MacOS X 10.2.1, suddenly decided to stop working because of NetInfo problems. Everything would take forover to start, from opening a new window in Chimera, or a new Terminal window to starting a new application. Looking at the /var/log/system.log and /var/tmp/console.log I could see messages like DirectoryService: NetInfo connection failed for server

The solution was to restore the Netinfo database. A starting point was I removed the /var/db/netinfo/local.nidb Netinfo database and rebooted. At this point MacOS X went through all the registration process it does the first time you boot a pristine system. This step creates a new Netinfo database. Once I logged in, I became root by running sudo su in Terminal, and ran the command to restore the Netinfo database from an earlier backup: niload -r / -t localhost/local < /var/backups/local.nidump.

Quick procedure, but I wonder what caused the problem in the first place, and why is Netinfo so fragile. I remember this used to be a problem in the old NeXTSTEP and OPENSTEP systems as well. I think a newcomer not familiar with all these hacks, would simply want to reinstall the system. The system is essentially unusable for a non-techie, you don't get the login window when you start the computer, so a non-suspecting user will think the system is dead.

Posted by ovidiu at 02:10 AM |
November 07, 2002

MovableType 2.51


I've upgraded the MovableType installation on this site to the latest 2.51. I took the time to add search capabilities to the Weblog. Quite nice so far.

Posted by ovidiu at 04:11 PM |
November 05, 2002

Jaguar Cache Cleaner

Bill Bumgarner writes:

Ugh. I was stuck in "IE really really insists on being the default browser" mode. Nothing would unstick the damned thing; couldn't use OW or Chimera as my default browser.

The solution was simply to run Jaguar Cache Cleaner and clean all caches in the 'lite' mode. I made sure that the browser I wanted was set as the default browser prior to cleaning the caches.

I had the same issues and this little application fixed the problem. One small hicup though was the firewall settings on my machine. After I rebooted I was not able to connect using ssh to any machine. Soon I discovered was not connecting either. It took me a while to figure out something is wrong with the networking in general. It took even longer to realize the firewall was the problem.

I disabled the firewall and everything started to work again. After I reenabled it, everything is still working. So I'm happy now. I can now use Chimera as my default browser. Yupee!

Posted by ovidiu at 11:40 AM |

Emacs addiction

Kevin Burton writes: The last few days I have realized that I am addicted to Emacs. It is just way to easy to start hacking on lisp in the middle of the day. Thirty minutes here, an hour there, another 15 minutes at the end of the day, it all adds up to become a significant problem.

I'm addicted as well. I tried many times switching the editor, but none of the tools I've used we powerful enough to justify such a move. The primary reason why I like Emacs is because it's so easy to extend, once you learn how. None of the "extensible" editors I tried are as powerful as Emacs. In Emacs Lisp you can control everything, in fact most of what you see in Emacs is written in Lisp. The rest of the extensible editors ask you to write a plugin or code in some interpreted language, but they don't expose enough of the underpinnings for you to be able to control everything.

A truly powerful environment, no matter is an editor or a Web application, should expose its most intimate internals to a scripting language. In practice this is hard to achieve, very few environments have achieved this. Emacs is one example, Smalltalk the environment, is another one. No code compilation, no code generation crap, just write scripts.

You won't believe how powerful and still modern Emacs is. PSGML for editing of XML documents according to a DTD, including complex ones like DocBook, XSLT debugging (written by me) and editing and many others.

Posted by ovidiu at 11:01 AM |
November 04, 2002

Bean Scripting Framework finally at Apache

Java | Open Source

Chuck Murcko wrote me to say that BSF is about to finally transition from IBM to Apache Jakarta! The mailing lists are up, although no Web archives yet; to register yourself go to the mailing list Web page. A new 2.3 release of BSF should become available once the Jakarta BSF Web site comes up, which should be up any time now.

I'm working on an MVC Web application framework which uses scripting languages supported by BSF as an option to write the Controller. BSF is a central piece in it, that's why I'm so keen on seeing it healthy at Apache. I am also planning to use some AOP patterns to provide extensibility to this framework. More on this as code becomes available.

Posted by ovidiu at 03:49 PM |
Ccol stuff
  Arduino TinyWebServer: part 3 and part 2

More from me
Picture gallery
Copyright © 2002-2011 Ovidiu Predescu.