Handling .local hostnames - multicast DNS
DNS is great. Having to remember IP addresses sucks.
Being able to plug in a device to my home network, give it a name, then be able to reach it as $name.local
? That’s great.
(One day I’ll set up local authoritative DNS but realistically that’s unlikely to happen soon)
How does that work though? And what do you do when it doesn’t?
Taking A Break
Altered Carbon
Based on Richard Morgan’s book of the same name, Netflix’s Altered Carbon is “dystopian science fiction cyberpunk” that looks at life, thrills and crimes in a world where bodies are just “sleeves”, and consciousness is stored in a small disk embedded in the spine.
It’s dark, it’s graphic, and it’s gripping.
Image Metadata, GPS Location, Exif Tags and Privacy Leaks
Images can contain metadata. This is useful for things like “when was this photo taken?” or information about the camera, or a text description of what the image contains.
Many cameras (e.g. your iPhone) will include GPS coordinates of where the photo was taken. This is useful for things like “where were we when we had that amazing pizza?” or “where was that beautiful sunset??”.
This is much more problematic when the selfie you just shared includes the precise location of your home.
Burnt Pi - Exciting Spontaneous Hardware Failure
“Do you smell burning?”
“No,
doismellburning
”“No, really, what’s that smell??”
Turns out the Raspberry Pi that ran my home automation hub had kicked the bucket, shuffled off its mortal coil, run down the curtain and joined the choir invisible - in a rather hot and fragrant fashion!
Sigal - Simple Static Gallery Generator
Sigal is yet another simple static gallery generator
You give it a directory of photos, it spits out HTML/CSS/JS for a nice static gallery you can point a browser at.
Connect Together Your Smart Home With Home Assistant
From my smart home user-stories:
For my home, I want a centralised abstracted event hub for connecting sensor/actor devices together, so I can separate “automation logic” from “interfacing code” – even better if the interfacing code is done for me!
Home Assistant handles this nicely.
Previously I’d been wiring things together in a very ad-hoc fashion. My “smart doorbell” had the logic to connect to Slack and SES to send me notifications, my cameras had similar logic replicated, et cetera. Event-handling and automation code lived on each device, and coordinating and managing it all was a pain.
Enter Home Assistant, which acts as a generalised abstraction layer and centralised event-bus between all the things.
You tell it about your devices (“components” - it has support for nearly a thousand), it provides you with a nice interface for manual control, and powerful but easy-to-write “automations” to hook everything together.
Packaging Django with Docker
I love Docker as a packaging system - almost everything I push to production nowadays is as a Docker image.
Occasionally in the #django
IRC channel, the topic of “how to Docker-ise your Django service” comes up.
Here’s a template Dockerfile
I use, taken from My Django Project Template:
2017 In Books
Some things I read in 2017, with some brief opinions/recommendations.
All categorisations are approximate at best and will probably cause some kind of contention.