Things I hate about Rust
Five years ago, I wrote a post about the things I hated most about my then (and still) favorite scripting language: Ruby.
Topics /
The most popular blog posts about software engineering on Hacker News. 14,540 posts.
Five years ago, I wrote a post about the things I hated most about my then (and still) favorite scripting language: Ruby.
Oh my… 2023 has been such a trek so far… If you have missed my previous article about my thoughts about editors and development platforms, I think it’s probably the moment to have a look at it.
“The Carpenter” was a JavaScript programmer, well-known for a meticulous attention to detail and love for hand-crafted, exquisitely joined code. The Carpenter normally worked through personal referrals, but from time to time a recruiter would slip through his screen. One such recruiter was Bob Plissken. Bob was…
Years ago, I maintained a big C++ codebase at my day job. This product was the bread winner for the company and offered a public HTTP API for online payments. We are talking billions of euros of processed payments a year.
In Rust, if I want to print some 32-bit unsigned value in hex, with the leading 0x, padded out with zeros, I would write that as:
Without spending a year on it.
There is something very exciting I have to show to you today: a completely rewritten notification system for Plasma that will be part of our next feature update 5.16 to be released in June.
Missing the Forest for the Sequence Trees.
While considering concurrent queue design I came up with a generic, lock-free queue that fits in a 32-bit integer. The queue is “generic” in that a single implementation supports elements of any arbitrary type, despite an implementation in C. It’s lock-free in that there is guaranteed system-wide progress. It can…
From a confusing page of old C code to APL/J praise.
Steel Threads are a powerful but obscure software design approach. Learning about Steel Threads will make you a better engineer. You can use them to avoid common problems like integration pain. And you can use them to cut through the complexity of system design.
Today’s show: How to quit your job and work on open source full time. This story has it all -- balancing side projects and full-time employment, building up enough supports to leave your job, and explaining quitting to your family and friends. And also: what do you do if your project succeeds, and then someone forks…
In a bid to expand my programming brain by learning something about “dependent types”, I recently bought the Idris book. (Idris is a pure functional programming language that is mostly …
Human DX optimizes for discoverability. Agent DX optimizes for predictability. What I learned building a CLI for agents first.
As someone who frequents the PHP tag on StackOverflow I pretty often see questions about how to parse some particular aspect of HTML using regular expressions. A common reply to such a question is:
Some of the most creative, wacky explorations of what you can do in TypeScript's type system!
The project to port all of the C code in Emacs to Rust has been going quite well of late, and a progress report is in order.
I had been programming in Fortran and assembler for a number of years when I got my first personal computer. It was exciting. On the first generation PC one had to toggle in a paper tape loader from front panel switches, byte by byte, then start the paper tape reader and then one could output to the led on the front…
This is a whirlwind tour of some of the cool new features that appeared in Clojure in the past few years. I find it fascinating how one good idea (reducers) morphed into another (transducers), and ended up mating with yet another, apparently unrelated concept (concurrent pipelines) to produce some really powerful…
Bryan Summersett's home page.
At the beginning of this decade (2010), a few of us Haskellers were exploring how best to do client-side web programming. We didn’t want to write JavaScript. There’s a surprising number of techniques we tried to avoid doing so. There was work coming from academia and industry. Here’s a history of my own experience in…
You can use CSS to add some simple functionality to HTML <dialog> elements!
How do Ruby & Python profilers work?
…"‘Our speech interposes itself between apprehension and truth like a dusty pane or warped mirror. The tongue of Eden was like a flawless glass; a light of total understanding streamed through it. Thus Babel was a second Fall.’ And Isaac the Blind, an early Kabbalist, said that, to quote Gershom Scholem’s translation…