Monday, December 31, 2007

Ruby include path

This has been bothering me for some time, wanting to include paths that will be searched when I want to 'require' or 'load' some class in my project. It is not very nice to have to use a -I flag, but there are other ways.

Use of the $: global variable:
  • $:.push("/whatever")
Or the $LOAD_PATH variable:
  • $LOAD_PATH.unshift '/whatever'

IRC fun!

Year in review 2007!

As 2007 is almost over, I look back and see not only exciting family events, but a new job, an excellent year of cycling, and a very productive year in my open source projects.

The year started with my sister visiting our newly born son (Dec 2007). She dropped in with her son and they spent a lovely week here playing and visiting. I also got my first Daddy Prize this year and even a repeat!

I continued to teach freelance for IBM Netherlands Learning Services. This time for and external customer in Rijswijk, the European Patent Office. Another amazing event was that my site was Dugg, someone found my online Linux courseware and the server was severely challenged. I moved over to Blogger after that to evade. One think that came out of it all was that I took some time to update the courseware and provide distance learning solutions to all my courses.

AbTLinux project progressed well this year, I got the package manager to install its first package and much more. Another project, the Baby Game was re-released and used by three different families to run their own baby games (results: a girl and two boys). I decided to stop my work on eGroupware and the Publication Management System, just focusing on AbTLinux. I continued to post Linux and Macbook solutions on this blog (over 55), see Software category.

In April I started the application for Dutch citizenship, finally getting my first Dutch passport this year! Just in time too, as the Queen stopped in at my work to open our new building.

Cycling this year included my last trips to Nijmegen as I started a new job at the SNS Bank in s-Hertogenbosch. I also cycled in the Veluwe, Normandy (Pointe du Hoc, Utah, Omaha, Port Bassin), and Limburg. I booked over 3000 km's and the best part is that I did not fall down once! ;-)

We closed out the year by purchasing a new house and selling our current house. This brings many new plans for the beginning of 2008 when we have to paint, modify, and then move into our new home.

Wishing you all the very best for the New Year and a happy and healthy 2008!

Sunday, December 30, 2007

Mac security update causing cups failure: Symbol not found: _cupsFileRead

Today I wanted to print over my home network using the cups system on my macbook, but BOOM, got this message when starting cupsd:

Link (dyld) error:

Symbol not found: _cupsFileRead
Referenced from: /usr/sbin/cupsd
Expected in: /usr/lib/libcups.2.dylib

Seems the last security updates have borked out all pre-cups v1.3.5 printing systems. When looking at the cups download site you also find the following note from Apple:

"We are no longer providing binaries for Mac OS X since CUPS 1.3.x is not fully compatible with Mac OS X 10.4.x. You can compile and install CUPS 1.3.x from source, however most of the GUI administration tools provided in Mac OS X will no longer work."

It was a source tarball download of v1.3.5 and configure, make, make install for me to get the cups server to run again. A few gotcha's I ran into:
  • it seems printers configured with the standard preferences tools on the macbook don't work over cups.
  • using the localhost:631 administrative interface to adjust your configuration changes the permission (group set to lp instead of wheel) on the entire tree /private/etc/cups/*
Another posting of this issue can be found here on the Apple Support Forum which describes installing the cups v1.2.12 also solves this issue and allows you to work with the preferences tooling to install printers again. I did not try this one yet as I am comfortable setting up printers by hand or with the cups admin web page (not forgetting to adjust the permissions on your /private/etc/cups).

Macports update

How to upgrade / update your macports software (both packages, repo, and installed software:

$sudo port selfupdate
$sudo port -d sync
$sudo portindex
$sudo port upgrade installed

Thursday, December 27, 2007

AbTLinux - more coding progress on the package manager

It has been awhile since I last posted on this subject, so thought it might be time to provide some news on the various updates to the code base.

My new job has settled down a bit so that I have been able to make some time for coding on AbTLinux. This has led to the completion of features and reduced our unit test failure count from 18 down to 12. Here is a summary of the updates:
  • refactored reinstalling a package to allow for fully automated runs
  • implemented show-frozen
  • implemented freeze
  • added /etc/abt configuration directories setup
  • refactored update package and package tree implementation
  • implemented retrieve package tree (part of package-repo add)
  • refactored some logging to make use of ruby Logger
  • implemented verify-integrity
  • fixes to the pruge-src function
  • implemented show-files
I have also split out the general software posting I was doing on AbTLinux into it's own category. This is due to the fact that I might be losing my current Trac and website hosting in 2008. I am not sure, but want to have someplace to document the projects coding progress until I am able to sort out a new site location.

Sunday, December 16, 2007

JBOSS jBPM team lead

It has been quiet here on all things software related since my new commercial job started at the end of the summer. I must admit, it has taken me by storm and I did not realize how much fun a commercial software job could be!

I started out as a bit of a software engineer and have quickly migrated into the team lead on an interesting piece of Java software,jBPM. This component provides (as stated on the projects site):

"Create business processes that coordinate people, applications, and services. Designed for SMB and large enterprise applications alike, JBoss jBPM brings process automation to a much wider set of business problems, from embedded workflow to enterprise business process orchestration and BPM."

This has put me into an interesting position in a rather short period of time, one that gives me the chance to direct how this component will be applied in our future software projects. We are currently setting up a reference project so that we have a valid and well researched application that includes not only the coded solution (jBPM flow, node handler code and web services), but also a proper testing framework and a complete set of documentation (Software Architecture Document with Use Cases and Use Case realizations).

I am very excited by this as it shows a desire from within our organization to learn from the past experiences, invest the time to improve the process, and apply what we have learned directly into the coming projects. jBPM will remain a core component for our organization and I will be posting more on my vision and experience with this tool. Subjects like where should business logic be placed within our work flows and integrating jBPM into web services themselves are topics that are coming in the near future.

Should you have a desire for more information or have experiences you might want to share, feel free to contact me.