Full Width [alt+shift+f] FOCUS MODE Shortcuts [alt+shift+k]
Sign Up [alt+shift+s] Log In [alt+shift+l]
Top Categories > programming
#all #programming #history #technology #startups #life #science #literature #creative #architecture #design #travel #finance #comics #AI #indiehacker #cartography Muted Categories [alt+←][alt+→]
Jim Nielsen’s Blog
Setting Element Ordering With HTML Rewriter Using CSS After shipping my work transforming HTML with Netlify’s edge functions I realized I have a little...
a month ago
25
a month ago
After shipping my work transforming HTML with Netlify’s edge functions I realized I have a little bug: the order of the icons specified in the URL doesn’t match the order in which they are displayed on screen. Why’s this happening? I have a bunch of links in my HTML document,...
Tony Finch's blog
clamp / median / range Here are a few tangentially-related ideas vaguely near the theme of comparison operators. comparison...
a month ago
32
a month ago
Here are a few tangentially-related ideas vaguely near the theme of comparison operators. comparison style clamp style clamp is median clamp in range range style style clash? comparison style Some languages such as BCPL, Icon, Python have chained comparison operators, like if...
Krzysztof Kowalczyk...
C++ engineering decision in SumatraPDF code SumatraPDF is a medium size (120k+ loc, not counting dependencies) Windows GUI (win32) C++ code base...
a month ago
25
a month ago
SumatraPDF is a medium size (120k+ loc, not counting dependencies) Windows GUI (win32) C++ code base started by me and written by mostly 2 people. The goals of SumatraPDF are to be: fast small packed with features and yet with thoughtfully minimal UI It’s not just a matter of...
elementary Blog
Supporting Disability Is Our Social Responsibility July is Disability Pride Month, an opportunity for us to consider how we’re serving our disabled...
a month ago
30
a month ago
July is Disability Pride Month, an opportunity for us to consider how we’re serving our disabled community and work on breaking down barriers to access. Last year we had the pleasure of being introduced to Florian—a fully blind cybersecurity enthusiast—and thanks to his feedback...
ᕕ( ᐛ )ᕗ Herman's...
Digital hygiene: Emails Email is your most important online account, so keep it clean.
a month ago
Alice GG
Building a container orchestrator Kubernetes is not exactly the most fun piece of technology around. Learning it isn’t easy, and...
a month ago
35
a month ago
Kubernetes is not exactly the most fun piece of technology around. Learning it isn’t easy, and learning the surrounding ecosystem is even harder. Even those who have managed to tame it are still afraid of getting paged by an ETCD cluster corruption, a Kubelet certificate...
Krzysztof Kowalczyk...
Bugs I fixed in SumatraPDF Unexamined life is not worth living said Socrates. I don’t know about that but to become a better,...
a month ago
23
a month ago
Unexamined life is not worth living said Socrates. I don’t know about that but to become a better, faster, more productive programmer it pays to examine what makes you un-productive. Fixing bugs is one of those un-productive activities. You have to fix them but it would be even...
Jim Nielsen’s Blog
An Analysis of Links From The White House’s “Wire” Website A little while back I heard about the White House launching their version of a Drudge Report style...
a month ago
32
a month ago
A little while back I heard about the White House launching their version of a Drudge Report style website called White House Wire. According to Axios, a White House official said the site’s purpose was to serve as “a place for supporters of the president’s agenda to get the real...
markround.com
AmigaGuide Reference Library As I slowly but surely work towards the next release of my setcmd project for the Amiga (see the 68k...
a month ago
35
a month ago
As I slowly but surely work towards the next release of my setcmd project for the Amiga (see the 68k branch for the gory details and my total noob-like C flailing around), I’ve made heavy use of documentation in the AmigaGuide format. Despite it’s age, it’s a great Amiga-native...
ntietz.com blog -...
That boolean should probably be something else One of the first types we learn about is the boolean. It's pretty natural to use, because boolean...
2 months ago
38
2 months ago
One of the first types we learn about is the boolean. It's pretty natural to use, because boolean logic underpins much of modern computing. And yet, it's one of the types we should probably be using a lot less of. In almost every single instance when you use a boolean, it should...
Krzysztof Kowalczyk...
Implementation of optimized vector of strings in C++ in SumatraPDF SumatraPDF is a fast, small, open-source PDF reader for Windows, written in C++. This article...
2 months ago
28
2 months ago
SumatraPDF is a fast, small, open-source PDF reader for Windows, written in C++. This article describes how I implemented StrVec class for efficiently storing multiple strings. Much ado about the strings Strings are among the most used types in most programs. Arrays...
David Heinemeier...
The parental dead end of consent morality Consent morality is the idea that there are no higher values or virtues than allowing consenting...
2 months ago
50
2 months ago
Consent morality is the idea that there are no higher values or virtues than allowing consenting adults to do whatever they please. As long as they're not hurting anyone, it's all good, and whoever might have a problem with that is by definition a bigot.  This was the overriding...
Words and Buttons...
Why learn about the golden-section search An interactive demo of bisection search and golden ratio search algorithms. There is also a...
2 months ago
35
2 months ago
An interactive demo of bisection search and golden ratio search algorithms. There is also a motivation to learn them both. Spoiler alert! One converges better, and the other has a better computational cost.
Krzysztof Kowalczyk...
Custom search UI in CodeMirror 6 and Svelte 5 CodeMirror 6 has @codemirror/search package which provides UI for searching within a document,...
2 months ago
28
2 months ago
CodeMirror 6 has @codemirror/search package which provides UI for searching within a document, triggered via Ctrl + F. In my note-taking application Edna I wanted something slightly different. This article describes how I implemented it. The UI went from: to: CodeMirror is very...
Quentin Santos
Reproducing Espressif’s reset circuit I recently discussed how Espressif implements automatic reset, a feature that lets users easily...
2 months ago
36
2 months ago
I recently discussed how Espressif implements automatic reset, a feature that lets users easily update the code on an Espressif microcontroller. There are actually more subtleties than a quick look would suggest, and I spent a fair bit of time investigating them. This article and...
Confessions of a...
Why This Old Python Performance Trick Doesn’t Matter Anymore A deep dive into Python’s name resolution, bytecode, and how CPython 3.11 quietly made a popular...
2 months ago
David Heinemeier...
Self-driving is finally happening I still remember how the car industry got all excited back in 2017 about how steering wheels would...
2 months ago
33
2 months ago
I still remember how the car industry got all excited back in 2017 about how steering wheels would soon be obsolete. Every concept car then was a living room on wheels, seats facing inwards. The self-driving revolution was imminent, they said. Well, it wasn't... but now it...
Krzysztof Kowalczyk...
Notion-like compact table of contents in JavaScript Large web pages, especially documentation, benefit from having a table of contents for navigating...
2 months ago
32
2 months ago
Large web pages, especially documentation, benefit from having a table of contents for navigating within document. This article describes how I implemented a compact table of contents for documentation page for my Edna note taking application as well as for this very blog. I was...
David Heinemeier...
Omarchy is out My latest love letter to Linux has been published. It's called Omarchy, and it's an opinionated...
2 months ago
104
2 months ago
My latest love letter to Linux has been published. It's called Omarchy, and it's an opinionated setup of the Arch Linux distribution and the Hyprland tiling window manager. With everything configured out-of-the-box to give you exactly the same setup that I now run every day. My...
Tony Finch's blog
Golang and Let's Encrypt: a free software story Here’s a story from nearly 10 years ago. the bug I think it was my friend Richard Kettlewell who...
2 months ago
42
2 months ago
Here’s a story from nearly 10 years ago. the bug I think it was my friend Richard Kettlewell who told me about a bug he encountered with Let’s Encrypt in its early days in autumn 2015: it was failing to validate mail domains correctly. the context At the time I had previously...
Krzysztof Kowalczyk...
Go is 80/20 language Go is the most hated programming language. Compared to other languages, it provides 80% of utility...
2 months ago
28
2 months ago
Go is the most hated programming language. Compared to other languages, it provides 80% of utility with 20% of complexity. The hate comes from people who want 81% of utility, or 85% or 97%. As Rob Pike said, no one denies that 87% of utility provides more utility than 80%. The...
Julia Evans
New zine: The Secret Rules of the Terminal Hello! After many months of writing deep dive blog posts about the terminal, on Tuesday I released a...
2 months ago
67
2 months ago
Hello! After many months of writing deep dive blog posts about the terminal, on Tuesday I released a new zine called “The Secret Rules of the Terminal”! You can get it for $12 here: https://wizardzines.com/zines/terminal, or get an 15-pack of all my zines here. Here’s the...
TokyoDev
Getting a Job in Japan as a New Grad It’s well known that Japan is experiencing a labor shortage that includes the tech industry. As a...
2 months ago
52
2 months ago
It’s well known that Japan is experiencing a labor shortage that includes the tech industry. As a result, Japan needs more international developers. However, most Japanese companies aren’t interested in hiring new graduates from overseas. While it’s easier than in some countries,...
Jim Nielsen’s Blog
Transforming HTML With Netlify Edge Functions I’ve long wanted the ability to create custom collections of icons from my icon gallery. Today I can...
2 months ago
29
2 months ago
I’ve long wanted the ability to create custom collections of icons from my icon gallery. Today I can browse collections of icons that share pre-defined metadata (e.g. “Show me all icons tagged as blue”) but I can’t create your own arbitrary collections of icons. That is, until...
Dan Slimmon
Lecture: Queueing theory on a cocktail napkin Queues are everywhere, and they follow mathematical rules. Learn a few of those rules! It'll go a...
2 months ago
38
2 months ago
Queues are everywhere, and they follow mathematical rules. Learn a few of those rules! It'll go a long way to making you a stronger SRE.
Krzysztof Kowalczyk...
2025-06-25 Wed: Automatic Chrome Dev Tools workspace setup In Chrome Dev Tools you can setup a mapping between the files web server sends to the browser and...
2 months ago
22
2 months ago
In Chrome Dev Tools you can setup a mapping between the files web server sends to the browser and files on disk. This allows editing files in dev tools and having those changes saved to a file, which is handy. Early in 2025 they’ve added a way to automatically configure this...
Jim Nielsen’s Blog
Little Swarming Gnats of Data Here’s a screenshot of my inbox from when I was on the last leg of my flight home from family summer...
2 months ago
32
2 months ago
Here’s a screenshot of my inbox from when I was on the last leg of my flight home from family summer vacation: That’s pretty representative of the flurry of emails I get when I fly, e.g.: Check in now Track your bags Your flight will soon depart Your flight will soon...
Computer Things
You can cheat a test suite with a big enough polynomial Hi nerds, I'm back from Systems Distributed! I'd heartily recommend it, wildest conference I've been...
2 months ago
40
2 months ago
Hi nerds, I'm back from Systems Distributed! I'd heartily recommend it, wildest conference I've been to in years. I have a lot of work to catch up on, so this will be a short newsletter. In an earlier version of my talk, I had a gag about unit tests. First I showed the test...
Blog of Simple...
Closing the data gap - Simple Analytics x Usercentrics
2 months ago
Krzysztof Kowalczyk...
How I made SumatraPDF crash less You don’t want your software to crash, do you? This post describes my experiences in making...
2 months ago
29
2 months ago
You don’t want your software to crash, do you? This post describes my experiences in making SumatraPDF crash less. SumatraPDF is a Windows desktop app. It’s a fast viewer for PDF, ePub, comic books etc.. It’s small and yet full of features. Know thy crashes The most...
ntietz.com blog -...
Proving that every program halts One of the best known hard problems in computer science is the halting problem. In fact, it's widely...
2 months ago
39
2 months ago
One of the best known hard problems in computer science is the halting problem. In fact, it's widely thought[1] that you cannot write a program that will, for any arbitrary program as input, tell you correctly whether or not it will terminate. This is written from the framing of...
Krzysztof Kowalczyk...
2025-06-23 Mon: activity More Edna porting.
2 months ago
Jim Nielsen’s Blog
My Copy of The Internet Phone Book I recently got my copy of the Internet Phone Book. Look who’s hiding on the bottom inside spread of...
2 months ago
37
2 months ago
I recently got my copy of the Internet Phone Book. Look who’s hiding on the bottom inside spread of page 32: The book is divided into a number of categories — such as “Small”, “Text”, and “Ecology” — and I am beyond flattered to be listed under the category “HTML”! You can...
Krzysztof Kowalczyk...
2025-06-22 Sun: Ban std::string The use of std::string should be banned in C++ code bases. I’m sure this statement sounds like...
2 months ago
24
2 months ago
The use of std::string should be banned in C++ code bases. I’m sure this statement sounds like heresy and you want to burn me at stake. But is it really controversial? Java, C#, Go, JavaScript, Python, Ruby, PHP: they all have immutable strings that are basically 2 machine words:...
Posts on Nikita...
I'm writing a book! Over the course of my career, I introduced a couple of engineers into the topic of query engines....
2 months ago
37
2 months ago
Over the course of my career, I introduced a couple of engineers into the topic of query engines. Every time, I bumped into the same problem: query engines are extremely academic. Despite the fact that industry has over 40 years of expertise, reading foundational papers and then...
Krzysztof Kowalczyk...
Compressing for the browser in Go Comparing gzip, brotli and zstd compression in Go. When a modern browser sends a HTTP...
2 months ago
30
2 months ago
Comparing gzip, brotli and zstd compression in Go. When a modern browser sends a HTTP request to a web server, it includes the following header: Accept-Encoding: gzip, deflate, br, zstd This tells the server that the response can be compressed using one of the...
Blog System/5
Lessons along the EndBOX journey How a wild side-quest became the source of many of the articles you’ve read—and have come to...
2 months ago
33
2 months ago
How a wild side-quest became the source of many of the articles you’ve read—and have come to expect—in this publication
Confessions of a...
Making System Calls in x86-64 Assembly Watch now | Privilege levels, syscall conventions, and how assembly code talks to the Linux kernel
2 months ago
Epic Web Dev
Better Test Setup with Disposable Objects (article) Learn how disposable objects solve test cleanup problems in flat testing. Use TypeScript's using...
2 months ago
33
2 months ago
Learn how disposable objects solve test cleanup problems in flat testing. Use TypeScript's using keyword to ensure reliable resource disposal in tests.
Dan Quach Blog
Digital Ghosts, Wisdom, and Tennis Matchmaking Digital Ghosts My mom recently had a free consultation from her electric company to assess replacing...
2 months ago
32
2 months ago
Digital Ghosts My mom recently had a free consultation from her electric company to assess replacing her propane water heater with an electric water pump heater.  She forwarded the assessment report to me, and I spent some time reviewing and researching the program. Despite...
Alice GG
Discord considered harmful In the past few years, social media use has gained a bad reputation. More or less everyone is now...
2 months ago
35
2 months ago
In the past few years, social media use has gained a bad reputation. More or less everyone is now aware that TikTok is ruining your attention span, and Twitter is radicalizing you into extreme ideologies. But, despite its enormous popularity amongst technology enthusiasts,...
Jim Nielsen’s Blog
Becoming an Asshole Read more about RSS Club. I’ve been reading Apple in China by Patrick McGee. There’s this...
2 months ago
32
2 months ago
Read more about RSS Club. I’ve been reading Apple in China by Patrick McGee. There’s this part in there where he’s talking about a guy who worked for Apple and was known for being ruthless, stopping at nothing to negotiate the best deal for Apple. He was so aggressive yet...
Krzysztof Kowalczyk...
Simplest C++ callback, from SumatraPDF SumatraPDF is a Windows GUI application for viewing PDF, ePub and comic books written in C++. A...
2 months ago
36
2 months ago
SumatraPDF is a Windows GUI application for viewing PDF, ePub and comic books written in C++. A common need in GUI programs is a callback. E.g. when a button is clicked we need to call a function with some data identifying which button was clicked. Callback is therefore a combo...
Irrational...
What is the competitive advantage of authors in the age of LLMs? Over the past 19 months, I’ve written Crafting Engineering Strategy, a book on creating engineering...
2 months ago
33
2 months ago
Over the past 19 months, I’ve written Crafting Engineering Strategy, a book on creating engineering strategy. I’ve also been working increasingly with large language models at work. Unsurprisingly, the intersection of those two ideas is a topic that I’ve been thinking about a...
Charles Chen
TypeScript Conditional Types for Type Safety (Without Assertions) Using conditional types to achieve type safety without having to use 'as'
2 months ago
Computer Things
Solving LinkedIn Queens with SMT No newsletter next week I’ll be speaking at Systems Distributed. My talk isn't close to done yet,...
2 months ago
37
2 months ago
No newsletter next week I’ll be speaking at Systems Distributed. My talk isn't close to done yet, which is why this newsletter is both late and short. Solving LinkedIn Queens in SMT The article Modern SAT solvers: fast, neat and underused claims that SAT solvers1 are "criminally...
Krzysztof Kowalczyk...
Why Go iterators are ugly, clever and elegant Go 1.23 adds iterators. An iterator is a way to provide values that can be used in for x := range...
2 months ago
31
2 months ago
Go 1.23 adds iterators. An iterator is a way to provide values that can be used in for x := range iter loops. People are happy the iterators were added to the language. Not everyone is happy about HOW they were implemented. This person opined that they demonstrate “typical Go...
Jim Nielsen’s Blog
The Continuum From Static to Dynamic Dan Abramov in “Static as a Server”: Static is a server that runs ahead of time. “Static” and...
2 months ago
34
2 months ago
Dan Abramov in “Static as a Server”: Static is a server that runs ahead of time. “Static” and “dynamic” don’t have to be binaries that describe an entire application architecture. As Dan describes in his post, “static” or “dynamic” it’s all just computers doing stuff. Computer A...
The Changelog
I Learned We All Have Linux Seats, and I’m Not Entirely Pleased I recently wrote about How to Use SSH with FIDO2/U2F Security Keys, which I now use on almost all of...
2 months ago
38
2 months ago
I recently wrote about How to Use SSH with FIDO2/U2F Security Keys, which I now use on almost all of my machines. The last one that needed this was my Raspberry Pi hooked up to my DEC vt510 terminal and IBM mechanical keyboard. Yes I do still use that setup! To my surprise,...
Blog System/5
Whatever happened to sandboxfs? Back in 2017–2020, while I was on the Blaze team at Google, I took on a 20% project that turned into...
2 months ago
33
2 months ago
Back in 2017–2020, while I was on the Blaze team at Google, I took on a 20% project that turned into a bit of an obsession: sandboxfs. Born out of my work supporting iOS development, it was my attempt to solve a persistent pain point that frustrated both internal teams and...