By now, you have probably heard of OpenAI’s ChatGPT, or any of the alternatives GPT-3, GPT-4, Microsoft’s Bing Chat, Facebook’s LLaMa or even Google’s Bard. They are artificial intelligence programs that can participate in a conversation. Impressively smart, they can easily be mistaken for humans, and are skilled in a variety of tasks, from writing a dissertation to the creation of a website. How can a computer hold such a conversation?...
Simply explained: Where do programming languages come from?
Our lives are surrounded by computers, from the smartphones to the elevator controller, from the plane to the game consoles. They can do so many things, but how do we tell them what to do? This involves programming, and people writing the program in specific languages made to communicate with the computer. But where do these languages come from? There’s C++, JavaScript, HTML… Where do they come from? Programming languages are a way to express in text 1 how to perform a some tasks on a computer....
Teaching the Rust Borrow Checker
Setup While I was doing the Advent of Code 2022, I stumbled upon a pattern that should be expressible in safe Rust, but is beyond the understanding of the borrow checker. Although its use cases are probably rather niche, I still found it potentially useful. Anyway, it’s a good exercise to understand more about the borrow checker, by seeing its limitations. The problem in question was day 23. I’m going to greatly simplify the problem for the sake of the exercise:...
Birth of a new blog
What is the best programming language? Why is Vim better than Emacs? Tabs or spaces? Static or dynamic typing? The answer to all these questions and more on “Confused bit”. This blog is a place to host and share my thoughts on software, crafting, and my experience with various projects. It may or may not be entirely devoid of non irrelevant content for the wrong audience. Confused? So am I. Welcome to a world where we don’t know what we’re doing, and we just hope our code doesn’t crash in prod....