<July 2020>
Su Mo Tu We Th Fr Sa

Chris's Random Ramblings

Thu, 28 Sep 2006 - Renting Books

I've found that most programming/technical books I get have a pretty short shelf life (ie you read them once and refer to them a few times and then they sit on the bookshelf getting dusty). Its also pretty hard to get hold of them in Canberra and since quite a few of them out there seem to be quite dodgy I don't like to order them without being able to have a look at them first. tpot blogged about O'Reilly's Safari a while back and I thought I'd give it a go.

Safari provides you with a virtual bookshelf, the number of books that fit depending on how much you pay per month. You can swap books on and off your bookshelf, but each book must remain on your bookshelf for at least 30 days. By default you can only read the book whilst connected to the internet (html), but some of the plans also allow you download a certain number of chapters as PDF files per month. Extra chapters can be downloaded at about US$2 each.

So far my experience of it has been pretty good. You do need a pretty fast connection to the internet. But I'm reading books such as those on HDTV or developing on SymbianOS that I normally wouldn't buy. And I've found its useful in cases where I'm only interested in reading a chapter or two out of a book. I'm planning on downloading PDF versions of those books which I keep for reference purposes.

Mon, 05 Sep 2005 - Memory Fragmentation

Whilst in the US I spent a couple of weeks working with the teams in Toronto and Watson who work on K42. It was a great opportunity to discuss some new ideas and clarify the existing ones about where we're headed with research into memory fragmentation. The hypothesis we came up with is that we should be managing memory in larger, variable sized chunks than the current more common 4k (or with large pages up to 16k-64k) pages.

The idea is that the main advantages would be cache friendlier memory management data structures, a natural reduction in fragmentation of memory and added flexibility to be able to utilise hardware large page support. I've written up a summary if the ideas and shorter term plans for research on the K42 wiki.

Sat, 18 Jun 2005 - Interesting papers

I've been enjoying reading quite a few papers on operating systems lately, mostly related to the research in memory management I've been working on for K42. One of the more interesting ones I've read is titled Debugging Operating Systems with Time-Traveling Virtual Machines. It describes changes to the linux kernel and gdb which allow a programmer using the debugger to step backwards to an arbitary point in execution. Its primarily to be used for debugging of the operating system, but is also apparently applicable to user-space programs as well.

Wed, 02 Mar 2005 - Life in a cubicle farm

Steven writes about office space for programmers and notes that he and many others like individual offices rather than cubicles. At my first fulltime job, for the most of the time I had an office to myself, and occasionally sharing with one other person. Until then I would have said I definitely preferred to work alone in an office.

When I moved to Linuxcare we had one large cubicle farm (though there were less than 20 employees). Now I actually prefer working in a cubicle, with lowish walls. I think that the open layout really helps with communication between developers. It makes it very easy to ask or answer quick questions. You are more aware of what other people are working on and as a result are more likely to know who or what to ask when you are trying to solve a problem.

Noise can be an issue, and I think its important to have a few rooms set aside where people can concentrate in silence if they need it. Also important is a separate area where groups can have longer discussions away from everyone else. Mikal says there is no way in cubicle-land to mark yourself as busy. But wearing headphones works fairly well - the louder the music the more you want to be left alone :-) Music is also a good way to block out conversations if they get too annoying.

In my current group of coworkers (about 15 people in the group), I think that the open cubicle design works much better than if we were all in separate offices. I do agree with the observation that you need a lot of power and network ports. I have about 5 network and power ports and I still run out of room.

Mon, 29 Nov 2004 - Speed debugging

After mysteriously slightly toasting my 270, I've been using a G5 to test the K42 enhancements I've been working on. On this machine once a kernel is stopped to attach debugger, the fan control software is no longer active, and the fans begin to speed up. Before not too long, the fans are going so fast it sounds like the machine is about to take off. So the result is that I have about 2-3 minutes to use the debugger before fellow cubicle workmates start making comments. Kind of adds a little excitement to the standard "stare at the code and tweak the debugger routine".

The machine actually sits in Jeremy's cubicle, so I expect he'll be rather happy when we get a computer controlled power strip and can move the G5 into the machine room.

Fri, 19 Nov 2004 - Building LSB Compliant Applications Want to know how to build LSB compliant applications? Go buy a copy of this book. It was written by the developers of the Linux Standard Base.
Mon, 18 Oct 2004 - New look

I haven't been keeping up with web design techniques for the last few years, so I spent Sunday night learning CSS. Hopefully my web pages look a little less last-century now.

Tue, 05 Oct 2004 - More junk Tridge's junkcode area contains more useful code than most people's non junk collections. The website itself is run on one of the programs, tserver. Its a tiny webserver which supports server side scripting - in bash! A recent addition, which Tridge showed me today, is talloc, a hierarchical memory allocator library.

talloc allows you to create hierarchies of memory allocation, and then when freeing a parent, having all the child nodes also freed automatically. It also allows you to attach arbitrary destructors to nodes which are run when the memory is freed. One example of using a destructor is to close file descriptors. These features allow you to remove a lot of complicated or cluttering error paths from your program without leaking resources. It brings to C some features of C++. Appealing to those who have a strong dislike of programming in C++. Next on the list may even be exception handling.

Thu, 30 Sep 2004 - T-shirts and Suits Paul Graham recently put up another interesting essay about what the internet bubble got right. In the section on informality I thought he described the situation very well:
A company that made programmers wear suits would have something deeply wrong with it.

And what would be wrong would be that how one presented oneself counted more than the quality of one's ideas. That's the problem with formality. Dressing up is not so much bad in itself. The problem is the receptor it binds to: dressing up is inevitably a substitute for good ideas. It is no coincidence that technically inept business types are known as "suits."

Over the years, I've asked a few people outside the computing industry what they think about having to dress up to go to work. One reason which comes up often is that they don't believe other people will take them as seriously if they don't wear formal clothing. Although I think this is unfortunate, I can understand the feeling. It is disappointing to experience significant differences in levels of customer support in retail shops depending on whether you're dressed casually (but neatly), or in a suit. Even when shopping in places you would at first think it would be irrelevant. Interestingly this doesn't seem to happen nearly so much in the US (west coast at least) as compared to Australia. Perhaps it is because there are many more wealthy people who dress casually, and the shops can not afford to be so snobby.

I don't think the situation in the general workplace will change until more people decide that what you wear is not relevant and decide to dress how they want to (casual or formal), rather than in what they believe will impress other people. It'll probably cause problems for those who attempt to start the trend, but in the end I think it would lead to a better situation. One where we value people on their ideas and what they produce, rather than what they are wearing. I'm lucky enough to work in an industry where this convention has already been established.

Mon, 20 Sep 2004 - Firefox fun Between a slight cold, hayfever (at least its getting warmer!) and having a little too much fun at Mikey and Jo's engagement party on Saturday night, it wasn't a particularly productive day at work. But Anton did manage to get a few of us rather addicted to trying out new Firefox extensions. So I now have about 10 extensions installed, turning my lightweight browser into something quite heavy again. I'm sure they will all greatly increase my productivity.