Blog

Light bulb I'm not sure how old I was when I fell in love with computers, but I remember what happened that day. I must have been nine or ten years old and was writing my first program on my father's Apple ][. Before that day I had only used computers for gaming which I had enjoyed very much, but this day changed everything. more

Dinosaur While checking my logs for this site and seeing the usual malicious requests against every spammers favorite software WordPress I decided to make things a little harder for them with a tarpit. more

Salt This can be annoying when using SaltStack, you run saltutil.sync_grains, or a highstate, but your custom grain is never synced to the minion. This happened to me while using multiple environments and when the grain was not in the base environment. What worked for me to get a successful sync … more

Powerboat The title of this post is what I originally tried to do, but the solution to the problem was to do a small refactoring and to use the low level cache API. This post will explain how I modified my approach after thinking about the problem for a while. more

A while ago I published a snippet to generate an OTP auth token from the command line, but I recently got a new phone and had to re-add all my secret keys to a different authenticator app. As I keep all the secret keys backed up I made another script … more

Rsync hangs forever

2020-06-22

Upset confused My backup system uses rsync and for the last ten days not a single backup had succeeded, they had all timed out. Then my home drive died. It still took a few days until I figured out why rsync hang, but in the end I did. more

Faucet requests May 2020 I run a bitcoin testnet faucet. Testnet coins are supposed to be worthless, but there is scarcity and some people try to get as many as they can. I try to prevent this to keep the faucet running and useful for as many people as possible, for as long as possible. more

While migrating my website that also runs a bitcoin testnet faucet I decided to finally automate the bitcoind startup using supervisord. I had already done that in other locations but had forgotten some important settings. Bitcoind takes some time to start, and supervisord needs to know. I also had to … more

My i3 desktop Inspired by a comment on reddit I am sharing my screen locking configuration in this post, I use i3, xautolock and a custom lock script. more

I use a custom screen locking script together with xautolock for automatic locking and manual locking when needed. To prevent multiple i3lock instances from starting I use an atomically created mutex. The script has somewhat excessive logging that still remains from the time it was buggy. more

DjangoPythonBitcoinTuxDebianHTML5 badgeSaltStackUpset confusedMoneyHackerUpset confusedX.OrggitFirefoxWindowMakerBashIs it worth the time?i3 window managerWagtailContainerNginxSilenceTorWorldInternet securityFont