Adding a system call to the Linux Kernel

So, despite ostensibly being a ‘systems’ guy, I haven’t spent too much time in my life getting hands on with the Linux kernel. I’ve written tiny toy operating-system-like projects before, but haven’t done much open-heart surgery on real life code.

I think this should change, so in my very limited spare time I’m doing some very simple projects to teach me more about the Linux kernel code layout so that if it should so happen in a job interview that someone asks me if I’m comfortable hacking at the kernel level I can answer `yes’ with far more conviction (I would probably answer positively anyhow, because I’m arrogant enough to think that it’s not beyond me, but there’s a lot of metaphorical difference between having the book on your shelf and having read it 🙂 ).
Continue reading

StackOverflow

What do you know, StackOverflow has its useful moments.

The question in, er, question relates to an issue I had been having myself with the behaviour of lexical scoping in Python, but had been able to work around sufficiently easily to not devote time to finding a proper solution. This in itself is an unfortunate truth of work; there isn’t enough time to investigate every interesting problem thoroughly. StackOverflow might just turn out to help with that niche: I presume that over time it’s going to evolve into a Not-So-Frequently-Asked-But-Still-Interesting-Questions repository. I’ve put some effort myself into answering some questions about basic computer science and distributed systems. The reputation farming I can do without, the badges are quite a neat feature – they encourage participation passively. The problem is that there really is a blind-leading-the-blind feel to some question answers, especially in the areas of data structures and the ever popular and yet heavily abused ‘big-O’ notation. If people speak authoritatively enough then they will be taken as authoritative, garner reputation points which serve as a feedback loop, amplifying their authority on future occasions. Unfortunately, there seem to be more people willing to upvote correct sounding answers than those who know whether an answer is actually correct. Time will tell if that is a general truth or just an early adoption issue. I suspect, alas, that it might be the latter.

Pain and suffering and ffmpeg

All I wanted to do was to transcode real media files from MIT OCW to iPod compatible mp4 on Linux. It shouldn’t have been this difficult. As of now, I still don’t have a satisfactory solution.

Problem 1: mplayer / mencoder read and play the stream correctly, but the mp4 files they produce when transcoding don’t work on the iPod. In particular, they’re not readable by any utilities I have such as Easytag and Amarok.

Problem 2: ffmpeg can’t read rv30 files, so won’t encode them. One possibility is to use mencoder to encode to something mutually acceptable, but that involves transcoding twice which is far below ideal.

As of now, I’ve found some of the videos I want to watch on Google Video, but that’s not a guaranteed solution. Uploading them to Google Video just to download them again is also a non-starter.

Anyone have any ideas?

The Real GoogleOS?

So Google have announced Chrome, their entrant into the web browser circus. They are presenting Chrome as a complete reboot of the browser, which of course it isn’t. It is interesting, however, to speculate wildly about Google’s intentions. We shouldn’t, of course, discount their stated intent of ‘adding value for users’; a lot of features of Chrome are focused upon improving today’s browsing experience. See, for example, pop-ups that are modal only in their own tab, which is something I have been wishing for for ages. However, looking at the big picture, even from a viewpoint far removed, is good for a laugh sometimes.

Read on for some rampant speculation.

Continue reading