Metaphysical Boldness
Some models of reality are bolder than others Digital physics is the body of mathematical and philosophical work treating the universe and the way it works as a giant digital computer. This is often associated with cellular automata, and names like Konrad Zuse, John Von Neumann, Stephen Wolfram, etc. What I find fascinating about this field is that the models it suggests are making very deep metaphysical claims: if they are true, it means that the underlying structure of the world is much different than we think, and radically simpler in a sense. Take the lattice gas automaton for instance. A version of it is an hexagonal cellular automata with very simple collision rules, not more complicated than the famous Rule 30 or 110, for 1D cellular automata. The impressive thing about it is that a simulation running this rule with many particles can be shown to approximate the Navier-Stokes equations, which are the classical complicated mathematics to describe the dynamics of fluids. Following Wolfram, I find it very appealing to consider the idea that the world is not somehow running “hidden mathematics”, somewhere and somehow, to solve some complicated equations in a seemingly magical way, but rather, that things are radically simpler, in that the world is simply implementing a set of trivially simple rules. The world is not concerned with, or made with mathematics, mathematics just emerges, with inherent and irreducible complexity, from extreme simplicity. ...
Manifesto: AI (as a term and field) should subsume CS
Computer Science as a term should simply capitulate and give way to AI In French the term “informatique” feels slightly better, as a label to describe the field, than “Computer Science” feels in English. But this is a rare occurrence for French, because most of the other terms, like “technologie de l’information”, and “science des données”, feel awkward and far from their “real” cultural counterpart, the thing in itself that we do, when we do it. ...
We didn't get the AI failure modes that philosophy anticipated
The original idea of AI, that we got mostly through science-fiction, and also a little from the philosophy of mind and logic, imagined an entity that would implement idealized and mechanical notions of thoughts, reasoning and logic. Such an entity would of course know everything there is to know about such topics, and its behavior would thus be rooted in them. Although this would mean that the entity would generally behave in impressive and powerful ways, it was also implicitly understood that sometimes this “perfection” would lead to paradoxical behaviors and “errors”: the robot stuck in a circle in the Asimov story is the quintessential example. ...
Render a markdown table to docx with pandoc
Suppose you’re like me, in the middle of editing a Word document, and you realize that you’re fed up with Word. So you tell it to a colleague, who happily tells you: use pandoc, it can render docx files! So here you go, and you first try to convert this simple markdown: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. | City | Population | Immigrants (%) | |:---------------|:-----------:|---------------:| | Laval | 440,000 | 31.5 | | Gatineau | 285,000 | 15.5 | | Trois-Rivières | 140,000 | 4.5 | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Then you run this command, with a lot of hope: ...
Proof of Prompt
When I’m doing freelance software development projects and I’m asked how much time things will take, it’s always very hard to answer. It’s a very high dimensional problem, and you have many degrees of freedom: how much should you charge, should you do it per hour or not, if you use AI how should it be factored in the efforts and time you report, what is the separation between the stuff that you charge and the stuff for which you don’t charge, does asking questions to your client to better understand the problem, on Slack in the weekend, count as time or not? Facing these doubts, and if they forgo the route of charging by the hour (which can be logistically quite painful, and can lead to its own kind of bad outcomes) I guess that most people are quite happy to fudge a rough number for a flat rate, do a couple of rounds of negotiation, reach an agreement, and call it a day. They implicitly accept that the outcome of this process can go both ways: either you estimated too low, and this way you will lose something, or the contrary. And you hope that in the grand scheme of things, things should average out in a reasonable way: either your loss, or their loss, who cares in the end? But is is really working this way? ...
Ignore Your Check Engine Light at Your Own Peril
Currently in my car I have the “check engine” light being on, but it’s ok, because I know what is the problem, my mechanic told me that it’s <something>, and that even though it’s not ideal, it can wait while he finds the part to repair it (apparently it’s not so easy to find). There is something I don’t like about this though: if there is a NEW problem appearing, I won’t know about it, because this check engine light has only one state, and now it’s being used. ...
Learning Persian with Anki, ChatGPT and YouTube
I’ve been learning Persian (Farsi) for a while now, and I’m using a bunch of tools for it. The central one is certainly Anki, a spaced repetition app to train memory. I’m creating my own never-ending deck of cards, with different types of content, for different purposes. The most frequent type of cards is grammar focused phrases (very rarely single words) coming sometimes from my own daily life, but also very often directly from videos of the Persian Learning YouTube channel, created by Majid, a very talented and nice Persian teacher, in my opinion. ...
An Excel-like editable data grid widget with Streamlit
I recently spent a lot of time trying to come up with an interactive data grid widget in Streamlit. It needed to be a bit like Excel: the value you enter in a cell should trigger the recomputation of the value in another cell. At first I assumed it would be relatively easy, but given the powerful state management model at the heart of Streamlit, I found out that it wasn’t. State management for UI programming remains a hard problem, no matter what is the environment. The most difficult aspect of React programming, for instance, is certainly state management. The user-driven asynchronous nature of a UI makes it an inherently difficult problem. ...
What if AI Had Come First?
Imagine an alternate history in which AI, in the sense of our current LLMs, had come first. This possibly means that things would have looked much more like they did in the 2001: A Space Odyssey movie: computers having a user interface so powerful that you don’t really need anything else (apart from a set of fancy looking dashboards maybe). But this is not what we got. First we got something that looked quite a bit like an idealized “command box” (not vocal though, but textual), with which you could give instructions to the computer, almost as if you were talking to it. But not quite. These instructions had to be expressed in a “language” that the computer could understand, and of course it was far from human natural language. Very close to that command box was the notion of a written program that you could give to the machine, and which would be executed as a kind of chain of commands, in long form, with more elaborate logic and syntax. ...
AI in the Enterprise (what do you really think will happen?)
There’s a cottage industry of AI gurus who extol the virtues of being open about the advent of AI in the enterprise. Don’t be shy about it, AI is powerful enough as it is, and it can already help in the current state of its evolution (mainly, powerful chatbots that have access to certain “tools”, and vendor APIs with which to build some more customized applications, backed by cloud LLMs). ...