<< Previous | Home

Busy, busy, busy

It's been a bit quite here on my blog lately. I've been just too busy with work and family to write about interesting things. So I'm now trying to catch up and tell what has been going on.

We moved to a house in the mountains and are learning every day a few new things. Living in a house instead of an apartment is quite different and has a few challenges. You simply have to take care of things yourself or hire someone. In an apartment building you can call the building administration and they will take of it.

Living outside Panama City, which is not very different from other big cities in the world, is different in multiple ways. It's not like living in a small town in Europe. You can't walk to the neighborhood grocery store. From where we are it takes a 30 minutes drive down the hill to the beach community of Coronado to find a real supermarket. That one there is El Rey. We've shopping in another branch of the same chain while living in the city. El Rey in Coronado still is different. As Coronado fills up on weekends and empties out for the week El Rey there carries mostly party food and beverages. While they have a good asortment of vegetables and other fresh produce in the city, they don't have that in Coronado. Which is quite astonishing, because a lot of fresh produce grows not far away from where we are. So we've started to figure out from who we can buy it directly. No real results as of yet - too busy with other things ... but at least we've found some little sweet peppers growing wild in the backyard. So that's a nice surprise.

In my work many things happened. Not only did we finish our own product Caimito One Team. We've got a new client as well and that project has grown and allowed me to use a number of interesting technologies in short time.

For that project I created a piece that allows different components to communicate with eachother using Apache ActiveMQ and Camel. Camel is an implementation of Enterprise Integration Patterns and quite an interesting piece of software technology.

Later on we discovered that our demands cannot be met using Hibernate. It is an application that processes a very huge number of documents and maxes out a lot of expensive hardware. I tried to optimize and cache as best possible, but as we have a lot of writes to the database I ended up implementing batching with pure JDBC. While doing so I drew a number of conclusions about that whole ORM topic. Another post ...

In the beginning we used the Spring Framework as IoC container and to interface with other technologies such as Hibernate. Seemed a good choice given the fact that Camel is built using Spring as well. As we moved away from JMS and Camel to a more simplistic approach due to performance reasons we abandoned Spring Framework as well. I did not miss IoC so I opted to use Tapestry IoC. Tapestry IoC is a very lightweight IoC container and very fast to wire up the application. It's being used inside the web framework Tapestry 5. There is nothing preventing one from using it in standalone applications and so far I'm not disappointed by its abilities.

Although I'm not the expert on the team for search technologies the project so far allowed me to learn something about Apache Solr, which is a search server implemented on top of Apache Lucene. In my spare time I was able to play a bit with Solr and tried bit around the "this document is related to" feature. This is similar to what you see on Google when it says "did you mean". I've got some ideas for future development tools as extension to Caimito One Team - but of course I have to think more that. When time comes, I'll tell more about it here.

Hopefully there is time to share a few of the experiences made with the technologies I just mentioned in future posts.

Authentication for Apache httpd against Unix accounts

This morning I spent a little time to configure a new installation of Apache httpd to use authentication against Unix accounts. Why create a separate account database, if the users who should access content via httpd are the same that access the host via ssh? It seemed logical to use the same account database for both and that database is the shadow password system made accessible through PAM.

So I looked for the right module to use. There are two libapache2-mod-authnz-external and libapache2-mod-auth-pam. Apparently the latter is no longer under development.

With the help of this very good writeup by Jonathan Weiss I had the authentication against shadow passwords working quickly.

Just as Jonathan I don't quite understand why the ability to authenticate against shadow password requires one to compile code and dissolve conflicts amongst modules manually. Is the wish to authenticate against shadow passwords so rare? Probably it is, as you don't want to do that for a publicly available server out on the Internet where the web users are not the same as the system users. For internal purposes it is quite handy though. The server for which I needed this will become a build server for a small development team.

MacBook Pro battery inflated by heat

Now it hit me as well. My MacBook Pro has been charging for a while when the sun came out. The heat from the sun together with charging the battery was too much:

Heat inflated this MacBook Pro battery

The MacBook Pro still works perfectly fine. Just it can't lay flat anymore. Time to get a replacement now ...

Left the city behind and went 4x4

After seeing enough of this fantastic view out of our city apartment (left picture) we decided to move to a nicer place. Less noise, no pollution, no traffic jams - only the sounds of birds, grasshoppers and other animals. So now I have the view in the right picture. Panama, as all the other countries in Central America, is a mountainous place. It's always up and down once you leave the beach areas and the Interamerican Highway running East to West through the Istmus.

November rain in Panama City New office view

The city is not bad per se. On a sunny day there are many nice places where you can sit, have a drink and enjoy people watching. But it's always some kind of commercial activity you are taking part in. Those places are businesses and you are a paying customer. Nature doesn't charge you for enjoying the view and fresh air.

It took me almost two months to get the proper vehicle for explorations of our new surroundings shipped from the US to Panama and out of customs. Shipping was fast. A week after the purchase it was on the ship sailing across the Carribean Sea to Panama. Then a long ordeal began and when I have some extra time and someone buys me a good beer I'm going to tell the story. It's long and winded and one more time proves that electronics (TV, stereos, computers) and cars receive a special treatment at customs. Seems these things are high profile merchandise.

But anyway ... I got it out of customs before the holidays, we could relocate and I even had some time to explore our immediate surroundings off the regular roads.

Tags :

Trying out the Flock browser

Let's see whether I am now able to post a blog post via the Flock browser's built-in blog editor.

Pair Programming with Caimito One Team

Recently we added a nice little feature to our product Caimito One Team to help teams that use pair programming. Caimito One Team is an Agile Collaboration and Management Tool which we recently launched.
Tags :