Archive for November, 2007

Departing Thailand

November 09th, 2007 | Category: travel

I’m back in Thailand or more accurately back departing Thailand. This is my last flight. In a few hours I will wake up (or stay up all night, not sure yet) and leave Thailand again. Thailand is a great place with great people and I always enjoy myself when I’m in the country. Its a shame to leave in some respects though in others I will be happy to be home.

No comments

Hotel 81, Bugis, Singapore

November 05th, 2007 | Category: hotels

Hotel 81 is perhaps almost my perfect style of accommodation. Its simple, I’m not sure if it rates any stars and it definitely doesn’t have features and limited services (the check in area is the size of the bathroom I have in my Sunworld Dynasty room at the moment) however its ISO9001:2000 accredited, which I’m sure means something but I doubt it has any impact. I’ve used it once and it was nice and cheap, I needed somewhere to stay in Singapore overnight to grab some stuff and all I was using my room for was sleeping and showering so that was it. Of course for this price there are downsides, such as the fact the room I was in didn’t actually have a window (its like a basement room) and nor does it have internet. That said its location meant that acquiring internet wasn’t that bad (wireless access point at the Starbucks up the road did the job at a comparable rate to most 4/5 star hotels) and for what I’m doing, I don’t need any of those features. So if you’re really only after somewhere to sleep and clean the place is fine, albeit small. Technology wise its walking distance from Sim Lim Square and has a nice enough general shopping location as well as being close enough to transportation.

No comments

Building Simple Interfaces

November 03rd, 2007 | Category: filesystem,mdfs,research

I’m presently over in Taiwan presenting at ICOS, and one of the things I’m looking at is one of Joomla!’s 2007 Summer of Code student’s final project. Its an email interface for publishing into Joomla!, and it raises what I find is the interesting concept: building a simple interface into a more complicated thing and allowing that simple interface to provide the basis of a more advanced system.


When I consider this more and more I look at the ability for systems to build up more advanced using simpler tools. It is actually the basis of the UNIX philosophy, lots of small tools doing their own thing really well and then tying them all together to build a more advanced product, perhaps a GUI interface or something that automates things.


When you step back and think about it, the internet is based on a similar concept. If you look at a really common protocol like HTTP or SMTP you can easily write and send valid protocol responses without too much effort by hand. And then you look at what is built on top of that, we have products like Mozilla Firefox which provide a nice GUI interface into the system and allow the user to graphically browse the web and saves them from having to see the raw HTTP that is being transmitted with each and every request.


So how does this relate to my part of the world? Well at present I’m writing a metadata file system (the sort of thing you do in your spare time…no really!) and part of its interface is utilising the file system to provide the system interface instead of writing a full API to manipulate the metadata part of the filesystem. What I’m using is a combination of the POSIX listxattr, getxattr, setxattr and other related functions. The benefit of this will mean that the system will work in locations where this is supported and will appear as a ‘natural’ part of the filesystem. This means that applications can start to take advantage of the extended attributes within the file system without having to worry about compatibility from one file system to the next (you can enable extended attributes on ext3 though they’re not structured like they are with the MDFS project). 

So starting off simple and making a flexible interface allows for the system to deploy more advanced systems at a later point without compromising on short term functionality. The development and debugging of a GUI application is harder than testing concrete scriptable interfaces such as checking that completing certain operations behaves the same way in two different circumstances, however it is easy to move from the simple interface into building the more advanced one.

No comments