My favorite monad tutorial

Been reading up a bit lately on Haskell and observing that there are a ton of monad tutorials out there. I’ve looked at a few and I have to say that my current favorite is:

A Neighborhood of Infinity: You Could Have Invented Monads! 

mostly I think because it’s interactive and guides you to discover the concept instead of spoon-feeding it to you. I recommend firing up GHC and trying the exercises he gives you.

Fixing an unbootable VMware VM after upgrading your Linux kernel

It seem that some of the newer Linux kernel versions (2.6.21 and 2.6.22) don’t like the LSI SCSI adapter emulation in some of VMware’s products. I myself ran into this when I upgraded the kernel on a Gentoo VM (VMware ESX Server 3.0.1) to 2.6.22. After rebooting, the system could not find the root partition.

It took a bit of searching to figure out what the problem was, but the solution was simple. Change the VM to use the BusLogic SCSI adapter instead of the LSI.

Some references:


Even though I’ve been using Emacs for years, I still have trouble
remembering a lot of the key combinations for commands that I
don’t use all the time (e.g.: killing and yanking rectangles,
bookmarks, etc.). I think Lotus 123 for DOS had a remarkably cool
user interface in that the menus let you explore around and find
things if you were a newbie, but once you knew the key sequences,
you could become very fast with it. This is my attempt at doing
something like the Lotus 123 menu system for Emacs.


The above elisp defines only the primitives for creating menus and not the menus themselves. The nice thing about this is that the user is free to define whatever menus and keybindings are most convenient for them.

Here’s an example of how I use it in my .emacs:

If you use this, let me know what you think and if you have any suggestions for improvements.