Archive for the ‘C’ Category
Posted by jpluimers on 2026/08/06
[Wayback/Archive] memory spy
It is universal for most other programming languages too as explained in [Wayback/Archive] New playground: memory spy
why is it useful to look at C?
You might be wondering – I don’t write C! Why should I care how C programs represent variables in memory?
In this playground I’m mostly interested in showing people how integers and floats are represented. And low-level languages generally all represent integers and floats in the same way – a 32-bit unsigned int is going to be the same in C, C++, Rust, Go, Swift, etc. The exact name of the type is different, but the representation is the same.
In higher-level languages like Python it’s a little different, but under the hood a float in Python contains a C double, so the C representation is still pretty relevant.
Via
Read the rest of this entry »
Posted in C, Conference Topics, Conferences, Development, Event, Software Development | Leave a Comment »
Posted by jpluimers on 2026/08/05
20260805: edits as since scheduling, some links suffered link rot and a new tool appeared.
For my link archive because – for offline usage – sometimes Windows XP is still useful to run tools that have never been made compatible with less ancient hardware/software combinations.
The xp_activate32.exe mentioned below emulates the phone-activation response and is the important bit for me as I can re-use existing Windows XP license keys that I already have.
The WindowsXPKg generates new Windows XP license keys.
Read the rest of this entry »
Posted in C, C++, Development, Power User, Software Development, Windows, Windows Development, Windows XP | Leave a Comment »
Posted by jpluimers on 2026/08/04
I forgot to schedule this post, but it was great news: a 50+ year old Unix V4 tape that was discovered in November 25 and digitally restored in December 25.
This was a big step forward in restoring the History of Unix.
There was a lot of coverage, but I think this thread was was the coolest part. It starts at [Wayback/Archive] Rob Ricci: “While cleaning a storage room,…” – discuss.systems.
An archive of the tape is now at for instance UNIX V4 tape from University of Utah (raw) : Computer History Museum : Free Download, Borrow, and Streaming : Internet Archive.
Not just the tape was found back, also the 1974 letter accompanying it: Letter to Martin Newell on UNIX delivery to University of Utah : Ken Thompson : Free Download, Borrow, and Streaming : Internet Archive.
If you want to play around with it yourself, then try [Wayback/Archive] UNIX v4 (1973) – Vintage Terminals (which I found through the thread I mentioned above).
Two of the many articles that covered the recovery (pun intended):
Read the rest of this entry »
Posted in Software Development, Development, Power User, History, *nix, C, Retrocomputing, Unix | Leave a Comment »
Posted by jpluimers on 2026/03/03
A few years back I tweeted [Wayback/Archive] Jeroen Wiert Pluimers @wiert@mastodon.social on Twitter: “@b0rk @jilles_com Acids vs bases.”

It was a kind of tongue-in-cheek reaction (with a way better picture below) to a very valuable post by b0rk (Julia Evans) on both Twitter and Mastodon [Wayback/Archive] Julia Evans on Twitter: “bases” / [Wayback/Archive] Julia Evans: “bases title: bases # we usually…” – Mastodon for two reasons:
- There are various interpretations of bases
- Octal is very important to educate as errors introduced by its support are hard to spot even if you do know about octal.
Back to Julia’s post:
Read the rest of this entry »
Posted in *nix, *nix-tools, 68k, 8086, Assembly Language, bash, bash, C, C++, Chemistry, Conference Topics, Conferences, Development, EPS/PostScript, Event, Haskell, History, Java, Java Platform, JavaScript/ECMAScript, Jon Skeet, LifeHacker, Mathematics, PDP-11, Perl, PHP, Power User, Python, science, Scripting, Software Development, x86 | Leave a Comment »
Posted by jpluimers on 2025/12/24
Before Firebird version 1.0 got released, a gaping security hole that InterBase introduced in 1994 before InterBase 6.0 (mostly written in C) got open sourced in 2000 was detected by the team that frantically tried the Firebird fork to first get building on various platforms, then released.
It had a maximum CVSS score of 10.0 because it could access the security database in read/write mode, thereby allowing adding users with SYSDBA privileges.
The detection is now about 25 years ago; on 20260109 the publication (by IBPhoenix) of the bug will be 25 years ago too.
So below are some links, including the original InterBase 6 source which was hard to find as the attachments of the original release links had not been archived in the Wayback Machine.
But first some of the code parts, which also shows the source file I did find back:
Read the rest of this entry »
Posted in C, Database Development, Development, Firebird, History, InterBase, Software Development | Tagged: define | Leave a Comment »
Posted by jpluimers on 2025/11/29

Besides the August 2025 XKCD infrastructure dependency inspired cartoon on the right, the more recent and great [Wayback/Archive] XCKD: Dependency derivative below is a monumental piece as it combines the recent:
- fiber outage of the Internet Archive
- DoS of Cloudflare by itself
- AWS us-east-1 dependencies outage
- Crowdstrike DoS of Windows machines
- framework-du-jour mentality in the JavaScript world
- many more¹
Image [Wayback/Archive] 36247840bf294a9d.png (1080×1389) from [Wayback/Archive] xyla 🐀🪇: “someone pls alt text this shit…” – buy shitpost cheap:
Read the rest of this entry »
Posted in *nix, Amazon.com/.de/.fr/.uk/..., AWS Amazon Web Services, C, CDN (Content Delivery Network), Cloud, Cloudflare, cURL, Development, Fun, Hardware, Infrastructure, ISP, JavaScript/ECMAScript, Network-and-equipment, Node.js, npm, Power User, Rust, Scripting, Software Development, Web Development | Tagged: Meme, ProgrammerHumor | Leave a Comment »
Posted by jpluimers on 2025/11/25
The libc C standard library memcpy function is very fast, but because of that also very dumb and with a list of circumstances where its behaviour is undefined (a great opportunity to introduce vulnerabilities in your code). The specs of those are in [Wayback/Archive] memcpy, memcpy_s – cppreference.com, including:
The behavior is undefined if either dest or src is an invalid or null pointer.
With C compilers becoming smarter and smarter, their optimisations can hide the fact that you call memcpy with parameters causing undefined behaviour.
This is a nice example of that: [Wayback/Archive] Fix a crash trying to save an empty AudioStream by hpvb · Pull Request #100422 · godotengine/godot · GitHub
The change is relatively simple, but hardly shows why the change is there. Only one line got changed in [Wayback/Archive] Fix a crash trying to save an empty AudioStream by hpvb · Pull Request #100422 · godotengine/godot · GitHub
Read the rest of this entry »
Posted in C, Development, Software Development | Tagged: 100422, 97720, 97790 | Leave a Comment »
Posted by jpluimers on 2025/09/10
[Wayback/Archive] What Every Programmer Should Know about How CPUs Work • Matt Godbolt • GOTO 2024 – YouTube
Main takeaways for me:
- CPU pipelines have grown a lot longer than I was aware off
- there are many more internal registers than I was anticipating
- clever ways to convert if statements to non-jumps
--jeroen
Posted in .NET, Assembly Language, C, C#, C++, Delphi, Development, Python, Scripting, Software Development | Leave a Comment »