2025-03-28
Things you may have missed in March, or my monthly(ish) linkblog
Articles
- Avoid the nightmare bicycle, stop hiding your underlying infrastructure and give users the ability to build a clear model in their heads
- Hierarchy of Hazard Controls (or how to stop devs from dropping prod) is a good introduction to the topic and applies it to devops. The failure to apply this was also highlighted in a recent Marine Accident Investigation
- Infinite Canvas encourages us to use virtual whiteboards instead of traditional note apps. Personally I really like this approach as the landing page for a team's documentation
- Life Altering Postgresql Patterns or just some tips on designing your tables
- Mid-conditional love talks about (un)conditional love isn't a binary, it's a spectrum
- Traefik TLS configuration
- Weird but useful charts
Tools / Websites
- bearlytics is a straightforward web analytics tool that helps you understand your website traffic without selling your soul to the tracking gods. No cookies, no PII problems, just the basics
- Redirector rewrite URLs in your browser based on regex patterns. For example rewrite all Twitter links to xcancel or all Reddit links to old.reddit.com
- Search Engine Party compares search engines in terms of privacy in a nice table. Maybe combine it with search engines with their own index
- TrainPlanner is an open-ended puzzle game where you have to create a safe, efficient and pretty rail network to let Miku deliver her leeks. It's important work!
- zk is my new pkm tool of choice at work, combined with a neovim plugin. No more needing a mouse, everything in the commandline
Music
- Dynamike @ Bangface 2022 (Often Pompen Takeover) is the perfect example of what I mean when I say silly music I can dance to. A great mix of weird mashups
- The Prodigy 1990-93 History Mix
- HITECH 180 BPM +
- aggressively sapphic pop bops
- Grimy Techno & Bass Mix in the Matrix | Boo Lean
- I Wish You Liked Girls
Videos
- How to Find Your Passion
- The only thing that stopped me from infinite scrolling clickbaity title, but a good video on one person's journalling approach
Passing exams with Obsidian
Just passed my RYA PPR exams! 🎉 Here's my winning study system using Obsidian that helped me succeed:
- Go through the course, making notes on each new concept. Copy/paste is fine at this stage
- While creating notes, create links to related concepts and re-read those
- The most important step - repeat the course. But this time you refine your notes into your own words, linking to source materials as necessary
It's that final step that really helps you prepare for the exam. Not only does repeating the course really help with memorisation, but re-writing your notes in your own words is what really helps ensure you actually understand the meaning
Bonus Tip: For exams requiring rote memorisation (like IRPCS lights/shapes in Day Skipper), add flashcards to your routine. While Obsidian supports this, I found Anki's algorithms superior for spaced repetition. Explaining concepts to others - even imaginary ones! - reinforces learning dramatically. What's your favorite study technique? Share your success stories in the comments below! 📚✨
Maritime Safety → DevOps Lessons
Yesterday's dramatic oil tanker collision off the Yorkshire coast highlights critical parallels between maritime safety and DevOps practices. Here's what we can learn:
The Stena Immaculate was anchored overnight, awaiting a berth to be able to unload. There were several other large ships in the same area doing the same thing, but all outside of the charted anchoring area. Documentation drift leads to compliance and safety issues
The Solong cargo ship was steaming down the east coast of the UK following the same route that the crew had done many times. The crew will have assumed that this journey would be exactly the same as the previous ones. Be aware of complacency and test your assumptions
Because the Solong cargo ship was sailing through a busy area, the crew will most likely have reduced the sensitivity of alarms. Whilst that is perfectly fine to do, it requires maintaining a good lookout. If you turn off alarms during some of your processes, monitor the situation using other methods
After the collision, distress calls were immediately made, a well-rehearsed process kicked in, and nearby teams immediately responded to the call. Make sure your incident management processes are documented and tested, and be ready to support other teams without getting in the way. Well-documented processes enable swift action
It will be many months before we hear from the Marine Accident Investigation Board about exactly what happened here, but they will have been informed as soon as possible by either the captains or the most senior survivor. Make it easy for engineers to report incidents through a simple form and have processes in place to both review incidents and disseminate the findings so that other teams can learn from them
- What similar analogies have you discovered between other industries and DevOps?
- How do you currently handle system monitoring when certain alerts must be disabled?
- What incident response protocols could be strengthened in your current workflow?
Infrastructure updates for wheresalice.info
- migrated my main site to European hosting, a European dns provider, and removed the dependency on Cloudflare. It is still a .info domain though, which does depend on the USA
- added HTTP/3 support to subdomains serving dynamic content
- added HTTPS records for wheresalice.info (which means it theoretically works in IPv6 on modern browsers, but probably doesn't)
Why can't we support IPv6 for legacy browsers and other applications? A very good question
- RFC2181 says we can't use a CNAME for the apex. Specifically, it can't be used in combination with NS and SOA records (and historically MX records)
- AAAA records exist for the hostname we would CNAME to but aren't documented as being usable by the hosting provider
- ALIAS records aren't a real thing, they just dynamically return the relevant A/AAAA records. This is a problem because the nameservers would all need the private keys for dnssec signing
Let's hope that HTTPS records become more widely used
Failing to find music on the fediverse
Inspired by Martin's 38C3 talk on search engines I spent some time today taking up the idea of using Mastodon's trending links API to see if I could find some interesting music-related links.
I did this by fetching https://www.fediverse.to/data/dataset.js and stripping the javascript to turn it into json and then extracting just the mastodon hosts with a "music" category:
cat dataset.js | jq -r '.[] | select(.cat[] | contains("music")) | select(.sw=="mastodon") | .url' > hosts
I then looped through all 82 hosts to fetch "https://%s/api/v1/trends/links"
Of the 82 hosts, only 15 had any links. And none of the links were music related, most were popular news stories.
It was a nice idea, but it looks like you'd have to actually crawl the instances to collect links if you want anything other than the popular sites.
hacky go code if you want to replicate - https://pb.envs.net/?264dc776fc8d4a69#H2wQEFt8fcGPSvRWmekigHuHqbSb8CABwd69FzKsatsP
2025-01-01
Things you may have missed in December:
- HOPE (Hackers Of Planet Earth) is now annual, next conference August 15-17, 2025
- Ghostty (a new terminal emulator) had their first public release
- 38C3 Chaos Computer Club Congress happened and videos of the talks are already online
- My 2024 Soundcloud Playback
- I guess I have a blog again now?
- And a matrix account
@wheresalice:envs.net
?