Posts Making the Strofara Saving SSH passphrases on KDE The UX people Spam spammers back Use your Wii Balance Board as a scale (again) Clearing up some misconceptions about Passkeys I made an e-ink display that shows my calendar Hacking my appetite Making a security key for the Framework laptop Block non-Cloudflare IPs with ufw Compressing images with Stable Diffusion Poop analytics Better communication with other drivers Making an AI-generated sleep podcast How to write a modern Slack bot in Python How to ask for help Keyyyyyyyys! The "do not be alarmed" clock How to use FIDO2 USB authenticators with SSH Using FastAPI with Django Make your own PCBs with a 3D printer Behold: Ledonardo Seven tips for a great remote culture Revolut doesn't care about you Towards a more collaborative OSS model Securing your users' authentication A simple guide to PID control How to easily configure WireGuard Kubernetes 101 A short 3D printer primer On increasing productivity Startup Mistakes: Choice of Datastore How to deploy Django on Dokku The scourge of web analytics Making a garage remote motorcycle mount Perfectly secure Bitcoin wallet generation 3D-printed breakthrough gives blind cat eyes The Bus Stop Bus Spamnesty: Waste spammers' time How to deploy Django with Docker Turning everything into a mobile phone: Redemption A WiFi-enabled RGB LED strip controller Provisioning your computer with one command: awesome Building a cheap home sensor/controller Open letter to Mozilla: Bring back Persona Hungry? There's a button for that! Private contact and calendar sync on Android Introducing: String Phone Review: CodeBug Shufflecast - Your own TV station Open source password management The microservices cargo cult Show page generation time in Django The iRotary Saga On API authentication Standalone Django scripts: The definitive guide I took a picture: Hope Gweet: Messaging for your things I took a picture: Lethe & Seals iRotary - Part Three iRotary - Part Two iRotary - Part One Netflix for the rest of us Calling single-argument methods in Django templates Get a text when there's motion in your house How to safely store your bitcoins I found the Holy Grail of backups Arduino-powered irrigation system Mozilla Persona accounts with disposable email addresses Remotely controlling IR/RF devices with an Arduino Developing with pull requests Automatically check your Python code for errors before committing Writing a full-text search engine using Bloom filters Reject unPEP8 pushes with git hooks No-hassle emails from your home server Winning at Candy Crush Writing a FUSE filesystem in Python Encrypted, deduplicated remote backups How to pronounce "gyros" (the greek food) DIY internet-enabled bathroom scale New tutorial: How to keep yourself secure online. Authentication and rate limiting Pacific Rim Writing an nginx authentication module in Lua Django's per-site caching doesn't work Brilliant or insane code? Faster installs with pip Blogging from the filesystem Use two-factor authentication for Mozilla Persona on your own domain Expandable code blocks in simple CSS3 How to properly configure Google Apps email On the pitfalls of A/B testing New theme! Automated, large-scale deployments with Ansible's pull-mode Django template projects Writing my first Android app: Control your Raspberry Pi from your phone New domain name! How to remotely control RF devices with the Raspberry Pi How to turn your Raspberry Pi into an infrared remote control An example of provisioning and deployment with Ansible A comment on the causes of burnout Better password reset procedures Monitoring your system's temperatures with Python How to replace a Django model field with a property Proxying two connections in Go Adding a "login as user" button to the Django admin interface Developing an IRC frontend in Go A bug of life and death Developing a back-scratching robot How to highlight code in Python The curious case of the range() function Developing and deploying Python apps using pip and virtualenv A schemaless layer over SQLite Winning at Puzzle Adventures How to handle Python package installation on GAE On authentication usability A short update How PostgreSQL's SR (Streaming Replication) works App Engine pricing changes revisited Secrets of Power Negotiating Book clouds Blog migration Πρόγραμμα καταχώρησης αποδείξεων Delicious alternatives My Y Combinator interview. How to finally understand how to use Unicode. How to extend the Django admin site with custom views The mother of all URL validators. Using SQLite for great science, part 1 (or 3, I guess). New, ultra-secret project Using MongoDB for great science, part 2. Running Windows 7 in a VM. Speeding up Python code with ShedSkin My experience with using MongoDB for great science. SSL and security on the web. On mate selection How to synchronise folders between iPhones or iPods (or any two SSH hosts). SSH key creation howto. How easyjet screws you over. Forwarding ports on Linux. Optimizing python with Cython My experience with BuySellAds.com Thomson/SpeedTouch routers and WPA keys Custom model field validation in Django Hard disk/partition migration in OS X and Linux. GitHub and open source development Weekend project: IMDB API. New website launched. How to safely run programs under Windows Web design/software development ContentTypes and unit testing problems in Django Supported by Ninjas PyCuda and Windows King for a day Mounting ddrescue images under Windows. Spammers Dead Man's Switch File synchronisation Properly name TV episode files Printing "Hello world!" using curve fitting techniques (or: The "Hello world!" function) Apple woes Finding the Levenshtein distance in Python Mac: Second impression Google Apps' mail marked as spam by Gmail? Mounting samba shares with Greek filenames in linux What is OpenID? Moneygement RAID 0 vs 10k RPM The horrors of dining in London Flash charts Mobile phones and SIP Switching to vi - An odyssey Apache problems Nonzero Drupal theme Wireless problems. One reason to have sex. On graceful degradation The Sims Image manipulation with Python et al Gmail Checker Part II Pi Gmail Checker released Boa Constructor Fallacies How to resolve hostnames in linux MUDdrop New tutorial Digg vs Slashdot? No. What is PyPy? The Gallery Hamachi Trashing Linux Webhost change Firefly Allofmp3.com An important day Petals Around the Rose Authentication Hard disk crash SortSize Moviepig Done First post