Recent blog posts
Mostly longer articles that may eventually become something bigger covering my research, F#, history and philosophy and more. See the blog archive for a complete list.
What can routers at Centre Pompidou teach us about software evolution?
Thursday, 7 December 2023
Where programs live? Vague spaces and software systems
Friday, 10 February 2023
The Timeless Way of Programming
Thursday, 1 September 2022
No-code, no thought? Substrates for simple programming for all
Thursday, 28 April 2022
Pop-up from Hell: On the growing opacity of web programs
Friday, 8 October 2021
Software designers, not engineers: An interview from alternative universe
Monday, 19 April 2021
Is deep learning a new kind of programming? Operationalistic look at programming
Wednesday, 7 October 2020
Creating interactive You Draw bar chart with Compost
Thursday, 16 July 2020
Data exploration calculus: Capturing the essence of exploratory data scripting
Tuesday, 21 April 2020
On architecture, urban planning and software construction
Wednesday, 8 April 2020
What to teach as the first programming language and why
Monday, 2 December 2019
What should a Software Engineering course look like?
Friday, 8 February 2019
Write your own Excel in 100 lines of F#
Monday, 12 November 2018
Programming as interaction: A new perspective for programming language research
Monday, 8 October 2018
Would aliens understand lambda calculus?
Tuesday, 22 May 2018
The design side of programming language design
Tuesday, 12 September 2017
Getting started with The Gamma just got easier
Wednesday, 14 June 2017
Papers we Scrutinize: How to critically read papers
Wednesday, 12 April 2017
The mythology of programming language ideas
Tuesday, 7 March 2017
Towards open and transparent data-driven storytelling: Notes from my Alan Turing Institute talk
Thursday, 2 March 2017
Academic papers to read
I work on programming systems, data science and philosophy of computing. This list includes a couple of top papers for each category. My publications page gives a complete list.
Technical Dimensions of Programming Systems
The Art, Science, and Engineering of Programming, 2023
Ascending the Ladder to Self-Sustainability: Achieving Open Evolution in an Interactive Graphical System
In Proceedings of Onward! Essays 2022
AI Assistants: A Framework for Semi-Automated Data Wrangling IEEE Transactions on Knowledge and Data Engineering, 2022
The Gamma: Programmatic Data Exploration for Non-programmers In Proceedings of VL/HCC 2022.
Linked Visualisations via Galois Dependencies
In Proceedings of POPL 2022
Programming as Architecture, Design, and Urban Planning
In Proceedings of Onward! Essays 2021
Composable data visualizations
Journal of Functional Programming, 2021
Foundations of a live data exploration environment
The Art, Science, and Engineering of Programming, 2020
What we talk about when we talk about monads
The Art, Science, and Engineering of Programming, 2018
Data exploration through dot-driven development
In proceedings of ECOOP 2017.
Miscomputation in software: Learning to live with errors
The Art, Science, and Engineering of Programming, 2017
Types from data: Making structured data first-class citizens in F# In Proceedings of PLDI 2016
Drafts and work in progress
Various academic texts that have not been published yet. If you have any feedback on these, please let me know!
The Rise and Fall of Extensible Programming Languages
Thursday, 19 October 2023
Cultures of programming: Understanding the history of programming through controversies and technical artifacts
Tuesday, 2 April 2019