Programming Leftovers
-
The New Stack ☛ 8 Free Tools Every Web Developer Should Know
Are you a web developer, or are you starting out on your quest to become a web developer?
-
Xe's Blog ☛ Amazon's Hey Hi (AI) crawler is making my git server unstable
Please, just stop.
-
Sean Goedecke ☛ Thinking clearly about software | sean goedecke
You can go a long way as a software engineer without ever managing to think clearly. The feedback loop of writing and running code is so immediate that we can often get by with trial-and-error.
-
James G ☛ Pattern: Lazy loading
One of the programming patterns I have seen used in several contexts over the last year is lazy loading.
-
Daniel Xu ☛ Flaky tests, or: why not to ignore mysteries
I spent a few weeks earlier this year tracking down a set of flaky end-to-end tests where bpftrace would occasionally cease to print output. I had gotten as far as figuring out std::cout had badbit set after a write but had run out of ideas on how to debug it. At the time, because I could not reproduce it locally, I had assumed it was an oddity with pipes and CI and given up.
Except bugs never go away. They only lay dormant.
-
Rlang ☛ Flowcharts made easy with the package {flowchart}
Fortunately, there are several packages in R for drawing flowcharts using different approaches. The problem is that the programming is generally quite complex, and the numbers have to be entered manually or parameterized beforehand. These flowcharts can have reproducible problems because if data changes, we have to manually change the parameters again.
To make our lives easier, there’s a new {flowchart} package that uses the tidyverse workflow, which allows to create many different types of flowcharts in just a few steps.
-
Noë Flatreaud ☛ WebAssembly is turning 10 this year
As WebAssembly (WASM) celebrate its 10th anniversary this year, I just found out that despite being bullish on it, I never really deep dived its assembly language.
Now is better than ever to break it down ;
-
Lewis Campbell ☛ How I think about Zig and Rust
These I think miss the big picture; Zig and Rust come from completely different contexts.
-
Python
-
SANS ☛ New tool: immutable.py, (Sat, Jan 18th)
When performing triage on a GNU/Linux system you suspect might be compromised, there are many aspects of the system that you may want to look at.
-
-
Java
-
Bozhidar Batsov ☛ A Simpler Way to Deal with Java Sources in CIDER
For ages dealing with Java sources in CIDER has been quite painful. Admittedly, much of the problems were related to an early design decision I made to look for the Java sources only in the classpath, as I assumed that would be easiest way to implement this. Boy, was I wrong! Countless of iterations and refinements to the original solution later, working with Java sources is still not easy. enrich-classpath made things better, but it required changes to the way CIDER (nREPL) was being started and slowed down the first CIDER run in each project quite a bit, as it fetches all missing sources at startup. It’s also a bit trickier to use it with cider-connect, as you need to start nREPL together with enrich-classpath. Fortunately, my good friend and legendary Clojure hacker Oleksandr Yakushev recently proposed a different way of doing things and today I’m happy to announce that this new approach is a reality!
-
-
Standards/Consortia
-
MIT Technology Review ☛ We need to protect the protocol that runs Bluesky
Just like email, Bluesky sits on top of an open protocol, in this case known as the AT Protocol. In practice, that means that anyone can build on it. Just as you wouldn’t need anyone’s permission to start a newsletter company built on email, people are starting to share remixed versions of their social media feeds, built on Bluesky. This sounds like a small thing, but think about all the harms enabled by social media companies’ algorithms in the last decade: insurrection, radicalization, self-harm, bullying. Bluesky enables users to collaborate on verification and moderation by sharing block lists and labels. Letting people shape their own experience of social media is nothing short of revolutionary.
And importantly, if you decide that you don’t agree with Bluesky’s design and moderation decisions, you can build something else on the same infrastructure and use that instead. This is fundamentally different from the dominant, centralized social media that has prevailed until now.
-
Ted Unangst ☛ new year new rules new lines
We have a new edition of POSIX, which means new rules, new regulations, new red tape. But not new lines. Which is to say, posix at long last banishes new lines in file names.
Implementation seems straighforward, but like my mechanic says, it’s $1 knowing what to check and $99 knowing where to check.
-