March 2007

Well, I didn’t wonder how I stood it until NOW…

> “Now we look back on medieval peasants and wonder how they
> stood it. How grim it must have been to till the same
> fields your whole life with no hope of anything better,
> under the thumb of lords and priests you had to give all
> your surplus to and acknowledge as your masters. I wouldn’t
> be surprised if one day people look back on what we
> consider a normal job in the same way. How grim it would be
> to commute every day to a cubicle in some soulless office
> complex, and be told what to do by someone you had to
> acknowledge as a boss—someone who could call you into their
> office and say “take a seat,” and you’d sit!”

http://www.paulgraham.com/notnot.html

This is an article about founding startups, by the way. And in it, the author explicitly advises anyone with a family NOT to do so.

Dammit, dammit, dammit.

[Edit: Wait a minute… who cares? I’m more likely to get my name out there with an open-source project than with a startup anyway.]

general

Comments (0)

Permalink

More wisdom…

Find someone you respect, and emulate them.
Your brain won’t work right if you don’t exercise your body.

general

Comments (0)

Permalink

We’re housesitting for Diana’s dad, who has a huge Mitsubishi HDTV… Like so many HDTV owners, they were watching standard-def shows, stretched to widescreen (which I can’t stand, but apparently no one else notices). After much poring over the manuals, I figured out how to set it up correctly. (The digital cable box was routed to the TV through *co-ax*, and the component cables (Monster brand, no less) were sitting unplugged behind the TV.)

Anyway, we’ve been watching that Planet Earth series. It’s the only decent hi-def content we can seem to find, but any description short of “fucking amazing” doesn’t do it justice. The color, sharpness, and detail are incredible - even Diana’s jaw dropped.

I don’t know how we’re going to go back to standard-def in a few days. Not only can we not afford new equipment, there wouldn’t be much content available if we could, and we might find ourselves locked into the losing side of the HD-DVD format war.

The HD revolution really will be amazing, but we’re going to be stuck in the lo-res ghetto for quite a while.

general

Comments (6)

Permalink

Watching the Propellerheads Reason tutorial videos… If the thoughts a person can have are shaped by the language they speak, then Reason is the language of electronic music (or, at least, a major dialect). Just learning a bit about the tools of the trade teaches you volumes about why music sounds the way it does.

general

Comments (0)

Permalink

Wisdom…

Here’s some important stuff I have learned the hard way, or have read and believe to be true.

Be cool.
Be nice.
Winners focus. Losers spray. [Not mine.]
No matter how far you’ve gone down the wrong road, turn back. [Not mine.]
People are selfish. Projects that fight this fail. Projects that harness this succeed.
10% of people are assholes. 10% of people are really nice.
Be brief.
Latency happens. [Not mine.]
Failure happens.
Maliciousness happens.
The last 20% of the work requires 80% of the effort. [Not mine.]

There’s probably more to be added here…

general

Comments (1)

Permalink

Me, working in Java: “God dammit. God dammit… GOD DAMMIT!!!”
Me, working in Ruby: “Hey, neat. Hey, neat! Whoa, COOL!”

general

Comments (0)

Permalink

Also…

> [wscompile] invalid element “configuration” in
> configuration file (line 2)

general

Comments (0)

Permalink

Shameless e-mail copy-paste!

> We’ve been encommunicado for a while, so just wanted to let
> everyone know we’re doing well…
>
> Jeremy is growing at an amazing (alarming?) rate,
> approaching 9 pounds now. The difference from the delivery
> pictures is noticeable. (I’ll get new ones posted soon.)
> He’s been pulling himself up on his arms to look around
> since almost day one, something he’s not supposed to be
> able to do for a couple months. (Still kinda wobbly,
> though.)
>
> Sleep is still a rare commodity at the house, with Diana
> losing the most thanks to feedings. She’s been a real
> trooper, though, and of course I try to pitch in with the
> bottle when I’m not at work. Every now and then the baby
> will sleep 4 or 5 hours at a stretch, which is a welcome
> respite. Mom and Dad have each made trips here, and both
> have been huge helps, as has Judy.
>
> Anyway, that’s us. How are all of you? News from the
> outside world would be nice, as we don’t get to see it that
> often these days. :)

general

Comments (0)

Permalink

Gee, thanks for the info.

1) Failure:
test_delete_playlists(TestItch) [src/test/ruby/test_itch.rb:128]:
<false> is not true.

general

Comments (0)

Permalink

Ruby yield is cool.

Before:

	#Find playlist by name and add to list.
	if config.has_key?('playlist')
		config['playlist'].each do |name|
			playlists.push(interface.LibrarySource.Playlists.ItemByName(name))
		end
	end
	#Create playlist and add to list.  [Note the near-identical code.]
	if config.has_key?('create-playlist')
		config['create-playlist'].each do |name|
			playlists.push(interface.CreatePlaylist(name))
		end
	end
	#...etc.

After:

	#Invoke a block with each of the values for the given option in the given configuration.
	def with_option_values (key, config)
		if config.has_key?(key)
			config[key].each do |value|
				yield value
			end
		end
	end
	#Find playlist by name and add to list.
	with_option_values('playlist', config) do |name|
		playlists.push(interface.LibrarySource.Playlists.ItemByName(name))
	end
	#Create playlist and add to list.
	with_option_values('create-playlist', config) do |name|
		playlists.push(interface.CreatePlaylist(name))
	end

…Two completely different operations, but with yield and blocks, I’m able to remove the boilerplate around them. Multiply that across a dozen similar sections of code, and you start to see real readability improvements.

general

Comments (0)

Permalink