People love copying Toyota. Toyota even willingly opens up its factory doors to curious people so they can have a look around. Many people do. With excitement, they start implementing all the tools and processes that they see Toyota succeed with. They add Kanban boards, mark the floor with tape, and copy all the tools they see. But in 6 months, when the dust settles, there is no real impact. Noā¦
Last Friday was great. I met up with Arnaud and we had tacos and crazy flavored beer called Michelada. The beer was dark and spiced with fish sauce and Worcestershire sauce. I ate some of the best tacos in my life. Then, on the terrace in the sun, we talked software architecture. Man. Life is good. The unintelligible diagram above is the result of the brainstorm, or the beer, or a bit of both.ā¦
I recently read the book How to Decide by Annie Duke. I think it can be summarized as follows: Donāt judge the quality of a decision purely by its outcome. If you do this (which the book calls Resulting) you underestimate the value of luck: Did you make a good decision but were just unlucky (bad luck)? Or, did you make a terrible decision, but you were lucky (dumb luck)? I find that an interestingā¦
At work, we host a lot of inference endpoints and for that we use Sagemaker . Sagemaker uses this abstraction, and Iāve grown quite fond of it: default_model_fn(model_dir, context=None) : This loads in the model and acts as a setup() function. This returns the model and other related services that your endpoint needs. default_input_fn(input_data, content_type, context=None) : This is basically anā¦
The cache as a product is a product category of its own. Product ideas can be deceptively simple. The cache as a product stores a finished good of something and makes it instantly available with the press of a single button or a single click. Example 1: Quooker For example this is a quooker. It gives you hot boiling water at the press of a single button with of course of safety mechanisms builtā¦
Every once in a while you (or your team) will screw up. The best thing you can do, when you inevitably screw up, is to own up to it and take responsibility. Reporting and communicating on this can very easily be lost in the chaos of the day, so hereās a template to help you not forget the most important things. Never let the rush and thrill of things going wrong and then fixing them get in the wayā¦
I thought it would be nice to document how I use AI right now, as of December 2025. I suspect over the coming months/year this will change rapidly! I use ChatGPT for search Right now I mainly use ChatGPT for ānormalā search. I notice Iām relying less and less on Google and more and more on ChatGPT, also referred to as āChatā. I use ChatGPT and Windsurf (with Claude Sonnet 4.5) for coding Forā¦
I completed Advent of Code 2025 ! Yay! Previous years: Advent of code 2023 in Golang : I wrote one blog post about one specific day in 2023. I donāt think I finished all of it. Advent of code 2024 in Rust : Tried it in Rust last year. Got 27 stars in the end. Lessons learned: Every problem has a parse and solve step . Every puzzle has this step where you take the puzzle input and parse it intoā¦
When in doubt, always try to batch your operations. In the context of machine learning operations (mlops) Iāve learned that batching requests is almost always the better answer. Why? Mainly because network hops are expensive and inference is optimized for matrix math. If you must choose between 100 single requests or one batched request of similar size, choose the batched request. The batchedā¦
I return time and time and time again to John Oosterhoutās timeless advice. Magic secrets: Problem decomposition : Can we break up the system into modules or subproblems that can be solved relatively independently? Working code is not enough, we must minimize system complexity . Complexity is caused by obscurity and dependencies. Test-Driven Design (TDD) does not guarantee good design over time.ā¦