Weeknotes 163
11th August, 2024
“Slow internet”
-
Greenfield, Brownfield… Blackfield? – Andy Hunt
One of the things that we always forget is that software development is a completely human endeavor. The programming languages, the container orchestration, the tech stack—all that is secondary. It’s all about us, as people. And people have both history and future.
-
Rectangle has served me well for many years, but since I’m using Raycast anyway, and it supports the same actions that I use in Rectangle, I thought it was worth relying on one less app, so I’m no longer using it 👋
-
Engineering for Slow Internet – Of course, the South Pole is an extreme environment, but the issues raised in this article do affect all of us, to a lesser extent, often.
From my berthing room at the South Pole, it was about 750 milliseconds, round trip, for a packet to get to and from a terrestrial US destination. This is about ten times the latency of a round trip between the US East and West coasts (up to 75 ms). And it’s about thirty times the expected latency of a healthy connection from your home, on a terrestrial cable or fiber connection, to most major content delivery networks (up to 25 ms).
Seriously, I can’t emphasize how jarring this is. At my apartment back home, on GPON fiber, it’s about 3 ms roundtrip to Fastly, Cloudflare, CloudFront, Akamai, and Google. At the South Pole, the latency was over two hundred and fifty times greater.
-
Elixir & Erlang’s new process labels! – Label Elixir processes to help identify them when debugging or observing.
-
The kitchen tap in our new place has a couple of problems: 1) it has been dripping since we moved in (and obviously much longer) which is very annoying in itself, and 2) it also has separate controls for hot and cold requiring us to carefully balance the two levers in order to not scold our hands like some sort of cave people.
This week I decided that I’d had enough and bought a new tap to solve these two issues. I fitted it myself, and to my (and perhaps your) surprise it went very well and worked first time. Result. I was quite proud of myself for not flooding the kitchen.
-
Apple are hiring a Senior Elixir Software Engineer – I don’t see many Elixir jobs advertised very often, so this was surprising and welcome to see.
-
I met with a couple of Rubyists in the local area this week because I’m keen to try and get a Ruby user group going. There used to be one, but keeping meetups going seems to require a fair amount of effort, and especially so after the COVID years. It’s the wrong time of year to try and get something going really what with holidays in full swing, but we will see.
-
Self-Healing LiveViews: Fun with LLMs and the BEAM – this is a fun experiment into using LLMs to automatically repair broken code at runtime.
-
Soft deletion with PostgreSQL: but with logic on the database! – this is very cool, I had no idea this was possible with Postgres.
So, how can we apply this particular approach to our problem? Actually, this is easily done: all we need to do is create a rule which changes the deletions to updates.
You can rewrite queries using rules stored in the database.
CREATE RULE "_soft_deletion" AS ON DELETE TO "orders" DO INSTEAD ( UPDATE orders SET deleted = true WHERE id = old.id AND NOT deleted );
I’ve stayed away from logic in the database since my Microsoft SQL Server days (where it felt like too much logic was stored in the database) but this is undeniably cool.
-
Impostor Syndrome: Why I felt like a fraud, and how I overcame it
Don’t stop striving, just stop holding yourself to an impossible standard, and don’t worry what other people think.
They’re not thinking about you at all.
-
Maybe there is something to learn about creative pursuits from Josh Homme.
When you expect anything from music, you expect too much. So, you play for yourself, you play to enjoy it, and you make the most it, for you. Period.
Whenever I want to build something I always have the other in mind. What will they think? Will they like it? Will I be loved for it?
Perhaps it is enough to just make it and enjoy doing so.