Programming Leftovers
-
James G ☛ Making my bookshelves clickable
You can make regions of an image clickable with a number of techniques, from overlyaing an SVG that contains onclick JavaScript handlers all the way to using image maps. I love this idea. I started to think about how I could create an image of my bookshelves that you could click to learn more about each book I am reading. This would be more engaging than a traditional list of text.
-
James G ☛ Know your model outputs while writing logic
Earlier today, I was working on a computer vision project. I trained a model to identify and distinguish between different chocolates in a box. With this model ready, I wanted to be able to verify that every chocolate was in the right place. I tested the model to make sure it could accurately identify chocolates in an image. But, my testing was limited; something that would come back later. I wrote logic that worked on one input but not another. So I changed my inputs. In the process, I forgot an important rule: check your model outputs.
-
Jim Nielsen ☛ Zero to Unmaintainable in 1.2 Commands
But there’s little to no mention of what comes after that. Buyer beware:
"it’s possible you’ve [generated] something way past your ability to maintain."
This resonates. And it got me thinking.
-
Linus Åkesson ☛ Live at Fjälldata 2024
Mahoney (of Mahoney & Kaktus fame) and I sat down to play some SID tunes at Fjälldata, the only demoparty I'm aware of that features a grand piano.
-
Björn Wärmedal ☛ Well Paying Jobs That Don’t Suck
A few days ago I did a web search for the query ”well paying jobs that don’t suck”. Yes, this is one of those stories about how web search sucks and the web is garbage nowadays.
-
Evan Hahn ☛ How to use crypto.timingSafeEqual with strings
Node’s
crypto.timingSafeEqual
only works with buffers. To make it work with strings, you should convert the strings to UTF-16 buffers and then pass them tocrypto.timingSafeEqual
.Here’s the code: [...]
-
University of Toronto ☛ 2024-02-15 Understanding a recent optimization to Go's
reflect.TypeFor
Go's reflect.TypeFor() is a generic function that returns the reflect.Type for its type argument. It was added in Go 1.22, and its initial implementation was quite simple but still valuable, because it encapsulated a complicated bit of reflect usage. Here is that implementation:
-
Ruben Schade ☛ Super Pascal, and does a dual Pi1541 drive exist?
I only just discovered there were versions of Pascal for the Commodore 64! I loved loved loved Pascal in school, even if it was the dodgy short-lived Abusive Monopolist Microsoft QPascal for DOS iteration of it. I even uploaded a crappy program I wrote as a kid into my lunchbox.
Super Pascal requires two 1541 disk drives; one for the development environment, and one for save data. This makes sense; unlike Commodore BASIC in ROM, this has to exist elsewhere.
-
Rlang ☛ Tame your namespace with a dash of suggests
You can read the original post in its original format on Rtask website by ThinkR here: Tame your namespace with a dash of suggests
-
Godot Engine ☛ GPU synchronization in Godot 4.3 is getting a major upgrade
Say goodbye to placing barriers, hello to the new acyclic graph
-
Python
-
Seth Michael Larson ☛ Challenges while building SBOM infrastructure for CPython
Part of the project is intended to document the challenges that the project faced to start publishing first-party SBOM documents alongside release artifacts. Yesterday I gave a presentation to the OpenSSF SBOM Everywhere SIG, the slides are available in Google Drive, but I'll be summarizing the discussion here:
-
-
Shell/Bash/Zsh/Ksh
-
Idiomdrottning ☛ lspls
Creating zshbrev kinda stopped my releasing of apps into a halt because now instead of making a whole app I’ll just add a few lines to .zshbrev/functions.scm, usually hardcoding paths and variables too just because that’s simpler.
-