Skip to content

Ideas

Coding with AI as "literature"?

AI clearly poses the question: do we still need software developers? The ability to write computer code was rare, and now has become abundant. But you still need to design solid software, translate between business processes and technical specifications; and make choices that impact reliability and maintainability.

Around 40 years ago, computer scientist Donald Knuth started considering programs to be works of literature. He described it in a paper in 1992:

Literate programming1

"Let us change our traditional attitude to the construction of programs: Instead of imagining that our main task is to instruct a computer what to do, let us concentrate rather on explaining to human beings what we want a computer to do.

The practitioner of literate programming can be regarded as an essayist, whose main concern is with exposition and excellence of style."

Knuth envisioned writing software as a mix of descriptive text and program code that could be processed to be either human-legible or computer-executable2. Current AI even allows a developer to describe data structures and algorithms, rather than having to write precise program code.

As AI saves time on "writing code", a software developer can spend that time to better understand the challenges and priorities of users and organisations; and to develop solutions with a solid foundation in software design and architecture.

Amidst the hype, let's also heed the warning Knuth gave in that same paper:

Hype?1

"I’ve stumbled across a method of composing programs that excites me very much. In fact, my enthusiasm is so great that I must warn the reader to discount much of what I shall say as the ravings of a fanatic who thinks he has just seen a great light."

It is tempting to do everything differently now, but our current approaches in teaching and practicing software development still hold. Let's take the opportunity to focus more on critical thinking and conversations about what we should build next.


  1. Knuth, D.E. (1992) Literate programming. Stanford, Calif.: Center for the Study of Language and Information (CSLI lecture notes, no. 27). 

  2. The name he picked for his system took on a different meaning: “I chose the name WEB partly because it was one of the few three-letter words of English that hadn’t already been applied to computers.” 

Benevolent Dictator For Life?

The term benevolent dictator for life (BDFL) is popular in the open source world1, mainly as a way to acknowledge the importance of the person leading a particular project into early success and giving that person absolute rule.

But there are no benevolent dictators. Recent developments in the Wordpress world brought me back to my TYPO3 days of long ago.

Plinius, a knowledge worker's assistant

I worked on a project to process scientific articles to help researchers. To quote myself:

The main goal of the Plinius project is to build a system that semi-automatically extracts knowledge from scientific abstracts and stores it in a knowledge base. [...] A system that contains the knowledge rather than the text of abstracts of a domain could answer a researcher’s questions directly, instead of retrieving all abstracts that mention the subject at hand.

For the processing of abstracts, the Plinius project has to deal with two important processes: the interpretation of natural language, and the maintainance [sic] of a knowledge base. In processing natural language, the knowledge base will be used to limit the number of possible interpretations of a piece of text. As a result the knowledge base has to be updated with the knowledge acquired from that piece of text.

That is how I described the Plinius project, named after the first encyclopedist1, in my Master of Science thesis2 of 1993. It mentioned two main challenges:

  • Natural language processing. The project focused on abstracts of scientific articles. These usually don't contain humour, sarcasm, and so forth. This made it easier to deal with the often messy and ambiguous nature of natural language.
  • Automated reasoning. The project chose a very technical domain to make it easier to manage the ontology and logic needed to derive new knowledge, prove statements, and find contradictions.

These days, a lot of projects emerge with a similar promise: to automatically surface new knowledge. AI today (Large Language Models or LLMs) cover the first challenge quite well, and can process messy and ambiguous text.

Back in 1993, I ran into problems when doing automated reasoning using world views that are not compatible. Current AI models generate text without even noticing or mentioning such incompatibilities: they are trained to go toward a middle ground.

LLMs are good at summarising. But not at sense-making: finding and navigating divergence in world views and opinions.

I don't really know how current tools build on the progress made in semantic reasoning and automated theorem proofing over the last decades. I see the tools "plan their steps", but those steps seem to be generated by an LLM.

AI tools today help me enrich and navigate my Personal Knowledge Management system. But at its core, it still is a collection of text notes. It helps me find connections, not understanding.

Back in 1993, I saw the Plinius knowledge base as a shared product: it would help a whole field of researchers to find new knowledge in a growing stream of research papers.

Today, I'd rather have a personal knowledge assistent. A tool to help me build and test solid argumentation and work with competing world views that are valid to me. It should help me find sources to make sense of things, and to articulate and interrogate divergent conclusions.

I don't want the AI to reason for me, I want the AI to sharpen my reasoning.


  1. Gaius Plinius Secundus, or Pliny the Elder, wrote the first encyclopedia covering a vast array of topics on human knowledge and the natural world. He is also known as eye-witness reporter and victim of the eruption of Mount Vesuvius that covered Pompeii. 

  2. Kleef, R. (1993). The part-of relation in the Plinius ontology [Master Thesis]. University of Twente. 

FOSDEM 2025, 2026

FOSDEM26.png A few more weeks to the next FOSDEM conference in Brussels, an annual gathering of thousands of open source developers and users. Time to finally finish some of my notes from last year, and look ahead.

My focus is on socio-technical discussions: how do technologies and society interact with respect to access, representation, and autonomy? Two perspectives:

  • On an individual and community level: how can we reclaim "social media" to be the public space we intended it to be?
  • On a societal and global level: how can we reclaim "open source" as a technical driver for a better society?

Those perspectives touch on a tension between "free" and "open".

Will DeepSeek democratise AI?

Will DeepSeek be a game changer like ChatGPT was? The benefits and the public release of their models could level the playing field, as Mike Pound of the University of Nottingham argues in this Computerphile video. But will it be able to challenge the current quasi-monopoly, and democratise AI? And how accurate are the DeepSeek claims anyway?

ChatGPT as your new assistant

ai-generated-assistant.png

ChatGPT is a hot topic. Tom Scott compared it to a “Napster moment”, when suddenly everyone started sharing music and videos, Jonathan Stark called it the iPhone effect, when everyone started using a mobile device everywhere, and Bart Lacroix compared it to the first time using Google or Spotify: “I opened [ChatGPT] in my browser as a tab and never closed it since.”

Some practical examples of using ChatGPT as a tool to run an organisation:

Can IATI benefit from XBRL’s experiences?

xbrl-adoption.png

xbrl-logo.png Over the last weeks, I started exploring XBRL, the eXtensible Business Reporting Language. Its purpose is “ to improve the accountability and transparency of business performance globally, by providing the open data exchange standard for business reporting.

iati-logo.png There are clear parallels with IATI, the International Aid Transparency Initiative, the open data exchange standard for development and aid activities I have been working on.

In essence, the data collectors benefit more than the data publishers in both cases: what can we learn?

Traceability and Linking in IATI Data

Today I had the privilege to present at the “Big and Open Data for International Development Workshop” at the Centre for Development Informatics of the University of Manchester. In my abstract, I anticipated deep research into traceability of activities in IATI data. We’ve certainly made great strides, and, as one participant of our IATI Learning Workshop of last week remarked, the level of discussion on IATI is high, and although there still are things to fix in today’s data, a lot of it is fine-tuning. So I made a pitch for IATI as a possible field of research.