Growing up in the rural small town of Waverly, NY, my siblings and I spent a lot of time at the creek. The creek I’m referring to is Ellis Creek. One summer, somewhere between 1986-1988, we were shocked to see the creek full of these disgusting, floating gelatinous blobs. They ranged from the size of a baseball to that of a basketball. We were completely bewildered. I refused to touch them. I thought they might be some kind of freshwater jellyfish, except that they didn’t appear to be moving of their own will. Only the slow current of the water propelled them along.

After stumbling over an entry on del.icio.us by Daniel Rench, I believe the mystery is now solved.  He bookmarked an article in Canada’s The Windsor Star newspaper, “Invasion of the Belle River blobs”, by Sharon Hill, published 2007-08-08.Aug.Wed.  The blobs were actually colonies of the invertebrate “pectinatella magnifica”.

Here are some facts I’ve gathered about “Pectinatella Magnifica” from the article and a few google searches:

  • The individual invertebrates are called zooids and are about a millimetre long
  • Thousands of them cluster together and form a mass, secreting a jelly which forms the coelom (the large, gelatinous inner body cavity)
  • The whole cluster can grow to the size of a basketball.
  • They eat algae and tiny aquatic animals.
  • The hermaphrodites die by the end of summer after fertilizing themselves, leaving resting spores to reboot the process next summer.
  • Pectinatella magnifica is a member of the animal phylum Ectoprocta, a group with a fossil record extending back to the upper Cambrian period (500,000,000 years ago).
  • They are commonly referred to as bryozoans or moss animals.

The images here are some I found on the web that most resemble the floating creek blobs I saw as a child

Lifeforms can be weird, huh?

Just heard an interview piece on the NPR Music podcast, episode “06-14-2008 Music”. Scott Simon interviews Rivers Cuomo, the lead singer/songwriter for the band Weezer. They discuss Weezer’s new album, “The Red Album”

Weezer - The Red Album - front cover

Listen to the 10 minute piece or read about it here.

There’s a nice article by Tom Sturges on the site Best Life Online, called “The Parking Lot Rules”.

I think it’s a good article for anyone raising children, not just for fathers. I especially liked rules 1, 9 and 10:
1. The Parking Lot Rules – When you place this rule in force, your children are to immediately stop goofing around, gather beside you, hold hands and pay attention.

9. The 90 Percent Rule – When a child tells the truth about misbehavior, the punishment is reduced by 90%. When they lie, the full punishment is handed out.

10. The “Yes” Not “What” Rule – When someone calls out to you, respond with “Yes?”, or “Yes, <insert name here>?” Don’t respond with “What?” because it is condescending.

Ira Glass is on twitter. My wife and I are fans of his weekly radio show “This American Life”. We saw a live performance a couple years back and the entertainment provided was captivating.
Ira Glass hosts Chicago Public Radio\'s weekly program, \

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.

Fun with Vim

2008-04-25

I use the Vim text editor all the time.  In an effort to try to post more here, I think I’ll put up snippets of my Vim usage now and then.

So I was simply trying to layout a line of text in my progress notebook. Its a text file I keep all my work in and edit with Vim. I do this for many reasons, but most of all because searching is so easy, and its simple to style (with syntax highlighting) and to program.

I had a line of text to separate sections of the notebook:

<<<<<<<<<<<<<<<<<<<<<<[ 2008-04-25 Apr.Fri 11:24 ]>>>

Okay, once you’ve stopped admiring^H^H^H^H^H^H^H^H laughing at my superior documentation formatting skills, you can read more. I just wanted to move the date portion around to see which way I liked it best. I used these some mappings to make it so that the left and right arrow keys would move the bracketed text left and right, leaving at least one of the leading and trailing characters. There’s a bunch of junk in there to maintain the search history and search highlighting option, so I moved that part to two commands:


:command! A :let _save_hls=&hls |:let &hls=0
:command! B :call histdel("/",-1) |:let @/=histget("/",-1) |:let &hls=_save_hls

:map <silent> <left>  :A<CR>:s/\v^(.)(\1+)(\[.*)(.)$/\2\3\4\4/e<CR>:B<CR>
:map <silent> <right> :A<CR>:s/\v^(.)(.*\])(.)(\3+)$/\1\1\2\4/e<CR>:B<CR>

An even better approach would be to search for the pattern you want to move around, and have the mapping use that.

"
" setup leading and trailing characters
"
let @a='<'
let @b='>'

"
" here's what I want to move. @/ is the search pattern register
"
let @/='\[ \d\{4}-\d\{2}-\d\{2} \S\+ \S\+ \]'

"
" here's the search pattern for moving it
"
let @s= '^\(' . @a .'\=\)\(\1*\)\(' . @/ .'\)\('. @b .'\=\)\(\4*\)$'

"
" now the mappings for left and right arrow keys:
"
map <silent> <left>  :exe ':s/'. @s .'/'. '\2\3\4\5'. @b .'/'<CR>
map <silent> <right> :exe ':s/'. @s .'/'. @a  .'\1\2\3\5'.'/'<CR>

That was fun!

Check out this video that shows beautiful mathematical transformations:

This is the work of Douglas N. Arnold.

Yesterday I was reading my dilbert.com feed from Google Reader and found the images weren’t being rendered any more, so I visited dilbert.com to see what was going on. What an abomination! Flash scripts all over the place. And its not obvious how to see prev/next daily strips.

Fortunately I found a greasemonkey fix today.

Grab the Dilbert.com No Flash Greasemonkey userscript written by Manuel Seeger over at userscripts.org.

The userscript strips the flash from around the daily comic. What a godsend. BTW, it doesn’t work so well on the Sunday comic since its more than the standard 3 panel size. I posted a comment for the script in hopes of getting that fixed. At any rate, if you visit the dilbert site and can’t stand the flash, try the script.

Also, I recommend the new Dilbert daily comic strip feed for anyone who may be wondering what is wrong with the old feed.