news
Programming Leftovers
-
Raspberry Pi ☛ Iris colour detection with Raspberry Pi
For the majority of people, just checking in the mirror and recognising your eye colour is fairly simple. Our brains are able to process that information pretty easily. How would a computer do it, though? If you read our magazine, chances are you already have a half-formed answer in your head based around computer vision. Srikrishna Karthick, a student currently working for the Indian Space Research Organisation (ISRO) on their thesis, already has the answer for you.
-
Andreas Farre ☛ Tracing algorithms through web specifications | farre’s blog
A bug comes in, or someone shows me a page doing something surprising, and the question is always the same one. Is that what the spec says? Not what we all assume it says, and not what Gecko happens to do, but what the algorithm actually does when you follow it step by step. So I open html.spec.whatwg.org, find the entry point, and start reading. Twenty tabs later I have usually lost the thread.
This isn’t an occasional chore. I do it when I’m implementing something new, when I’m working out whether a Gecko bug is a bug in Gecko or a bug in the spec, when I’m reviewing a spec change someone else has proposed, and when I’m trying to design something that has to fit alongside everything that already exists. Four fairly different jobs, and every one of them comes down to the same mechanical work. Start at an algorithm, follow the calls, keep track of where you’ve been.
-
Assaf Arkin ☛ Weekend Reading — The Stalk Market — Labnotes (by Assaf Arkin)
Karel Titeca "Richard Scarry already summarized everything there is to know about cyber security, about 50 years ago."
-
Uwe Friedrichsen ☛ The essence of architectural work - Part 5
Before we discuss the activities that make up architectural work, let us first briefly revisit the two “laws of architerctural work”. As stated in the referenced blog post, they are not so much actual laws but rather “hard-won findings”. The first law is:
"Every decision has its price. No decision is for free."
This means that there is no free lunch in architectural work. Every decision has some up- and some downsides. There is no “right” or “wrong” in architectural work. There are only more or less suitable decisions 1. Thus, no matter what some people try to make you believe (usually to buy their products or services), rest assured that their “perfect” architectures are not perfect. They just decided to hide the downsides of the decisions they made.
-
The Code That Saved the Moon Landing
Imagine the silence in Mission Control on July 20, 1969. The entire world held its breath, watching a grainy black-and-white feed of a dusty lunar surface rushing toward a fragile spacecraft. All eyes were on Neil Armstrong and Buzz Aldrin. But in the back of everyone's mind, a terrifying question loomed: What if the software fails?
[...]
When you encounter a bug that refuses to budge, remember that her team debugged complex asynchronous systems using pencil marks and continuous-feed paper. When you feel overwhelmed by imposter syndrome, remember that she was a young mother bringing her daughter to work, proving that you don't have to choose between having a family and changing the world. When you feel like your voice isn't loud enough to be heard over the industry noise, remember that her quiet, methodical leadership silenced the alarms of a global crisis.
And when you worry that your contribution is just "one small part" of a larger machine, remember that a single lone genius didn't save the Apollo mission - a team saved it. A team she built, mentored, and guided with an unshakable belief in the power of preparation.
If a 32-year-old woman with a stack of printouts, a radical belief in "software," and a collaborative team of brilliant minds could outsmart the vacuum of space and put humanity on the moon, imagine what you can do with the supercomputers in your pocket and the fire in your heart.
The world doesn't just need more women in STEM. The world needs you: your code, your logic, your creativity, and your persistence.
Go ahead. Reach for your moon. The software is ready - and so are you.
-
Python
-
Paolo Melchiorre ☛ DjangoCon US 2026
UUIDs have been part of my Django story since my first contribution to the project, when I worked on database-side RandomUUID generation for UUIDv4 generation during the sprints at DjangoCon Europe 2017 in Florence. In this talk I follow that story up to the new UUIDv7 support, showing how Django now exposes UUID generation across database backends and why newer UUID versions can be useful in real applications.
-
Lalit Maganti ☛ PyTorch profiles are going to look much better in Perfetto
The same trace is now far more compact and readable. This still cannot reconstruct information missing from the trace, but it is at least a much better visual guess.
-
Juha-Matti Santala ☛ O is for ORM - Python A to Z
Last year when I gave a talk Love Letter to Django in a local meetup, my main thread was about its ORM (Object–relational mapping) and a few things it enables.
I’m a big fan of ORM as a model: abstracting the database layer behind models that model the business logic of your application rather than writing raw SQL at the end of every function call path makes writing program logic way more enjoyable.
Here’s a small excerpt from one of my apps.
-