Programming/Development and Licensing Leftovers
-
Hackaday ☛ Misconceptions About Loops, Or: Static Code Analysis Is Hard
When thinking about loops in programming languages, they often get simplified down to a conditions section and a body, but this belies the dizzying complexity that emerges when considering loop edge cases within the context of static analysis. A paper titled Misconceptions about Loops in C by [Martin Brain] and colleagues as presented to SOAP 2024 conference goes through a whole list of false assumptions when it comes to loops, including for languages other than C. Perhaps most interesting is the conclusion that these ‘edge cases’ are in fact a lot more common than generally assumed, courtesy of how creative languages and their users can be when writing their code, with or without dragging in the meta-language of C’s preprocessor.
-
Gergely Nagy ☛ Preservation, posterity, pain
Now you can marvel at some of the horrors I made way back when. There are some interesting bits of history hidden in these archives, but finding them… that is going to be left as an exercise for the reader.
-
Juha-Matti Santala ☛ Different ways I start writing new code
I’ve been to a bunch of technical job interviews this year and one of them sparked me to think about different practical approaches I have for starting new code. It sparked those thoughts mainly because I did a rather bad job with it during that interview (but managed to pull myself together towards the end). Didn’t end up getting an offer though.
Here are my five approaches. I don’t have a good framework for when I choose one but I usually end up starting with one of these.
-
Tim Bray ☛ Q Numbers
This is yet another entry in the Quamina Diary series of blog posts. Quamina is a Go-language library that allows you to compile a bunch of “Patterns” together and, when presented with “events”, i.e. JSON data blobs, inform you which (if any) of the Patterns match each event, at a speed which is high (often millions/second) and only weakly related to the number of Patterns in any Quamina instance.
-
Jamie Brandon ☛ Baby's second wasm compiler
The zest compiler today is ~4500 loc with no dependencies except the zig standard library. It generates really obvious wasm with minimal optimizations, but aims to do so pretty quickly. The architecture is based heavily on heavily on zig's data-oriented architecture so I'm hoping to get similar compile times to zig's experimental debug backends (after catching up with the low-hanging optimizations like interning types and identifiers).
Nothing in this post is particularly novel, but it is pretty different to what you'll find in a standard compiler textbook. Six months ago I didn't know where else to look so maybe this post will save someone else some time.
-
Standards/Consortia
-
Olimex ☛ Helium Meteo project uses BB-STM32WL-ANT and MOD-BME280 to measure and transmit Temperature, Humidity and Pressure via Helium LoRaWan
Dimitar Dimitrov published on GitHub battery powered Meteo station made with just BB-STM32WL and MOD-BME280 which measures temperature, humidity and pressure and send them via Helium LoRaWAN.
-
-
Licensing / Legal
-
Perma ☛ FLOSS For Software Longevity
Free/Libre and Open Source Software (FLOSS) is a captivating realm within software development. What makes FLOSS particularly intriguing is its deviation from conventional business goals, leading to planned longevity and a distinct approach to sustainability.
-