Finished “Linux Kernel Development” by Robert Love

One of the great things about working at VMware is that they have a shuttle that takes me from a light rail station 10 minutes from my house to work. Aside from savings lots of money on gas, this gives me a good chunk of time to read.

I just finished reading “Linux Kernel Development” by Robert Love and I have to say that I really enjoyed it. I liked the earlier chapters a bit better than the later ones – I’m not sure if this is the subject matter or that the author got tired and less specific in the later chapters or I got tired of reading about kernel internals. Maybe it’s just me but it seemed that chapters 1 through 11 were more lucid than chapters 12 through 20.

In any case, I found the book to be excellent and remarkably clear for a detailed topic such as the Linux kernel.

Here’s the table of contents, in case you’re interested in what it covers:


Foreword, by Andrew Morton
Preface
Chapter 01: Introduction to the Linux Kernel
Chapter 02: Getting Started with the Kernel
Chapter 03: Process Management
Chapter 04: Process Scheduling
Chapter 05: System Calls
Chapter 06: Interrupts and Interrupt Handlers
Chapter 07: Bottom Halves and Deferring Work
Chapter 08: Kernel Synchronization Introduction
Chapter 09: Kernel Synchronization Methods
Chapter 10: Timers and Time Management
Chapter 11: Memory Management
Chapter 12: The Virtual Filesystem
Chapter 13: The Block I/O Layer
Chapter 14: The Process Address Space
Chapter 15: The Page Cache and Page Writeback
Chapter 16: Modules
Chapter 17: kobjects and sysfs
Chapter 18: Debugging
Chapter 19: Portability
Chapter 20: Patches, Hacking, and the Community
Appendix A: Linked Lists
Appendix B: Kernel Random Number Generator
Appendix C: Algorithmic Complexity
Bibliography
Index

A work in progress, I’m jotting down some notes (little more than a lightly-annotated table of contents) about the book to help me jog my memory later.

I’m now looking forward to Robert’s new  soon-to-be-released book: Linux System Programming: Talking Directly to the Kernel and C Library

Book cover

Mounting an .iso file in Windows

As a frequent Linux user, I take for granted that I can take a .iso file and mount it and poke around in the contents. The so-called loopback mount, despite its confusing name, is nonetheless incredibly useful and available “out of the box” with any decent Linux distro.

OS X can even more easily peek inside .iso files (and other kinds of disk images) using Apple’s Disk Utility, bundled with the operating system (or command-line afficionados can use a command called hdid).

Windows, surprisingly has no way to do this out of the box, though there are various programs that claim to do it.

I had luck using a freeware program called Virtual Clone Drive, which I discovered at this page.

Simple, effective, and free.

Virtual Clone Drive

Fixing the position of the toolbar in IE 7

I don’t know about you, but I prefer the look of IE 6 over IE 7. The IE 7 toolbar icons look more toyish to me, but what really annoys me is the new toolbar position, above the menu bar. Maybe I’m being anal (I’d say purist), but I like my menu bars on top of my toolbars.

Surprisingly, you can’t drag the toolbar around and there’s no obvious setting in the UI to change the behavior.

But I did stumble upon a registry setting that puts the toolbar in a more agreeable position.

Download this sucker and double-click it to merge it with your registry and then restart IE:

IE7BarPosition.reg

Speeding ticket

Well, I got a speeding ticket this morning on a road right near my house.

Anyone have a traffic school recommendation? Preferably online, or involving comedy, movies, music, or puppets.