Decarbonising the Computing Science curriculum
Embedding sustainability and decarbonisation in Computing Science degree programmes
The insatiable hunger of (Open)AI
The energy and compute resource needs of AI are entirely unsustainable.
Universal stack operations using Uxn primitives
What is the minimal set of Uxntal primitives required to cover the stack?
Embedding a stack-based programming language
It takes just one custom operator to allow Uxntal-style programming in Raku.
Emissions from ChatGPT are much higher than from conventional search
ChatGPT-style queries use about sixty times more energy compared to conventional search.
More on Funktal: I/O devices and state
How Funktal programs can interact with I/O devices, and how mutable state helps with this.
Funktal: a frugal functional programming language
Funktal is a functional programming language for the 64 kB Uxn virtual machine.
The climate cost of the AI revolution
On the energy cost of Large Language Models, what their widespread adoption could mean for global CO₂ emissions, and what could be done about it.
Immutable data structures and reduction in Raku
A small library to make it easier to work with immutable maps and lists.
Compiling stack-based assembly to C
What does it take to bring functional programming to a stack-based assembly language?
Functional programming in stack-based assembly
What does it take to bring functional programming to a stack-based assembly language?
The politics of writing compilers
Is compiler research apolitical?
Frugal computing: developer perspective
On the need for low-carbon and sustainable computing and what developers can do about it.
Generic datastructure traversals with roles and introspection
Scrap your boilerplate with generic traversals in Raku.
How to reduce the carbon footprint of your digital lifestyle
The carbon footprint from manufacturing and use of digital devices is huge. Here is what you as a consumer can do to help reduce your digital carbon footprint.
Why I wrote Haku
Haku is a natural language functional programming language based on literary Japanese. This article is about my motivation for creating Haku.
Haku: a Japanese programming language
Haku is a natural language functional programming language based on literary Japanese and written in Raku
Frugal computing
On the need for low-carbon and sustainable computing and the path towards zero-carbon computing.
Writing faster Raku code
Sometimes you want your Raku code to be faster. What does it take?
Reconstructing Raku's Junctions
A reconstruction of Raku's junctions as an algebraic data with higher-order functions.
The strange case of the greedy junction
An illustration that Raku's junctions are greedy by design, and a proposal.
A universal interpreter
The Böhm-Berarducci encoding of a type can be considered as a universal interpreter. We illustrate this in Raku with an evaluator and pretty printer.
Encoding types as functions in Raku
The Böhm-Berarducci encoding is a way to express an algebraic data type as a function type. We show how to do this in Raku using roles.
Function types
A brief introduction into function types, with a way to implement them in Raku and examples in many languages.
Cleaner code with functional programming
An introduction to some powerful functional programming techniques in Raku and Python.
Everything is a function
Although it might seem that a language like Haskell has a lot of different objects and constructs, they can all be reduced to functions.
List-based parser combinators in Haskell and Raku
This is a follow-on of my article on algebraic data types, with list-based parser combinators as a practical application.
Roles as Algebraic Data Types in Raku
Algebraic data types are great for building complex data structures, and easy to implement in Raku using roles.
The Winds of Kyoto
A very short story for the Fifth Annual Kyoto Writing Competition.
Writing faster Perl code
Sometimes your pure Perl code needs to be as fast as possible. What does it take?
Why Europe needs hurricane contingency planning
Hurricanes will become common in Europe in the next few decades. I discuss the evidence, the impact and the need for proper contingency planning.
Hacking the Pleroma: Elixir, Phoenix and a bit of ActivityPub
A brief guide into hacking Pleroma, a federated microblogging server software.
A little maths puzzle in two parts
Of which the outcome is a way to construct a regular pentagon using compass and ruler.
A strategy for debugging
For a long time it has been my contention that for a developer, more that programming, debugging should be treated as a core skill.
Imagine we had better weather forecasts
Current weather forecasts are at the same time very advanced and yet not good enough. Earlier and more accurate warnings could help to limit the damage of su...