The current crop of generative “AI”, by which I mean the products of OpenAI, Anthropic, Meta, Google and the likes, is of course deeply problematic for all kinds of reasons: they are an ethical nightmare, and fast on their way to becoming an environmental one, if the companies running them would get their way. Already, they have resulted in slowing down the phasing out of fossil fuels. They are…
Considering the sheer volume of mobile phones, and the high greenhouse gas emissions resulting from their manufacture, it is imperative to extend their useful life by several decades. What would it take? Hardware obsolescence Computer hardware, which includes phones and IoT devices, exists to run software. When hardware becomes obsolete, it is therefore often because the software is no longer…
These are the slides for the talk “The Anti-Dystopians’ Guide to Generative AI – for students & educators” which is based on the guide of the same title written by Alina Utrata . If you’d like me to deliver this talk for your community, please contact me . The Anti-Dystopians’ Guide to Generative AI (PDF) The Anti-Dystopians’ Guide to Generative AI (ODP)
These are the resources for a webinar I have delivered in collaboration with Catherine Brys . If you’d like me to deliver this webinar for your community, please contact me . Webinar description In this webinar I cover: The difference between AI, Generative AI and Machine Learning and why it matters How generative AI tools used for daily tasks actually work – and what they can and can’t do What to…
I was interviewed by Elena de Sus of Spanish progressive magazine CTXT (Contexto y Acción) . The article in Spanish is published on their web site . This is the English version of the interview, published with kind permission of CTXT. Wim Vanderbauwhede is Professor in Computing Science at the University of Glasgow, where he leads the Low Carbon and Sustainable Computing research group. He has…
In this article I have a look at the cost of running queries for GPT-4 and similar models, in view of the drop in price per prompt. The main conclusions are: The energy efficiency gains for queries to large language models (LLM) are not leading to lower emissions. On the contrary, the lower prices are likely to lead to increased use and therefore higher emissions. The cost of a query is mainly…
Climate change is an environmental problem. But our environment is what allows our society to thrive. The damage from climate change is societal and economical as well as ecological. And the only way to minimise this damage is to reduce global CO₂ emissions. Even keeping them at the current level will cause catastrophic warming. All this is explained in detail in the 2024 Emissions Gap Report of…
Chat-assisted search is one of the key applications for ChatGPT. To illustrate the impact of ChatGPT-style augmented search queries more clearly, I compare the energy consumption and emission of a ChatGPT-style query with that of a conventional Google search-style query. If all search queries are replaced by ChatGPT-style queries, what does that mean for energy consumption and emissions? tl;dr:…
A few notes on what the computing scientist Edsger Dijkstra said and didn’t say about Fortran, and the origin of that term “infantile disorder”. Edsger Dijkstra Edsger Dijkstra was a Dutch computing scientist who helped shape the field in the 1960s-1980s and made important contributions to networking, concurrency and structured programming. He is probably best known for his strong objection to…
In this post I’d like to explain how we have embedded sustainability and decarbonisation learning outcomes in our undergradudate Computing Science and Software Engineering degree programmes. The ambitious goal I am a professor in the School of Computing Science of the University of Glasgow, in Scotland. In 2021, I started the Low Carbon and Sustainable Computing research activity in our School…
(Open)AI needs enormous amounts of energy and compute hardware. Meeting these needs would lead to a huge increase in CO₂ emissions. The only way to avoid catastrophic warming is to drastically reduce CO₂ emissions. In other words, the planned growth of (Open)AI is entirely unsustainable. Others have written about the energy needs to provide AI services. Here I focus on the impact of the production…
I wanted to know if the Uxntal primitives are complete, in the sense that they allow access to all elements on the stack (what I call “covering the stack”). And if so, what the minimum set of Uxntal primitives is required to move an element to or from any location on the working stack. The proof of these claims is by construction of a recursive algorithm, so it is a proof by induction. I have…
When @lizmat asked me to write a post for the Raku advent calendar I was initially a bit at a loss. I have spent most of the year not writing Raku but working on my own language Funktal , a postfix functional language that compiles to Uxntal , the stack-based assembly language for the tiny Uxn virtual machine. But as Raku is nothing if not flexible, could we do Uxntal-style stack-based programming…
In a previous post , I introduced Funktal , a frugal functional programming language created for the Uxn VM. The Uxn VM is the heart of a clean-slate computing platform called Varvara . This post explains how you can access Varvara’s I/O devices from Funktal, and the closely related support for mutable state. I illustrate these features using three small GUI-based programs. The main purpose of Uxn…
Funktal is a functional programming language for the Uxn virtual machine, a tiny VM with 8-bit opcodes and 64 kB of memory. I have written about implementing functional constructs in Uxn’s native stack based assembly language Uxntal in a previous post . Rationale The main reason for creating Funktal was to see if it was possible to create a statically typed functional language with algebraic data…
ChatGPT and other AI applications such as Midjourney have pushed “Artificial Intelligence” high on the hype cycle. In this article, I want to focus specifically on the energy cost of training and using applications like ChatGPT, what their widespread adoption could mean for global CO₂ emissions, and what we could do to limit these emissions. Key points Training of large AI models is not the…
For a little compiler I’ve been writing, I felt increasingly the need for immutable data structures to ensure that nothing was passed by references between passes. I love Perl and Raku but I am a functional programmer at heart, so I prefer map and reduce over loops. It bothered me to run reductions on a mutable data structure. So I made a small library to make it easier to work with immutable maps…
I wrote a proof-of-concept compiler from Uxntal to C . The generated code is linked with a slightly modified version of the Uxn VM/Varvara code to provide stand-alone applications. Uxntal and Uxn Uxntal is the programming language for the Uxn virtual machine which forms the heart of the Varvara clean-slate computing stack. As Uxn is a stack machine, Uxntal is a stack language, similar to e.g.…
Quoting in Uxntal: lambda functions, tuples and lists for free What does it take to bring functional programming to a stack-based assembly language? tl;dr : not all that much. Uxntal has everything it takes to build a basic mechanism (“quoting”) that lets us create lambda functions, tuples, cons lists and more. Uxntal and Uxn Uxntal is the programming language for the Uxn virtual machine. As Uxn…
Compilers are pieces of software that convert program code from one format into another. Typically, they convert source code into a binary format for execution on specific hardware. Compilers can also target virtual machines instead of physical hardware, or they can convert source code into different source code. (Some programming languages are not compiled but interpreted, which means they…
On the need for low-carbon and sustainable computing and what developers can do about it. This is a follow-up on my article about Frugal Computing , focusing on the what developers can do to help reduce the carbon emissions from computing. Key points The problem: The current emissions from computing are about 2% of the world total but are projected to rise steeply over the next two decades. By…
I am a lambdacamel and therefore I like to adapt concepts and techniques from functional programming, and in particular from the Haskell language, to Raku. One of the techniques that I use a lot is generic traversals , also known as “Scrap Your Boilerplate” after the title of the paper by Simon Peyton Jones and Ralf Lämmel that introduced this approach. In their words: Many programs traverse data…
The CO₂ emissions from manufacturing and use of digital devices (laptops, phones, tablets, TVs, …) are huge and rising steeply . Here is what you as a consumer can do to help reduce your digital carbon footprint. Key points The problem: The current CO₂ emissions from the internet and digital devices form about 2% of the world CO₂ emissions but are expected to rise steeply over the next two…
A few weeks ago I released Haku , a Japanese natural-language programming language. Haku is a strict functional language with implicit typing, and an example program looks like this: 裂くとはパーツとヨウソで 若しパーツが空に等しいなら [[ヨウソ]]ですけど そうでなければ、 一パートはパーツの頭、 一パーツ一はパーツの尻尾、 一マエはパートの頭、 では 若しマエが〈ヨウソ引く一〉に等しいなら [ヨウソ・パート]・パーツ一ですが そうでなければ [ヨウソ]・パーツ の事です。 本とは 列は壱と弐と三と四と五と七と八と十一と十三と十六と十七、 仮一は列と空を裂くので畳み込む、 仮二は逆な仮一、…
Haku is a natural language functional programming language based on literary Japanese. This article is about the implementation of Haku in Raku . You don’t need to know Japanese or have read the Haku documentation . I you are not familiar with Raku, you might want to read my quick introduction . I do assume familiarity with the concepts of parsing, syntax tree and code generation. I you find you…