You don't know where to start. Tired of indecisions. Learn algorithms, data structures, and mental models for a simple life.
How can you compress a file without losing any details? Magic? The secret is to look for patterns, repetitions and predictability. Let’s dive into entropy, information and Huffman coding.
Keeping notes and reflecting on your work and actions is key to becoming a better developer and problem solver.
There is no obvious place to start when attempting to solve a problem. Here are four approaches that will help.
Bugs make us better developers. They help us grow and ameliorate the fruit of our work. Why not actively welcome them?
How can we use statistics to give us an edge at playing Wordle
How can the Stoics help us become better engineers? Learn two practices that will upgrade your well-being and the quality of your work.
What is the difference between easy and simple? Form and effort dictate our relationship with objects and interfaces.
Play god by learning how to create a basic genetic algorithm and making some generative art.
What hides behind a simple bug fix? Tools and techniques to think beyond symptoms.
One afternoon I was doing some research for an illustration I had in mind. What I learned that day will stick with me.
Learn how to use dynamic programming with this funny story. What is the best way to cut a baguette to make the most profits selling sandwiches? Can some computer science help our baker?
Mental models are shortcuts that you can use to think differently about a problem. They are an excellent tool to add to your developer’s toolbox. Learn 15 mental models that will help you find answers to tricky problems.
Have you ever wondered how many time you should try something before getting a positive result? Read this to learn how to engineer your luck and minimize your effort.
Learn the differences between frameworks, patterns and recipes to create better abstractions.