The Stargazer

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 …

The hidden world of repairing underwater internet cables

The Verge has a really good – though very long – article on the maintenance of the cables that keep the world connected to the internet: The Cloud Under the Sea. These cables are laid under the seas and oceans, sometimes thousands of meters deep, and this is exactly as vulnerable as it …

The Wisdom of James Mickens

I am here to talk to you non-believers about The Wisdom of James Mickens. At least those of you who are software developers or would vaguely identify yourselves as “computer scientists”, whatever that might mean. James Mickens offers his timeless insights for free, because he loves you …

Weird things you can buy online

My favorite internet find of the day: Ten weird things you can buy online (and why you would) TLDR, you can buy online: books by the foot ($60 per foot in case you were wondering), for when you want to look intellectual by having filled bookshelves human milk (makes sense) private islands (of …

Arguing against accessor functions

One of the unpopular opinions I’ve long held in programming is that accessor methods (getters and setters) are a terrible practice. Now that I have found somebody who agrees with me (timestamps 1:13:06 to 1:16:25) I am ready to write about this! This is what I mean (C++ code, but the same …

Religious psychology in Dune

Have you seen Dune: Part 2 yet? I think it’s well worth watching in the cinema, it’s an extraordinarily good adaptation of Frank Herbert’s book. If you have seen it, you have probably rolled your eyes on the Freemen’s extreme religiosity and felt empathy for Chani as she …

Games are about power fantasy

The Heart of Gaming Is the Power Fantasy is an essay on the nature of gaming. I have played computer games since I was a kid, but I have to admit I have never reflected much on what it is that makes games appealing to play… that is, what makes them fun or not-fun. The essay makes a really …

Making fun of the Silicon Valley

The Silicon Valley is such a weird place. I’ve never been, but from everything I hear, many people and companies there have really strange ideas about the world. Sometimes it’s entertaining, but on some fundamental level, also very sad. The stereotypical example would be something like a …

What makes the passage of time feel fast

Do you get the feeling that time goes by so fast? “The days are long, but the years are short” I’ve heard said. It’s a common enough phenomenon. The essay Where All the Time Went has some insights on this that I felt were very note-worthy. Though it was written more in the …

Amazon's high-tech stores were, in fact, low tech, and shut down

Amazon Ditches ‘Just Walk Out’ Checkouts at Its Grocery Stores, because, as it turns out, it wasn’t actually all that technological: Though it seemed completely automated, Just Walk Out relied on more than 1,000 people in India watching and labeling videos to ensure accurate checkouts. The …

Humans Need Not Apply

Humans Need Not Apply was a YouTube video by CGP Gray published in 2014. It talks about how technological advancements, especially making computers smarter and more able to think and make decisions, will increasingly make humans unnecessary. It was made in time where AI research was still in its …

Implementing order books in C++ and Rust - part 3/3

In the previous part we have started working on our Rust orderbook re-implementation of the C++ original, and defined the types Order and OrderKey<Side>, where Side is a type implementing the OrderbookSide trait: either Bid (for buy orders) or Ask (for sell orders). Defining OrderHandle …

Configuration knobs considered harmful (Abseil blog)

I found the recent Abseil article Performance Tip of the Week #52: Configuration knobs considered harmful to be insightful. Most people, developers included, would generally prefer more flexibility and configurability over less, but as the article points out, configuration options (flags) carry …

Graphs are hard

The Hunt for the Missing Data Type (discussion on Hacker News) is an article exploring why are graph implementations so rare while graph problems are so common: I see graphs everywhere and use them to analyze all sorts of systems. At the same time, I dread actually using graphs in my code. There is …

Implementing order books in C++ and Rust - part 2/3

In the previous part, we have sketched out the structure of implementing a simple order book in C++, supporting order insertion and efficient cancellation. (Implementing uncrossing, that is, trades when a buy order and a sell order agree on a price, is an exercise left to the reader, as is …

This is why we keep getting scammed and phished

In Thanks FedEx, This is Why We Keep Getting Phished (discussion on Hacker News) the author is playing the game we are probably all used to playing these days upon receiving a text or e-mail asking us to urgently do something or pay: scam or real. I highly recommend reading the article in full, as …

Implementing order books in C++ and Rust - part 1/3

A fairly standard programming problem in the world of trading is building an order book. In this article, I will be showing one particular interesting aspect of this problem, and how to solve it in C++. In the next two parts, we will be trying to implement the same solution in Rust. This is meant to …

Advice is disproportionately written by defective people

You don’t have polyamory, you hate people who write books makes some very good points, in particular highlighting how most people’s ideas (including mine) about polyamory comes from media, which distorts reality almost as a necessity. “They figured out their issues and lived happy …

Explaining politics with trauma

The Psychopolitics of Trauma by Scott Alexander is a very interesting essay to read. It talks about politics and today’s social and political climate in a way that was new to me and felt extremely reasonable. In fact, it posits an explanation for the feeling of aversion I have always felt …

Pastor runs crypto scam, blames God

As you know, I’m a sucker for hilarious finance news, and therefore for Matt Levine’s Money Stuff newsletter. More recently, this cracked me up: Pastor got his crypto scam audited. This has everything you could possibly desire in a finance story. […] a pastor named Eli Regalado …

Rust oddness: integer literal references?

I’m following Rust by Example to finally get into Rust properly, after several years spent as a primarily C++ developer. So far, most things have made sense to me, and I have been blown away by the compiler diagnostics: they are accurate and useful, which anybody with some C++ experience will …

AI sleeper agents

A fascinating summary of recent AI research: AI Sleeper Agents A sleeper agent is an AI that acts innocuous until it gets some trigger, then goes rogue. … So there’s been a dispute in the AI safety community - if for some reason you start with an AI sleeper agent, and you train it on normal …

Passing a struct of 3 or more words is slow on AMD64

I did not realize that the AMD64 ABI specifies a silly calling convention rule that forces structs with 3 or more word-sized (i.e. 8-byte) fields to be passed by pointer, even if you write your code expecting to have it be passed by value. I learned this from: Speed up your code: don’t pass …