Bensinpriser

Petter Reinholdtsen skrev nylig om Bitfactorys bensinpris-app (iOS, Android) og mangelen på dokumentasjon av protokollen den bruker for å laste ned priser fra databasen deres.

Jeg har lenge lurt på hvorfor ikke Forbrukerombudet pålegger stasjoner å rapportere inn prisene slik at forbrukere kan sammenligne før de velger hvor de skal fylle. Det kan hende at de mener at det er nok konkurranse i markedet, eller at det ville være en urimelig kostnad. Sistnevnte er imidlertid ikke et holdbart argument iom. at alt er automatisert; det ville aldri være snakk om manuell innrapportering. Continue reading “Bensinpriser”

Sherlock

Having watched season 1 and the first episode of season 2 of Sherlock, I absolutely love the show, although 2×01 was very weird; very slow, very drawn-out, you think they’ve wrapped it up then discover that it was just the beginning. A bit like those games I shall not name where you play for 20 or 30 hours before you realize that was just the tutorial. Continue reading “Sherlock”

You are always the product

I just discovered that Amazon allows anyone to “follow” a Kindle user, and there is no way to turn that feature off or to block followers. They say your followers can only see notes that you explicitly make public, but they don’t say anything about whether they can see your book list, which is the union of books you’ve bought, books you’ve reviewed and books on your wish lists—and not just eBooks, but paper books as well. Wish lists can be made private, but the FAQ doesn’t say whether that means they don’t appear in my book list on kindle.amazon.com.

This makes me extremely uncomfortable. Continue reading “You are always the product”

On testing

Last fall, I wrote a completely new configuration parser for OpenPAM Lycopsida. Although the new parser was far more robust than the one it replaced, it was large, unwieldy, and suffered from a number of issues relating to whitespace handling, which stemmed from reusing some old code which unfortunately was thoroughly documented and therefore could not be easily modified. So I decided to rewrite it again, from scratch this time.

Then I did what I should have done last fall but didn’t: I wrote some unit tests. And of the first dozen or so tests I came up with, three failed, revealing two different bugs—one of them fairly serious.

There’s a lesson in here somewhere…

Downtime

I haven’t been able to read email sent to des@des.no or des@freebsd.org for five days, due to a series of unfortunate incidents involving dodgy power supplies and the fragility of ZFS boot in FreeBSD. Work and other duties prevented me from addressing the issue in a more timely manner, but I am now regaining control. Luckily, neither my ~30 GB IMAP spool nor any other data was lost, nor did my backup MX bounce any mail. My IMAP server is now back up with a small UFS SU+J boot / root partition instead of ZFS. I am still unable to read email, but that should be fixed within 24 hours.

I also uncovered an annoying but luckily not fatal bug in the Cyrus IMAP server. When TLS is configured, the IMAP daemon stores state for each TLS session in a DB file. If that file is corrupted, the server will start, but it will refuse any incoming IMAP or LMTP connections, and will instead spit out a stream of completely unhelpful error messages. The only recourse is to delete the TLS session state database; I set up an rc script to do that at boot time, so hopefully this won’t bite me again.