I've started using the Firefox addon Self-Destructing Cookies for some stuff

I previously wrote about two models fordealing with cookies in Firefox and how I was someone who followedthe 'never accept' model while Self-Destructing Cookies followed the 'accept then remove' model. Well, as it happens I've recentlystarted using SDC in some of my Firefox profiles, for what I think of asa good reason. Namely, it's really easy to get started with SDC.

My main browser is not logged in to sites , inaddition to basically not accepting cookies. For


Why it's irritating when Ubuntu packages don't include their configuration files

I'll start with my tweets :

This is my angry face when Ubuntu openssh-server generates a fixed/etc/ssh/sshd_config on the fly in postinst vs making it a configfile.
Ubuntu dovecot also does the 'generate static configuration files atinstall time' thing and now I want to set it on fire.

(Twitter has become my venue of choice for short rants.)

Both of these packages have the same bad idea, although theirmechanisms differ somewhat. Specifically, the installed and


I need to use getopts sooner (and more often) in Bourne shell scripts

I have this flaw in my Bourne shell scripting; in shell scripts andshell scripts alone, I find it all too easy and tempting to reachfor ad-hoc option processing when I add the first option to a script.Inevitably, handling the first option will look something like:

[...]SOMEVAR=0if [ "$1" = "-L" ]; then   SOMEVAR=1; shiftfi[...]

When a second option shows up, it sometimes winds up getting


Some thoughts on ways of choosing what TLS ciphers to support

As you might expect, the TLS DROWN attack has me looking at our TLS configurations with an eye towards makingthem more secure. In light of DROWN I'm especially looking at ournon-HTTPS services, the most prominent of these being IMAP. As partof this I've been thinking about various approaches to decidingwhat TLS ciphers to support or disallow.

(I'm going to use 'cipher' somewhat broadly here; I really meanwhat often gets called 'cipher suites' .)

There'


A sensible surprise (to me) in the Bourne shell's expansion of "$@"

I generally like to think that I'm pretty well up on the odd cornersof the Bourne shell due to having around Unix for a fair while.Every so often I stumble over something that shows me that I'mwrong.

So let's start with the following, taken from something Jed Davisdiscovered about Bash :

$ set -- one two three$ for i in "front $@ back"; do echo $i; donefront onetwothree back$

When I saw this, my


Apt-get and its irritating lack of easy selective upgrades

One of my many irritations with apt-get is that it doesn't easily allow you to only apply some of the pendingupdates. Sure, often you want to apply all of the updates ( atleast all of the unheld updates ), but thereare any number of cases where you want to be more selective. Sometimesyou are in a rush and you want to apply only a few very urgentupdates. Sometimes you want to apply updates in a specific order,updating some packages before others. Sometimes you


Why it makes sense for true and false to ignore their arguments

It's standard when writing Unix command line programs to make themcheck their arguments and complain if the usage is incorrect. It'sreasonably common to do this even for programs that don't takeoptions or positional arguments. After all, if your command issupposed to take no arguments, it's really an error if someone runsit and gives it arguments.

(Not all scripts, programs, and so on actually check this, becauseyou usually have to go at least a little bit out of


Firefox addons seem unfortunately prone to memory leaks

As is now traditional, I'll start with my tweets :

I look forward to a hypothetical day when it's difficult for Firefoxextensions to leak memory like sieves. That day is not today.
It's depressing that at least half the time I audition new Firefoxextensions, they immediately cause my session to bloat up madly.

It's like clockwork by now; I'll decide to try out a new extension(this time around I believe it was Cookie Monster ),and at most a


What happens when a modern Linux system boots without /bin/sh

So this happened to me :

It turns out that a whole lot of things explode when your system bootsup with /bin/sh not working for some mysterious reason.

Here the mysterious reason was that there was an unresolved dynamiclibrary symbol, so any attempt to run /bin/sh or /bin/bash diedwith an error message from the ELF interpreter .

The big surprise for me was just how far my systemd-based Fedora23 machine managed to get despite this handicap. I certainly saw acascade


Some notes on supporting readline (tab) completion in your Python program

Adding basic readline-style line editing to a Python program thatreads input from the user is very simple; as the readline moduledocumentation says ,simply importing the module activates this without you having to callanything. However, adding completion is less well documented, so hereare some notes about it.

First, you need both a readline completion binding and to register acompletion function. The easiest way to get a completion binding isjust to set it up explicitly:

readline.parse_and_bind("tab