Pillmish

A few days ago, I heard about Pilish for the first time. As Wikipedia puts it, Pilish is a style of constrained writing in which the lengths of consecutive words or sentences match the digits of the number π (pi). My second thought (right after “who would enjoy doing that”) was, this sounds easy for LLMs! So I set out to make a minimal proof of concept. Long story short, the trick is to constrain the output to follow the digits of Pi—the same way that structured output (JSON, etc.) works. With Hugging Face Transformers, it’s easy to do with a custom logits_processor. Here, we just constrain the tokens to those matching the desired number of characters at each step. I shared the code on GitHub. ...

August 9, 2025 · 2 min · 312 words · Jerome Marhic

August 2025 Update (GPT-5, Veo 3, Gemini CLI, Open Source)

Lot of things going on this summer, but yesterday’s big news was the release of ChatGPT 5. I don’t have an opinion on it yet, but I guess it’s nice to have a single model (at least exposed, even if this is routed under the hood) instead of switching between 4o and o4-mini-high, etc. Recently I’ve been on the market for a “CLI Agent” (synchronous, like Claude Code, not async like Devin and co.). I’ve been using Gemini CLI with good results — as long as I’m within the free PRO requests. As soon as it switches to the “flash” model it becomes useless, can’t edit a file properly, and just loops on itself. I wouldn’t pay for it. Claude Code seems too expensive; I might give OpenAI Codex a try with GPT-5, but I haven’t heard much about it. ...

August 8, 2025 · 3 min · 604 words · Jerome Marhic

Maths notes (1)

So I started reading a paper about diffusion (the original DDPM paper) and I was quickly out of my depth. I needed a refresher about probabilities, and actually even more basic stuff like exponential and integration. And I thought why not share the notes here! So this blog post is the content of a python notebook about exponential and the normal distribution, exported to markdown with jupyter nbconvert. It’s not deep or anything, just a nice refresher for myself. Kind of a pain to write math formulas and get them displayed in my Jekyll blog but got it working with Mathjax. ...

July 30, 2025 · 6 min · 1223 words · Jerome Marhic

I apologize for the confusion. You're absolutely right.

Google did me dirty this week and I’m salty, so let me tell you. The other day I received an email informing me that my YouTube Premium subscription had been renewed, which surprised me because I canceled it about 6 months ago, and I haven’t missed it ever since (thanks, yt-dlp!). I first thought it was my daughter’s shenanigans, but after a closer look I had only “paused” the subscription instead of canceling it, and Google conveniently failed to inform me it was going to be restarted… No advance email like “your subscription will restart in a few days,” just “whoops, we restarted your subscription and you’ve been charged 13 euros, teehee.” ...

July 25, 2025 · 2 min · 344 words · Jerome Marhic

July Update

Just a quick update to say I am still making progress on the Password Game Agent project I mentioned last post. I have now reached up to step 16 where we need to solve a chess position… Seems like a suitable job for a reasoning model ! The main changes that enabled going from step 11 (Wordle answer) to 16 were adding a “search tool” based on OpenAI web search tool and changing the reasoning effort from “medium” to “high”. The current version of the code is here : https://github.com/goverture/password-game-agent/blob/master/manually.py I’m still making regular changes and trying new ideas to make progress. I’ve noticed we often seem to get stuck for various reason (for instance a badly recognized Capcha), so I want to add a new step to ensure that we make progress consistently, or backtrack, in order to not get stuck.

July 5, 2025 · 1 min · 142 words · Jerome Marhic