news
Programming Leftovers
-
Veit Heller ☛ Simple Sudoku Solvers SIII, EII: Assembly
Season three is about solvers, specifications, and constraints, and assembly might seem like the odd duck. But I think it fits!
After a proof assistant that checks everything, it’s worth looking at what’s left when nothing is checked, and nothing is proven.
-
UNIXdigest ☛ Only the bad part of the software industry has been disrupted
The reason why many people become so angry is because deep down they know very well that what they are doing is bad engineering, or maybe they don't know, but because they follow the hype, they believe that what they are doing must be right, because, well, the majority is doing the same. They cannot defend their choices rationally, instead what you get is a strong emotional reaction to criticism.
Still, some people don't care. And this is mainly the business owners, stock holders and managers, they do the thing they do because their main focus is profit. As such they only (or mainly) want rapid development and rapid deployment. They couldn't care less about "correct software engineering" or "security" or anything else that takes up extra time and requires consideration and deep thought. Some people admit that openly while others lie, scam and cheat, perhaps only pretending to care.
-
Erik Thorsell ☛ Why is GitOps so good?
I have done my fair share of tinkering. Poking around in servers and fixing things; iterating through and trying different settings until it finally worked; not to mention clicking around in various cloud portals, only to realise I have no idea how I ended up with the deployment I now have in front of me… “At least it works”, some might say and be content, but not me. What if I need to do this again? Or what if something stops working and I don’t remember exactly how things were configured and therefore cannot see what changed?! Documentation is good (when it’s accurate, unambiguous, and kept up-to-date – which it seldom is) but do you know what’s even better?
-
Artyom Bologov ☛ My Perfect Scheme
So I have recently picked up Scheme. I like it! While it’s not as featureful as Common Lisp, it wins by being really sane and simple. In fact, a basic implementation can take as little as 6KLoC of C!
But there are some things that I want in my perfect Scheme. Sometimes just as a development of already existing themes. Sometimes some really unconventional things. My perfect Scheme might not rhyme with yours, but let’s agree to disagree. My perfect Scheme is: [...]
-
[Old] Elias Ebner ☛ Why C Strings Suck And How I Fixed Them
I have always been frustrated about C not having a proper String type that most modern languages have nowadays. I love the simplicity of C, but there are some features that I would really like to have in it, and this is one of them.
Since I made a small library (just one .c file) that you can use to make the experience of working with strings in C just a little better, I would like to show it to you here.
For the impatient, this is the general idea: [...]
-
OpenCanopy Gmbh ☛ Everyone is doing Git on S3 wrong
tl;dr: At Enroute, we have built a new kind of git server that is based on modern database principles, written in Rust and backed by object storage. In our testing, we’ve been able to achieve 7,600+ concurrent pushes per second on a single repository at millisecond latency; more than an order of magnitude faster than existing solutions, while delivering clone/fetch performance on par with exclusively disk-based architectures. We are making this available as open-source, programmable git infrastructure to unlock new possibilities for agentic coding at scale as well as bringing version control to more platforms and products.
-
Perl / Raku
-
Perl ☛ NetAddr::IP 4.080_05: Please Smoke Test
NetAddr::IP 4.079 was released in 2016 and has sat there since. I have started working on it recently, and 4.080_05 is the fifth trial release since. It is on CPAN now, and the tarball is ready for you to install!
Most of what changed is a matter of course: about a hundred fixes to bugs and to documentation that had drifted from the code, and a set of three breaking changes that fix behaviour the documentation said should not happen. NetAddr::IP is now MIT licensed, was dual licensed under GPL v2 or the Artistic License, and deprecations collected under one heading are going in version 5.
-
-
Shell/Bash/Zsh/Ksh
-
Erik Thorsell ☛ Automate everything and document why - Erik Thorsell
I have carried this table in my mental hip pocket, always ready to show a doubting customer or team member how much time we can save if we automate a specific task.2 However automation is not solely about saving time. I would even argue that the time saved by running an automation, instead of doing the automated tasks manually, is just a positive side effect of the automation.
"The primary reason to automate something is not to save time, it is to codify knowledge and ensure reproducibility."
As an example, the table tells us the following: [...]
-
-
GNU Projects
-
Medium ☛ Reclaiming Freedom: Who Holds Veto Over Your Data Stack
Unix makes a great analogy for enterprise data platforms today. They work. Genuinely. That’s precisely what makes the control so dangerous. The better they are, the deeper the dependency, and the deeper the dependency, the less theoretical the risk becomes.
Stallman understood that software freedom isn’t about ideology, but more about who has veto power over your work. When a vendor can change pricing, deprecate an API, or simply cease to exist, that veto lives with them. You are building on borrowed ground.
-