Skip to content

Tim's blog

Get notified of new posts

Intuit Mailchimp

My Opus 4.5 Moment

The "ChatGPT moment" was November 30, 2022, the day OpenAI released the first version of ChatGPT. It wasn't just a technological leap; it was a usability leap that took an LLM and put it behind a simple, free chat interface that reached 100 million users in just two months.

If you had asked me a year ago about LLMs for coding, I would have explained they were helpful but overhyped. They wrote some functions I would refactor, and I often got stuck in a loop of pasting error messages with "fix this". But then, just 3 years after the first ChatGPT, on 30 November 2025, Anthropic released Claude Opus 4.5. I realized I was wrong: I had my Opus moment.

Introducing Alt Alpha: Explore alternative keyboard layouts

Almost a year ago I switched to the ZSA Voyager, a programmable, ergonomic split keyboard that features four thumb buttons per hand instead of the single spacebar found on traditional keyboards. After having a lot of fun optimizing my keyboard layout and customizing shortcuts, I got interested in alternative alpha keyboard layouts. The 'AKL' scene is still actively developing new layouts with many great new options in the last two years. I found it hard to choose and fun to compare, so in this post I'll introduce a new tool I built: altalpha.timvink.nl

Introducing an actually helpful sudoku solver

I occasionally enjoy playing sudoku puzzles. I particularly like the harder ones that pose a real challenge. Play them and you will get stuck inevitable. I often wonder if I missed something obvious, or if I need to apply a more advanced strategy to solve this puzzle. So I wrote a sudoku solver that gives me the easiest possible strategy required to make progress. This blog has an interactive demo of the solver and reflects on how I wrote it.

Benchmarking scikit-learn across python versions using uv

When python 3.11 came out 2 years ago (24 October 2022) it promised to be 10-60% faster than python 3.10, and 1.25x faster on the standard benchmark suite (see the what's new in 3.11). I've always wondered how that translates to training machine learning models in python, but I couldn't be bothered to write a benchmark. That is, until astral released uv 0.4.0 which introduces "a new, unified toolchain that takes the complexity out of Python development".

Thoughts on Constrained Intelligence

In my career I've focused mostly on applying what is now called 'traditional machine learning': regression, classification, time series, anomaly detection and clustering algorithms. You could frame machine learning as applying an algorithmic 'constrained intelligence' to a specific business problem. The challenge has always been to 'unconstrain the intelligence' (f.e. by tuning hyperparameters) and to further specify the business problem (proper target definition, clean data, proper cross validation schemes). The advent of large language models is starting to flip the equation; from 'unconstraining' intelligence to 'constraining' it instead.

Speeding up databricks SQL queries

Retrieving data from a datawarehouse is a common operation for any data scientist. In August 2021 databricks released a blog post describing how [Databricks] achieved high-bandwidth connectivity with BI-tools. In it, they introduced cloud fetch, promising a 12x experimental speedup on a dataset with 4M rows and 20 columns, achieved mainly by doing downloads in parallel. When I read this I immediately dove head-first into the rabbit hole, hoping to reduce the time from running a SQL query to having it inside a pandas dataframe. This blogpost details the journey on how I achieved a significant speedup for our databricks queries.

Is XGBoost really all we need?

If you have experience building machine learning models on tabular data you will have experienced that gradient boosting based algorithms like catboost, lightgbm and xgboost are almost always superior.

It's not for nothing Bojan Tunguz (a quadruple kaggle grandmaster employed by Nvidia) states:

... but aren't we all fooling ourselves?

Adjusting the bootstrap in Random Forest

The RandomForest algorithm was introduced by Breiman back in 2001 (paper). In 2022 it is still a commonly used algorithm by many data scientists. The only difference is that the current scikit-learn implementation combines classifiers by averaging their probabilistic prediction, instead of letting each classifier vote for a single class (source).