19 February 2009

Zen and the Internet

Google’s putting a lot of thought into how to help people find the information they want. So, why not concentrate on our content and stop worrying about gaming the system?

Why can’t a blog just be a way to share our thoughts?

Why can’t we just use twitter to say what we’re doing?

18 February 2009

Undermining your own argument, OOP-style

Say you want to convince me some assertion about programming languages. Perhaps your assertion involves object-oriented programming.

If your example is a class with public setters and getters for every private data member, then I’ve already stopped listening. Your assertion is rejected with prejudice.

If you have a good reason for using such an example, then point it out up-front, and I’ll give you the benefit of the doubt.

10 February 2009

Debugging life

The measure of a great computer programmer is not that they write bug-free code. In this line of work, I learned quickly that any non-trivial program is going to have bugs. The measure of a great programmer is more how their code handles the unexpected and how they handle debugging.

Perhaps it’s just the engineer in me, but I think this is true of life too. Success isn’t about not making mistakes. It is about what I do when I recognize that I’ve made a mistake.

06 February 2009

iPhone App: LED Football

I’ve downloaded 78 iPhone apps.

O_O

Yeah, but all but 16 were free.

So, maybe I should review ramble about a few. We’ll start with...

LED Football by touchGrove

Back in 1977, Mattel made a handheld electronic football game. The “field” was only nine “yards” long—which it made up for with wrap-around. It was only three yards wide. You could only play offense with the game playing defense. You could only run the ball. In fact, it was your lone running back against five defenders. Defenders who—due to the wrap-around—occupied every nine-yards of the field like quantum particles. You could only run forward.

Which was actually pretty impressive at the time. Just six buttons and 27 LEDs.

It was also a lot of fun. My sister had one, and I remember it fondly. In fact, I missed it enough that I wrote a knock-off version for the Mac c. 1991 or so. With 16×16 pixel player icons. Unfortunately, I don’t think I have a copy of it any longer.

While I tried to be faithful to the gameplay of the original, LED Football for the iPhone is also very visually faithful. It’s a simple app that does a simple thing both well and with style.

It’s amusing to read the reviews from people who don’t seem to realize that this is attempting to emulate a very specific handheld.

LED Football is as much fun as the original. Which for me means a lot.

E-book devices

First, let’s make the distinction between the two uses of “e-book”. There’s e-book content, and there’s e-book devices.

There’s a faction that will adamantly tell you that e-book content cannot be successful without e-book devices. E-book content requires e-book devices designed specifically for e-book content.

The problem here is that other general purpose devices we have...

  • desktop computers
  • laptop computers
  • palmtop computers/PDAs
  • smart phones
  • et cetera

...need to display content that isn’t so different than e-book content. What’s good for the e-book device is good for the smart phone. What’s good for the smart phone is good for the e-book device.

05 February 2009

Ubi sunt dracones

The Grognardia post on dragons got me to thinking about my own experience with dragons in Dungeons & Dragons.

(1) I created an adventure in which a dragon hunt was the hook. The PCs wouldn’t even actually encounter a dragon. At mention of the word “dragon”, the PCs didn’t take the hook, and I had to wing it.

(2) I tried running the first Dragonlance module. Due to my lack of understanding of AD&D levels at the time, the black dragon barely escaped its first encounter with the PCs alive.

(3) Never a fan of D&D’s “dragons color-coded for your convenience”, I designed some based more on Time-Life’s the Enchanted World book on the subject. Never got around to using them. Something I should rectify someday.

(4) A battle with a dracolich. If you count a dracolich as a dragon.

(5) Running the Sunless Citadel with the baby white dragon.

The once and future e-book

In “The once and future e-book” John Siracusa talks about his experience in the e-book field. Experiences that resonate strongly with mine own.

This article is long but is, IMHO, worth taking the time to read. First, because it shines a lot of light on e-books. (In contrast to the usual sound bites.) Secondly, because the e-book story parallels so many other stories of the world we’re living in.

equal = pattern matching

Joe Marshall quoting (I believe) Gerry Sussman: “Pattern matching is a generalization of equality.”

Suddenly I’m much more comfortable with Scheme’s many forms of equality.

philosecurity—Interview with an Adware Author

Interview with an Adware Author is a fascinating read.

First off, he used the Scheme programming language. His Scheme code has run on possibly as many as 10 million personal computers. Looks like Scheme can be practical as well as academic.

Then there are insights into the shady business and the perspective that results.

S: How private is people’s information today?

M: Not at all.

S: Do you think that in our society we delude ourselves into thinking we have more privacy than we really do?

M: Oh, absolutely. If you think about it, when I use a credit card, the security model is the same as that of handing you my wallet and saying, “Take out whatever money you think you want, and then give it back.”

S: …and yet it seems to be working.

M: Most things don’t have to be perfect. In particular, things involving human interactions don’t have to be perfect, because groups of humans have all these self-regulations built in.

This, however, really struck me:

It really showed me the power of gradualism. It’s hard to get people to do something bad all in one big jump, but if you can cut it up into small enough pieces, you can get people to do almost anything.

A Coding Horror horror

Jeff Atwood wrote an awful post on The Two Types of Browser Zoom. He sums up the awfulness in this one sentence:

Honestly, I can’t see much use for traditional browser font sizing.

Reader B.S.Smith’s comment scores a bulls-eye:

I’m a little bit shocked whenever anyone suggests that if they aren’t using it, then it must not matter. There is always someone with a view 180 degrees out from yours and obviously the text vs whole-page zoom issue has two (disturbingly passionate) points of view. The only good solution is to leave it up to the idividual[sic] user (remember them?). Any browser that fails in that is giving up on a portion of it’s[sic] potential maketshare.

Now, I’ve come to the conclusion that there is such a thing as too many preferences. This is not one of those cases. Actually, this isn’t even really a preference at all. We’re talking about two different—though superficially similar—features.

The really dangerous thought here, though, is the way we so often say “I can’t see much use for...” That should be a sure sign to us that we need to seek out the opposing point-of-view.