Greylisting Considered Annoying

Nobody likes spam.  So to avoid spam they either inflict pain on others, like with challenge/response systems that send endless challenges to me since “I” have sent them spam (From headers are so hard to fake? (I know this guy who automatically responds to all challenge/response systems (evil, but understandable))), or they use “greylisting”, which is harmless, supposedly.

It just means that mail takes a bit longer to deliver, right? The first time you try (on a unique from/to pair), your MTA gets told that it has to wait for a while.

So when I do a Gmane subscription handling session, I first fire off a bunch of subscription requests.  Then, since so many list admins use greylisting now, I have to wait for fifteen minutes to complete the process.  Meanwhile, I’ve gone on to do other things, or I’ve left for a holiday in a differerent country, so the process stops in the middle, and the person who requested the list gets all sad and stuff.

See what you’re doing, greylisters?  You’re making Gmane users sad!  For shame!

Adding Commands to mplayer

The computer I use to watch DVDs (and other stuff) with has three sound outputs: via HDMI to the TV, via the built-in analogue sound port to my wireless headphones, and via a USB sound card to external stereo speakers.  Which one I use depends on what I’m watching and what time of day it is.

So it would be nice to be able to change where the sound goes to on the fly. mplayer doesn’t have built-in support for it, but you could do this externally via a PulseAudio or the like, but since mplayer is occupying the screen and getting the commands, it seemed easier to just hack mplayer.

And, besides, each audio sink needs a different video/audio delay. The TV, for instance, delays the picture a bit, so if I’m listening over the headphones, I need to subtract a tenth of a second for the audio delay.  Or something.  I just experimented until I got something where Jon Stewart looked marginally less unhinged.

It turned out that adding commands to mplayer is really easy, but digging into the code this big can be pretty bewildering.  So if you ever want to add commands and keystrokes to mplayer, I’ve put the patch on the interwebs. It probably won’t apply cleanly to your specific mplayer version (and you wouldn’t want to, since it hard-codes my specific commands), but it should give you a rough idea of where to poke around.

Tellstick Redux

I was whinging a lot about the terrible Tellstick range in my last post on the issue.  Deservedly so.  It’s terrible!  However, the Telldus people have released a new version of the device:

The revolutionary new invention is the antenna!  Who would ever have thought that an antenna would give greater range?  Kids these days.

Anyway, it really does work.  I had four separate antenna-less Tellsticks that gave me 90% coverage of my apartment earlier.  With the new Tellstick, a single one gives me 100% coverage.

That’s progress.

Make RSS feeds from last.fm Shoutbox Pages

I was somewhat interested in seeing what people were saying about the new Boris albums on last.fm, but reloading that page is so 1993.  I wanted to read it through Gwene, but there’s no RSS feeds on last.fm.  So I whipped one up (in Perl!  *sob*) and put the service on Quimby.

Feel free to use it or rewrite the Perl script to be less doubleplusungood.

Emacs Home Automation

Nexa unit


We all grow so very weary of having to switch lights on and off. Every day. On again and then off again. Will the madness never end?

Technology comes to the rescue! There are companies that sell receivers (like the one pictured to the left, plugged into a wall outlet that I now see I should have dusted before snapping the picture. Too late now!) that you can control wirelessly.

So the question then is: How do you control them without (yuck!) using remote controls and stuff? You use Emacs.

Telldus sells small blue USB devices that are called Tellsticks. These expose a USB serial interface, and uses a pretty … primitive encoding method for sending commands to the units.

The Emacs Lisp code needed to send commands via Tellstick is on github, since that where all the cool kids hang out these days.

Tellstick and one of the lamps it controls

I’ve had this thing running for about half a year, and it’s really nice to be able to switch off all the lights in the entire apartment with just on the hallway computer. The main problem is that the range of the Tellstick senders is about five meters. If there moon is in the right phase and it isn’t too windy. And you feel lucky.

Fortunately I have at least one computer in each room, so I’ve just bought a truckload of Tellsticks and have each computer control each room, and then I have the remote remote control work by using emacs-server/emacsclient. But you can probably work that stuff out yourself.

Enjoy the gift of light! No longer sitting in the dark, typing away, just because you’re too lazy to get up and switch the lamps on!