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.
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.
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.”
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.
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.
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.
TypeIDs are a modern, type-safe extension of UUIDv7. Inspired by a similar use of prefixes in Stripe's APIs.
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.
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.