Havoc's Blog

this blog contains blog posts

Category: Uncategorized

Keep the JVM, dump the rest (Scala+Play+MongoDB)

I decided to try three new things at once and get back into some server-side development. Scala uses the JVM for the hard work, but feels more like Ruby or Python. It’s statically-typed, but for the most part infers types rather than making you type them in. Play ignores the Tomcat/J2EE legacy in favor of […]

Why I hope my kid won’t like The Phantom Menace…

… because it’s a terrible movie, but I have one other reason. We have a young child and I read parenting books. More than one talks about agency and effort. If you emphasize innate attributes rather than choices and habits, people get messed up.  They value themselves in terms of something they have no control […]

NY Times Digital Pricing: It’s Strange

As the Times rolls out its paywall, their message is that quality content should cost money. Their price segmentation undermines the message. In theory, price segmentation can be arbitrary. In practice, consumers want it to be logical and feel that it’s fair. content + phone app = 15 content + tablet app = 20 content […]

Boolean parameters are wrong

Today’s simple way to improve your code. Say you’re reading a program and you see some lines like this: new ArrayBlockingQueue(10, false); box.pack_start(child, false, true); You don’t know what the booleans mean. Say you’re reading it and you see this: new ArrayBlockingQueue(10, Policy.FAIR); box.pack_start(child, Packing.FILL); Which is better? There’s only one time that a boolean […]

Nice photo

Asheville, Off the Tech Hub Grid

Software developers often find themselves considering a short list of west coast “tech hub” cities when they think about where to live. As Richard Florida points out, “the world is flat” theories are at least partially wrong; industries tend to concentrate in certain cities, where people can find each other, hire talent, network, and launch […]

Egg nog preparation

Lots of people don’t like eggnog and then there are those with the energy to make their own from scratch. For those of us in between, here’s my favorite preparation so far. (Though experiments continue.) Put a mix of half brandy and half sweet whiskey such as Maker’s Mark in the bottom of the glass. […]

Web server with URL fingerprinting out of the box

Years ago when we built Mugshot we stumbled on “URL fingerprinting,” Google describes it here. We used a “build stamp” (a continuously incrementing build number) instead of an MD5, but same thing. My guess is that many web sites end up doing this. Owen implemented the feature by writing a custom Apache module. (The idea, […]

Do centrists have an -ism to back them up?

In the past I complained about “libertarianism” and “socialism” melodrama in US politics. There’s a broken pattern of thought, where people speak as if the only two economic ideologies are “government good, everyone must have equal everything” or “government bad, night watchman state.”  Moderates and centrists are seen as compromising — mixing the two extreme perspectives, […]

Ridiculous settings screen showdown

Here’s a new one from today: And also a classic: