Issues » #529

#529 – July 03, 2023

Load Balancing: The Intuition Behind the Power of Two Random Choices

In the world of dynamic resource allocations and load balancing, one of the most well known and fascinating algorithms is the so-called “power of two random choices” which proposes a very simple change to the random allocations that yields exponential improvement.

Get paid to train cutting edge AI models in your spare time: Join Prolific 👾 (sponsor)

Take part in interesting, anonymous and high-paying AI studies from anywhere, any time. Contribute to the ethical development of new AI technology. Choose studies that interest you and enjoy competitive compensation, bonuses, and instant cash-outs. Join Prolific now.

Is ORM still an 'anti pattern'?

ORMs are one of those things that software writers like to pick on. There are many online articles that go by the same tune: “ORMs are an anti-pattern. They are a toy for startups, but eventually hurt more than help.”

Monitoring is a Pain

I have a confession. Despite having been hired multiple times in part due to my experience with monitoring platforms, I have come to hate monitoring. Monitoring and observability tools commit the cardinal sin of tricking people into thinking this is an easy problem. It is very simple to monitor a small application or service. Almost none of those approaches scale.

XML is the future

My first hype exposure was "use the Extensible Markup Language for everything". Learning from it allowed me to live through the front end stack explosion, the micro-service overdose and many, many more silly trends.

Bélády's Anomaly Doesn't Happen Often

It was 1969. The Summer of Love wasn't raging, Hendrix was playing the anthem, and Forest Gump was running rampant. In New York, IBM researchers Bélády, Nelson, and Schedler were hot on the trail of something strange. They had a paging machine, a computer which kept its memory in pages, and sometimes moved those pages to storage.


As a programmer, you use hash functions every day. They're used in databases to optimise queries, they're used in data structures to make things faster, they're used in security to keep data safe. Almost every interaction you have with technology will involve hash functions in one way or another.

Type-safe, K-sortable, globally unique identifier inspired by Stripe IDs

TypeIDs are a modern, type-safe extension of UUIDv7. Inspired by a similar use of prefixes in Stripe's APIs.

Racket: The Lisp for the modern day

Racket is probably the finest example of a modern day lisp bar none. It encompasses a range of features that support various programming paradigms and caters to many developers needs in 2023.

Programming Languages Going Above and Beyond

Having been a programmer for a long time now, I have experienced my fair share of programming languages. What strikes me the most is that programming languages have not improved much over the years.


Join over 18,800 readers for a free weekly email with fresh news, articles and tutorials.