When Bram Cohen became famous for bittorrent, I immediately started following his web presence. You see, back around 1994 or 1995, I joined the UB Juggling Club (yeah, I know I’m a dork, but juggling is fun) and Bram soon joined as well. He was obviously brilliant, as he quickly picked up on all the juggling terminology and would have these interesting conversations with me about these intricate juggling patterns. It blew my mind.

Yesterday, Bram wrote that he wants a process list for web browser activity:

“Could somebody please implement metrics on how much CPU each tab/window is using…”

Bram Cohen

[2008-05-13 12:09 May.Tue]

I responded with news about Mozilla’s effort on that front, as evidenced by the Firefox 3 addon PluginWatcher. Its a good start.

I’ve often heard people refer to surfing as if it was the greatest activity in the world. I won’t object to that, nor could I as I’ve never gone surfing. Of the dozens of times this idea has come up, I’ve never heard anyone describe why surfing is so wonderful. Until now:

“For me personally, words cannot describe the euphoria that surfing provides as a human. Words cannot describe the absolutely magical and romantic feeling of riding a wave, going up and down on the surface of the water and feeling, just an unlimited power under your feet and to be in harmony with the ocean; perhaps riding along and seeing a dolphin in the face of the wave next to you, or a beautiful rainbow as the spray of the wind is offshore pluming over the back of the wave. It’s just the most beautiful, romantic, organic thing I think a human can do”.

That was Jonathan Paskowitz, speaking to Terry Gross during an interview on the Fresh Air podcast for 2008-05-08. There’s more here.

Sometimes I find it very useful to toggle the cursorline and cursorcolumn settings in the Vim text editor. If you’re unfamiliar with these settings, I’ll briefly explain. When you set cursorline, as you move the cursor from line to line, Vim will highlight whichever line you are on. Similarly, cursorcolumn will keep the column highlighted. I find this one particularly useful when trying to keep code (or text) lined up. To make it simple to switch toggle settings, I created some mappings in my .vimrc:

 map <silent> <Leader>cl      :set                  cursorline! <CR>
imap <silent> <Leader>cl <Esc>:set                  cursorline! <CR>a
 map <silent> <Leader>cc      :set   cursorcolumn!              <CR>
imap <silent> <Leader>cc <Esc>:set   cursorcolumn!              <CR>a
 map <silent> <Leader>ct      :set   cursorcolumn!  cursorline! <CR>
imap <silent> <Leader>ct <Esc>:set   cursorcolumn!  cursorline! <CR>a
 map <silent> <Leader>co      :set   cursorcolumn   cursorline  <CR>
imap <silent> <Leader>co <Esc>:set   cursorcolumn   cursorline  <CR>a
 map <silent> <Leader>cn      :set nocursorcolumn nocursorline  <CR>
imap <silent> <Leader>cn <Esc>:set nocursorcolumn nocursorline  <CR>a

Now if I want to turn on the cursorcolumn, I can just press \cc and when I want to turn it back off, just hit \cc again.

FYI, some details explained:

  • map – makes the key mapping work in normal mode, while “imap” makes it work in insert mode.
  • <silent> – tells vim not to echo to the statusline what its doing during the execution of the mapping.
  • <Leader> – tells vim to use my personal mapleader key to activate key mappings. I use the default key, which is the backslash (“\”), so when I want to activate one of these mappings, I press backslash, then ‘c’, then one of ‘l’, ‘c’, ‘t’, ‘o’, or ‘n’.
  • ! – an exclamation point at the end of a setting variable tells Vim to toggle the value. In otherwords, if it’s currently off, switch it on; if it’s currently on, switch it off.