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+→]
Epic Web Dev
Server Componets (RSC) in react-router are... actually good? (tip) Explore Remix's new React Server Components (RSC) preview in react-router! Learn usage, different...
3 months ago
David Heinemeier...
Have you tried the exact opposite? Have you thought about doing the opposite of whatever you're doing or considering? It's a really...
3 months ago
41
3 months ago
Have you thought about doing the opposite of whatever you're doing or considering? It's a really helpful way to test your assumptions and your values. What does the opposite look like, how would it work? It's so easy to get stuck in a groove of what works, what you believe to be...
Jim Nielsen’s Blog
Multiple Computers I’ve spent so much time, had so many headaches, and encountered so much complexity from what, in my...
3 months ago
49
3 months ago
I’ve spent so much time, had so many headaches, and encountered so much complexity from what, in my estimation, boils down to this: trying to get something to work on multiple computers. It might be time to just go back to having one computer — a personal laptop — do everything....
David Heinemeier...
Cheap mini PCs have gotten really good For the past week, I've been working off the Minisforum UM870. A tiny mini PC with an...
3 months ago
63
3 months ago
For the past week, I've been working off the Minisforum UM870. A tiny mini PC with an 8-core/16-thread AMD 8745H CPU, which retails for $343 (or €379) as a bare-bone unit, and stays below $550, even after adding 48GB of RAM and 1TB of storage. I'm shocked to report that I really...
The Changelog
How to Use SSH with FIDO2/U2F Security Keys For many years now, I’ve been using an old YubiKey along with the free tier of Duo Security to add a...
3 months ago
49
3 months ago
For many years now, I’ve been using an old YubiKey along with the free tier of Duo Security to add a second factor to my SSH logins. This is klunky, and has a number of drawbacks (dependency on a cloud service and Internet among them). I decided it was time to upgrade, so I...
Quentin Santos
The ESP32-S2 reset pin RST defaults to high This is an addendum to the article about Espressif’s automatic reset. In that...
3 months ago
41
3 months ago
RST defaults to high This is an addendum to the article about Espressif’s automatic reset. In that article, we observed the effect of the RST pin on the ESP32-S2-Saola-1RI board: I skipped over this topic quickly, so I am now taking the time to explain how the RST pin manages to...
Confessions of a...
Building (and Breaking) Your First X86 Assembly Program We build a minimal X86 assembly program, run it… and hit a crash. But that crash is exactly what...
3 months ago
TokyoDev
RubyKaigi 2025 Recap In 2023 I attended RubyKaigi for the first time and also wrote my first recap, which I’m pleased to...
3 months ago
133
3 months ago
In 2023 I attended RubyKaigi for the first time and also wrote my first recap, which I’m pleased to say was well-received! This was my third time attending RubyKaigi, and I was once again really impressed with the event. I’m eternally grateful to the conference organizers, local...
tonsky.me
Logo: Cyrillic version of Internet Explorer logo. Because it’s iconic.
3 months ago
Quentin Santos
Talking to Espressif’s Bootloader In my article about Espressif’s Automatic Reset, I briefly showed UART output from the bootloader,...
3 months ago
40
3 months ago
In my article about Espressif’s Automatic Reset, I briefly showed UART output from the bootloader, but did not go in more details. In this article, I want to go just a bit further, by showing some two-way interactions. We’ll use the initial basic “real” UART setup. Note that I...
Charles Chen
Beware the Complexity Merchants When smart people get their high from building complex systems to solve simple problems, you're not...
3 months ago
51
3 months ago
When smart people get their high from building complex systems to solve simple problems, you're not going to have a good time
Jim Nielsen’s Blog
Notes from Alexander Petros’ “Building the Hundred-Year Web Service” I loved this talk from Alexander Petros titled “Building the Hundred-Year Web Service”. What follows...
3 months ago
32
3 months ago
I loved this talk from Alexander Petros titled “Building the Hundred-Year Web Service”. What follows is summation of my note-taking from watching the talk on YouTube. Is what you’re building for future generations: Useful for them? Maintainable by them? Adaptable by...
Computer Things
Modeling Awkward Social Situations with TLA+ You're walking down the street and need to pass someone going the opposite way. You take a step...
3 months ago
53
3 months ago
You're walking down the street and need to pass someone going the opposite way. You take a step left, but they're thinking the same thing and take a step to their right, aka your left. You're still blocking each other. Then you take a step to the right, and they take a step to...
Tony Finch's blog
the penultimate conditional syntax About half a year ago I encountered a paper bombastically titled “the ultimate conditional syntax”....
3 months ago
49
3 months ago
About half a year ago I encountered a paper bombastically titled “the ultimate conditional syntax”. It has the attractive goal of unifying pattern match with boolean if tests, and its solution is in some ways very nice. But it seems over-complicated to me, especially for...
David Heinemeier...
Coding should be a vibe! The appeal of "vibe coding" — where programmers lean back and prompt their way through an entire...
3 months ago
59
3 months ago
The appeal of "vibe coding" — where programmers lean back and prompt their way through an entire project with AI — appears partly to be based on the fact that so many development environments are deeply unpleasant to work with. So it's no wonder that all these programmers stuck...
Posts on Nikita...
Tempest Rising is a great game I really like RTS games. I pretty much grew up on them, starting with Command&Conquer 3: Kane’s...
3 months ago
38
3 months ago
I really like RTS games. I pretty much grew up on them, starting with Command&Conquer 3: Kane’s Wrath, moving on to StarCraft 2 trilogy and witnessing the downfall of Command&Conquer 4. I never had the disks for any other RTS games during my teenage years. Yes, the disks, the...
Jim Nielsen’s Blog
Notes from the Chrome Team’s “Blink principles of web compatibility” Following up on a previous article I wrote about backwards compatibility, I came across this...
3 months ago
37
3 months ago
Following up on a previous article I wrote about backwards compatibility, I came across this document from Rick Byers of the Chrome team titled “Blink principles of web compatibility” which outlines how they navigate introducing breaking changes. “Hold up,” you might say....
Epic Web Dev
Debug React Router Applications with Custom Logs using react-router-devtools (tip) react-router-devtools enhances debugging by adding automatic logging for loaders & actions, plus...
3 months ago
49
3 months ago
react-router-devtools enhances debugging by adding automatic logging for loaders & actions, plus direct links to code origins in console logs.
Paolo Amoroso's...
Changing text style for DandeGUI window output <![CDATA[Printing rich text to windows is one of the planned features of DandeGUI, the GUI library...
3 months ago
38
3 months ago
<![CDATA[Printing rich text to windows is one of the planned features of DandeGUI, the GUI library for Medley Interlisp I'm developing in Common Lisp. I finally got around to this and implemented the GUI:WITH-TEXT-STYLE macro which controls the attributes of text printed to a...
TokyoDev
How (and Why) to Get a Bank Account in Japan You can technically get by in Japan without a Japanese bank account. For those who are here on...
3 months ago
62
3 months ago
You can technically get by in Japan without a Japanese bank account. For those who are here on short-term visas, or who plan to move frequently from city to city, it’s perfectly possible to live and work in Japan without one. However, if you want to work a full-time job, rent an...
Irrational...
systems-mcp: generate systems models via LLM Back in 2018, I wrote lethain/systems as a domain-specific language for writing runnable systems...
3 months ago
43
3 months ago
Back in 2018, I wrote lethain/systems as a domain-specific language for writing runnable systems models, and introduced it with this blog post modeling a hiring funnel. While it’s far from a perfect system, I’ve gotten a lot of value out of it over the last seven years, because...
Engineer’s Codex
How Cursor Indexes Codebases Fast Merkle Trees in the real world
3 months ago
samwho.dev
Big O Big O notation is a way of describing the performance of a function without using time. Rather than...
3 months ago
4
3 months ago
Big O notation is a way of describing the performance of a function without using time. Rather than timing a function from start to finish, big O describes how the time grows as the input size increases. It is used to help understand how programs will perform across a range of...
wingolog
a whippet waypoint Hey peoples! Tonight, some meta-words. As you know I am fascinated by compilers and language...
3 months ago
46
3 months ago
Hey peoples! Tonight, some meta-words. As you know I am fascinated by compilers and language implementations, and I just want to know all the things and implement all the fun stuff: intermediate representations, flow-sensitive source-to-source optimization passes,...
The Codist
Stress And Programming Having spent four decades as a programmer in various industries and situations, I know that modern...
3 months ago
50
3 months ago
Having spent four decades as a programmer in various industries and situations, I know that modern software development processes are far more stressful than when I started. It's not simply that developing software today is more complex than it was back in 1981. In that early...
Quentin Santos
Espressif’s Automatic Reset In previous articles, we saw how to use “real” UART, and looked into the trick used by Arduino to...
3 months ago
44
3 months ago
In previous articles, we saw how to use “real” UART, and looked into the trick used by Arduino to automatically reset boards when uploading firmware. Today, we’ll look into how Espressif does something similar, using even more tricks. “Real” UART on the Saola As usual, let’s...
Contraption Co.
How I built a chatbot with my dog Lessons for AI prompting and retrieval
3 months ago
Computer Things
Write the most clever code you possibly can I started writing this early last week but Real Life Stuff happened and now you're getting the...
3 months ago
45
3 months ago
I started writing this early last week but Real Life Stuff happened and now you're getting the first-draft late this week. Warning, unedited thoughts ahead! New Logic for Programmers release! v0.9 is out! This is a big release, with a new cover design, several rewritten chapters,...
Posts on Nikita...
I switched from GMail and nobody died Whether we like it or not, email is widely used to identify a person. Code sent to email is used as...
3 months ago
33
3 months ago
Whether we like it or not, email is widely used to identify a person. Code sent to email is used as authentication and sometimes as authorisation for certain actions. I’m not comfortable with Google having such power over me, especially given the fact that they practically don’t...
Jim Nielsen’s Blog
Language Needs Innovation In his book “The Order of Time” Carlo Rovelli notes how we often asks ourselves questions about the...
3 months ago
35
3 months ago
In his book “The Order of Time” Carlo Rovelli notes how we often asks ourselves questions about the fundamental nature of reality such as “What is real?” and “What exists?” But those are bad questions he says. Why? the adjective “real” is ambiguous; it has a thousand meanings....
elementary Blog
A Little Bit Now, A Lotta Bit Later In mid-March we released a big bug fix update—elementary OS 8.0.1—and since then we’ve been hard at...
3 months ago
41
3 months ago
In mid-March we released a big bug fix update—elementary OS 8.0.1—and since then we’ve been hard at work on even more bug fixes and some new exciting features that I’m excited to share with you today! Read ahead to find out what we’ve released recently and what you can help us...
Jim Nielsen’s Blog
The Tumultuous Evolution of the Design Profession Via Jeremy Keith’s link blog I found this article: Elizabeth Goodspeed on why graphic designers...
3 months ago
40
3 months ago
Via Jeremy Keith’s link blog I found this article: Elizabeth Goodspeed on why graphic designers can’t stop joking about hating their jobs. It’s about the disillusionment of designers since the ~2010s. Having ridden that wave myself, there’s a lot of very relatable stuff in there...
Confessions of a...
The System-Level Foundation of Assembly Tracing how the CPU, OS, and ELF format shape the structure of your assembly code
3 months ago
ntietz.com blog -...
Taking a break I've been publishing at least one blog post every week on this blog for about 2.5 years. I kept it...
3 months ago
31
3 months ago
I've been publishing at least one blog post every week on this blog for about 2.5 years. I kept it up even when I was very sick last year with Lyme disease. It's time for me to take a break and reset. This is the right time, because the world is very difficult for me to move...
alexwlchan
Handling JSON objects with duplicate names in Python Consider the following JSON object: { "sides": 4, "colour": "red", "sides": 5, "colour":...
4 months ago
30
4 months ago
Consider the following JSON object: { "sides": 4, "colour": "red", "sides": 5, "colour": "blue" } Notice that sides and colour both appear twice. This looks invalid, but I learnt recently that this is actually legal JSON syntax! It’s unusual and discouraged, but it’s...
A Smart Bear
Product Purgatory: When they love it but still don't buy When even "free" is too expensive.
4 months ago
Quentin Santos
Linux always toggles DTR & RTS In my previous article, I explained how Arduino makes the life of its users easier by automatically...
4 months ago
25
4 months ago
In my previous article, I explained how Arduino makes the life of its users easier by automatically resetting the board when the UART pin DTR (or RTS) transitions from electrically high to low. This exploits the fact that this transition happens automatically when someone or...
Irrational...
Public company comparables. A few years ago I wrote about reading a Profit & Loss statement, which is a foundational executive...
4 months ago
32
4 months ago
A few years ago I wrote about reading a Profit & Loss statement, which is a foundational executive skill. I also subsequently wrote about ways to measure your engineering organization. Despite having written those, I still spend a lot of time wondering about effective ways to...
charity.wtf
On Pronouns, Policies and Mandates Hi friends! We’re on week three of my 12-week practice in writing one bite-sized topic per week —...
4 months ago
28
4 months ago
Hi friends! We’re on week three of my 12-week practice in writing one bite-sized topic per week — scoping it down, writing straight through, trying real hard to avoid over-writing or editing down to a pulp. Week 1 — “On Writing, Social Media, and Finding the Line of...
macwright.com
Reading Zanzibar Google published Zanzibar: Google’s Consistent, Global Authorization System in 2019. It describes a...
4 months ago
30
4 months ago
Google published Zanzibar: Google’s Consistent, Global Authorization System in 2019. It describes a system for authorization – enforcing who can do what – which maxes out both flexibility and scalability. Google has lots of different apps that rely on Zanzibar, and bigger scale...
Quentin Santos
Arduino’s Automatic Reset As mentioned in my previous article, I am planning to publish a long-form article on UART. I am...
4 months ago
26
4 months ago
As mentioned in my previous article, I am planning to publish a long-form article on UART. I am doing a series of shorter articles to lay the groundwork. This is one of these “short” articles; this one about how Arduino uses UART. Of course, I still went way too deep in this...
Oxide Computer...
Oxide’s Compensation Model: How is it Going? How it started Four years ago, we were struggling to hire. Our team was small (~23 employees),...
4 months ago
29
4 months ago
How it started Four years ago, we were struggling to hire. Our team was small (~23 employees), and we knew that we needed many more people to execute on our audacious vision. While we had had success hiring in our personal networks, those networks now felt tapped; we needed...
Tony Finch's blog
testing data structures per element Recently, Alex Kladov wrote on the TigerBeetle blog about swarm testing data structures. It’s a neat...
4 months ago
25
4 months ago
Recently, Alex Kladov wrote on the TigerBeetle blog about swarm testing data structures. It’s a neat post about randomized testing with Zig. I wrote a comment with an idea that was new to Alex @matklad, so I’m reposing a longer version here. differential testing problems grow /...
macwright.com
Recently I watched a large part of All Watched Over By Machines of Loving Grace this month. This also counts...
4 months ago
28
4 months ago
I watched a large part of All Watched Over By Machines of Loving Grace this month. This also counts as a “listening” item, because the theme song, “Baby Love Child” by Pizzicato Five, is also spectacular. Guitar Moves is a good series of interviews by Matt Sweeney, who I...
tonsky.me
When You Get to Be Smart Writing a Macro Day-to-day programming isn’t always exciting. Most of the code we write is pretty straightforward:...
4 months ago
22
4 months ago
Day-to-day programming isn’t always exciting. Most of the code we write is pretty straightforward: open a file, apply a function, commit a transaction, send JSON. Finding a problem that can be solved not the hard way, but smart way, is quite rare. I’m really happy I found this...
Code Of Honor
Twenty Years of Guild Wars So many folks have reached out to me to commemorate the 20th anniversary of the launch of Guild Wars...
4 months ago
24
4 months ago
So many folks have reached out to me to commemorate the 20th anniversary of the launch of Guild Wars on April 28, 2005, that it encouraged me to write this little bitty. I was heartened to see an article about Guild Wars in GameRant, which talked about the server infrastructure...
bunnie's blog
Name that Ware, April 2025 The Ware for this month is shown below: It’s a tiny portion of a much larger ware, but for various...
4 months ago
27
4 months ago
The Ware for this month is shown below: It’s a tiny portion of a much larger ware, but for various reasons I think this is sufficient for someone to guess at least the type of ware this came from, if not the exact make/model. There’s a particularly interesting bit about this...
alexwlchan
A faster way to copy SQLite databases between computers I store a lot of data in SQLite databases on remote servers, and I often want to copy them to my...
4 months ago
27
4 months ago
I store a lot of data in SQLite databases on remote servers, and I often want to copy them to my local machine for analysis or backup. When I’m starting a new project and the database is near-empty, this is a simple rsync operation: $ rsync --progress...
Jim Nielsen’s Blog
Backwards Compatibility in the Web, but Not Its Tools After reading an article, I ended up on HackerNews and stumbled on this comment: The most...
4 months ago
26
4 months ago
After reading an article, I ended up on HackerNews and stumbled on this comment: The most frustrating thing about dipping in to the FE is that it seems like literally everything is deprecated. Lol, so true. From the same comment, here’s a description of a day in the life of a...
Blog - Bitfield...
Getting nothing done You don't need a special place, or a special time, or even special clothes, to meditate. It's just...
4 months ago
24
4 months ago
You don't need a special place, or a special time, or even special clothes, to meditate. It's just letting the mind rest when it's not needed, and that's the case more often than you might think.