emacs tip of the week #7: local chord shortcuts

I like chord-mode to avoid emacs pinkie.

If you want to bind say a quick double I to indent in python mode (and double U to unindent), do this:


Getting a lot of spam from .tk domains – kill it with spamassassin

Seems they are cheap to set up, spammers set up domainkeys / SPF too!

Here’s a spamassassin rule (don’t use it if you get valid mail from .tk):

UPDATE: Looks like the spammers get a free .tk domain, rent a temporary DigitalOcean box, set up spam relay on it and blast out mail until it gets shut down.


Systemd programming, 30 months later [LWN.net]

Some time ago, we published a pair of articles about systemd programming that extolled the value of providing high-quality unit files in upstream packages. The hope was that all distributions would use them and that problems could be fixed centrally rather than each distribution fixing its own problems independently. Now, 30 months later, it seems like a good time to see how well that worked out for nfs-utils, the focus of much of that discussion. Did distributors benefit from upstream unit files, and what sort of problems were encountered?

Source: Systemd programming, 30 months later [LWN.net]

Google introduce a new TCP congestion control algorithm

This commit implements a new TCP congestion control algorithm: BBR (Bottleneck Bandwidth and RTT). A detailed description of BBR will be published in ACM Queue, Vol. 14 No. 5, September-October 2016, as “BBR: Congestion-Based Congestion Control”. BBR has significantly increased throughput and reduced latency for connections on Google’s internal backbone networks and google.com and YouTube Web servers. BBR requires only changes on the sender side, not in the network or the receiver side. Thus it can be incrementally deployed on today’s Internet, or in datacenters.

Source: [net-next,14/14] tcp_bbr: add BBR congestion control – Patchwork

Dynamic DNS updating in python with ipify

I’ve used free Dynamic DNS services to give my home machine a “static” address in the past but they either start charging or have poor performance.

As I run my own external nameserver, why not use RFC 2136 to dynamically update the address based on the IP from ipify? So with some python scripting, that’s what I did:

Welcome, ip-freely

To use this you’ll have to create keys /configure zone files as in this tutorial.