Voting as a way to surface the hidden reasons
Imagine a situation where a majority effectively has a quiet veto over a change. Not because the status quo truly serves them, but because, for each individual person, it feels simpler to go along with it. Speaking up costs energy. It risks conflict. It can feel embarrassing, or socially unsafe. So something persists that does not really benefit the majority, and yet is still easier, moment by moment, to maintain. ...
Insurmountable Hans
Or.. the era of turbocharged goalpost moving The ARC benchmark was designed by François Chollet to serve one goal : be sufficiently difficult, demanding so that it cannot be “hacked” by some “cheating” AI techniques, LLM or whatever. But it must do so in a rigorous, systematic and simple to define way, it cannot be vague or ambiguous. It must be (relatively) easy for a human, but hard for a program. And when I first looked at it, I admired its simplicity and purity: the problems are simple but deep, and it’s clear that for many of them, you need to grasp something that goes beyond mere pattern recognition or superficial pattern matching. They seem to require some seriously deeper thinking. And if, like me, you thought for a minute about how you’d try to tackle them, in a programmatic way (ML or otherwise), it was quite easy to become convinced, that this is quite a good benchmark. And at first, what happened, on Kaggle, for instance, was exactly that: nobody could get even remotely decent results, the problem set really felt like a tough nut to crack. From there, the temptation was great, to suggest the idea that whenever ARC would be cracked, AGI would have arrived! ...
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. ...