Index | Archive | Tags | Atom Feed | RSS Feed

Failing to Understand the Exponential, Again

Sat 27 September 2025

The current discourse around AI progress and a supposedbubble” reminds me a lot of the early weeks of the Covid-19 pandemic. Long after the timing and scale of the coming global pandemic was obvious from extrapolating the exponential trends, politicians, journalists and most public commentators kept treating it as a remote possibility or a localized phenomenon.

Something similarly bizarre is happening with AI capabilities and further progress. People notice that while AI can now write programs, design websites, etc, it still often makes mistakes or goes in a wrong direction, and then they somehow jump to the conclusion ...


Giving Advice

Sat 27 September 2025

Good advice should rule out large parts of the possibility space - if you don't find yourself disagreeing with the advice or changing what you are doing, then the advice is just generic fluff.

Advice should be based on experience. Not necessarily your own, observing others can also make good advice, and it scales a lot better.

Good advice is contentious or not widely known. If everyone agrees with it already it’s just common sense.

It's often easier to give advice on what not to do, rather than on what you should do. It's less useful, but ...


Disconnect on Holiday

Wed 10 September 2025

A timely topic, as I'm writing this on the plane back from my latest trip: When you go on holiday, don’t check your work email, disable all notifications, just disconnect completely. Not just for your own mental health - many people have covered that extensively - but also to test the resilience of your work projects.

It’s easy to argue about bus factors, but nothing clarifies the situation better than going off grid for two weeks. Can your colleagues add new features, fix bugs with ease? Or do they start wishing for you to come back, try to contact ...


New Domain

Wed 13 August 2025

After almost 18 years with my old domain (furidamu.org, acquired August 2007!), I found a new domain that should be easier to remember and spell: julian.ac

I've migrated my blog to the new domain, but I plan to keep the old domain and URLs active indefinitely, with redirects to the corresponding new address. Please let me know if you run into any issues!

I was also tempted by a second domain, julian.photo, to finally get more serious about editing and sharing my travel and animal photos. This project is still very much work in progress, I'm experimenting ...


Serverless Comments

Sat 09 August 2025

While migrating my blog to my new domain (julian.ac!), I realized that the service I had been using for comments had not been maintained in a while, and did not support easy migration to a new domain.

I've been very impressed with the simplicity and reliability of S3 in the >10 years I've been using it to host this blog, so why not use the same setup for comments? It's not like I need to support massive write throughput or millions of comments, so a very simple system is sufficient:

  • All comments for a post are stored ...

Slimming Down

Sun 20 July 2025

This morning I got nerd-sniped by Why your website should be under 14kB in size. I had already optimized my blog several times previously, most recently writing my own static site generator in Rust, but according to the Cloudflare URL Scanner my front page was still a shocking 242 kB!

How could this be? Turns out 124 kB were consumed just by highlight.js, and a further 75 kB by a single screenshot from one of my posts. And this wasn't even counting another 258 kB from KaTeX, which failed to load in the Cloudflare scanner due to the CORS ...


HDR Photography

Mon 26 May 2025

Estimates for the dynamic range (the maximum perceivable contrast between light and dark) of human eyes vary depending on the source, from 1:100 to 1:1000 or more for static contrast. Dynamic contrast, where the eye moves around the scene and the iris adjusts in size is many orders of magnitude larger - with sufficient adaption time we can switch between bright daylight (108cd/m2) and faint starlight (106cd/m2), a range of 1014!

In comparison, standard computer screens display images encoded using 8-bit color channels, for a maximum of 256 brightness levels. This is why photos of very vivid ...


Free-threading Update - 3.14.0a7

Mon 05 May 2025

I mentioned in my previous post a lock contention issue when accessing the same list from different threads, leading to worse performance the more threads were used. Turns out this is fixed in Python 3.14.0a7 already!

Unfortunately this version doesn't (yet) seem available from uv (which is why I hadn't originally tried it), but it can be downloaded and installed manually from the Python website (click Customize at the installation step and check the free-threading box). On Mac OS, the interpreter binaries can then be found at:

  • /Library/Frameworks/Python.framework/Versions/3.14/bin/python3
  • /Library/Frameworks/PythonT.framework/Versions/3.14/bin/python3t

With this version we observe much ...


Experimenting with free threaded Python

Sun 04 May 2025

As of version 3.13, Python is finally getting support for real multi-threading that is not hobbled by the GIL: experimental support for free threading! This means multiple Python threads can now execute at the same time, without needing to compete for the global interpreter lock. In modern machines with hundreds of cores this can speed up CPU-bound programs by two orders of magnitude! Even in ML workloads that only use Python as a DSL with all heavy computation in numpy, JAX etc it is very easy to accidentally be Python interpreter bound - especially in RL algorithms that require more ...


Claude Code and Rust

Sat 03 May 2025

After 10 years of writing C++ while at Google, I’ve really enjoyed writing Rust over the last 6 months at Anthropic. It’s truly a breath of fresh air - modern APIs, confidence that if my code compiles it will work as expected, easy dependency management, a great linter. I say that as someone deeply familiar with modern high-performance C++, having touched around 1 million lines of C++ in various RL and distributed systems projects. Sanitizers and absl threading annotations are great, but categorically preventing memory and concurrency bugs from compiling is even better.

One of the most important ...

© Julian Schrittwieser. Built using 開板. Theme by Giulio Fidente on github. .