Listening to Satellites with my Raspberry Pi
Hello!
For Christmas, someone gifted me a GPS receiver for my Raspberry Pi. I recently used it to learn about and listen to the 31 active GPS satellites above your head.
Read more in Listening to Satellites with my Raspberry Pi.
Work log
First, work-work as in my day job at tails.com.
I’ve been putting more effort into making sure my team’s services and features are observable. This means using tools like: Sentry to capture data about exceptions and pipe them to our alerts Slack channel, DataDog to capture logs and build a one-page dashboard where we can check if things are healthy — and if the graphs are unhealthy then it posts a message in our alerts Slack channel.
We also use CloudWatch for some services. These alarms also go to our Slack alerts channel (but they also go to #engineering-incidents and an on-call engineer will be alerted).
If it sounds like a lot of messages are being posted to our alerts channel: you’re right. That’s why we recently put effort into cleaning up old errors (or silencing low-levels of ‘expected errors’ — e.g. we know some third-party services will be down occasionally but as long as it’s less than X times per week, don’t alert us). Basically, making the channel as silent as possible, so that when a new alert message arrives, we know it should be looked at. Our process for when something new pops up is to tag the message with an emoji of our face and do a quick investigation so it can be triaged.
My team deploys a lot of A/B Tests. We’ve also been observing those. When we put experimental work in front of customers, it’s important that we know how long these pages take to load (we’re more interested in the back-end as the front-ends tend to be quite light). We don’t want to have to heavily optimize for a test because the work might be thrown away if the test loses. At the same time, it’s good to know that we’re not making customers wait for 10 seconds before they can click to the next page.
The result of all of this is that we have more confidence that things are working. I feel safer deploying things. However, I also now worry that we’re making too many graphs but what are ya gonna do; I’m a worrier.
(we’re hiring btw — happy to refer you)
Personal work log
Apart from the Pi dashboard at the top of this newsletter, I’ve also been triaging issues as they come in for my other open source work e.g. my chess engine.
I’ve been helping friends prep for tech interviews and I’ve been playing chess.
Most of all: I’ve been playing GeoGuessr daily with my wife. We play for keeps now. Our personal best for the Daily Challenge is north of 24k and we place well in the Battle Royale Distance matches we play. Often, we get side-tracked by reading about countries that we didn’t even know existed.
Country flags? I know ‘em. International telephone codes? I know some of ‘em. If you put me on a street in Europe there’s a high chance I know where we are (apart from Hungry — I always mess up Hungry).
Projects to watch
A new section for this newsletter.
SerenityOS is doing interesting things. Especially with the announcement that the creator Andreas Kling is going full-time on it.
hashart “an experiment in turing SHA-256 hashes into pixels” — a project with less scope than an operating system but still doing very cool things.
maverick, a new web IDE and REPL for the Ink programming language. I’m always a fan of Ink things.
Don’t forget that email replies to this newsletter go straight to my inbox!
Andrew 👋