Sunday, November 18, 2007

Testing the Gibbon

For one of my college projects, I needed to test the performance of a network protocol named SCTP. To do that, I set up three different Linux machines. One to host the server, the second one to host a client and the last one to emulate the Internet. In my previous work I became familiar with Ubuntu, and seeing that it is so newbie-friendly, I continued to use it. So I installed Ubuntu in the project's machines. First it was Edgy, and then Feisty -yes, I have been working in this college project from two years ago-.

So far it was working perfectly, but there were issues in some of my last tests. Someone advised me that maybe the Internet simulator (using NetEm) needed 1000hz interrupts enabled in the kernel. And that the kernel 2.6.22 supported that. As Ubuntu 7.10 came with that kernel, I decided to upgrade the machines to this latest distro.

My main machine has a nice graphics card, so I installed its restricted drivers, and then Ubuntu enabled Compiz-Fusion. And oh boy it looks good! Loving the dock and Exposé of the Mac computer I use for my thesis, I installed a dock and configured Compiz to show windows like Exposé. Also a enabled the cube desktop (and set four viewports) and made it a bit transparent, to see all viewports at the same time. I spent several hours playing with all available options, until I reached a configuration that I liked.. and it's so beautiful! As I mentioned in another post, I am very happy with my customized XP box, but maybe Linux will become my main OS in the near future. Keep the good work!

Saturday, November 10, 2007

Transactional Collections

In my previous job, I was a Java developer and I was in a team that was building a Content Management System. Although there was a lot of exciting modules to work with, the ones I liked the most where a transactional map and a transactional file system.

The former was mostly used as a Cache system, where the transactional map was backed by a LRU map. We analyzed some of the Transactional Caches available in the moment, like JBossCache, but they were too much for what we needed, and in some cases they were buggy. In my opinion, once we finished it, it was an excellent map, better than the one offered by the Commons Transactions at that time. As a matter of fact, several times I thought joining the CT project to contribute by building different kind of transactional collections, like a set, sorted set, sorted map, a list, etc.

I thought about building a transactional sorted set or a list, and they seem more difficult as not only you have to keep the ACID properties for those objects added to the collection, but also keep their positions, and try to minimize the overhead.

Commons Transactions also offer a file system, but it doesn’t seem to comply with a XA interface - XAResource -. In my job both the map and the file system were managed by a JTA as they worked in conjunction with a database. Luckily, as the transactional map is a memory only collection, it isn’t necessary to keep a log and do some kind of recovery disaster in the case of a crash.

I wonder the status of transactional collections in other languages, like C++ or Smalltalk…

Friday, November 9, 2007


A few weeks ago, I started a Go entry course. I don't plan to become a Go player with a "Dan" level, just to know the basics and be able to defend myself. But today, while I was searching for a good Go computer program, I came across a game named Arimaa.

What I found interesting about this new game is that was made with the purpose of being difficult to build a competent computer A.I. for it. In its Wikipedia entry, they talk about Game Theory, Brute force search depth, and such. It is compared with chess as they both share a similar board.

They offer a prize for the one who can build a computer program capable of defeating human players, and without the need of a Deep Blue supercomputer. Seems like an interesting challenge.

On the other hand, it is also hard to build good Go programs, but at least there exist some of them. And I really like the ones made for cell phones as I can practice while I'm travelling.

Sunday, November 4, 2007


If I had to work in an OS, I'd choose to work in filesystems and I/O. I think there so much to improve in that department. I hate when there's a lot of I/O trashing and page swapping in Windows.

Sometimes I look for new stuff like the ZFS, or new methods of journalling and those dancing trees. They seem interesting. I SHOULD become part of some open source project involved with filesystems... but right now I don't have much free time to do that.

I'm looking forward to those new solid state disks (or at least hybrid disks). I wonder if there will be a new file system to use their advantages? Seems that the Wikipedia article about file systems has some info about this, and a link to Log-structured file system

I'll try to research about the new Transactional NTFS and see if it has some worth that isn't available in Linux.

Saturday, November 3, 2007

My Leopard non-news

Right now, where I'm doing my thesis research, I'm using a Mac to work. My professor is used to one, and as he gave me my computer, I learnt to use one to.

The Tiger was easy to learn, though a bit awkward at first, having the min/max/close buttons at the window's top left corner. And then knowing that applications have their files bundled together and installed into an applications folder, and discovering a good object dock and that marvellous thing called Exposé.

Some day later I read a way to install the x86 version of Tiger on a regular PC, and so it did. It worked like a charm (my PC had a Geforce video card and an Atlhon 64 with SSE3), and I played with it for a while. Then I got bored and deleted it deciding that if I should part from Windows some day, I'd go to Linux instead.

As a few days ago Leopard was released, I downloaded it (ehem) just to have a look at it and its new features. But I just got lazy, asking myself, why spend a lot of time reinstalling Tiger and then upgrading to Leopard (following several boring commands) when I will surely delete it some time afterwards? So I decided not to install it and have a look at Gutsy Gibbon instead when I can find some time.

And about those similarities between Mac OS X and Vista... well, I think it's ok to copy a feature from another OS if it's a good and useful one.