Arnt Gulbrandsen
About meAbout this blog

A new gadget: Nuforce Icon μDAC-2 amplifier

My neighbour is putting up another concrete building and I don't like noise.

For the past few days I've used a Nuforce μDAC-2 together with Bose QC15 headphones. I tried the QC15s alone, but they don't suppress the construction noise very well on their own. They do better when fed music.

The μDAC-2 does well. It's not exactly highend (for context: I think Musical Fidelity makes highend gear, and I consider most Bose devices to be overpriced beep-beep gadgets). But it also doesn't offend me like most computer audio gadgets. It's pleasant, and allows me to work in complete disregard of the $#$@# concrete mixers. Well worth the price.


for() is evil

Consider the function Message::acceptableBoundary(). That function's reading order is exactly the same as the its execution order. This is not unusual in C and C++ (and more or less in Java), but there is a significant exception, for(). (more…)


Zero bits of information

I quote at length from chapter four of Jef Raskin's book The humane interface:

We have looked at two interfaces, one of which will take about 5 seconds to operate and the other of which will take more than 15 seconds. [...] It is clear which of the two better satisfies the requirement. The next question that we ask is how fast an interface [...] can be. (more…)


tcpdump on Mikrotik

Mikrotik RouterOS doesn't have a tcpdump command. It has solutions for most/all of the problems I like to solve with tcpdump, though. (more…)


Patere necesse est

This week, another thousand bloggers explain that patents are bad because they're used to harass, etc.

Noone seems to understand that for software patents to be meet their stated aims, it must be possible for programmers to learn something by searching for, finding and reading the relevant patent.

Wikipedia defines patents as a set of exclusive rights granted [...] to an inventor [...] in exchange for the public disclosure of an invention. That public disclosure isn't happening now: software patents aren't understandable to software developers, so the rights are granted in exchange for effectively nothing.

Wikipedia goes on to say the same thing again in different words: The word patent originates from the Latin patere, which means to lay open (i.e., to make available for public inspection).

Avoiding harassment is a start, but it's not enough. Patere necesse est.

Update: Two corollaries, obvious IMO, but... There must be something in each patent that's worth learning. Restating textbooks isn't enough. And each patent must be such that it's practically possible to work without infringing/licensing it.


Lawnmowers, a taxonomy

Lawnmowers may be classified according to noise, speed, price, reliability, durability and so on. I don't have a lawn, so all I really care about is how loud the superintendents near me are, and for how long. (more…)