<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[The Turing Machine]]></title><description><![CDATA[The Turing Machine]]></description><link>https://theturingmachine.net</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 01:28:20 GMT</lastBuildDate><atom:link href="https://theturingmachine.net/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Everybody Wants to Be a Dev!]]></title><description><![CDATA[For a while now, an idea has been gaining traction: with artificial intelligence, anyone can build an app without knowing how to code. The promise is incredibly seductive: with just a few prompts, we ]]></description><link>https://theturingmachine.net/everybody-wants-to-be-a-dev</link><guid isPermaLink="true">https://theturingmachine.net/everybody-wants-to-be-a-dev</guid><category><![CDATA[AI]]></category><category><![CDATA[software development]]></category><category><![CDATA[AI-driven prototyping]]></category><category><![CDATA[vibe coding]]></category><dc:creator><![CDATA[Andrea Chiarelli]]></dc:creator><pubDate>Sun, 19 Jul 2026 14:19:32 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/5f9e9260de85d46a77d5e465/3f6dbb59-2386-4dd4-aa82-0045be0e8dde.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>For a while now, an idea has been gaining traction: with artificial intelligence, anyone can build an app without knowing how to code. The promise is incredibly seductive: with just a few prompts, we can generate code and instantly turn an idea into a product.</p>
<p>It’s no coincidence that this vision took hold so quickly and gave rise to services like <a href="http://Lovable.dev">Lovable.dev</a>, <a href="http://Bolt.new">Bolt.new</a>, <a href="https://v0.app/">v0</a>, and others. Every new technological evolution that narrows the gap between an idea and software tends to make developers' work look like an <em>arcane ritual</em> waiting to be dismantled by a simpler formula.</p>
<p>There is something deeply familiar about all of this. Something that reminds me of a line from a song many of us grew up with, with its slightly childish enthusiasm: <a href="https://youtu.be/9FOilw55tmQ?list=RD9FOilw55tmQ"><em>everybody wants to be a cat</em></a><em>!</em></p>
<p><a class="embed-card" href="https://youtu.be/9FOilw55tmQ?list=RD9FOilw55tmQ">https://youtu.be/9FOilw55tmQ?list=RD9FOilw55tmQ</a></p>

<p>Today, it seems like <strong>everybody wants to be a dev.</strong> The real question is whether everybody <em><strong>can</strong></em> be a dev.</p>
<p>Joking aside, the attempt to make programming accessible to everyone is an old story, one that certainly didn't start with the advent of AI.</p>
<h2>A World Without Developers</h2>
<p>The idea that technological evolution can democratize programming is a recurring theme in the history of computer science. <strong>Every time a new abstraction emerges, someone proclaims that the job of writing software is about to become obsolete</strong>. Sometimes the promise is alluring; other times, it's just a clever way to sell a new tool. Yet, the core premise remains the same: <strong>if computers get closer and closer to understanding human language, then perhaps those seemingly indispensable technical skills are no longer needed</strong>.</p>
<p>I’ve seen this pattern repeat itself multiple times. A demo takes half an hour to build, a prototype seems to work, and suddenly, the idea of building an app feels within anyone's reach. It’s fascinating, but the problem is that what you see at the beginning is often just the surface-level work: the interface, the screens, the user flow. What remains hidden is the hardest part, the work that determines whether the application will actually hold up when it goes live in production.</p>
<h2>Promises of the Past</h2>
<p>Looking back, the history of computing is full of waves that announced the end of developers. These waves didn't eliminate the profession; they transformed it. And that transformation should serve as a lesson to help us understand exactly what is happening today with AI.</p>
<h3>COBOL and Quasi-Natural Language</h3>
<p>In the 1950s and '60s, when programming meant working directly with hardware, assembly, and mathematical logic, <a href="https://en.wikipedia.org/wiki/COBOL">COBOL</a> was born. Its goal was clear: <a href="https://www.wisarchive.com/post/grace-hopper-and-the-democratization-of-computer-programming">to bring programming closer to everyday language</a> so that business managers could express rules more naturally. The idea was that a manager could describe a process's logic in English, and the computer would handle the rest.</p>
<p>That promise didn't pan out the way people imagined. We didn't end up in a world where everyone wrote software the way they wrote letters. Instead, a vast ecosystem of specialists emerged who knew how to use that language rigorously, efficiently, and sustainably. In other words, the barrier to computer programming didn't disappear; <strong>it shifted.</strong></p>
<h3>SQL and Fourth-Generation Languages</h3>
<p>In the 1970s and '80s, with the rise of databases, <a href="https://en.wikipedia.org/wiki/Fourth-generation_programming_language">fourth-generation languages</a> (4GLs) and <a href="https://en.wikipedia.org/wiki/SQL">SQL</a> arrived. The concept was simple: <strong>instead of explaining every procedural step to the computer, you just had to declare <em>what</em> you wanted to achieve</strong>. In theory, a non-technical user could query a database and get a result.</p>
<p>In practice, however, writing correct queries, managing complex schemas, and understanding how data connects requires a much deeper level of reasoning than it appears at first glance.</p>
<p>As a result, the language became more accessible, but the need for expertise didn't vanish. If anything, it became more specialized. New roles, new professionals, and new problems to manage emerged. The computer kept doing its part, but the ability to think in a structured and precise way remained essential.</p>
<h3>HyperCard and the Dream of Democratic Programming</h3>
<p>In the 1980s, <a href="https://en.wikipedia.org/wiki/HyperCard">HyperCard</a> truly felt like a revolution. With a simple card-based metaphor and a highly readable language, it promised to <strong>put software creation into the hands of anyone</strong>. Teachers, artists, students, everyday people: everyone could build interactive apps, games, or educational tools without a deep background in computer science.</p>
<p>It was a captivating dream, and it partially worked. HyperCard became a massive tool for creativity, inspiring the evolution of the Web and early forms of digital collaboration. But when it came to building something truly robust, scalable, or professional, the system hit technical and organizational walls. The democratization of programming remained a promise that looked much better on paper than in industrial reality.</p>
<h3>CASE Tools and the Dream of Guided Software</h3>
<p>Between the 1980s and '90s, another promise attempted to make development more accessible: <a href="https://en.wikipedia.org/wiki/Computer-aided_software_engineering">CASE (Computer-Aided Software Engineering)</a> tools. The idea was simple: if a system could help map out an application's flow, generate pieces of code, and guide the design process, then <strong>even non-experts could build software in a more structured way</strong>.</p>
<p>In practice, however, CASE tools didn't eliminate the need for expertise. They simplified certain steps, especially during the analysis and design phases, but they didn't replace the work of someone who could see the bigger picture.</p>
<h3>Visual Basic and the Drag-and-Drop Era</h3>
<p>In the 1990s, <a href="https://en.wikipedia.org/wiki/Visual_Basic_(classic)">Visual Basic</a> turned <strong>creating desktop applications into a near drag-and-drop affair</strong>. It was the modern version of the dream: just draw a window, drop a button, and tell the computer what to do when that button was clicked. To many, it felt like the moment the barrier between user and developer would dissolve once and for all.</p>
<p>To an extent, it did. But it also opened up a different narrative. Many applications built this way were fast to construct but incredibly fragile without a solid architecture backing them. As a system grows, knowing how to make a window pop up isn't enough anymore. You need to know how to define architecture, manipulate state, handle errors, maintain code, and ensure quality. The initial simplicity didn't eliminate the need for technical skills; it just pushed the problem down the road to a later stage of the product lifecycle.</p>
<h3>No-Code and the Myth of the Citizen Developer</h3>
<p>In the 2010s, with the explosion of the web and APIs, no-code and <a href="https://en.wikipedia.org/wiki/Low-code_development_platform">low-code</a> carried the torch of a new promise. Platforms like Bubble, Webflow, or Zapier suggested that <strong>even those who couldn't code could build personal tools, automations, or full-fledged applications</strong>. This birthed the idea of the <strong>"citizen developer"</strong>, a business professional who creates their own solution without going through IT.</p>
<p>Here too, reality proved more nuanced. These platforms are phenomenal for prototyping, automating minor processes, and creating straightforward experiences. But the moment a project requires complex integrations, security, scalability, or non-trivial logic, you hit a wall immediately. People can navigate the system, but they don't always have full control over it.</p>
<h2>AI Is Not the End of Programming</h2>
<p>Today, AI is making it easier to build the first version of an application, but it isn't eliminating the developer's job. What's changing is <em>how</em> they work, as I mentioned in <a href="https://dev.to/andychiare/being-a-developer-in-the-vibe-coding-era-3me8">another article</a>: less time spent writing code, and more time dedicated to understanding the problem, defining requirements, guiding the tools, and verifying the output. The skills that matter now aren't just about syntax; they are about choosing the right solution for the context, anticipating errors, and knowing if a system will truly hold up.</p>
<p><strong>Anyone using AI can churn out software faster, but they can't always tell if the result is correct, secure, or sustainable</strong>. And that's exactly where the difference lies. A beginner can make something simple work. An experienced developer also knows how to explain <em>why</em> the system holds together, where it might break, and how to prevent it.</p>
<p>The history of computing has already taught us that while every new technology takes a step forward in making software development more accessible, it never eliminates the need for specific expertise. <strong>The type of skill required changes, but its importance never does.</strong></p>
]]></content:encoded></item><item><title><![CDATA[Generative AI and Non-Determinism]]></title><description><![CDATA[“The limits of my language are the limits of my world.”
– Ludwig Wittgenstein

We often hear that generative AI is non-deterministic because it responds differently each time to the same prompt. This ]]></description><link>https://theturingmachine.net/generative-ai-and-non-determinism</link><guid isPermaLink="true">https://theturingmachine.net/generative-ai-and-non-determinism</guid><category><![CDATA[AI]]></category><category><![CDATA[llm]]></category><category><![CDATA[non-determinism]]></category><category><![CDATA[determinism]]></category><category><![CDATA[computation]]></category><dc:creator><![CDATA[Andrea Chiarelli]]></dc:creator><pubDate>Mon, 30 Mar 2026 15:56:26 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/5f9e9260de85d46a77d5e465/b42f5ba7-bf65-4161-a4e5-180050c89654.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote>
<p>“<em>The limits of my language are the limits of my world.</em>”</p>
<p>– Ludwig Wittgenstein</p>
</blockquote>
<p>We often hear that generative <strong>AI is non-deterministic</strong> because it responds differently each time to the same prompt. This quality is both fascinating, because it is, in a sense, creative, and problematic, because it eludes our control in contexts where precision and predictability are essential.</p>
<p>So, <strong>is non-determinism really what lies behind the processing of an LLM?</strong></p>
<h2>What Is Non-Determinism?</h2>
<p>To understand what non-determinism is, we need to turn to the <a href="https://en.wikipedia.org/wiki/Theory_of_computation">theory of computation</a>.</p>
<p>Imagine you’re in a maze. In a <strong>deterministic system</strong>, you are a lone explorer. You come to a fork in the road and choose the right path. If the path is blocked, you must go back (good old <a href="https://en.wikipedia.org/wiki/Backtracking">backtracking</a>) and try the left path.</p>
<p>In a <strong>non-deterministic system</strong>, however, you possess the gift of ubiquity. When you reach the fork, you split into two people. One goes right and the other goes left.</p>
<p>According to <a href="https://en.wikipedia.org/wiki/Michael_Sipser">Michael Sipser</a>, the author of the book <a href="https://en.wikipedia.org/wiki/Introduction_to_the_Theory_of_Computation"><em>Introduction to the Theory of Computation</em></a>, this process is perfect parallelism: just one clone needs to find the exit for the entire machine to succeed. The computation of a non-deterministic machine is not expressed as a transition from one state to another, but rather as a transition from one state to a set of states. This theoretical <em>super-capacity</em> is used to solve complex problems, such as those in the famous <a href="https://en.wikipedia.org/wiki/NP_(complexity)">NP class</a>.</p>
<p>In computer science, non-determinism is a model of logical perfection. <strong>If a solution exists, a non-deterministic machine will find it</strong> because it explores every possible path without ever making a mistake. However, be careful: <strong>there is no such thing as a purely non-deterministic physical computer</strong>.</p>
<h2>The Many Faces of Non-Determinism</h2>
<p>Before returning to generative AI, we need to clarify the various concepts of non-determinism that are often conflated in everyday language. In fact, the term’s meaning changes significantly depending on the context.</p>
<p>As we have seen, in computer science, non-determinism is a logical abstraction: a virtual perfect parallelism that allows us to solve a problem within a reasonable amount of time.</p>
<p>In physics, non-determinism, or more accurately, <a href="https://en.wikipedia.org/wiki/Quantum_indeterminacy">indeterminism</a>, is the principle that it is impossible to simultaneously know two conjugate properties of a particle, such as position and momentum.</p>
<p>Biology also has the <a href="https://en.wikipedia.org/wiki/Indeterminism#Evolution_and_biology">concept of indeterminism</a>, though it is linked to the role of chance in the evolution of living beings. This chance seems to be present in other aspects of nature, such as the weather, which are so difficult to predict that they appear non-deterministic. In reality, these are not non-deterministic systems, but rather highly complex deterministic systems, as <a href="https://en.wikipedia.org/wiki/Chaos_theory">chaos theory</a> explains.</p>
<p>Generative AI is often defined as non-deterministic because of the <em>chaos effect</em>: small variations in the input produce different outputs. However, as we will see, its nature is quite different.</p>
<h2>AI and Probability</h2>
<p>When you ask an LLM to answer a question or write code, the system doesn't use a non-deterministic approach to find the solution. The LLM simply… guesses.</p>
<p><strong>LLMs are probabilistic machines</strong>, not non-deterministic machines. Their entire universe boils down to assigning a probability percentage to the next token. For example, if you write, “The cat is on the...”, the model isn’t <em>thinking</em> about physical space. It calculates that:</p>
<ul>
<li><p><em>carpet</em> has an 80% probability.</p>
</li>
<li><p><em>lawn</em> has a 15% probability.</p>
</li>
</ul>
<p>Unlike Sipser’s non deterministic machine, an LLM doesn’t traverse all logical branches. It chooses one based on a statistical distribution. This is a substantial difference!</p>
<p><strong>A non-deterministic machine would <em>virtually</em> always give the correct solution</strong>. It would explore all possible branches of the computation to identify the correct one. If a solution is incorrect, that branch of the computation simply ends. There cannot be an output that is not a valid solution to the problem.</p>
<p>The LLM follows <strong>likelihood</strong>, not <strong>truth</strong>. It can generate a grammatically perfect sentence that is factually false because those words <em>sound</em> good together statistically. For instance, the LLM might tell you that the capital of Brazil is Rio de Janeiro because Rio is associated with Brazil much more often than Brasília in its training data. Statistically, Rio is the <em>more likely</em> answer, even if it is logically incorrect.</p>
<h2>Why Is Imprecise AI Useful?</h2>
<p>If AI is fallible and imprecise, why is it revolutionizing the world? Why is it permeating our daily lives?</p>
<p>Traditional, deterministic software is like a train traveling on tracks. It only does what it was programmed to do. It doesn’t make decisions beyond what the programmer intended, and it doesn’t evolve on its own. Traditional software expects input in a specific format. It cannot handle ambiguity or imprecision. For example, if you want to reschedule an appointment from today to tomorrow, you can do so by following one of a few predefined methods.</p>
<p>In contrast, if you ask a chatbot “Move today’s appointment to tomorrow,” or “Move today’s meeting to tomorrow,” or even “<em>Tooday’s apointment goes to tomorow</em>,” it uses its probabilistic nature to correctly interpret your request.</p>
<p>This ability to handle unstructured data, such as analyzing the sentiment of an email, summarizing a document, or translating a text, cannot be reduced to simple, rigid rules. In these cases, probabilistic flexibility is the only way.</p>
<h2>Navigating Uncertainty</h2>
<p>For now, non-determinism remains a logical ideal of supreme efficiency. However, what we actually have at our disposal is an extraordinary probabilistic tool that <strong>is not intended to replace traditional deterministic software, but rather to enhance it</strong>.</p>
<p>As developers and engineers, our task is not to eliminate AI's unpredictability, but rather to learn how to channel it. We must design deterministic systems around probabilistic engines that know when to be <em>intuitive</em> and <em>imaginative</em> and when to be precise.</p>
]]></content:encoded></item><item><title><![CDATA[Duck Intelligence]]></title><description><![CDATA[If it walks like a duck and it quacks like a duck, then it must understand like a duck.

Some time ago, I had a brief debate with a YouTube user about using of the term "understanding" in reference to]]></description><link>https://theturingmachine.net/duck-intelligence</link><guid isPermaLink="true">https://theturingmachine.net/duck-intelligence</guid><category><![CDATA[llm]]></category><category><![CDATA[Intelligence]]></category><category><![CDATA[understanding]]></category><category><![CDATA[AI]]></category><category><![CDATA[Artificial Intelligence]]></category><dc:creator><![CDATA[Andrea Chiarelli]]></dc:creator><pubDate>Fri, 06 Feb 2026 14:54:09 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1770388949856/b370ab9d-ea15-4533-b4e9-83adc259dfe6.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote>
<p>If it walks like a duck and it quacks like a duck, then it must understand like a duck.</p>
</blockquote>
<p>Some time ago, I had <a href="https://www.youtube.com/shorts/avG2QIdS8AY">a brief debate with a YouTube user</a> about using of the term "understanding" in reference to Large Language Models (LLMs). I tend to agree with that user’s argument that an LLM doesn't actually understand anything because it’s a machine. I’ve even written <a href="https://theturingmachine.net/is-this-intelligence">an article supporting this idea on the type of intelligence LLMs have</a>. However, I believe that the question of whether something is intelligent or capable of understanding isn't fully resolved by analyzing it solely from a technical perspective. In other words, a seed of doubt remains, not so much about the machine's capacity to understand, but rather, about our own ability to "understand the understandable."</p>
<h2>To Understand or Not to Understand?</h2>
<p>Asserting a machine is incapable of understanding raises two issues:</p>
<ul>
<li><p>A <strong>philosophical issue</strong> about the meaning of "understanding" and how we determine whether someone or something understands.</p>
</li>
<li><p>A <strong>linguistic issue</strong> regarding the semantic extension of the term "understanding."</p>
</li>
</ul>
<p>Don’t get me wrong: I’m not claiming that machines can understand in the way we commonly intend. Rather, I’m inviting you to reflect on <strong>how we use the term "understanding"</strong> probably… without fully understanding it.</p>
<p>But let’s take things one step at a time.</p>
<h2>The Philosophical Question of Understanding</h2>
<p>First, let’s ask ourselves how we determine whether a machine understands (or, if you prefer, is intelligent).</p>
<p>In the <a href="https://theturingmachine.net/is-this-intelligence">article</a> I mentioned earlier, I referred to <a href="https://en.wikipedia.org/wiki/Forrest_Gump">Forrest Gump</a>’s motto: "<em>Stupid is as stupid does</em>." When I first heard it, I didn't take it seriously. I thought it was just a bit of wordplay. After thinking about it for a while, however, I found it to be deeper than it initially appeared. Essentially, we only consider someone stupid if they act or speak in ways that we deem stupid. In other words, we judge their stupidity based on their behavior.</p>
<p>In programming, there is a similar concept called <a href="https://en.wikipedia.org/wiki/Duck_typing">duck typing</a>. This is a mechanism that assigns a type to objects based on their <a href="https://en.wikipedia.org/wiki/Interface_(computing)#In_object-oriented_languages">interface</a> rather than their base class. The name "duck typing" is based on the assertion: "<em>If it walks like a duck and quacks like a duck, then it must be a duck</em>." In other words, if an object has all the characteristics needed for a certain purpose, then it is considered to have the right type for that purpose. <strong>The behavior or appearance we observe is fundamental to determining the nature of something</strong>.</p>
<p>The <a href="https://en.wikipedia.org/wiki/Turing_test">Turing test</a> is based on the same principle: If a machine behaves intelligently to the point that it cannot be distinguished from a human, then it is considered intelligent. Therefore, <strong>if a machine behaves as if it has understood our requests, then it is capable of understanding</strong>.</p>
<p>We apply the Turing test to humans every day. Think about it for a second: How can I be sure that someone understands me? If someone behaves as I expect when I ask them for something, then I say they have understood.</p>
<p>The fact is, I have no other way to verify their understanding besides my own. I can’t analyze the processes occurring in their neurons to determine whether they <em>truly understand</em> or if it’s simply an automatic reflex. We assume that others understand the way we do because we attribute our own capabilities to them. I’m no expert, and I don't know if this relates to the <a href="https://en.wikipedia.org/wiki/Theory_of_mind">Theory of Mind</a>, but overall, it seems fairly… <em>understandable</em>. It’s much harder to do the same for a machine or another living creature, of course.</p>
<p>In short, <strong>we say a human understands the same way we do only because they share our psycho-physical characteristics</strong>. We don't have concrete proof, but there’s a good chance that’s the case. There’s no need to bring the <a href="https://en.wikipedia.org/wiki/Chinese_room">Chinese Room</a> argument into our assessment of other humans.</p>
<h2>The Linguistic Question of Understanding</h2>
<p>Now, let’s look at the linguistic side. <strong>When we say a machine is intelligent or "understands," we don't mean that its intelligence or understanding is identical to human intelligence or understanding</strong>. Remember duck typing? If a machine acts like it understands, then we say it understands. However, this doesn't mean that the same mechanisms triggered in a human are triggered inside a machine.</p>
<p>It’s simply <strong>anthropomorphizing the machine's behavior</strong>. We use the same term for a machine as we would for a human. We’ve always done this, and we continue to do it. From a linguistic standpoint, it’s analogous to saying an airplane "flies." In reality, we all know airplanes don't fly the way birds do: they don't flap their wings. Yet, we use the same verb. We have extended the original meaning of the verb “fly” to include the movement of an airplane. However, we are all aware that this type of flight is completely different from that of a bird.</p>
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1770389067538/4108617d-2312-4a7d-bdaa-86ff896c2cd7.jpeg" alt="" style="display:block;margin:0 auto" />

<p>This is a semantic extension, or <a href="https://en.wiktionary.org/wiki/neosemanticism">neosemanticism</a>, which occurs when an existing word acquires a new meaning when applied to a different context.</p>
<p>We talk about "surfing" the Web, even though we know we aren't using a surfboard. How many times have we "migrated" data from one platform to another without ever dealing with flocks of birds or herds of bison? A computer "hibernates" even in the summer, and it is certainly not a bear or a groundhog.</p>
<p>Many of these words with semantic extensions are used in technical fields. The reason is simple: language cannot keep up with the speed of innovation. Rather than creating obscure words that might be hard to remember, we reuse existing words with an extended meaning.</p>
<p>Sure, we could use the term "data transfer," but you have to admit it’s much simpler and more poetic to say that data "migrates." Similarly, we could call it "mere statistical processing," but it’s much more evocative to say that AI "understands."</p>
<p>Let's view semantic extension as a kind of metaphor. It helps us relate a new concept to something we already know, while recognizing that the two are not identical. This is the beauty of being human.</p>
]]></content:encoded></item><item><title><![CDATA[Pythagoras the Digitizer]]></title><description><![CDATA[Imagine yourself in Crotone, around 530 BCE. There is no Internet, no Wi-Fi, no social networks, and no computers. The only way to spread an idea is to discuss it in an agora. And yet, in that corner of Magna Graecia, one man is laying the groundwork...]]></description><link>https://theturingmachine.net/pythagoras-the-digitizer</link><guid isPermaLink="true">https://theturingmachine.net/pythagoras-the-digitizer</guid><category><![CDATA[pythagoras]]></category><category><![CDATA[digitalization]]></category><category><![CDATA[Philosophy]]></category><category><![CDATA[Quantum]]></category><dc:creator><![CDATA[Andrea Chiarelli]]></dc:creator><pubDate>Fri, 02 Jan 2026 17:27:14 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1767374649215/70f5b1bf-b20d-4860-94b1-17b2bac89dcb.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Imagine yourself in Crotone, around 530 BCE. There is no Internet, no Wi-Fi, no social networks, and no computers. The only way to spread an idea is to discuss it in an <em>agora</em>. And yet, in that corner of Magna Graecia, one man is laying the groundwork for a worldview that has become quite natural to us today.</p>
<p><a target="_blank" href="https://en.wikipedia.org/wiki/Pythagoras">Pythagoras</a> was not just a philosopher and mathematician; he was the founder of a mystical sect called the <a target="_blank" href="https://en.wikipedia.org/wiki/Pythagoreanism">Pythagorean School</a>. If it had been a tech startup, we could say their <strong>stack</strong> was represented by <strong>integers</strong>, and their motto was <strong>"All is number."</strong></p>
<p>Probably, if we live immersed in bits today, it is because he was the first to have the audacity to think that reality was not a chaotic mass of matter, but a system that could be encoded with integers and ratios between integers.</p>
<h2 id="heading-the-first-rendering-of-reality"><strong>The First Rendering of Reality</strong></h2>
<p>For the Pythagoreans, the number was not an abstraction used to count sheep, but the very essence of things. A <a target="_blank" href="https://en.wikipedia.org/wiki/Monochord">musical chord</a>? A numerical ratio (<em>2:1</em> for the octave, <em>3:2</em> for the fifth). The <a target="_blank" href="https://en.wikipedia.org/wiki/Pythagoreanism#Harmony">movement of the planets</a>? A symphony of frequencies you can express with numbers.</p>
<p>We do more or less the same thing today. When we write an algorithm to process an image, we are saying that a breathtaking sunset is actually a matrix of tuples (R, G, B). When we listen to a track on Spotify, we are converting a sequence of 0s and 1s into sound waves. Pythagoras would have been overjoyed by a <code>.wav</code> file: it is the empirical proof of his theory. We have digitized the world, convincing ourselves that, with enough computing power, we could map the entire universe into a gigantic database.</p>
<h2 id="heading-the-analog-glitch"><strong>The Analog "Glitch"</strong></h2>
<p>However, we know there is a "but." Digitalization is, by definition, an approximation. Take audio, for example: no matter how high the <a target="_blank" href="https://en.wikipedia.org/wiki/Sampling_\(signal_processing\)#Sampling_rate">sampling rate</a> is, we are always sampling discrete slices of time. It is like trying to reconstruct a perfect circle using only tiny LEGO bricks.</p>
<p>Hardcore audiophiles will tell you that vinyl has a <em>warmth</em> that digital audio cannot reach. This isn't just nostalgia; it’s the nature of the continuous. Analog contains nuances, harmonics, and frequencies that escape the sampling grid. This is the limit of the <a target="_blank" href="https://en.wikipedia.org/wiki/Nyquist%E2%80%93Shannon_sampling_theorem">Nyquist-Shannon</a> sampling theorem: we can reconstruct the analog signal, but the "<a target="_blank" href="https://en.wikipedia.org/wiki/Aliasing">ghost</a>" of analog reality, that sense of infinity that exists between one point and the next, remains outside the file.</p>
<p><img src="https://studiahumanitatispaideia.wordpress.com/wp-content/uploads/2020/08/pitagora.-erma-marmo-pario-i-secolo-d.c.-copia-romana-di-un-originale-greco.-roma-musei-capitolini.jpg" alt="Pythagoras" class="image--center mx-auto" /></p>
<h2 id="heading-pythagoras-secret"><strong>Pythagoras' Secret</strong></h2>
<p>Pythagoras collided with this same bug, and it was a systemic trauma. Legend tells of <a target="_blank" href="https://en.wikipedia.org/wiki/Hippasus">Hippasus of Metapontum</a>, a member of the sect who dared to calculate the length of a square's diagonal using its side as the unit of measurement.</p>
<p>According to Pythagorean logic, the result had to be a ratio between integers. Instead, Hippasus discovered that it was the square root of 2, an irrational number! A number that <em>never ends</em>, which cannot be represented as a fraction of integers.</p>
<p>The discovery of <a target="_blank" href="https://en.wikipedia.org/wiki/Commensurability_\(mathematics\)">incommensurability</a> between the side of a square and its diagonal shattered the idea that the universe was a perfectly clean code made of integers. According to legend, Hippasus was drowned by his companions for revealing this "bug" in creation. Not everything was a (rational) number. Reality hid an abyss of continuity that Greek "digitalization" could not capture.</p>
<p>So, what is the point of digitizing the world? Well, it is convenient for processing information. Although we know that the digitized version of an analog phenomenon does not contain the same exact information, we can approximate its precision as needed. While we will never have a perfectly faithful representation of the world, at least in theory, we can get close enough to form a satisfying idea of it.</p>
<h2 id="heading-pythagorass-revenge"><strong>Pythagoras's Revenge</strong></h2>
<p>For centuries, we thought that reality was a "continuum" and that we, poor humans, were forced to "discretize" it to understand it, always losing something in the process. This is indeed what happens in the process of digitizing the analog. But here, the plot thickens.</p>
<p>Modern quantum physics is flipping the script again. If we descend into the "source code" of matter, at the <a target="_blank" href="https://en.wikipedia.org/wiki/Planck_units#Planck_scale">Planck scale</a>, it seems that space and time are not continuous at all. There is a <a target="_blank" href="https://en.wikipedia.org/wiki/Planck_units#Planck_length">minimum length</a> below which the concepts of "distance" and "position" lose their meaning. Energy itself moves in "<a target="_blank" href="https://en.wikipedia.org/wiki/Quantum">quanta</a>," that is, in discrete packets.</p>
<p>Incredible, isn't it? After years of saying that digital is only an approximation of the analog, we discover that the universe itself might be... <strong>digital</strong>. Perhaps we aren't the ones approximating reality with bits; perhaps reality is made of bits, and it is our macroscopic perception that is "analog." Perhaps, in the end, Pythagoras was right.</p>
<p><img src="https://scienzapertutti.infn.it/images/stories/scienziati/max-planck-in-his-study-1919-c17752-1024.jpg" alt="Max Planck" class="image--center mx-auto" /></p>
<h2 id="heading-a-longing-for-infinity"><strong>A Longing for Infinity</strong></h2>
<p>We are still there, on the beach of Crotone, trying to understand if the world is a vinyl record that holds the infinite or a masterfully compressed file. The truth is that we have no idea, and the further we delve into the understanding of reality, the more we find something that eludes us: we try to capture the ineffable in discrete variables, knowing that there will always be a square root of 2 ready to remind us that the universe is more complex than we can comprehend. But perhaps, in the end, it is precisely in that small gap between reality and each of its representations that everything worth living resides: “<em>…e il naufragar m'è dolce in questo mare.</em>” (<em>“...and shipwreck is sweet to me in this sea.”)</em></p>
]]></content:encoded></item><item><title><![CDATA[Does Artificial Intelligence Threaten Critical Thinking?]]></title><description><![CDATA[A phrase that resonates more and more frequently in public debate is: "Artificial intelligence will atrophy our minds, render critical thinking obsolete, and transform us into passive consumers of prepackaged content." It's a dystopian future where w...]]></description><link>https://theturingmachine.net/does-artificial-intelligence-threaten-critical-thinking</link><guid isPermaLink="true">https://theturingmachine.net/does-artificial-intelligence-threaten-critical-thinking</guid><category><![CDATA[AI]]></category><category><![CDATA[Critical Thinking]]></category><dc:creator><![CDATA[Andrea Chiarelli]]></dc:creator><pubDate>Mon, 22 Sep 2025 09:34:21 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1758366184747/9438adec-d681-47cd-ae22-aea561d9f453.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A phrase that resonates more and more frequently in public debate is: "Artificial intelligence will atrophy our minds, render critical thinking obsolete, and transform us into passive consumers of prepackaged content." It's a dystopian future where we will stop asking questions because we are overwhelmed by immediate and seemingly perfect answers.</p>
<p>But what if this narrative, as seductive as it is in its apocalyptic simplicity, is wrong? What if AI could paradoxically turn out to be not the death of critical thinking but rather its unexpected training ground?</p>
<h3 id="heading-what-is-critical-thinking"><strong>What Is "Critical Thinking"?</strong></h3>
<p>Perhaps before celebrating the funeral of something, we should ask what it is exactly. Critical thinking is not simply being skeptical or saying "no" to everything. Rather, it is an active and disciplined process of conceptualizing, analyzing, synthesizing, and evaluating information. In simple terms, critical thinking is the ability to <strong>not accept every piece of information we receive at face value, but rather to examine all its facets first</strong>. In a sense, it is the opposite of blind faith. It's as if someone hands us a glass of water, and before we drink it, we meticulously analyze the glass, the water, its temperature, and even the hand that offers it.</p>
<p>The great fear is that with oracles like ChatGPT, Gemini, and friends at our disposal, we will stop bothering to verify information. Why analyze sources when the answer is already packaged and ready? However, a question arises spontaneously: <strong>Before AI, were we all really such tireless detectives of the truth?</strong></p>
<h3 id="heading-the-weight-of-the-source"><strong>The Weight of the Source</strong></h3>
<p>Let's be honest. How many times have we accepted a thesis not because it is valid, but because the source is authoritative? This is an ancient and powerful psychological mechanism—a mental shortcut that saves us effort. Sometimes it's a necessity because we lack the skills to validate the thesis, so we trust the author. However, sometimes we suspend our critical judgment and rely on the comfort of authority.</p>
<p>In the Middle Ages, knowledge was dominated by <a target="_blank" href="https://en.wikipedia.org/wiki/Ipse_dixit"><em>ipse dixit</em></a> ("he himself said it"). If Aristotle said something, it was law. There was no need to verify it. It was enough to quote the philosopher to end any dispute. If this seems like an attitude relegated to a dark and distant era, consider the present. Turn on the TV, and a famous actor in a white coat will explain why a certain toothpaste is the best. What does he know about oral hygiene? Probably no more than we do. Yet his famous face and media "authority" are enough to convince millions of people. It's <em>ipse dixit</em> in the form of a commercial.</p>
<p>This doesn't just happen in advertising, though. World-renowned scientists who speak on topics outside their area of expertise are listened to with the same reverence as sacred texts. Not to mention politicians, especially in this historical period. The author, or "who," often matters more than the "what." Human beings tend to trust labels by nature. It's a cognitive bias and a judgment heuristic. If a book is by a Nobel laureate, we assume it's brilliant. Conversely, if an article is by an unknown author, we view it with suspicion.</p>
<h3 id="heading-ai-and-the-death-of-the-author"><strong>AI and the Death of the Author</strong></h3>
<p>In his short story "<em>Pierre Menard, Author of the Quixote</em>", Argentine writer <a target="_blank" href="https://en.wikipedia.org/wiki/Jorge_Luis_Borges">Jorge Luis Borges</a> imagined a man who rewrote Cervantes' masterpiece, word for word. The text was identical, but the author was different. For Borges, that changed everything. Reading Don Quixote and thinking it was written in the 20th century by a French intellectual gives the work completely new meaning.</p>
<p>AI takes this thought experiment to its extreme conclusion. As David J. Gunkel pointed out in his article "<a target="_blank" href="https://www.noemamag.com/ai-signals-the-death-of-the-author/">AI Signals the Death of the Author</a>," content generated by AI does not have an author in the traditional sense. There is no famous name on the cover and no biography to confirm or deny our expectations.</p>
<p>When faced with AI-generated content, <strong>it's just us and the content</strong>.</p>
<p>Without the convenient support of authority, what do we have left? Only our intellect. We can no longer say, " "I accept it because X wrote it." We must engage with the substance. Does the text hold up? Is the argument sound? Are the cited sources reliable? Does the reasoning make sense? At least, this is what one would expect.</p>
<p>By stripping the content of its author, AI should force us to do what we should have always done: think for ourselves. It should compel us to become <strong>active readers instead of passive believers</strong>. We cannot afford blind faith because there is no one to place it in. The oracle is anonymous and faceless. Its words are not sacred; they are only a starting point.</p>
<h3 id="heading-ai-is-just-a-tool"><strong>AI Is Just a Tool</strong></h3>
<p>Of course, AI can be used to flood the world with credible, well-written disinformation. It can make the mind lazy by encouraging the shortest path: copy and paste without understanding. However, this is not a flaw of the tool, but rather a choice of the user.</p>
<p>A knife can be used to cut bread or to kill someone. Fire can warm and cook food or reduce a forest to ashes. Every technology is an extension of our intentions. Artificial Intelligence is perhaps one of the most powerful tools we have ever created. As such, <strong>it amplifies both our wisdom and our foolishness, our curiosity and our laziness</strong>.</p>
<p><strong>Rather than fearing that AI will destroy our critical thinking, we should ask ourselves if we are willing to use it to enhance it</strong>. In a world where anyone can generate a plausible text on any subject, the ability to discern, verify, and analyze is no longer just an academic skill; it's a true superpower.</p>
<p>Maybe <strong>the real threat has never been the machine but our constant temptation to stop thinking</strong>. Maybe the problem is that we haven't made enough effort to educate people on critical thinking. As a society, we have always favored the opposite, creating myths and encouraging conformity of thought. Maybe it's precisely the machine that will finally force us to take critical thinking seriously by depriving us of our beloved labels and reassuring <em>ipse dixit</em>.</p>
<p>At least, that is what I hope for.</p>
]]></content:encoded></item><item><title><![CDATA[Computer Science and Philosophy]]></title><description><![CDATA[I originally wanted to title this article “Computer Science Is Philosophy,” but I realized that was too much of a stretch, so instead of merging the two disciplines, I juxtaposed them. Still, I am convinced that some will turn their noses up at this ...]]></description><link>https://theturingmachine.net/computer-science-and-philosophy</link><guid isPermaLink="true">https://theturingmachine.net/computer-science-and-philosophy</guid><category><![CDATA[Computer Science]]></category><category><![CDATA[Philosophy]]></category><category><![CDATA[AI]]></category><category><![CDATA[Artificial Intelligence]]></category><category><![CDATA[Reality]]></category><category><![CDATA[abstraction]]></category><dc:creator><![CDATA[Andrea Chiarelli]]></dc:creator><pubDate>Wed, 16 Jul 2025 08:40:02 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1752597479044/82d3cacd-45ad-4f61-8964-b586cfd30b3b.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I originally wanted to title this article “Computer Science <strong>Is</strong> Philosophy,” but I realized that was too much of a stretch, so instead of merging the two disciplines, I juxtaposed them. Still, I am convinced that some will turn their noses up at this "daring" juxtaposition, despite this backtrack.</p>
<p>What do computer science and philosophy have in common? Much more than one might initially think.</p>
<blockquote>
<p>“<em>If you begin with computer science, you will end with philosophy</em>.”</p>
<p>– William J. Rapaport</p>
</blockquote>
<h1 id="heading-perceived-difference">Perceived Difference</h1>
<p>At first glance, one might say that the two disciplines are polar opposites.</p>
<p>Philosophy is the discipline of asking questions and wondering why things happen. However, it apparently has the sole task of satisfying man's inherent curiosity about how the world works. It is not commonly given any practical implications; in fact, the saying goes, "<em>Philosophy is that thing by which and without which everything remains as it is</em>."</p>
<p>Computer science, on the other hand, has an enormous impact on reality. We have noticed this for several decades now. The digital revolution has changed the way we work, interact, and live in society. I think there is no discipline that invades our everyday lives more than computer science.</p>
<p>The real-world impact and concreteness of computer science is not only perceived by those who use it, but also by those who make it. Computer science is problem solving and the application of <a target="_blank" href="https://en.wikipedia.org/wiki/Computational_thinking">computational thinking</a>—the ultimate in concreteness.</p>
<p>So how can computer science be juxtaposed with philosophy?</p>
<h1 id="heading-computer-science-originated-from-philosophy">Computer Science Originated from Philosophy</h1>
<p>It may seem paradoxical but, disregarding the purely practical attempts of <a target="_blank" href="https://en.wikipedia.org/wiki/Pascaline">Pascal</a>, <a target="_blank" href="https://en.wikipedia.org/wiki/Stepped_reckoner">Leibniz</a>, <a target="_blank" href="https://en.wikipedia.org/wiki/Difference_engine">Babbage</a>, and others, the foundations of computer science arise from philosophical matters. Some of the earliest foreshadowings are Leibniz's search for the <a target="_blank" href="https://en.wikipedia.org/wiki/Characteristica_universalis">Characteristica universalis</a> and Boole's <a target="_blank" href="https://it.wikipedia.org/wiki/The_Laws_of_Thought">analysis of the laws of thought</a>, but the <a target="_blank" href="https://en.wikipedia.org/wiki/Entscheidungsproblem">Entscheidungsproblem</a>, or decision problem, is what gave rise to modern computing.</p>
<p>In the late nineteenth and early twentieth centuries, there was an ongoing debate about the logical and philosophical foundations of mathematics. As part of this debate, in 1928, <a target="_blank" href="https://en.wikipedia.org/wiki/David_Hilbert">David Hilbert</a>, one of the most influential mathematicians of that time, posed the question of whether a mechanical procedure (i.e., algorithm) could determine the validity of a statement in <a target="_blank" href="https://en.wikipedia.org/wiki/First-order_logic">first-order logic</a>. Without delving into the details, this mathematical problem paved the way for questions about <strong>what automatic computation is</strong>, what it means to be able to compute something, and how we can define computability. In other words, to determine whether such an algorithm exists, we must first understand the nature of computation. In short, this is <strong>one of those questions of a purely philosophical nature</strong>.</p>
<p>The answer to Hilbert's question was negative, and several mathematicians and logicians proved it a few years later, more or less independently. First, <a target="_blank" href="https://en.wikipedia.org/wiki/Alonzo_Church">Alonzo Church</a>, and later, <a target="_blank" href="https://en.wikipedia.org/wiki/Alan_Turing">Alan Turing</a>, defined the concept of computability formally. Turing used his <a target="_blank" href="https://en.wikipedia.org/wiki/Turing_machine">famous abstract machine</a> to formally explain the concepts of algorithms and computations. Although Turing's machine was used to demonstrate the negative outcome of the philosophical debate, it had a significant practical side effect: it paved the way for the field of automated information processing.</p>
<p>A discipline that mere mortals cannot do without nowadays emerged from a philosophical issue seemingly far removed from everyday life.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1752653823945/c0a88019-4cd8-463a-afb3-ddcbf17d272a.png" alt="David Hilbert and Alan Turing" class="image--center mx-auto" /></p>
<h1 id="heading-representation-of-reality">Representation of Reality</h1>
<p>However, the relationship between computer science and philosophy does not stop at the origins. Let's try making a juxtaposition that might seem far-fetched at first.</p>
<p>What is philosophy? What is its essence?</p>
<p>This is one of the classic million-dollar questions. Over the centuries, various definitions have been offered by scholars and philosophers themselves. I really like the definition attributed to Voltaire: "<em>When the listener does not understand the speaker, and the speaker does not know what he is saying, that is philosophy</em>", which wittily corroborates the discipline's inconsistency, perhaps including this article…</p>
<p>But, all jokes aside, I find the definition from <a target="_blank" href="https://www.treccani.it/vocabolario/filosofia/">Treccani</a> quite adequate: "<em>...that activity of thought [...] which tends to seek what remains stable in every experience and is constantly valid as the criterion for action...</em>". In other words, philosophy is the activity that drives us to find <strong>a common denominator among distinct phenomena</strong> and derive a general law to give order to the world.</p>
<p>What did the <a target="_blank" href="https://en.wikipedia.org/wiki/Pre-Socratic_philosophy">Pre-Socratic philosophers</a> do? They analyzed reality, identified common elements in natural phenomena, and developed theories that they tried to validate. Plato and Aristotle did much the same later on. The difference with Pre-Socratic philosophers was that they no longer searched for a natural element common to observable phenomena; instead, they resorted to more abstract concepts, such as ideas and immanent forms. This approach continued for centuries among other philosophers, who offered <strong>different representations of reality</strong>.</p>
<p>Identifying what different things have in common is what we often refer to as <em>abstraction</em>. Through abstraction, we create a simplified representation of reality by eliminating irrelevant details. But what is the purpose? To understand and eventually control reality.</p>
<p>What do you say? Is <a target="_blank" href="https://en.wikipedia.org/wiki/Abstraction_\(computer_science\)">abstraction</a> also used in computer science? And for pretty much the same purpose? Great!</p>
<p>Those who design and implement computer systems know that abstraction is the main tool for modeling and controlling reality, i.e., analyzing it, making decisions, and interacting with it. <a target="_blank" href="https://en.wikipedia.org/wiki/Entity%E2%80%93relationship_model">Entity-relationship</a> models, object-oriented programming, and programming languages are all examples of abstraction that simplify understanding and manipulation of reality (or another level of its abstraction).</p>
<p>There is no need to resort to virtual reality and <a target="_blank" href="https://it.wikipedia.org/wiki/Matrix">The Matrix</a> as examples of controlling reality. We are talking about the abstraction of reality, not its simulation. However, simulation and the creation of alternative realities have philosophical appeal for sure.</p>
<p>Like a philosopher, a database designer analyzes reality, identifies relevant aspects for the project, and represents them effectively. Then, they test the resulting system for validity. Similarly, a developer analyzes reality and represents it with classes and objects in a manner consistent with the application's purpose. Then, they test for compliance with the expected results.</p>
<p><strong>Philosophers and computer scientists do nothing more than represent reality in a way that is most useful to their purposes</strong>.</p>
<h1 id="heading-questions-that-go-beyond">Questions That Go Beyond</h1>
<p>Some might argue that this comparison is reductive and that philosophers are concerned with more than just representing and attributing meaning to reality. Philosophers are also concerned with existence, the self, and the relationship between the soul and the body. They ask questions such as where the body ends and the soul begins and where the self ends and the external world begins. All of these things are complex and mysterious.</p>
<p>Perfect! Computer scientists face similar questions: What is the relationship between hardware and software? What is the boundary between them? Can hardware be simulated with software? Can software determine whether it is running on real or virtual hardware? What distinguishes two instances of the same software? What is the relationship between concurrency and parallelism?</p>
<p>As you can see, even in computer science, complex and mysterious questions abound.</p>
<p>Not to mention existential questions, such as the difference between data and information, or between data and programs. Is there a clear distinction? What about a program's ability to consider another program (or even itself) as data? This is <a target="_blank" href="https://en.wikipedia.org/wiki/Metaprogramming">metaprogramming</a>, which is almost as fascinating as metaphysics.</p>
<h1 id="heading-a-future-without-answers">A Future Without Answers</h1>
<p>With the advent of this new generation of AI, philosophical questions have increased. How can <a target="_blank" href="https://theturingmachine.net/is-this-intelligence">a "simple" statistical prediction</a> simulate intelligence?</p>
<p>Turing believed that a <a target="_blank" href="https://en.wikipedia.org/wiki/Turing_test">chat could determine the intelligence of machines</a>. Today, we all chat with machines, but I am unsure about their intelligent capabilities. Unless his test was actually designed to assess human intelligence…</p>
<p>ChatGPT, Gemini, Copilot, and other AI systems answer our questions by raising much more difficult ones (if we can grasp them):</p>
<ul>
<li><p>What is the difference between humans and intelligent machines?</p>
</li>
<li><p>Can a computer understand?</p>
</li>
<li><p>Is intelligence computation?</p>
</li>
<li><p>What is consciousness? Are machines conscious?</p>
</li>
<li><p>Can machines have legal responsibility?</p>
</li>
<li><p>Should an AI be allowed to make decisions?</p>
</li>
<li><p>What are ethics? How can ethics be taught to a machine?</p>
</li>
</ul>
<p>Interacting with AI requires <a target="_blank" href="https://www.forbes.com/sites/josipamajic/2025/05/22/software-ate-the-world-ai-ate-software-and-now-philosophy-is-eating-ai/">more philosophical skill than we realize</a>, not just for asking questions, but also for giving instructions and interpreting an AI system's responses.</p>
<p>I'll stop here without mentioning <a target="_blank" href="https://en.wikipedia.org/wiki/Quantum_computing">quantum computing</a> and other technologies that solve problems and trigger new questions requiring new philosophical and computer theories.</p>
<p>And to think that Picasso claimed that computers "<em>are useless. They can only give you answers.</em>"</p>
]]></content:encoded></item><item><title><![CDATA[On the Nature of Generative AI Intelligence]]></title><description><![CDATA[It is amazing how today's Artificial Intelligence systems are able to do things we could not even imagine a few years ago: they answer our questions in our own language, they translate from one language to another much better than in the past, they r...]]></description><link>https://theturingmachine.net/is-this-intelligence</link><guid isPermaLink="true">https://theturingmachine.net/is-this-intelligence</guid><category><![CDATA[AI]]></category><category><![CDATA[Artificial Intelligence]]></category><category><![CDATA[llm]]></category><dc:creator><![CDATA[Andrea Chiarelli]]></dc:creator><pubDate>Sun, 20 Oct 2024 13:49:42 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1729431833644/9e1e2ad5-f4f4-4aa3-a28d-001afbe51c32.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>It is amazing how today's Artificial Intelligence systems are able to do things we could not even imagine a few years ago: they answer our questions in our own language, they translate from one language to another much better than in the past, they recognize images and generate new ones, they are able to reproduce a person's voice.</p>
<p>The results achieved in the last couple of years are <strong>simply astounding</strong>.</p>
<h2 id="heading-generative-artificial-intelligence"><strong>Generative Artificial Intelligence</strong></h2>
<p><a target="_blank" href="https://en.wikipedia.org/wiki/Generative_artificial_intelligence">Generative AI</a>, the type of Artificial Intelligence that has recently taken off and that everyone is talking about, is based on a simple and therefore all the more surprising principle: it is the principle of “<strong><em>what comes next?</em></strong>”</p>
<p>You know that function on your smartphone that suggests a word when you type a message? There it is, that's the basic principle of generative AI, of course with all the appropriate evolutions.</p>
<p>Even the more sophisticated LLMs (<a target="_blank" href="https://en.wikipedia.org/wiki/Large_language_model">Large Language Models</a>), the systems that power AI tools like <a target="_blank" href="https://en.wikipedia.org/wiki/ChatGPT">ChatGPT</a>, <a target="_blank" href="https://en.wikipedia.org/wiki/Microsoft_Copilot">Copilot</a> and <a target="_blank" href="https://en.wikipedia.org/wiki/Gemini_\(chatbot\)">Gemini</a>, are based on the <strong>principle of predicting words that follow</strong> those in a given context. They base their predictions on the experience gained from analyzing millions of texts used during training. And the more context you give them in your questions, the more accurate their answer is, just like humans.</p>
<p>Of course, the mechanism is not limited to text. You can apply it to other media such as images, video, audio and so on. Instead of predicting the next word, they predict the next “token.”</p>
<p>The fact that you can engage in discourse and generate content based on this principle seems to me truly amazing. And the results are undoubtedly practical as well. We are seeing this and I’m sure we will see other interesting applications in the near future.</p>
<h2 id="heading-is-prediction-reasoning"><strong>Is prediction reasoning?</strong></h2>
<p>This approach to Artificial Intelligence (because it is not the only approach) is getting people excited, so much so that many are asking how far such technology can go, whether human intelligence is threatened, whether robots will replace us, what the legal and moral implications are, and so on.</p>
<p>It must be said that since the 1950s, with each wave of enthusiasm for Artificial Intelligence (there have been others in the past), the usual <strong>diatribes</strong> <strong>about whether or not machines can think or not</strong>, whether or not they are really intelligent, whether or not they have consciousness, etc. have arisen.</p>
<p>For example, some time ago I came across <a target="_blank" href="https://x.com/AISafetyMemes/status/1844829163032899863">this thread</a> discussing why <strong>the next-word prediction principle leads to real understanding</strong>. The discussion was based on a video of an interview with <a target="_blank" href="https://en.wikipedia.org/wiki/Ilya_Sutskever">Ilya Sutskever</a>, co-founder of OpenAI, who used the metaphor of the detective in a mystery novel who, after collecting all the clues, “predicts” who the culprit is. In short, he seems to be arguing that predicting something given a context is basically nothing more than reasoning, and therefore understanding. Needless to say, this <strong>left me a bit puzzled</strong>, especially since the comparison comes from someone who knows how generative AI works.</p>
<p>Let us return for a moment to the behavior of an LLM that I mentioned earlier. As it stands, an LLM is a system that recognizes a pattern based on the data analyzed during its training. Basically, when we chat with it, the system decides how to continue its sentences based on what it has seen previously with a verbal context similar to the current one.</p>
<p>If you think about it, <strong>it is not so different from what we do when we speak</strong>: we subconsciously decide the next word to say based on what we have said before. We also do this when we understand speech: we decide the meaning of a word we have not heard well based on the context of the words we have already heard. We can also predict the next word someone will say based on what they have said so far. It is an instinctive, automatic mechanism.</p>
<h2 id="heading-a-reflex-to-reflect-on"><strong>A reflex… to reflect on</strong></h2>
<p>But if this mechanism is instinctive, if it is automatic, it means that we have not thought about it. <strong>It is not the product of any particular reasoning</strong>, that is to say, of our intelligence. It is just a reflex.</p>
<p>Yes, that is exactly what it is. It is a reflex acquired through thousands and thousands of hours of practice.</p>
<p>It is a bit like me saying to you, “Peter Piper picked a peck...,” and now you go on. Without even thinking about it you answer “...of pickled peppers.” It's a reflex.</p>
<p>We have so many of them. Nature (or evolution) has provided us with several for our safety: if something suddenly approaches our eye, we immediately close our eyelids; if we lose our balance, we instinctively extend our arms. We don't think about the fact that our center of gravity has shifted and we need to bring it back to a point where we won’t fall.</p>
<p>In addition to innate reflexes, we add others that we can call <em>skills</em>, such as speaking, writing, singing, and so on. These skills are the result of continuous practice, training. Just like athletes or musicians: when you start to play tennis, you stand there and think about how to hold the racket, how to react to a shot, etc.; when you learn to play the piano you stand there and see how to set up the left and right hands, which key to press to play a certain note, etc. Then you don't do it anymore. It has become a mechanism.</p>
<p>At this point I wonder: <strong>is acquiring these mechanisms and using them intelligence?</strong></p>
<h2 id="heading-who-is-intelligent"><strong>Who is intelligent?</strong></h2>
<p>Okay, okay. This is a tired story: what is intelligence? Is who seems intelligent really intelligent? I am reminded of the phrase <a target="_blank" href="https://it.wikipedia.org/wiki/Forrest_Gump#Influenza_culturale">Forrest Gump</a> used to repeat : “<em>Stupid is as stupid does</em>”. There are several metaphors and discussions about considering those who act intelligent as intelligent: from the <a target="_blank" href="https://it.wikipedia.org/wiki/Test_di_Turing">Turing test</a> to the <a target="_blank" href="https://it.wikipedia.org/wiki/Stanza_cinese">Chinese room</a>.</p>
<p>But beyond that. Would you feel comfortable saying that it takes intelligence to acquire unconscious behavior? Are domesticated animals intelligent?</p>
<p>Building these systems capable of acquiring skills is certainly <strong>an important step on the journey to exploring intellectual activities</strong>. But these are skills like memorizing a large amount of data or doing calculations quickly. Nothing more. By the way, dear old calculators are great at doing even complex calculations quickly, but no one has ever considered them intelligent. How come?</p>
]]></content:encoded></item><item><title><![CDATA[The Naming Problem]]></title><description><![CDATA[A famous quote by Phil Karlton reads, "There are only two hard things in Computer Science: cache invalidation and naming things."
Leaving aside cache invalidation, which we can return to another time, why should naming things be so hard? Giving names...]]></description><link>https://theturingmachine.net/the-naming-problem</link><guid isPermaLink="true">https://theturingmachine.net/the-naming-problem</guid><category><![CDATA[naming]]></category><category><![CDATA[variables]]></category><dc:creator><![CDATA[Andrea Chiarelli]]></dc:creator><pubDate>Sat, 25 Mar 2023 13:25:39 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1679741408651/8a1f48fe-968a-4fd5-a540-8caeb2731f37.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A famous quote by Phil Karlton reads, "<em>There are only two hard things in Computer Science: cache invalidation and naming things.</em>"</p>
<p>Leaving aside cache invalidation, which we can return to another time, why should naming things be so hard? Giving names to objects around us seems to be an innately human activity. It is one of the first things babies do when they begin to talk.</p>
<h2 id="heading-naming-things">Naming things</h2>
<p>Considering just computer science, we cannot deny that we developers have difficulty naming our artifacts: whether variables, classes, functions, or whatever, the names we assign are often not the best we can do.</p>
<p>Perhaps we are too focused on quickly finding a solution to the problem we are solving and do not pay attention to <strong>a fundamental side effect</strong> of our work: <strong>communicating</strong> with others.</p>
<p>So, by naming a variable <code>x</code> or <code>y</code>, we are not wasting our valuable time thinking about what that variable might communicate to a colleague who is unaware of what is going on in our minds. At most, we can use <code>temp</code> for a temporary variable, or <code>myDate</code> for a variable intended to hold a value of type date.</p>
<p>But even when the effort is considerable, as in the case of a variable called <code>startDate</code>, we very often forget to adapt the initial name to the changing needs of the context. And so it can happen that what was a variable designed to hold the start date of a contract becomes a subscription date, but keeps the same name <code>startDate</code>, creating ambiguities that will sooner or later lead to bugs.</p>
<h2 id="heading-names-and-ambiguity">Names and ambiguity</h2>
<p>Ambiguity: this is a word that computer folks should be very familiar with. One of the requirements for a programming language to work properly is the absence of ambiguity. There can be no constructs that a compiler or interpreter cannot recognize the unique meaning.</p>
<p>Humans are experts at ambiguity. Very often we can solve it, and sometimes we even like to play with it. But not machines. Neither is artificial intelligence, which can do it in very narrow contexts, but I don't think they are yet able to grasp the humor that sometimes lurks in ambiguity.</p>
<p>So-called formal reasoning does not like ambiguity either. The way of thinking of scientific-mathematical disciplines, to which computer science should belong, requires that concepts be well defined and possibly identified by a name. A name that often sums up the concept definition and is therefore literally <strong>meaningful</strong>. <a target="_blank" href="https://en.wikipedia.org/wiki/Cratylus_(dialogue)">Without bothering Plato</a>, the name must recall the concept definition, so that, for example, a triangle is something that has three angles and cannot have four.</p>
<h2 id="heading-names-and-communication">Names and communication</h2>
<p>The fact that a name should evoke the definition of the object or concept it describes seems obvious. Unfortunately, outside of academic circles, this is not so obvious in computer science.</p>
<p>In my experience, I have encountered several instances of miscommunications caused by ambiguity or <em>ad sensum</em> interpretation of the names of computing objects and concepts.</p>
<p>Have you ever encountered people confusing <strong>a blog with a blog post</strong>? Or a <strong>domain with a URL</strong>? I have, very often. But I am not talking about juniors, even seniors with several years of experience behind them.</p>
<p>Even on the <strong>meaning of session</strong>, you can see countless diatribes: so many confuse the concept of session with its implementation (e.g., based on the use of cookies on the Web) or the persistence of data associated with it (e.g., session storage).</p>
<p>Not to mention <a target="_blank" href="https://dzone.com/articles/please-dont-call-them-restful">one of the most misunderstood technologies: REST</a>. The vast majority of developers do not even know what a <em>state transfer</em> is in this context, which is also a fundamental part of both the acronym and the architectural paradigm.</p>
<p>The Latins used to say <em>nomen omen</em>, meaning that a name carries with it its destiny, its ultimate meaning. But if we cannot interpret a name correctly, how can we understand its meaning?</p>
<h2 id="heading-what-is-behind-a-name">What is behind a name</h2>
<p>Galileo wrote: "<em>Names and attributes must be adapted to the nature of things, and not the nature to the names; for first were the things, and then the names</em>”. Naming is an activity of adapting language to reality. And perhaps therein lies the essence of the complexity of this seemingly simple activity.</p>
<p>I have always been fascinated by the story behind a name: its original meaning, its evolution in both form and meaning. It helps give me the idea that it is not just a label, but something alive.</p>
<p>I understand the effort behind choosing a name: from one for a baby to one for an animal, from one for a company to one for a product. A series of attempts, many of them unsuccessful, with the intention of describing the concept, the project, or the person in the best possible way. Or simply a name that pleases and evokes a certain feeling.</p>
<p>Naming things is not easy, but it is part of human nature. Naming is a bit like giving life, like marking destiny. It should not be done lightly, because the name identifies the object, and the name and the object become one.</p>
<p>This should apply to everything, including variables, because, as Albert Camus wrote, "<em>to name things wrongly is to add to the misfortune of the world</em>”.</p>
<p>But sometimes names tend to take on an existence of their own, disconnected from the real object. And in some cases, the name is the only thing we have left when the real object no longer exists.</p>
<blockquote>
<p><em>Stat rosa pristina nomine, nomina nuda tenemus</em></p>
</blockquote>
]]></content:encoded></item><item><title><![CDATA[Information, Computers, and... Telescopes]]></title><description><![CDATA[If you're a software developer or IT technician, chances are you've had a friend, acquaintance, or relative ask for your advice on their next computer's features. They may also ask you for suggestions on how to fix a problem with their printer or an ...]]></description><link>https://theturingmachine.net/information-computers-and-telescopes</link><guid isPermaLink="true">https://theturingmachine.net/information-computers-and-telescopes</guid><category><![CDATA[Computer Science]]></category><category><![CDATA[computer]]></category><category><![CDATA[information technology]]></category><category><![CDATA[Information]]></category><dc:creator><![CDATA[Andrea Chiarelli]]></dc:creator><pubDate>Fri, 10 Feb 2023 14:46:06 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1675591042911/4d059e00-70e2-4b0a-b97e-cdd560721815.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>If you're a software developer or IT technician, chances are you've had a friend, acquaintance, or relative ask for your advice on their next computer's features. They may also ask you for suggestions on how to fix a problem with their printer or an application installed on their smartphone. I think this is a common situation, and I think something similar happens to doctors or pharmacists.</p>
<p>My impression is that anyone directly or indirectly involved in the IT world is automatically considered a <strong>computer expert</strong>. Most people think that Computer Science basically boils down to programming, preparing, building, repairing, configuring, optimizing, instructing, designing, and managing this thing called a computer.</p>
<p>I must say that for English speakers, the name Computer Science does not help at all.</p>
<h2 id="heading-what-is-a-computer">What Is a Computer?</h2>
<p>The question may seem rhetorical. We all know what a computer is: it is an electronic device that can execute commands at high speed, allowing us to solve many problems in our daily lives. We have also learned that size does not matter: a business server, a notebook, and a smartphone belong to the same family.</p>
<p>But let's look around for some <em>formal</em> definitions of the term computer. <a target="_blank" href="https://www.dictionary.com/browse/computer">Dictionary.com</a> offers the following:</p>
<blockquote>
<p>"A programmable electronic device designed to accept data, perform prescribed mathematical and logical operations at high speed, and display the results of these operations."</p>
</blockquote>
<p>The keywords highlighted by this definition are:</p>
<ul>
<li><p>being an electronic device,</p>
</li>
<li><p>performing operations very quickly,</p>
</li>
<li><p>processing data.</p>
</li>
</ul>
<p>However, this is not the original meaning of the word computer. It first appeared in the 17th century and simply referred to <a target="_blank" href="https://en.wikipedia.org/wiki/Computer#Etymology">a person who does calculations</a>. The term retained this meaning until the mid-20th century, when most <a target="_blank" href="https://en.wikipedia.org/wiki/Computer_(occupation)">living computers</a> wore skirts, according to <a target="_blank" href="https://en.wikipedia.org/wiki/Katherine_Johnson">Katherine Johnson</a>. Its first non-human meaning dates from the <a target="_blank" href="https://www.etymonline.com/search?q=computer">late 19th century</a> and refers to any instrument capable of performing calculations, regardless of how it is constructed.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1675592078297/371abf4f-890a-4e1d-9d65-e53d65846363.jpeg" alt class="image--center mx-auto" /></p>
<p>In short, although we commonly think of the computer as the electronic device we all know, from a linguistic and scientific point of view, it is something much more general. The well-known Turing machine had no mention of its physical construction. Different operating mechanisms (mechanical, electromechanical, electronic) and information representation approaches (digital, analog) have been used in the physical construction of computers. Today, non-electronic computers, such as <a target="_blank" href="https://en.wikipedia.org/wiki/Wetware_computer">organic computers</a>, are being experimented with.</p>
<p>Alan Turing said that "<em>a man provided with paper, pencil and eraser and subjected to strict discipline is in effect a universal machine</em>," i.e., a computer. Here we are again with the concept of the <strong>man-computer</strong>, which <strong>may not have the speed of an electronic computer, but is still a machine that does calculations</strong>. And by the way, I don't think we can consider man as an electronic device.</p>
<p>So, if it is not the electronics that characterize a computer, nor its speed to make calculations, what is its relevant characteristic? We could say that <strong>a computer is any entity capable of representing and processing information</strong>. This definition is far too general and opens up countless horizons.</p>
<h2 id="heading-what-is-computer-science">What Is Computer Science?</h2>
<p>According to <a target="_blank" href="https://en.wikipedia.org/wiki/Computer_science">Wikipedia</a>, "<em>Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to practical disciplines (including the design and implementation of hardware and software)</em>".</p>
<p>I don't like this name, and I'm not the only one. It focuses on computers, whereas I think that the real subject of study in this discipline is information. In Italy and other countries, different names are used for this: <a target="_blank" href="https://en.wikipedia.org/wiki/Informatics">Informatics</a> or <a target="_blank" href="https://en.wikipedia.org/wiki/Information_science">Information Science</a>. But even they are not exempt from misunderstandings.</p>
<p>Let me tell you a little story.</p>
<p>Immediately after graduating with a degree in Information Science, I sent out several resumes and added my profile to several databases in search of my first IT job. After a few months, a company contacted me for an interview, but there was a misunderstanding. Without going into details, it turned out that the company was looking for marketing and sales personnel. Basically, they had misunderstood my major to be Communication Science.</p>
<p>I was very disappointed and displeased at that time. In their defense, it must be said that the name of the degree program was not very <em>user-friendly</em>. If it had been called Informatics, as it was after a few years, this misunderstanding would probably not have arisen.</p>
<p>But there was a reason why my major was called that. It was very much focused on the foundations of computation and information theory. In short, the topics covered were more skewed toward the theoretical aspects rather than the applied ones. Intuitively, the term Informatics includes more of the application of Information Science than its foundations. The term Informatics is closer to what the name Computer Science suggests. In general, however, there is <a target="_blank" href="https://en.wikipedia.org/wiki/Informatics">no universally accepted term</a> for the set of disciplines that revolve around automatic information processing.</p>
<p>Personally, I make a distinction between <strong>theoretical computer science (Information Science)</strong> and <strong>applied computer science (Informatics)</strong>. But again, I would prefer not to use the term Computer Science at all.</p>
<p>This is not a small difference. Indeed, it is one thing to have the computer, understood as an automaton capable of processing data, as the central element of one's studies; it is quite another to have information as the center of interest, into which the computer <strong>also</strong> fits.</p>
<p>In short, it is as if we were to consider fishing as the technique of making and using nets, or optics as the discipline that studies lenses and other magnifying devices. In this respect, the statement attributed to <a target="_blank" href="https://en.wikipedia.org/wiki/Edsger_W._Dijkstra">Dijkstra</a> is instructive:</p>
<blockquote>
<p>"Computer science is no more about computers than astronomy is about telescopes."</p>
</blockquote>
<p><a target="_blank" href="https://en.wikiquote.org/wiki/Computer_science#Disputed">Whether Dijkstra said it or not</a>, this sentence is meant to emphasize the fact that there is much more to computer science than the computer.</p>
<h2 id="heading-a-computer-science-definition">A Computer Science Definition</h2>
<p>Inspired by a definition I read somewhere, I like to define computer science as the discipline that deals with three fundamental problems:</p>
<ul>
<li><p>The transformation of data into information (<strong>processing</strong>) and its transmission in space (<strong>communication</strong>) and time (<strong>storage</strong>);</p>
</li>
<li><p>The representation (<strong>languages</strong>), communication (<strong>protocols</strong>), and storage (<strong>formats</strong>) of information;</p>
</li>
<li><p>The process of solving problems (<strong>algorithms</strong>) and their translation into automatable form (<strong>programming</strong>).</p>
</li>
</ul>
<p>At first glance, the approach to solving these problems immediately brings to mind the <em>infamous</em> computer. But on closer inspection, these are the problems that mankind has always faced throughout history. They are the problems that have allowed mankind to evolve in practical, technological, and cultural terms.</p>
<p>What is human language if not a system for representing information? What was the invention of writing if not a mechanism for storing information? What were Indian smoke signals if not protocols for communicating over long distances?</p>
<p>And again, how do you extract information from data? What is the best strategy to win at chess? How can we calculate the area of a football field? How long does it take sunlight to reach the Earth?</p>
<p>The answers to these and similar questions involve the three fundamental problems of computer science. Whether we apply processing, representation, or communication mechanisms, information is the focus of our attention. We can use our cognitive abilities to manage this information, and we can use tools, which can be <a target="_blank" href="https://www.etymonline.com/word/calculus">small stones</a>, pen and paper, or the much-celebrated computer.</p>
<p>In summary, information management is the soul of computer science (theoretical and practical). The (electronic) computer is only a valuable support. On second thought, the company that mistook my degree program in Information Science for Communication Science was not so wrong after all.</p>
]]></content:encoded></item><item><title><![CDATA[Speaking about the Turing machine]]></title><description><![CDATA[Several years ago, when I enrolled in the graduate program in Computer Science in Pisa, I found a curious ad on the university bulletin board. Among the countless offers of houses for rent, bikes for sale, notes, and books in good condition, the ad r...]]></description><link>https://theturingmachine.net/speaking-about-the-turing-machine</link><guid isPermaLink="true">https://theturingmachine.net/speaking-about-the-turing-machine</guid><category><![CDATA[computing]]></category><category><![CDATA[alan turing]]></category><category><![CDATA[turing-machine]]></category><category><![CDATA[computability]]></category><dc:creator><![CDATA[Andrea Chiarelli]]></dc:creator><pubDate>Mon, 09 Jan 2023 08:30:45 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1672919529683/c64f13a9-69c6-43e5-8bf6-c744c938476f.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Several years ago, when I enrolled in the graduate program in Computer Science in Pisa, I found a curious ad on the university bulletin board. Among the countless offers of houses for rent, bikes for sale, notes, and books in good condition, the ad read:</p>
<p>"<em>Turing machine for sale, like new, never used.</em>"</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1672937721188/b9b0604f-c238-47bf-88dc-8cd799b25a0a.jpeg" alt="Annunci by Luigi Rosa (https://www.flickr.com/photos/lrosa/282217570)" class="image--center mx-auto" /></p>
<p>I did not realize at the time that this was a joke, partly because I barely had an idea of the subject I was about to study.</p>
<p>In fact, my choice of major was dictated more by the professional outlets it offered than by the scientific discipline itself and my personal preference and inclination toward it. I went to humanities high school and would have liked to further my studies in Latin and Greek. However, I would have risked hanging around for a while before finding a job without the slightest relevance to my studies.</p>
<h2 id="heading-the-turing-machine">The Turing Machine</h2>
<p>A few years later, I learned what the Turing machine was, and that ad’s joke was clear to me.</p>
<p>For the curious who have probably watched <a target="_blank" href="https://en.wikipedia.org/wiki/The_Imitation_Game">The Imitation Game</a>, I would like to point out that this is not <em>Christopher</em>, the machine that enabled <a target="_blank" href="https://en.wikipedia.org/wiki/Alan_Turing">Alan Turing</a> to decode Nazi army messages encrypted by <a target="_blank" href="https://en.wikipedia.org/wiki/Enigma_machine">Enigma</a>.</p>
<p>The Turing machine is a much broader-scope machine that, in reality ... does not exist. Yes, okay, someone has made <a target="_blank" href="https://aturingmachine.com/">models</a>, even <a target="_blank" href="https://www.turingsimulator.net/">virtual ones</a>, but this is not the real Turing machine. It is <strong>an abstract machine, a computational model invented by Turing</strong> to give an answer to the <a target="_blank" href="https://en.wikipedia.org/wiki/Entscheidungsproblem">Decision Problem</a>, one of the theoretical mathematics problems proposed by Hilbert in 1928.</p>
<p>Without going into too much detail, <strong>the Turing machine is an abstract model that helps define the concept of algorithm and computability</strong>. It has been used to demonstrate what can be computed mechanically and what cannot. In other words, what a computer can do and what it can never do.</p>
<h2 id="heading-turing-machine-and-computers">Turing Machine and Computers</h2>
<p>And despite its abstract nature, the Turing machine has <strong>a practical and concrete impact on reality</strong>. The funny thing is that the limitations of computers were demonstrated even before a physical computer had actually been built.</p>
<p>That abstract machine, along with other formalisms, ideas, and languages that I learned about during my studies, fascinated me and made me appreciate that discipline that was completely new to me.</p>
<p>Commonly, when people think of computing, they think of the Internet, notebooks, smartphones, robots, and all the latest gizmos that propel us into a hyper-technological world. No doubt all of this is fantastic and exciting, not to mention damn convenient (when everything works as expected 🙂).</p>
<blockquote>
<p>"A man provided with paper, pencil, and rubber, and subject to strict discipline, is in effect a universal machine."</p>
<p>--Alan Turing (1948)</p>
</blockquote>
<h2 id="heading-the-human-imprint">The Human Imprint</h2>
<p>However, what fascinated me most in my undergraduate days and continues to fascinate me to this day is <strong>the human imprint behind these devices</strong>. I am much more captivated by the ingenuity that went into inventing them, the ideas, the models, and the theories they rely on. The true essence of information technology goes far beyond the cold silicon of computers, and contrary to what one might think, we can say that it was born with man and has enabled his evolution.</p>
<p>Searching for the human in technology has led me to create this blog. The purpose is <strong>to share a somewhat different view of how computing is often perceived</strong>, showing that there is much more connection to the Lascaux caves, to Leibniz's thought, to the Library of Alexandria, to Darwinian evolution, to Pirandello's masks, and to the DNA of our cells than one might think at first glance.</p>
<p>This journey will require the help of readers, of course. So, your comments and suggestions are welcome.</p>
<p>Happy reading! 📚</p>
]]></content:encoded></item></channel></rss>