If Cleveland were a video game, February would be the end boss

It is really cold and snowy out there. I read a book that said it well:

February is the qualifying month for citizenship in northeastern Ohio. Only those willing to endure the endless procession of short gray days and dirty slush are worthy to enjoy the mild springs, the warm and humid summers, and the perfect autumn days … Signs of life are limited to modern day smoke signals: the smoke from a chimney, exhaust from cars, the puffs of breath emitted from the hardy outdoor walker string along belching warm air like a human dragon. February in northern Ohio is the same thing every year and every year residents have to steel themselves for the longest twenty-eight days of the year.

From Sky Blue and Black

Make that the longest twenty-nine days this year.

How I spent Saturday night

My wife keeps winning when we play scrabulous. So I wrote some performance-enhancing javascript here to close the gap.

The first time the page loads, you have to download the whole 1.4 mb word dictionary. Then your browser will cache that file locally, so future look-ups are really quick.

There’s at least one bug so far. When you submit your list of tiles like ABCDEFG and your pattern B..Y.. I make a regular expression object where I replace each dot with [ABCDEFG]. So that means I’m not keeping track of how many of each tile you have. If the BGGYGG were a real word, then my function would suggest it, even though this is clearly impossible.

Along with fixing that bug, I want to make a few improvements:

  • Figure out how to make this into a firefox extension.
  • Display the score next to each word suggestion.

This story offers a good excuse to use the blockquote tag.

A friend of mine, Y, is spending the week in the jury pool for Cleveland. Every day, he gets brought in with all the other potential jurors. They all answer questions and then the attorneys throw people out that they don’t like.

Yesterday’s trial involved a guy facing 31 counts of child rape — little girls. Y has two daughters, about the same age as the victims. The judge asked if anyone in the panel would have difficulty remaining objective in this trial.

Y replied that he could attempt to apply the letter of the law and follow due process, but he wouldn’t be able to deny his visceral reaction:

“I would be like somebody that graduated from medical school but faints at
the sight of blood.”

That got him put back in the pool for tomorrow’s trial.

Anyway, I thought that was a clever phrase.

Paul Graham has some good advice

His royal highness got around to addressing all the people saying nasty things about arc.

Sarcasm aside, I like this paragraph a lot, where he explains his design method:

Here it is: I like to find (a) simple solutions (b) to overlooked problems (c) that actually need to be solved, and (d) deliver them as informally as possible, (e) starting with a very crude version 1, then (f) iterating rapidly.

This articulates a bunch of fuzzy ideas I’ve been wrestling with myself.

Learning a new vim trick is more interesting than working on my Technology Investment Tax Credit application

The Ohio Technology Investment Tax Credit is a fantastic boon to starting businesses. But applying for it is really boring.

Anyway, when I opened up vim to work on my application, I found a really good tip of the day, copied below:

VimTip 295: Line/word/file/whatever completion

In addition to vimtip #291 you can use whole completion mode. It can complete whole lines (<C-x>l, then <C-p>, <C-n>), filenames (<C-f>), keywords, words from custom dictionary and many, many others. During coding it usually saves a LOT of key strokes 😉 This mode has many other powerful features, for example when completing word (by &;tlC-x><C-p> or just by <C-p>) you can continue completion with another <C-x<>-p>. For example, after writing such text:

this is first line
second line is here

Placing cursor at third line and pressing <C-x>l will double last line – <C-n>, <C-p> in this moment can be used to manipulate completed line. Or, instead of completing whole line you can press ‘f’ and then complete by <C-p> which will result in ‘first’ word. After that you can <C-x><C-p> to get ‘line’ word (since this is next word after ‘first’). Try yourself for other powerful combinations.

Now I just need a completion mode that will calculate intelligent sales forecasts, and this application would be done.

Keeping your system clock synchronized with Ubuntu is trivial

I have a few Ubuntu servers scattered across the earth. This is all I had to do to make sure that their system clocks were synchronized:

sudo apt-get install ntp ntpdate

Those Ubuntu packages are automatically configured to make your box use the time server at ntp.ubuntu.com. It couldn’t be any simpler.

By the way, if you want to point to a different time server, the config file in /etc/ntp.conf is full of helpful comments.

One plus-side of working in a startup

Some guy wrote this diary post at k5 complaining about stupid corporate-speak phrases like

Going forward, I’d like to touch base about getting more value-added metrics concerning the mission critical legacy informatics.

I used to hear meaningless gibberish like that all the time.

Now that I’m working for myself, I may have a lot of stress about other stuff, and way more work to do, but at least I don’t have to hear that kind of idiocy.