Back in June, I was in Paris for the NewCrafts conference to talk about the growing opacity of software systems . This was fun, partly because NewCrafts is a fantastic conference (you can alread...
Architecture and urban planning have been a useful source of ideas for thinking about programming. I have written various blog posts and a paper Programming as Architecture, Design, and Urban Pl...
FIGURE 1. The Timeless Way of Building - Christopher Alexander Many programmers know the name of the architect Christopher Alexander for his work on design patterns that has been adapted into t...
FIGURE 1. Virtually eliminates your coding load. FLOW-MATIC promotional brochure (1957) No-code is a hot new topic for programming startups. The idea is to develop a system that allows end-user...
I started to learn how to program in high school at the end of the 1990s using a mix of BASIC, Turbo Pascal and HTML with JavaScript. The seed for this blog post comes from my experience with lea...
While the physicists investigate the nature of the mysterious portal that has recently appeared in North London, several human beings recently came through the portal, which appears to be a gate ...
In most discussions about how to make programming better, someone eventually says something along the lines of "we'll just have to wait until deep learning solves the problem!" I think this is a ...
For a long time, I've been thinking about how to design a data visualization library that would make it easier to compose charts from simple components. On the one hand, there are charting librar...
Most real-world programming languages are too complex to be studied using formal methods. For this reason, academics often work with simple theoretical languages instead. The λ-calculus is a si...
Despite having the term science in its name, it is not always clear what kind of discipline computer science actually is. Research on programming is sometimes like science, sometimes like mathema...
The number of Google search results for the phrase "choosing the first programming language" at the time of writing is 15,800. This illustrates just how debated the issue of choosing the first p...
When I joined the School of Computing at the University of Kent , I was asked what subjects I wanted to teach. One of the topics I chose was Software Engineering. I spent quite a lot of time rea...
I've been teaching F# for over seven years now, both in the public F# FastTrack course that we run at SkillsMatter in London and in various custom trainings for private companies. Every time I te...
In May, I joined the School of Computing at the University of Kent as a Lecturer (equivalent of Assistant Professor in some other countries). When applying for the job, I spent a lot of time th...
Unless you are a sci-fi author or some secret government agency, the question whether aliens would understand lambda calculus is probably not your main practical concern. However, the question is...
The word "design" is often used when talking about programming languages. In fact, it even made it into the name of one of the most prestigious academic programming conferences, Programming L...
Over the last year, I have been working on The Gamma project , which aims to make data-driven visualizations more trustworthy and to enable large number of people to build visualizations backed b...
As someone who enjoys being at the intersection of the academic world and the world of industry, I'm very happy to see any attempts at bridging this harmful gap. For this reason, it is great to s...
If you read a about the history of science, you will no doubt be astonished by some of the amazing theories that people used to believe. I recently finished reading The Invention of Science by Da...
As mentioned in an earlier blog post , I've been spending some time at the Alan Turing Institute recently working on The Gamma project . The goal is to make data visualizations on the web more t...