Short take on the awesome power of web-browsers

Imagining a little demo In a previous post I wrote about Homography and how manipulating images to create an arbitrary projection onto a screen (or camera sensor) from a 3-dimensional space works. That was a nice little piece of math if you ask me, but I wanted to show a demonstration that’s a bit more exciting and figured video would be even cooler than a single image. That led me to imagining a video feed that’s distorted in some way, and if a single feed is nice, why not have a few of them in some cyberpunky type old, but at the same time futuristic, kind of way. Like a derelict video store from a 1980s Bladerunner existence. Yes, I’m on a few days off work and my mind wanders. ...

March 28, 2026 · 3 min

What is Homography?

March 27, 2026 · 0 min

Rust ray tracer project

Making a photorealistic image in code Programming a computer to make a photorealistic image is a very cool party trick. Thinking about the problem from first principles, it’s not clear what you need to get this thing working. I mean, there’s a clue in the name - it’s tracing rays. The gives us a clear indication that we will be following light rays along in a 3d scene, sure. But what was not clear to me is how much is needed, how much detail, when modelling the light-matter interaction to get a result that looks good. It turns out that the answer is: surprisingly little. Here’s what I made by following an amazing free three-book series by Peter Shirley, Trevor David Black and Steve Hollasch: Ray Tracing in One Weekend. ...

March 19, 2026 · 11 min

Snake by LLM

This is a short post with very little real content. I wanted to test how easy it will be to make a snake game with GPT-5, using the Codex programming assistant (agent?) that is able to generate pull requests directly into a github repo. My goal was to make something simple that compiles to wasm and then deploy it on a Hugo page (which is the publishing tool used to build this blog), just to see how easy it may be. Conclusion: it’s easy. I hardly read the code at all, so for all I know it may be very bad. ...

August 10, 2025 · 1 min

Analog synthesizers and lasers

I’m not a musician. I do enjoy listening to music very much and I tried picking up an instrument a few times. I never managed to keep at it for long enough to make anything you could call music. Being almost 40, it’s probably too late to really get into it in any serious way. However, I would say that at one point in my life I did play something that is a lot like an instrument: A laser. It turns out a laser is surprisingly similar to a unique electronic instrument called a modular synthesizer. Let me try and explain! ...

June 22, 2025 · 8 min

The unfinished paper

A beautiful plot The aesthetics of scientific plots is one of those things. You don’t have to know what makes something beautiful to recognize that it is beautiful. I’m not sure what provides a plot with that oomph, or je ne sais quoi. Is it just a great Signal-to-Noise Ratio (SNR) that makes the eye sense that something real is being presented? It’s probably more than that! A straight-line plot with great SNR is not usually particularly beautiful. I’d suggest that some complexity has to pop up too, to make the viewer feel there’s interest here beyond the trivial. I’m sure you could train a neural network to sort pretty plots out from non-pretty ones but… whatever… This plot below, as I’m sure you’d agree is very pretty indeed. Tragically, due to very silly psychology reasons (and also maybe the follies of the Scientific Method), it has never seen the light of day until now. ...

December 15, 2024 · 10 min

Quantum simulators and the Classiq platform

Program, run, repeat Software development, like many creative activities, is an iterative process. You try to figure something out, have an initial thought about the correct way to go about things and give it a first go. In quantum algorithm development the same principle applies. You should start with a small model, see if it works and then work your way up in complexity. At the moment you can’t easily access a quantum processor with more than a few tens of qubits. Even for these smaller devices, queue times can be very long and larger systems are not freely accessible. Nothing is worse than developing your algorithm, sending it to sit in a queue for a week and then coming back to find the result is nonsense. Often you end up with a bunch of zeros just because you forgot an H gate somewhere (or your idea was just plain bad!) ...

November 3, 2023 · 6 min

Kill Chains, The Internet Of Things And Quantum Combinatorial Optimization: A Buzzword Salad

This post was originally posted on the Classiq blog. Written with Ariel Smoler. Depending on who you ask, the size of the cyber security market is currently (as of August 2023) estimated at a few hundred billion USD/year. It’s harder to estimate the size of the internet-of-things market as the definitions are more vague than those of cyber-security. Is a web-connected-toaster an Internet-Of-Things (IOT) device? Sure, maybe, but what about a Radio-Frequency (RF) identification tag with a microchip embedded stuck on an egg carton? Yeah, that’s probably IoT-related too. Coincidentally, both examples can be targets for cyber-attacks. However, it’s unclear which evil cyber-capable red-tailed fox will likely target that lowly yet delicious, internet-connected treat. ...

September 7, 2023 · 12 min

The CLASSIQ Engine: I CAN get some satisfaction

This post was originally posted on the Classiq blog. Have you ever solved a Sudoku puzzle? It was pretty popular at some point in the early 2000s. For some reason, everyone was solving them all the time. Mind you, this is a time well before smartphones. People just didn’t have better things to do. If you haven’t heard of it, in a Sudoku, the goal is to fill a 9X9 grid with digits such that in each row and each column, each digit appears only once. This type of puzzle is an example of a Constraint Satisfaction Problem (CSP). These are problems where you have to “fill in the blanks” with an item (e.g., a digit) from a set of possibilities (e.g., the digits 1 through 9) but not break some set of rules (e.g., no repetitions of a digit), and they’re more common than you’d think. ...

August 16, 2023 · 7 min

The basics of quantum-dot qubits (1): some basic solid-state physics

So many qubits, so little time At the time of writing this there are at least five competing technologies vying for the quantum computing throne. Superconducting qubits, trapped ions, neutral atom arrays and silicon (CMOS) qubits are the top contenders. The various so-called “color centers”, a prominent example of which are Nitrogen-Vacancy centers in diamonds, arguably lagging behind. Using an eye-rollingly terrible expression, it’s ‘The Zoo of Qubits’ 🙄. They only reason I am willing to use it is because I do believe some of them are cute but useless, some are scary and may bite you, and It’s very likely most of them will be extinct soon. ...

July 8, 2023 · 12 min