Wednesday, December 31, 2008

Finally, skating in the Netherlands

It has been a few years since we have been able to really enjoy this, but the last week or so it has been freezing hard. The ice has finally hit safe thickness and we went out to give it a try on New Years Eve.

They are predicting that it might freeze hard for another week at least, so who knows we might even get to see an 'Elfstedentocht' this year (their 100 year jubilee is 15 Jan 2009). 

My little girl and I ran about while sleding and laughing with the other kids. Life can sometimes be really good!

2008 in review

This was a really good year for me, busy with lots of new things as this was my first year back on the commercial side of software development. In the personal sphere I moved into a new house, put in a new backyard, new front yard, and cycled quite a bit with stints in the Limburg hills, Veluwe hills, and Ardennes. I just finished this year up by upgrading my bike and putting my old on online for sale.

The most blogging traumatic experience of 2008 was the loss of my domain. I documented the experience, but would not recommend this to anyone. It took awhile but my blog slowly climbed back from obscurity.

This year I was involved with several projects:
I also visited conferences, did some writing, did a few teaching gigs, and was speaking publicly again:
I have already started to fill up my calendar for 2009 with a few submissions to speak at conferences, one writing gig, and hope to continue with both jBPM and Computable contributions.

Being healthy and happy, I wish you and yours all the best for 2009!

Tuesday, December 30, 2008

2009: Weinig werkloze ICT'ers

I have been quoted in an article over at An article (Dutch language I am afraid) predicting IT employment trends for 2009: 2009: Weinig werkloze ICT'ers.

Monday, December 29, 2008

VanTuyl VT730c Aluminum - for sale

UPDATE: this bike has been sold!

After almost three years on my current road bike, touring places like Normandy, the Ardennes, the Veluwe, and Limburg, it is time for an upgrade. I have just purchased a new road bike, a VanTuyl 740.

I can either trade my current road bike in or sell it myself, so I thought I would put it online should anyone be interested. Here are the component details:

VanTuyl VT730c Aluminum
  • purchased in September 2005 (have receipt)
  • all maintenance yearly by VanTuyl (have receipts)
  • this summer: new rear cassette, new chain, new seat pin, new handlebars and pin, and new tires (have receipts)
  • Frame: 59 cm sloping (normally 60cm, my height is 191 cm)
  • Front fork: Quasar carbon
  • Seat and handlebar pins: Nova Quasar
  • Seat: San Marco
  • Handlebars: Pro XLt
  • Computer: PRO Digi-10
  • Gears: Shimano Sora Triple - 3 front (52 - 30) and 8 rear (23 - 13), so you have 24 gears
  • Wheels: Stylus Racing (622x13) with Michelin Lithon tires
  • Pedals: Shimano
If you are interested in this bike, you are too late as it has been sold!

Thursday, December 25, 2008

jBPM from the trenches - a jBPM CustomClassLoader

My partner in crime has already mentioned this over on his site, so you can read what deMaurice posted there for the details. I will just bring you up to date on our running story of the jBPM process rework:

A jBPM Custom Class Loader
As you all know from reading previous posts, we are running on jbpm-3.1.4, which is lacking in some of the fantastic features provided by v3.3.x or v4. Within our current execution infrastructure we have been also limited to running only one jbpm engine for all deployed processes. Combined with these restrictions, our SOA layer is offering backwards compatibility by deploying 3 versions of services. Each interface update on a Service leads to a new version.
Current processes are all running on exactly the same version in the SOA layer, as class loading has never been that optimal with jbpm-3.1.4. Last week, deMaurice and I set out to implement this in our own version of jbpm-3.1.4. We ended up updating the code in exactly 4 places:
  1. in the jbpm core utils we had to update the ClassLoaderUtil class to the one in jbpm-3.3.0.GA to support the selection of a custom class loader.
  2. added a new system property to the jbpm.cfg.xml file jbpm.classloader='custom' and provide our own class loader property in jbpm.classloader.classname='our-custom-class-loader'.
  3. create a custom configuration file containing api and end-point entries per deployed process.
  4. write a class loader that is used as our custom entry.
The most interesting part of this exercise was how simple it turned out to be to get it in a single configuration file.

Feel free to contact either me or deMaurice for details should you be looking to do something similar.

Wednesday, December 24, 2008

PRIMA - extended for Santa tracking

Tuesday, December 23, 2008

Call for papers: 2009 BPM and Workflow Handbook

I have submitted a proposal to the 2009 BPM and Workflow Handbook that will highlight our current process work based on an Open Source architecture and JBOSS jBPM entitled:

Full Scale Straight Through Processing with BPM
A tale from the Financial Crisis front-lines

Not wanting to be sitting still in 2009, I have been making a selection of the incoming calls for papers. I will keep you posted on the results as they come in next year.

Need that snowy Christmas feeling?

In my home town it has been trying very hard to make a record Christmas snowfall. A huge storm has provided,

"...more than 10 days of icy weather that culminated in a massive snowfall Saturday and Sunday. Snow measured in downtown Portland approached 13 inches Monday afternoon, rivaling a storm in 1980 that dumped 16inches on the city, according to the National Weather Service.

Portland's biggest snowfalls in history? Thirty-two inches in 1893, 28 inches in 1916 and 22inches in 1884.

The latest storm may rank among the top 10 for the area since the state started keeping records in 1880."
-- source, The Oregonian, 23.12.2008.

For those of you (like me) who are not going to see a white Christmas, it could always look like this outside your front window:

Thursday, December 18, 2008

JavaOne 2009 Call for Papers - submitted a tale from the front-line

The JavaOne 2009 conference put out a call for papers a few weeks ago and I submitted my abstract this week. Would you be interested in hearing this session?

Java defeating the Financial Crisis - a tale from the front-line
This session will examine a project running in the Netherlands for the fourth largest Dutch bank. This bank has made a strategic decision to empower her customers on-line by fully automating her business processes using full scale Straight Through Processing (STP). This extreme use of online STP is the trigger in a shift that is of crucial importance to cost effective banking, made even more relevant by the current world wide Financial Crisis.

We examine the integrated Java solution architecture by detailing the major component layers used to implement the case study, a project entitled STP Purchasing. This project enables the online purchasing of savings products, all fully STP enabled to ensure completion of requests within days instead of weeks. The various key components used in the implementation include an Open Source Software (OSS) infrastructure, a process engine, our service-oriented architecture (SOA) layer, and the various back-end systems.

The most significant cant part of this session will provide some insight into our first experiences in this solution space. We will openly discuss our experiences and provide do's and don'ts that we are currently putting into production in successive projects. Finally, we will present empirical data resulting from the STP Purchasing project running in production which demonstrates how the Financial Crisis is losing the battle here in the Netherlands.

Wednesday, December 17, 2008

Eclipse Subversion access from behind a proxy

It is for the very first time that I post anything to solve a M$ platform problem, but this one is to allow the usage of a tool that is worth the shame.

The problem when connecting to any svn repository is that you are getting this message (example is from an open source project AbTLinux):

RA layer request failed
svn: PROPFIND request failed on '/svnroot/abtlinux'
svn: PROPFIND of '/svnroot/abtlinux': Could not resolve hostname `': The requested name is valid and was found in the database, but it does not have the correct associated data being resolved for. (

The problem is that you need to pass through a proxy and in my case, this needs to happen with a user name and password authentication. This is done in the Subversion server configuration file. For both Linux, osX (Mac) the file is in the same location, for M$ it is in a bit different location. Both show you how to fix this for the user only. Should you wish to do this for the entire machine you will need to locate the central server configuration file:

# For Windows: %USERPROFILE%\Application Data\Subversion\servers

# For Linux or osX: ~/.subversion/servers

http-proxy-host = <>
http-proxy-port = <some_port_number>
http-proxy-username = <your_user_name>
http-proxy-password = <your_password>

Once you set these for the user, ensure your SVN-plugin in Eclipse is using the Default location for the configuration settings and you should be able to connect to both http and https repositories.

Tuesday, December 16, 2008

jBPM from the trenches - status of jBPM process rework

It has been almost two months since I last posted on the progress of our jBPM process rework. We have solved the composite business service issues and have since completed the following steps:
  • Business logic has been encapsulated into services and pushed down into the SOA layer.
  • Discussion on composite business services has been initiated for our SOA layer.
  • A first process state node is being setup with complete unit testing
  • The state-proxy is being integrated into the process layer.
The tasks left to be done in the coming year (we are winding down for 2008):
  • Transitional actions are being brought up into process steps
  • Core process steps are being black-boxed so that you can fill them with any eventual project specific sub-flow definitions as needed.
This week we have started the implementation of a custom jBPM class loader to facilitate running multiple projects on a single jBPM engine where we want to access different service versions. I will post more on this soon, after implementing our design and proving it works. I can say we have decided against having it link into maven to solve a projects dependencies.

That's it for now from the trenches.

Saturday, December 13, 2008

Mac Softpedia developer page?

It seems I have been given a developers page over at a Mac site called Softpedia.

Someone attached a link to my DocConversion project from 2004. It is nice to see that people are still getting use out of it!

Friday, December 12, 2008

NIBE course - Algemeen Opleiding Bankbedrijf (AOB)

I recently passed this exam. That is about all you can say for this course. It is a massive content oriented course that focuses on testing the student on very small facts buried deep in the material, not on the students understanding of the material. I won't even get started on the exam style or format. Let's just say that if I had setup exams for my students (I have taught several courses at the Radboud University Nijmegen) like it is for this course, my days of teaching would have lasted up until the exam commission stopped by for a review.

Anyway, there is a positive point to all of this. I don't want to make this experience any more painful for the next person that is required to take this exam (it is compulsory for all Dutch bank employees), so I am providing you with my summary that will save you time while preparing. I can't promise how long it will be valid as the course updates the material from time to time, but it is better than nothing:

Tuesday, December 2, 2008

A 'Ruby best practice' - return values

Over on the wonderful Ruby blog 'On Ruby' they are holding a contest requesting that one post a best practice from another language or community and how it translates into Ruby. It just so happens there is one that I have personally applied to all my Ruby programming even though it is not a Ruby convention!

Return values in Ruby, where are they?
It really bothers me that code can become unclear or obscure by not communicating very simple facts, like what a method is returning. A good practice used in Java is to return a 'results', meaning one keeps the return value of a method stored in a variable named 'results'. It can be a String, Boolean, or whatever.

Ruby is one of my favorite languages right now, but handles return values for methods very differently than languages like Java. Ruby does not require an explicit 'return' statement, but can return the last executed statement results by default. This can be confusing.

Discovering what this return value might be can be more time consuming that is necessary and is immediately taken care of by simply supplying a 'return' statement. Cost is nothing, results are clarity. I provide an example from my current running project, AbTLinux:

# Cleans up this packages source build directory.
# RETURNS:  boolean - True if the completes successfully,
# otherwise false.
def remove_build
  puts "Removings build..."
      buildSourcesLocation = "#{$BUILD_LOCATION}/#{srcDir}"
      if (!
        return true

      if (!FileUtils.rm_rf buildSourcesLocation, :verbose => true )
        return false
  return true

Saturday, November 29, 2008

Some tips on how to cleanup iPhoto

I am not a power Macbook user when it comes to the i[fill-in-the-Apple-application-here] anything. I am a simple user with over 5 years of pictures on my Macbook. So when I noticed the iPhoto application was really getting slow and that all my disk space was about gone (80GB!), it was time to look deeper into this.

Just a few tips here, but they radically cleaned up my iPhoto disk waste:
  1. Empty the trash - seems like a no-brainer, but I was unaware that iPhoto had it's own trash bin. Just follow the menu entry to clean out those deleted pictures: iPhoto -> Empty Trash. This got me over 9 GB of disk space back.
  2. iPhoto Diet - this is a very nice tool which will allow you to scan your entire library of pictures for more iPhoto nonsense (chuff, duplicates, and even more stuff you don't want to know about). 
This second tip took some time as I have something like 3500 plus photos. But patience pays off and I now have gotten rid of an amazing amount of crap in iPhoto. It even performs better now.

Wednesday, November 26, 2008

Open source expert panel - the sinking ship metaphor

As previously stated, awhile back I was added to the Computable Open Source Expert Panel. This week they published two different follow up articles on the latest round of layoffs at Sun (sorry, they are in Dutch):

1) Experts: Sun moet stoppen met koppelverkoop
2) Experts: Sun blijft zwalken

A bit of background story here on the photo posted here from the second article. My approach to commenting on this topic was to do my best to come up with a visual aspect. A perfect way to visualize something is through a good metaphor, like the leaky oil tanker I used in my comments. This seemed to work, as this is the theme in the second article. Spot on!

Sunday, November 16, 2008

Creating an ISO image from DVD on macbook

When copying a DVD on my macbook I was sure there must be some way to do it without buying software or having to download lots of new burning applications. Here are the simple steps needed to do it:

# insert DVD and lookup the device your DVD is mounted on,
# (partial output shown here, look for the Name field).
$ drutil status
 Vendor   Product           Rev 

           Type: DVD-ROM              Name: /dev/disk2

# unmount the disk.
$ diskutil unmountDisk /dev/disk2
Disk /dev/disk2 unmounted

# create a local iso file from the DVD.
$ dd if=/dev/disk2 of=mydvd.iso bs=2048

# you can test the iso file with 'hdid mydvd.iso'
# and/or burn it by inserting a blank dvd and burn
# the iso using Disk Utility app.

Thursday, November 13, 2008

Linux World 2008 Jaarbeurs Utrecht

Today I gave my talk on Open Source at SNS Bank that I announced earlier, at the Dutch Linux World 2008 in Utrecht. The turnout was around 50-60 persons and the location was big enough for 200 or more. Kind of a strange feeling that you are talking to an empty room, but there was plenty of interaction and questions with the public throughout the session.

After the session I was approached by a number of persons asking to be provided with a copy of the presentation. I understood that they would all be put online, but I can't find anything about it on the Linux World 2008 site. Until it shows up somewhere else, you can get the PDF of the presentation here.

Wednesday, November 12, 2008

JFall 2008 presentation and conference

As I previously announced in an earlier posting, I would be presenting a session based on my accepted paper today at JFall 2008.

It was quit a bit of fun and there were around 50-60 persons attending my session. Many questions were asked, but I was guilty of encouraging these questions with some nice gadgets provided by the SNS Bank.

You should be able to find the session over at the JFall 2008 site in December, but for now you can get the PDF presentation here.

Tomorrow I will be presenting a more Open Source focused presentation over at Linux World 2008 in the Jaarbeurs Utrecht.

Thursday, November 6, 2008

Should I know you

I was approached today; "Do I know you...", with a pause followed by "...should I know you?"

It really struck me as having a profound difference in meaning.

The first line is a standard way to open the conversation in English speaking countries if you just can't quite grasp the person out of the depths of your memory. You have the feeling that you have met before, but are unable to put a name on the face. It tends to put the person being asked a bit on the defensive, especially if they don't recognize the one approaching you either.

The second is a more subtle take on the same line, putting it all in a more gentle and positive light. It puts the person being asked at ease which starts off the ensuing conversation more smoothly. It takes a certain amount of poise and style to project that something special that nudges a person into thinking that they should be able to put a name to your face.

I hope I can one day project that type of warmth to those that approach me...

Wednesday, November 5, 2008

May you live in interesting times

As Terry Pratchet said in one (or more) of his books as the ultimate good wish you can put on someone you meet, "May you live in interesting times..."

We certainly do! I am living overseas from the US and have gotten up in the middle of the night to watch the results of the Presidential race this year. I am not much of a political animal, but I can't help but loving to watch historical moments live. This night there will be one no matter who wins, either a first black President or our first ever woman Vice-President.

What has been amazing me the most tonight is that CNN, the most informative news site you can find on the USA, has us completely plugged into this event. From the overviews on the site, the running numbers, and live feeds about everything you can imagine. I am most taken with the live McCain campaign headquarters video stream right now as they have live music from Hank Williams Jr and other country music artists. Over at Obama campaign headquarters (you can select from diverse steaming links) we are being shown the park in Chicago where the crowds are waving flags and awaiting their candidates arrival.

What amazing uses the technology tooling is being put to use for these days to keep us updated on all the latest news (as I switch over to the live stream at CNN election headquarters to view the latest numbers).  No matter what the outcome is tonight, currently Obama is up in the early popular vote count by 1%, we do live in interesting times...

Monday, November 3, 2008

CAiSE09 chapter proposal accepted: Empowering Full Scale STP with BPM

"We are pleased to inform you that your chapter proposal Empowering Full Scale Straight Through Processing with BPM has been selected to be worked out as a full chapter for Practice-driven Research on Enterprise Transformation."

Those magic words never get old!

My proposed paper accepted to CAiSE'09 conference (Computer Aided Information Systems Engineering) which will be held in Amsterdam. The CAiSE'09 conference will also host the PRET workshop (Practice-driven Research on Enterprise Transformation). This PRET workshop was my target and I am glad to have found a home for this long running project which was submitted to BPM 2008.

Next deadline is to submit a final copy of the paper for evaluation by January 1, 2009. I will post the draft version as soon as I get it sorted out.

As one of the larger Dutch financial institutions, SNS Bank in the Netherlands has made a strategic decision to empower her customers on-line by fully automating her business processes. The ability to facilitate the customer is achieved by applying Business Process Modelling (BPM) techniques in her existing selling channels. Both the publicly available and internal processes are being revamped to provide the customer with an online full scale Straight Through Processing (STP) experience. This extreme use of online STP is the trigger in a shift that is of crucial importance to cost effective banking in an ever turbulent and changing financial world. The key elements used in implementing these goals continue to be (Free) Open Source Software (FOSS), Service-oriented architecture (SOA), and BPM. In this paper we will present an industr1y application describing the efforts of the SNS Bank to make the change from traditional banking services to a full scale STP and BPM driven Do It Yourself bank.

We will begin with a look at the the components used to implement the case study, a project entitled STP Purchasing. The basis has been laid in a FOSS environment with which the first SOA services were constructed and an initial selling channel was modelled for implementation within our chosen BPM framework. The issues encountered along the way to completion of this project will be discussed to provide some insights into our first experiences in this solution space.

We will then take a closer look at the positive impact made through the use of full scale STP and BPM. Not only will we present extensive empirical data resulting from the STP Purchasing project running in production over the last year, but we will also examine the effects this has had on customer contact and the development process as a whole.

As can be expected, there always will be challenges to be met when such an expansive shift in strategy is being implemented and we take a tour of the impact this has in both the business and technical realms.

Finally, we present our conclusions and detail some of the steps that are being taken (or are in the planning) as a result of our initial experiences with STP Purchasing.

Strategic Architeture blog launched

A shameless plug for a friend of mine that has launched the new Strategic Architecture blog. A central discussion site for bringing together the two worlds of Strategic Management and Enterprise Architecture.

The goal is to publish thoughts on:
  • strategic management
  • enterprise architecture 
  • the relationship between these worlds
  • research results
  • case studies 
  • experiences in practice
  • references to interesting materials (such as weblogs, books, and articles)
Stop on by and drop a comment on some of the interesting articles there.

Saturday, November 1, 2008

Composite Business Services in jBPM project

While engaging in a jBPM process improvement project, I encountered the need for Composite Business Services. This is where it starts to get interesting, when you try to make the step from Basic Services and Business Services up to the level of integration that includes Composite Business Services.

Once you drop this word it seems that the existing SOA layer which contains both elementary Basic Services (think of transactions to backend systems) and Business Services (think of services that make use of several basic services) should be ideally leveraged by plugging them together in new services. You would think so, right?

Well there seems to be some reluctance to this step, so I wanted to dig around a bit to see what I can find out and here are the resulting types of services:
  1. composite applications that offer services
  2. composite (business) services
First a working definition for these terms:

Composite Applications
In computing, the term composite application expresses a perspective of software engineering that defines an application built by combining multiple services. A composite application consists of functionality drawn from several different sources within a service oriented architecture (SOA). The components may be individual web services, selected functions from within other applications, or entire systems whose outputs have been packaged as web services (often legacy systems). Composite applications often incorporate orchestration of "local" application logic to control how the composed services interact with each other to produce the new, derived functionality.

Composite Business Services
A Composite Business Service is a collection of related and integrated business services that provide a specific business solution and support a business process built on a SOA.

These both apply very well to the working environment for the project being discussed here. As I am not focusing on Composite Applications as a part of my solution space I will concentrate solely on Composite Business Services.

The Composite Business Services idea seems to be mainstream for leveraging existing SOA layers. A source in soa world states, "Composite services encompassing mainframe transactions, data and application logic is the future of integrating big iron into service-oriented architecture (SOA)..." and that companies bought into the composite services concept because it allows you to " the right services, not just build little bits and pieces that happen to be Web service enabled...". This seems to match perfectly with our project goals, providing integration for more than just the little bits and pieces.

IBM also provides us with a discussion on Composite Business Services, states that "The foundation of CBSs is service-oriented architecture (SOA), which breaks down business applications and processes into component parts (business services), which can be combined and recombined, very fast (thanks to business and technology standards), to create new applications and processes." This is further associated with the metaphor of building prefabricated building where reusage of standard components is the way of working.

The conclusions I draw from browsing the available SOA literature (abet, rather briefly) is that this is the next logical step is to migrate from Business Services to Composite Business Services. Also rather surprisingly, I did not really encounter any warnings or danger signs with regards to adding Composite Business Services to an existing SOA layer. When a move has been made to add Composite Business Services, there seems to be no limit to the amount of reusage you can get out of such an SOA layer.*

* (Of course I could be very wrong, so feel free to point me in the right direction should I really have missed something fundamental.)

Friday, October 31, 2008

Blog hit rate back on track in 60 days

Back on the 1st of August I lost my long running domain name (.com). I then was forced to run about and setup this new domain and migrate my site over. I documented the resulting plunge of site traffic a month ago with a graphic and posted a 30 day update awhile back.

Well, I can now say that at 60 days this blog is back on track:

The 100 hits per day average I had with my .com domain appears to have been regained. It might be a bit early to call it, but I think it is back up online with the recent boost from my jBPM postings and Open Source/Java speaking engagements pulling a lot of interest.

Sunday, October 26, 2008

Halloween 2008

As you might know, I am a big fan of this holiday and again this year we have put out the carved pumpkin assortment. We are lucky enough to get supplied with these pumpkins as a friend has a pumpkin farm in his family. They know I love to do this so he has dropped off an assortment the last two years.

My little girl and boy have gotten into the act this time with each working out their own pumpkin faces (Daddy does the carving still).

There was more than enough for some lovely pumpkin soup which I wanted to make a bit more tasty for the kids, so I added honey mustard this time. They seemed to enjoy this better than last years traditional version.

Happy Halloween!

Friday, October 24, 2008

jBPM process rework replies

I wanted to put up some more information based on the questions placed on my first article on our jBPM process rework project. I think I need to put a few details in perspective and then I will try to answer the questions posed.

A bit of background first. I am the technical lead on this so the technical details are my playground. I am required to work within the Architecture guidelines as handed down by the department of the same name. These restrictions will be mentioned below in my replies as I encounter them. I will provide the plans I outlined for clarity here:

My plans:
  • Business logic is being encapsulated into services and pushed down into the SOA layer.
  • Transitional actions are being brought up into process steps
  • Core process steps are being black-boxed so that you can fill them with any eventual project specific sub-flow definitions as needed.
  • Migrating almost all process nodes to state nodes to facilitate a proxy between the process instance node and the service layer (calls)
  • Looking to add a custom jBPM class loader with maven like functionality to facilitate multiple projects running with different service versions (why we need this is an infrastructural problem)
My expansion on these bullets will include a response to the comments in the previous post (handled in order):
  • I wish we were using ESB, but we are not allowed. We use a mix of POJO in jBPM with service calls mixed in (services being pure unreliable SOAP messaging over HTTP) PS. I loved the demo, wish I had the ESB property editor, I have to dig through code (handlers) to see what is going on with service calls in a node.
  • Yes, this lack of visibility combined with the extensive java coded logic being processed in some of these transitions bothers me greatly in my situation. I just want future projects to be able to estimate new implementation efforts within this process flow a little easier. Best way is to make everything in the flow a bit more visible.
  • An architectural limitation is that this project is part of a longer strategic plan that locks us into the 3.1.4 release. It would be of great interest to me to be able to dynamically select a sub-flow at run time. I was just planning to decision node right before selection of the sub-flow needed.
  • No, you are missing something and it is not you! It is a long story and involves a reference project (we try our best!). Due to lack of ESB like solutions for reliable messaging, we are left with a very unreliable HTTP communication for services. On top of this we have asynchronous non-transactional back-end systems. All due to these architectural limitations, we hope to improve process resilience with a proxy between the process node and the service call (treat each call as an external system basically). It will call the service, provide some extra tricks to handle specific problems with back end systems, and signal the state-node with the results (good or bad). Not the classic use of a state node, I know, thoughts?
  • Again, I have no option for 3.3. In the above mentioned reference project we did pirate some functionality (migrated some classes over to improve auto par generation), but think that class loaders are a bit harder to hijack back down to 3.1.4 versions. We are just interested in pointing to different service endpoints for different jbpm processes (not within a single process). We have failed on class loading issues when trying to deploy these service jars within the par files for a process. It should be pretty straight forward to use a maven like construction to always look for all process related classes (jars) inside a single directory within the deployed process. At least we think/hope so.
Basically the architectural limitations have crippled all nice solutions I have seen in the jBOSS stack

I chatted with Mark Little a bit when he visited here in the Netherlands, but we did not get too deep into jBPM. I do follow your comments extensively on the various jbpm jboss lists (user, developer, forums, issues, commits).

I do like what is coming down the road with jBPM (PVM, GWT console). I would love to setup the new GWT monitor for my older jBPM setup, but I am assuming that would not really be possible.

Member of the Computable Expert Panel Open Source

I have been added to the Computable Topic Open Source panel as one of the Experts in this area. The idea is to provide articles, opinions and basically just keep this area of the site interesting and lively.

From time to time they ask for input on some subject (already have a request for some input on a topic in the order of 300 words). They would also like us to submit white papers or interesting articles as we encounter them.

Sunday, October 19, 2008

Pegasystems BPM job offer

This was of some interest as I have been working with BPM rather intensively for about a year now and my first targeted BPM job offer has popped up. The mail contact went like this:

Your name has been recommended to me with regard to a position I am recruiting for currently.

I am currently looking for a Senior System Architect to work for my client who is a leader in the BPM field. They are looking for people with a good technical understanding and the attitude to be able to communicate with customers and turn business requirements into technical solutions. Having looked at your profile you look like a good match for the role and I would like to discuss this in more depth with you if possible.

Would you be kind enough to get in touch? My contact details are below. I am happy to give you a call if you can reply with a mobile contact number.

 I generally do not reply to this sort of head-hunting, but curiosity got the better of me and I wanted to know who was behind this. Turns out it is one of the larger BPM tooling organization in the business, Pegasystems Inc. based in the USA. The job offer was for a Senior System Architect, which means:
"As lead member of a project team ensures that the business and technical architecture of the delivered solution matches customer requirements. Responsible for providing high quality consulting services on all project assignments. Demonstrates a broad knowledge of either a target vertical industry or functional area (e.g., CRM, deployment, etc.). Travel Requirements: more than 75% travel."

Ouch on the travel... but I am not really looking anyway, I am having too much fun at my current job to want to move off into some other corner of the world!

Friday, October 17, 2008

jBPM process rework in progress

My current project has provide me with the chance to rework a rather a monolithic jBPM process implementation. It is my third time working through this same process flow and I want to do something about it before it gets any worse. It consists over over 59 nodes (decisions, task-nodes, nodes, but not a single state) and has all business logic intertwined within the individual nodes. Even some of the transitions have handlers that are providing business logic functionality which mystifies me to no end.

When the applications business logic is not placed in a service layer then I would expect that it would be kept as visible and above water as you could make it. The idea being to facilitate maintenance and future development within/upon the process flow. I was wrong. I won't get into the long story about how we got to the point that we can rework this process flow, it is not very interesting and I imagine it is par for the course in most large software development organizations.

All in all, it has provided a very interesting first step in my current project to start working on this problem. I am currently migrating as much logic possible from the transitions back into the process steps or even creating new process steps to bring this functionality into the light. Visibility is the key here. My plans:
  • Business logic is being encapsulated into services and pushed down into the SOA layer.
  • Transitional actions are being brought up into process steps
  • Core process steps are being black-boxed so that you can fill them with any eventual project specific sub-flow definitions as needed.
  • Migrating almost all process nodes to state nodes to facilitate a proxy between the process instance node and the service layer (calls)
  • Looking to add a custom jBPM class loader with maven like functionality to facilitate multiple projects running with different service versions (why we need this is an infrastructural problem)
This should keep me busy for the rest of the year as it is not a small task. More on this migration should any interesting experiences arise and feel free to provide input should you have some thoughts on these points.

Friday, October 10, 2008

Blog hit rate climbing out of the basement

Back on the 1st of August I lost my long running domain name (.com). I then was forced to run about and setup this new domain and migrate my site over. I documented the resulting plunge of site traffic a month ago with a graphic and a promise to report back the results over time.

Well here we are a month later and things have slowly started picking up:

 Google picked up my new location and the search hits turned up the .org links pretty fast. I was surprised. You can see the daily hits are slowly getting back up towards an average of around 35-40 per day, nothing like the 100 I was pulling previously but better than I personally was expecting inside of a month. I am slowly climbing out of the basement...

JFall 2008 - Full Scale STP with jBPM

I sent in a paper for the JFall 2008 Dutch Java conference and have been accepted. I will be presenting an Industrial track talk on my first attempted BPM paper at SNS Bank.

My talk will be a bit more focused on the Java aspects of course, but it remains a practical experience that is now over 9 months in production. I will be hinting at the effects of the 'credit crisis' that we have all been reading about and should be able to provide up to date empirical evidence of the success of our implementation. My talk details as submitted are partially in Dutch, but will put them here for reference.

As one of the larger Dutch financial institutions, SNS Bank in the Netherlands has made a strategic decision to empower her customers on-line by automating her business processes. The ability to facilitate the customer is achieved by applying BPM techniques in her existing selling channels. Both the publicly available and internal processes are being revamped to provide the customer with full scale Straight Through Processing (STP). This paper takes a tour of the latest BPM project at SNS Bank, provides empirical evidence that this move has already allowed SNS Bank to reap the benefits of BPM, and discusses the remaining challenges for both business and IT.

Deze presentatie is een praktijkverhaal van de SOA/BPM implementatie bij SNS Bank. Deze implementatie loopt al een jaar in productie. Ik zal onze ervaringen toelichten en onderbouwen met verzamelde metrics van de afgelopen jaar.
Ik begin met een introductie van de Open Source invalshoek van SNS Bank die naar Java/STP/JBPM heeft geleid. Daarna komt het marketingverhaal dat 'Straight Through Processing' toelicht en waarom dat van belang is bij SNS Bank. De implementatiearchitectuur zal kort toegelicht worden met focus op onze eerste ervaringen met het implementeren van SOA/JBPM bij SNS Bank. Daarna presenteer ik onze samenwerking met Atos Origin om een BPM-referentieproject neer te zetten. Als laatste stap, kijken wij naar de lessen die wij uit de laatste jaar kunnen halen en wat de toekomst zal brengen voor SNS Bank op het gebied van SOA/BPM.

This talk is related to my session at Linux World 2008.

UPDATE: you can get the PDF presentation here.

Sunday, September 28, 2008

Finding return values from chained pipe commands in the system function

I have already discussed some hints for the usage of the Ruby system method, but encountered another facet of using this system function while passing a bash command using pipes. The problem is that one gets the standard exitcode status back from bash via the $? variable. But when you use pipe to chain more than one command you only get the last command results back from the $? variable.

Enter the PIPEARRAY from bash, which allows you access to the each commands return value in the entire chain. The problem with Ruby is that this is not available after the system function ends. Again, using some  smart Bash you can exit your command chain with the contents of the PIPEARRAY like this:

# a system call that exits with the value of the first command 'make'.
system("make | tee output.log; exit ${PIPESTATUS[0]}")

# examine the returned value of the command 'make'
puts $?.exitstatus

Friday, September 26, 2008

Invitation to influence Linux World 2008 talk at Jaarbeurs Utrecht

A bit of an update on the talk I will be giving in November at the Dutch Linux World 2008 in the Jaarbeurs Utrecht.

I am going to make you a unique offer. You can influence my talk by leaving a comment on this page up to the date of my presentation. I will do my best to answer any of your questions, discuss anything related to the topic of my talk, and mention any interesting comments I get live at Linux World 2008. You can't beat that for Open Source collaboration!

If you want to stop by and say hi or discuss something interesting with me at Linux World 2008 then just follow the linked banner in the top of this post or the one in the sidebar to register for free.

Hope to see you there.

UPDATE: you can get the PDF of the presentation here.

Wednesday, September 24, 2008

Endorsing Seth Alan Woolley for Secretary of State

Imagine my surprise when I opened my overseas ballot for the coming US Presidential election and saw this guy here in the picture on the ballot for Secretary of State for Oregon!

I have known Seth Alan Woolley for quit some time now through my work on an Open Source project called Sourcemage GNU/Linux. I even had the chance to meet up with him in Portland on one of my trips home.

I would be remiss if I did not mention that I am not a registered Pacific Green Party voter. I will of course be voting for Seth as I am more than sure he is sincere in his promises and commitments. He has been active in the Pacific Green Party and politics in general as long as I can remember.

Though our ideas on life and politics sometimes differ, he always stood for what he truly believes in. Take some time to look at the site linked through the picture, it outlines some of his plans. I wish him lots of luck and will be watching this part of the elections closely this year!

I fully endorse Seth Alan Woolley for the office of Oregon Secretary of State.

Lance Armstrong announces coming back to Astana

Monday, September 22, 2008

DamTotDam Cycling Classic

Yesterday I completed my first ever organized cycling event, the DamTotDam Cycling Classic. I was to ride with two friends who have not put in too much training kilometers, so we only signed up for the 60 km ride (you could chose from 40, 60, or 140 km).

The day started out rather misty, with a sun just rising above the waters of the Ij as we crossed on the ferry at around 0830 hrs. As it was a car free Sunday in Amsterdam, we had to park in the north of Amsterdam and cycle into the city. The picture in the top left corner is at the starting line just before departure, with our hopes high and our spirits soaring!

After a very crowded and slow departure though the very crowded and cobbled canal streets of Amsterdam we were off through the various villages that have 'dam' in their names. This was the theme of the ride, a 60 km circle taking us through all the 'dam' villages and along the Ijsselmeer lake. Temperature was around 12 degrees by departure, finished up at around 20 degrees. Took us about 3 hours to complete the ride with two stops at 'refueling' stations on the way.

One of the two main attractions of this ride was the Ij tunnel that they opened to us, so we left the city through a freeway tunnel exit! The second was the route along the Ijsselmeer lake, as shown in the beautiful misty morning sun in the accompanying pictures.

I actually kept track of the calorie buring and for the complete ride it took over 2400 calories. That is a days food for a grown man, so guess I was doing something right. We also ended up with a total of 75 km for the entire ride, between the 60 km for the actual course and the extra 15 while trying to get from the start to the car in Amsterdam north.

This was a very well organized ride, with plenty of markers, good refueling stations, friendly riders (including a good mix of children and lady riders), and very good helpers along the route. There were even professional photographers from should you be so inclined to want to buy a photo. A beautiful ride in the Dutch landscape, a free water bottle, and a silver medal upon completion. What more could a cyclist ask for!

All in all, it was a fun day on the bike and I would recommend it to anyone for next year. I plan to be there!

Friday, September 19, 2008

JBoss Technical Development Manager Mark Little

I got the chance to meet Mark Little yesterday in a session organized by Atos Origin. I was invited to speak about the usage of Open Source, JBoss, and jBPM in our current projects at SNS Bank. It turned out that I did not have to speak, but could just sit back and enjoy a presentation by Mark Little.

I have always been a fan of Open Source projects and listening to the head technical manager describe the new ins and outs of the JBoss projects (specifically JBoss ESB) with pride and a glint in his eye. He emphasized at several points, the importance of the JBoss community. This was nice to see as they have not lost touch since being aqquired by RedHat. It is quite an experience to listen to someone with such passion and feel for humor in his presentation style. I guess I am not seeing enough presentation here in the Netherlands that are so flamboyant.

Outside of the details of the presentation, which are nice for my work enviornment but have nothing to do with my current running project, it was a relaxed atmosphere at the after-party. Over drinks and munchies we got the chance to shoot the breeze about jBPM, his background, and a bit of mine. What struck me the most was his down to earth nature and his story telling ability.

Wednesday, September 17, 2008

Thank you Lance

Sunday, September 14, 2008

Caffee vs Tea, which has more caffeine

This is an off the wall posting about a topic that has been running around the workplace at about every IT job I have had. Coffee drinkers get headaches in the weekend from too much caffeine and think switching to tea will help. I finally sat down and did a bit of research on this and here are my findings (a hint, the tea drinkers are partially right):

At the Indiana University Library you can see the details, but the summary is that " average pound of tea has the equivalent caffeine content of two average pounds of coffee." As one does not eat coffee or tea by the bean or leaf, this means nothing.

If we look at the results produced by a single pound of coffee or tea we see that it "...will result in only 40 cups of coffee, whereas the pound of tea leaves will result in 160 cups."

Can you do the math?

This means that a cup of coffee has twice the amount of caffeine as a cup of tea.

Back to the discussion at workplaces around the globe. You can switch from coffee to tea, but this is not a caffeine free drink. According to Consumer Reports, both coffee and tea drinkers have nothing to fear when they drink in moderation.

Sound like a plan to me, time for a coffee break!

Monday, September 8, 2008

Cycling summer 2008

I have been a bit remis in keeping this section on cycling updated with my latest rides. I guess the best course is to sum up the summer (June - July - August) in a single post and mention my next ride coming up.

I have been cycling quite a bit to work and around the area when possible to extend the 20km distance that is my home-work ride. I have averaged around 450 - 500 km per month over the summer which is 1350-1500 km's in total. This included my vacation in the Belgium Ardennes, which was really great with all the climbing I was able to do!

I have also signed up for the Dam to Dam ride in September. I am doing it with a few friends that don't ride much, so instead of the 140km tour, we will be doing the 60km. It is pretty cool as they shutdown the roads for you and we get to ride through the I-tunnel to exit and enter Amsterdam.

I have also started to look into a newer bike, let's say an upgrade from the VT 730c I have on up to the VT 780. I would like to get onto a bit better gear before I ride up the big monster hills next year on vacation! 

Draft: Empowering Full Scale Straight Through Processing with BPM

I wanted to post a draft copy of the submitted paper here as I had promised, so here you go. I am currently reworking this paper based on the comments received when it was submitted to BPM 2008. Comments are welcome!

I should mention that I plan to test some of the reworked content in a few upcoming speaking engagements, such as the LinuxWorldExpo and at ATOS Origin's Open Source Expert Group event next week. I will post more on these as they happen.

UPDATE: removed old draft copy, please see CAiSE 2009 posting where this paper got reworked and accepted.

Wednesday, September 3, 2008

Ubuntu compile your installed kernel howto

I have often the need to build some driver (like a VMWare network driver) against the installed kernel headers. To do this you need to do a bit of work on Ubuntu before the driver will compile:

# Get to the right location and ensure your current kernel 
# headers are installed.
$ cd /usr/src$ uname -r2.6.24-19-generic

# so in my case I need the 2.6.24.-19 headers.
$ sudo aptitude install linux-source linux-headers-2.6.24-19 \
                        kernel-package libncurses5-dev

# unpack sources and link them, ensuring that /usr/src/linux
# points to the source tree.
$ sudo ln -s /usr/src/linux-source-2.6.24 linux

# create the .config in your headers directory.
$ cd linux
$ sudo cp /boot/config-2.6.24-19-generic .config

# now we can make the build of our kernel.
$ make && make modules

# after this is finished I am able to build my VMWare
# driver by pointing it to the /usr/src/linux tree.
# note that I do not install the kernel, just create the
# necessary files to build drivers.

Tuesday, September 2, 2008

Maven-Daven t-shirt poll is up

I have been asked to fill in the shoes of a departing member of our team at work as the backup administrator / troubleshooter to our Maven-Maestro-Continuum-Sonar machine. This entails supporting the development team with Maven repository problems, continuous build monitoring, and all around Linux maintenance tasks on our build box at work.

Poll background story:
As the departing member of our team was named Dave, many called him 'Maven-Daven'. I hope to achieve the same status, but my name is not really matching that nice rhythm, so I thought maybe I can earn the Maven-Daven t-shirt!

What do you think?  Am I ready for it?

Vote now on the poll, available until the end of the month, so vote now!

Wednesday, August 27, 2008

Vim hints: last file location

Using vim and want to re-enter the file at the same location you left it? Add this to your .vimrc file:

" jump to last position before save.
au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal g'\"" | endif

Vim version is 7.1.138.

Vim hints: java setup

The simple startup is to add these to your .vimrc file and run the ctags as described below to allow for indexing of your source code:

set sm
set ai

" run on command line for tags setup : 
" ctags -f ~/.tags -R workspace/.../src $JAVA_HOME/src
set tags=~/.tags
set complete=.,w,b,u,t,i

" Java stuff.
syntax on

let java_highlight_all=1
let java_highlight_functions="style"
let java_allow_cpp_keywords=1

Now you can navigate in your java source code file by placing the cursor on a classname and hitting CTRL-]. To jump back and forwards while browsing your code, use CTRL-O and CTRL-I.

You can also view your jump list by using the cmd interface, :jumps.

Vim version is 7.1.138

Monday, August 25, 2008

ABout Time Linux blog opened

The new blog for this category (ABout Time Linux project) is now at an apart location. All future posts will be made there regarding the AbT Linux project.

Tuesday, August 12, 2008

Open Source talk at the Linux World Expo in Jaarbeurs Utrecht 2008

I wanted to preview the talk I am going to be giving in the Jaarbeurs Utrecht for the Linux World Expo, 12-13 November 2008. The Expo is about Open Source and I have been invited to talk about Open Source in a business context as applied at the SNS Bank. Here is the abstract of the talk (abstract is in Dutch I am afraid).

2004 tot heden. Open Source in de praktijk bij SNS Bank
SNS Bank maakte in 2004 de overstap van een vooral closed source architectuur naar een architectuur met open source componenten. Open source architectuur biedt veel voordelen voor de website van SNS Bank, waarop in 2010 alle eenvoudige producten van SNS Bank in vijf clicks beschikbaar zijn en alle dagelijkse bankzaken volledig afgehandeld kunnen worden. Eric D. Schabell, Systeem Specialist bij SNS Bank, vertelt waarom SNS Bank heeft gekozen voor open source architectuur en hoe het werkt in de praktijk.

I do plan to make the slides in English and can give the talk in either Dutch or English based on the audience preferences. Hope to see you all there!

[Update] you can get the PDF of the presentation here.

Monday, August 11, 2008

Other uses for the PRIMA screen

Since the Prima Project completed we have started finding other uses for the big screen, like watching the opening of the 2008 Olympics Games live!

Blog hit rate in the basement

For those that are even reading this blog anymore (and you are but a few it seems), I am keeping track of how the loss of my domain name is affecting my site which has been online for over 8 years. As you can see from the graphic below, I have dropped off the face of the Internet planet:It is turning into a rather interesting experiment to see what the site content does as it migrates from a well known domain name to an obscure new one. I will report the details as Google eventually picks up the content again and the hits start to climb.

So far though, not much happening here at all and almost all my old hits are continuing to arrive in my stats tracking, but searchers are using the Google cache links. Once these are flushed I am wondering what will happen...

Tuesday, August 5, 2008

Just for some fun, what my blog is (not) worth

Back before my domain name was hijacked last week, my blog was worth some good money. So said Technocrati anyway.

Today it is (not) worth:

I will keep an eye on this and see what happens as Google starts to properly index all site content. Should be interesting.

Sunday, August 3, 2008

Macbook - Macports MySql server complete install HowTo

Some time ago I setup MySql on my macbook using macports and the comments I got about this post included some useful information to automate starting MySql on startup.

Here is the complete process to get mysql server working (mysql5 in my case):
# install server and the launch script
# needed to start it. (I like the -v option
# to see what is happening.)
$ sudo port -v install mysql5 +server

# initialize the setup as mysql user.
$ sudo -u mysql mysql_install_db5

# start mysql and set your root password.
$ sudo -u mysql /opt/local/lib/mysql5/bin/mysqld_safe &
$ sudo /opt/local/lib/mysql5/bin/mysqladmin -u root password '[new_passwd]'

Now it would be nice if this all started on bootup instead of the last command above. Here are the steps to include it in the automated launchd configuration:
# Create the launchd directory.
$ sudo mkdir -p /Library/StartupItems/LaunchDaemons

# Now create a launch plist file:
$ sudo vim /Library/StartupItems/LaunchDaemons/org.mysql.launchd.mysql.plist

# Here is the XML you need to put into the plist file:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" 
<plist version="1.0">

# Finally, need to load this into launchd or you can just
# reboot to have it picked up automatically.
$ sudo launchctl

launchd% load /System/Library/LaunchDaemons/org.mysql.launchd.mysql.plist
launchd% exit

I would also like to point to VelociPeek where Eric (another software man in the Eric club!) details more in this area.

Friday, August 1, 2008

Lost my domain name registration this week

Well, if you are seeing this post then the site DNS has finally propagated around to your corner of the world. It seems the DNS hosting I had setup decided to expire my DNS management module, so all of the settings just disappeared.

I took a closer look at the WHOIS information and it seems my auto-renewal system failed with some old credit card information. No warning from my registration company (Names Direct), just let it free.

The results were that my domain got hijacked by a pill selling spammer. A bit of research showed that the following person thought they were being rather sneaky:

67-87 Hlopina street
St. Petersburg, St. Petersburg 197729

Feel free to spam or bash the site...

I have migrated my site over to and when you can read this post it will have hit the DNS near you.

Let this be a lesson to those of you out there, auto-renewals are not worth the crappy service they implement at registration companies (I am holding back their name, even though I should dump this on the Internet). I am so disappointed to lose my original domain, registered in June 2001 - June 2008...

Monday, July 28, 2008

Arhnem and the Veluwe

Yesterday went on a bit of a ride through the hills and forests of Arnhem. 75 km, very hot and humid day so was a bit of a workout when out into the open sunny areas (called 'heide' there), but lovely and cool in the forested areas.

The fellow riders were a bit on the un-trained side so it was a rather relaxed ride (something like 25km/hr average) and we avoided the Postbank climb (bummer...), but on the last 15km to home we just let each person blow open the doors as he saw fit.

I did that last part in an average speed over 35km/hr, passed a motorized bike (he never caught back up to me either), and kept my heart rate between 180-185 the whole way with lovely rolling hills to tire me out. Nice time trial type of finish to the ride.

Thursday, July 24, 2008

BMW builds electric Mini for California

From AutoMotive News, earlier this month an announcement that the new Mini Cooper will be 'ported' to run on batteries. They will only be shipping to California and only 500, but it is a good start.
"This step will allow the BMW Group to gain an initial knowledge of how mobility can be achieved efficiently using purely electrically powered vehicles. Our task here is to combine the ultimate driving experience with an efficient electrified drive with practically no emissions", underlined Dr. Norbert Reithofer, Chairmanof the Board of Management of BMW AG.
Finally a cool car that is a bit easier on the gas budget! Wonder if I could 'port' my 1987 Austin Mini?

Saturday, July 19, 2008

Turn off revisions in Wordpress 2.6

Some of my other activities are hosted on Wordpress, so when I updated to 2.6 last week I was rather surprised with the amount of speed lost to revisions. I wanted to turn this off, so this is what I did:

# add these to your wp-config.php file.
// disabel revisions and slow down the saving!
define('WP_POST_REVISIONS', false);
define('AUTOSAVE_INTERVAL', 120);

The second line is for saving drafts, but I hate that too!

Friday, July 18, 2008

Install Subversion 1.4.6 on SLES 9

This is an example of an installation on SLES 9 x64_86 using fresh Apache 2 and Subversion 1.4.6 sources.

I choose to install all components from the newest sources and into /usr/local. First the apache apr-1.3.3, then the apr-util-1.3.4, then httpd-2.2.9, and finally subversion-1.4.6 as follows:

# obtain apr sources from apache site and unpack
$cd [path-to-sources]/apr-1.3.3

$ ./configure --prefix=/usr/local  \
--enable-threads                 \

$ make && make install

# obtain apr-util sources from apache site and unpack
$cd [path-to-sources]/apr-util-1.3.4

# for the APR-UTIL (here showing the lib64 for 64bits, 
# just use lib for 32bit):
$ ./configure --prefix=/usr/local         \
--enable-shared                         \
--with-apr=/usr/local/bin/apr-1-config  \
--with-berkeley-db=/usr/include/db4     \
--with-ldap-lib=/usr/lib64              \
--with-ldap-include=/usr/include        \

$ make && make install

Now we are ready for the apache install which will be put
into /opt/apache2:
# obtain sources from apache site and unpack

$ cd [path-to-sources]/httpd-2.2.9

# for non ldap building of apache2, see here,
# otherwise see the next configure section below.
$ ./configure --prefix=/opt/apache2   \
--enable-mods-shared=all            \

$ make && make install

# if you want to build ldap then you will need to add ldap
# flags to the configure and it will look like this:
$ ./configure --prefix=/opt/apache2   \
--enable-mods-shared=all            \
--enable-so                         \
--enable-authnz-ldap                \

$ make && make install

Finally we will build our Subversion:

# unpack somewhere
$ tar xjvf [path-to-taball]/subversion-1.4.6.tar.bz2

$ tar xjvf [path-to-taball]/subversion-deps-1.4.6.tar.bz2

$ cd [path-to-sources]/subversion-1.4.6

# Now we can build Subversion 1.4.6 and use
# the prebuilt dependencies in /usr/local.
$ ./configure --prefix=/usr/local   \

$ make && make install

# Finally you need to expand the standard library search path with
# and entry in /etc/ for /usr/local/lib and run:
$ ldconfig

Finally need to create your svn repository and ensure your dav_svn.conf is setup correctly.

Test it all with http://localhost/svnroot/[repo-name] in a browser.

Thursday, July 17, 2008

SpringIDE 2.0.6 install in Eclipse 3.3.0

Taking a look at the Spring framework so thought it might be nice to install the SpringIDE in my Eclipse. Here is roughly the steps I took:

  • From the menu: Help->Software Updates
  • Click Add remote site…
  • Enter the the Spring IDE update site URL:
  • Click OK
  • Check the box next to Sprint IDE Update Site
  • Expand Sprint IDE Update Site
  • Expand Dependencies
  • Uncheck Spring IDE Dependencies (only for Eclipse 3.2.x) not needed for 3.3.0
  • Expand Integrations
  • Uncheck Spring Mylyn Integration (optional)
  • Click Install
This is roughly the steps you need to follow and caused no dependency problems for my installation.

Wednesday, July 16, 2008

PRIMA project graduation

As most of the SNS IT development organization has seen in the last few months, the Java Domain has a new (very) large flat screen on the wall. It is part of the results of the PRIMA project which supplies management information about our running projects.

The project was completed by two interns, Lisa and Ikram, during a six month project starting in January 2008. It completed in June 208 and guess what? Lisa and Ikram, have graduated!

Not only did they receive a 9.0 for their project, they graduated on July the 8th cum laude! To top this off they have had their graduation thesis submitted for the Dutch 2008 Thesis Prize, a nation wide competition that only the very best are submitted to. Well done guys!

Lisa is starting her first job next month at DAF Trucks in Eindhoven as an Information Analyst. Ikram will be continuing his studies at the Technical University Delft, hoping to complete a Masters in the next two years (and still available for a part-time job during his studies).

Good luck to you both from all of us at the SNS Bank IT.

Monday, July 14, 2008

Macbook osX reporting USB stick full with free space

I was having this problem before and every time it takes me a bit of time to figure out that osX likes to use .Trashes directories to hold trashed files on the volume itself instead of moving them off onto the macbooks own trash folder.

It is irritating as the Finder applications does not show dot (.) files by default and I hate to mess around in a file browser. Next time you encounter this you can try this in your terminal:

$ df -h

Filesystem                Size   Used  Avail Capacity  Mounted on
/dev/disk1s1              984M   970M    14M    99%    /Volumes/USBStick

$ ls -a /Volumes/USBStick

.Trashes      <<<< need to dump this.
BPM Paper

$ rm -rf /Volumes/USBStick/.Trashes

$ df -h
Filesystem                Size   Used  Avail Capacity  Mounted on
/dev/disk1s1              984M    45M   939M     5%    /Volumes/USBStick

This will get you back your free space.

Will It Blend? - iPhone3G

This is just the best usage of an iPhone I have ever seen!

Thursday, July 10, 2008

PMS BibTexManager class on PHP Classes site answers

"Dear Eric,

 I looking for a php package to publish the list of my publications
contained in a bibtex file on a website, and to sort them according to
their type, year, .. I've found your BibtexManager package on PHP
Classes. I wish to know if it was powerfull enough to do that, and if
you had some documentation or example to use it correctly."

This is an example of the kind of questions I have been getting lately about a class (there are a few other related classes I get questions about, but this is the main one) I wrote for the Radboud University Nijmegen's Publication Management System (PMS).

I wanted to put the basic answer I keep sending out here so that future queries can be easily referred to this page, so here goes:

You might want to take a look at the PMS project, an Open Source project I setup that manages a database full of publications and bibtex data for the Radboud University Nijmegen, Netherlands. Here you will find the running PMS application using this code and other related classes.

The project code can be checked out at the CodeYard hosted PMS Project site.

The PMS application website is built with e107 CMS and the PMS code is the backend. Feel free to post questions here and I will try to help out where I can.

Tuesday, July 8, 2008

Backyard renovation project completed

The backyard renovation project (link takes you to before pictures) has been completed!

As you can see when we left on our vacation the backyard was almost finished. Just a few finishing touches were needed and the gardener took care of these before we got home.

What we encountered is pictured on the bottom right, a very nice job indeed! A week later the electrician came over to wire the lighting into a remote controlled switch in the garage. I can sit anywhere in my house and turn on the backyard lighting at the push of a button. The lighting consists of 4 LED lights in the big stepping stones and 5 spots arranged in the border plants around the yard. I spent the evening in a patio chair, drinking some rose wine, and switched my new backyard lights on and off with a big silly grin on my face...

The watering system is also built into the backyard, two sprinkler heads that pop up when water pressure is in the system. They cover the entire yard, excluding the back left corner so that we don't have to spray the back patio.

We are very happy with the results and as you can see, the kids are already playing on the slide and with their soccer ball. They have even been running through the sprinklers once already! ;-)

Wednesday, July 2, 2008

Cycling in the Belgian Ardennes by Rochefort

I just spent a lovely vacation in the Ardennes with my family and had the chance to cycle almost every two days. The weather was great, mostly around 26 degrees. I have mapped out some of the better climbs and routes I took.

I rode a total of 135 km spread over 5 rides, 52 km was the longest, and it was either climbing upwards or descending downwards. I was unable to find any flat roads at all. I spent the better part of my best rides in the 180+ heart rate range, just loving the steep hills.

See the map for details about the better climbs I found.

Sunday, June 29, 2008

Visited Bastogne memorial to Battle of the Bulge

For those of you who don't know me very well, I have a soft spot for visiting historical battle fields, monuments, and generally historical military points of interest.

While on our vacation I was able to visit Bastogne. This is the sight of one of the more famous battles of World War II in the European theater, the Battle of the Bulge. The Mardasson Memorial marks the spot and is pictured in the top left corner.

My daughter and I climbed to the top of the monument which offers an amazing view of the entire area. There are 10 pillars holding the building up on which the Bulge story unfolds as you are led around the interior.

In the middle of the monument you have the plaque you see pictured on the bottom left. The flowers were still there from the most recent memorial day.

The museum was not much to see, but the monument was worth the ride. I am always in awe when confronted with historical facts while standing on those same hallowed grounds...