Saturday, April 26, 2003
The SuperWaba Virtual Machine is in a league of it's own, it is amongst one of the most powerful Java Virtual Machines for mobile devices. SuperWaba allows Java programmers to build programs in their favorite Java IDE for Palm and WinCE operating systems.

Java Support on Pocket PC #

Testing with SQL persistance & DbUnit
Every tests derives from DatabaseTestCase which extends TestCase. This class uses DbUnit ( which is great tool...
This class has two methods of interest : emptyAllTables() which empties all the tables from the database and insertFileIntoDb() . This method takes the name of an XML file that is on the test's classpath. This is a flat xml file of what the contents of the database should be. We have one such file for each table. Whenever we test a method in a class, we load the necessary tables. We created these files by extracting the contents of a test DB using DbUnit itself
This allows us to prevent side effects and to control the test environment when mocking objects is not a possibility.

Tuesday, April 22, 2003
Eclipse Tutorials
The following tutorials try to give you an easy introduction into Java development with the Eclipse JDT, the free Java-IDE of the IBM Eclipse Project. We will constantly enhance these tutorials with new features. Therefore your opinion is important to us.

Monday, April 21, 2003
Higher Order Programming (In JavaScript)
Higher Order Programming is the ability to use functions as values. So you can pass functions as arguments to other functions and functions can be the return value of other functions. This style of programming is mostly used in functional programming, but it can also be very useful in 'regular' object oriented programming.

Blocks In Java
I have designed and constructed a simple Java package that enables me to use HigherOrderFunctions and FunctorObjects in Java. If this sentence leaves you feeling a little cold, I will attempt to define these terms in the context of an object-oriented language like Java. A HigherOrderFunction is any method that takes expressions (rather than data) as its argument. Examples includes the Smalltalk enumerators #detect and #do, the LISP #mapcar function, or the CeePlusPlus standard library algorithms std::for_each or std::accumulate. A FunctorObject encloses expressions within an object that can be passed around as data and dynamically evaluated by a HigherOrderFunction. Smalltalk blocks are a kind of FunctorObject. The CeePlusPlus Standard Library simulates FunctorObjects using function objects. In Java, we can enclose a lexical unit of code within an Object with AnonymousInnerClasses.

his page describes some patterns for implementing blocks (aka closures) in Java. I have used a simple syntax below that should be obvious to most Java programmers to illustrate the idea.

Blocks are a way of defining arbitrary looping constructs. Actually you can use them for much more, but this is the simplest way to think of them.


the server side
dotnet junkies
sam gentile
sam ruby
paul prescod
.net guy
jon udell
john robb
blogging roller
desktop fishbowl
cafe au lait
be blogging
kevin burton
james strachan
the truth is out there
brett morgan
blogging roller #2
joe's jelly
psquad's corner
rickard oberg
the saturn times
russel beattie
gerhard froelich
pete drayton
clemens vaster
ingo rammer
ken rawlings
simon fell
bit working
justin rudd
chris sells
john lam
jim murphy
brian jepson
john burkhardt
matt pope
better living through software
loosely coupled
understanding software engineering
rest lst,rdf-interest lst,tag lst ucapi lst

A man, his puppy, and a double barreled shotgun.

Powered by Blogger