The Stargazer

Deep Utopia: what if we had no material concerns?

Book Review: Deep Utopia talks about a book (you’ll never guess its title) that asks: What if there were literally no problems? What if you could do literally whatever you wanted? […] Would this be as good as it sounds? Or would people’s lives become boring and meaningless? In our …

Is Our World Broken?

I’ve really enjoyed the video Is Our World Broken? from Kurzgesagt. We indeed live in times where the general consensus appears to be that we as a society and as a species are doomed: the world just seems too hard and too bad, and we as individuals are all bombarded with all of this negativity …

The Fastest Mutexes

The Fastest Mutexes by Justine Tunney (discussed on Hacker News) is an excellent work digging into the performance of commonly used mutex implementations, and presenting a new fast mutex in Cosmopolitan Libc. This kind of stuff underpins virtually every piece of software written, but it is …

Are we really running out of sand?

Doomsday theories appear to be a popular pastime of humanity, but they come in wildly varying types. One of the types I personally find more concerning are those that have to do with natural limits and use of non-renewable materials and resources. Recently, sand of all things have seen attention in …

The actual three-body problem and chaos theory

Since the excellent The Three-Body Problem book trilogy and the similarly great Netflix adaptation, I have been wondering why exactly is the name-giving physics/mathematics problem called the three-body problem considered unsolvable. Frustratingly, searching on Google didn’t let me find any …

On CrowdStrike, competition, and tech regulation

Crashes and Competition (also in video essay format) was written following the CrowdStrike-caused outages worldwide just a few months ago. In a nutshell, the issue was caused by the security software provided CrowdStrike. On Windows, in order for the security software to do its job, it would have to …

Why doesn't advice work?

Why doesn’t advice work? really hits the nail on the head I feel, and lists most of the common “failure modes” of advice. Obviously go read the article (it’s short!) for the full details, but here is a quick summary: Maybe your advice is bad. Most is. Maybe your advice is …

Book review: How the War Was Won

I don’t normally read or enjoy World War 2-analysis, but Your Book Review: How the War Was Won was an interesting read. The book in question challenges traditional narratives about what exactly allowed the Allies to win WW2, and offers its own less glamorous and heroic explanations that ring …

Opinions in academia vs the public: is sleep training harmful?

One of the (many) things that really puts me off about having children is how little consensus exists on anything related to children and child-bearing: can you let your baby cry? What is okay to feed a baby / child? Is a primary/high school necessary or harmful? Is home-schooling any better? Or one …

C++ initialization footguns and how to avoid them

I Have No Constructor, and I Must Initialize (Hacker News discussion) goes into the gnarly details of initialization in C++, and all the immense, immense complexity and edge cases around it. As the top-voted comment on HN put it: After almost 20 years of experience with C++, there are still some …

Hobbyist solves cold missing persons cases

An absolute wild read: The Time I Built an ROV to Solve Missing Person Cases It is long (a series of articles), but it is very worth reading. The amount of dedication, energy, money, and effort they have spent on this hobby project is truly astonishing, and I think humbling. Here is the intro, to …

Order book in Rust: fixing the undefined behaviour

In the last post of the Implementing order books in C++ and Rust series I have proposed an unsafe Rust solution. Unfortunately, that solution turns out to invoke undefined behaviour (UB) due to violating the stacked borrows model of Rust. It does appear to work perfectly fine at the moment, but UB …

C++ bits: polymorphism and delete; optimizing atomic writes

I have found two very interesting questions and answers on Stack Overflow this week that made me learn something new: How does C++ select the delete operator in case of replacement in subclass?; the answer: the compiler emits two destructors in the vtable: a regular one, and a deleting destructor …

The hell of C++ modules

I’ve known from the moment that C++ modules were introduced that the whole thing is the kind of good-idea-turned-into-cursed-“solution” that only a C++ developer could have ever come up with. It has all the hallmarks: it tries to solve a well understood, already solved problem (see …

Front-running the Ethereum front-runners

Money Stuff: Crypto Brothers Front-Ran the Front-Runners talks about a fascinating case, with further details in Money Stuff: The Endless Shrimp Investigation under header “ETH consensus”, the linked CoinDesk article: What the DOJ’s First MEV Lawsuit Means for Ethereum, as well as the …

Easy to make rules. Easy to make systems with a perfect logic and rigor. All you need to do is leave out the mercy, yeah? Then when you put people into it and they get chewed to nothing, it’s the person’s fault. Not the rules. Everything we do that’s worth shit, we’ve done …

Linear types and how they let you control the future

Higher RAII, and the Seven Arcane Uses of Linear Types (discussed on Hacker News) introduced me to the concept of linear types and how they can be useful. It turns out: they can be extremely useful, because you can use them to make a promise to do something to the compiler, and it will hold you to …

The dysfunction of emotional support animals

The Emotional Support Animal Racket talks about emotional support animals and eloquently but succinctly critiques the entire dysfunctional situation. I found this particularly interesting because it provides a very clear example of how processes and systems can fail while their individual components …

Comparing implementations of std::string

Highly recommended reading for C++ developers: An informal comparison of the three major implementations of std::string (discussed on Reddit and Hacker News), which goes into how std::string is implemented by the 3 major compilers: GCC (libstdc++), MSVC, and Clang (libc++), and what design choices …

Traditional banking system issues

Money Stuff: Banks Are Still Where the Money Isn’t talks about a curious phenomenon: a big bank (Barclays Plc) struggling to find the money to lend out for its credit cards, and ends up essentially borrowing money from private equity (Blackstone) to do it. Huh?! Isn’t, like, the entire point …

93% of Paint Splatters are Valid Perl Programs

93% of Paint Splatters are Valid Perl Programs (discussed on Hacker News) made me laugh, it is the kind of high-quality trolling that the field of computer science could definitely use more of. It is actually a scientific paper accepted by the SIGBOVIK 2019 conference, and that is glorious. In this …

Income taxes are bullshit

In the news recently: Elon Musk’s US tax bill: $11 billion. Tesla’s: $0. Elon Musk has repeatedly bragged (or, perhaps, complained) that he’ll pay more in federal taxes for 2021 than anyone has ever paid — about $11 billion. But Tesla apparently won’t pay a cent. Tesla may not plan to pay federal …

Non-competes are getting outlawed in the US

I’ve referenced the excellent Money Stuff newsletter before, and I continue to absolutely recommend it to anybody with an interest in the world of finance. The most recent article: The FTC Comes for Noncompetes which is particularly relevant for anybody working in the field. Yesterday, the US …

Birds are insane

Birds are crazy creatures! In October 2022 a bird with the code name B6 set a new world record that few people outside the field of ornithology noticed. Over the course of 11 days, B6, a young Bar-tailed Godwit, flew from its hatching ground in Alaska to its wintering ground in Tasmania, covering …

A little bit of slope makes up for a lot of y-intercept

Random find of the day: “A little bit of slope makes up for a lot of y-intercept” […] So in a mathematical sense it’s kind of obvious. But I didn’t really mean in a mathematical sense, I think this is a pretty good guideline for life also. What I mean is that how fast …