If I'm stuck in a creative downturn, there's usually only one remedy: keep going. That is, accept the downturn, but continue to stare at the computer, waiting for it to pass. While staring at the computer, there's room for menial and managerial tasks put aside during more inspired times.
Code documentation where it makes sense: in the IDE 🤯 (sponsor)
Create internal documentation utilizing a rich text editor, and trust us to keep it all up to date. Remove development roadblocks, and ship code faster with documentation built for developers. Available for VSCode and JetBrains.
Big O Notation: A Simple Explanation With Examples
In this article, we’ll cover the basics of Big O notation, why it is used and how describe the time and space complexity of algorithms with an example.
Programming types and mindsets
One of the longest running schisms in programming is that of static vs dynamic typing. I've heard a million arguments from both sides throughout my entire career, but seen very few of them ever convinced anyone of anything.
Building evolvable software systems is a strategy, not a religion. And revisiting your architectures with an open mind is a must.
Real World Recommendation System
Training a collaborative filtering based recommendation system on a toy dataset is a sophomore-year project in colleges these days. But where the rubber meets the road is building such a system at scale, deploying in production, and serving live requests within a few hundred milliseconds.
Open and Closed, Omission and Collapse
Let's consider a very simple system, along the lines of the one in the image above: a single server, an unbounded queue, and either open or closed customer arrival processes. First, we'll consider an easy case, where the server latency is exponentially distributed with a mean of 0.1ms. What does the client-observed latency look like for a single-client closed system, closed system with 10 clients, or an open system with a Poisson arrival process?