Sign in

Tomas Petricek

@tomasp.net
730 followers 163 following 186 posts

Associate prof @mff.unikarlova.cuni.cz. Interested in new ways of thinking about programming and history & philosophy of computing. Previously at University of Kent & @cst.cam.ac.uk. Check out my book "Cultures of Programming"! tomasp.net/cultures

PostsRepliesMedia
Tomas Petricek @tomasp.net · 24/09/2026
Claude has discovered a previously unknown programming language construct. We don’t yet understand what this construct does, but only a handful of known constructs share its features
270
Tomas Petricek @tomasp.net · 18/09/2026
One more Denicek demo! We use managed copy & paste to copy a formula with a bug. We can go back in history before the copying, fix the formula & merge the edit. This fixes the copied formula too. Check it out: tomasp.net/denicek/#cha...
120
Tomas Petricek @tomasp.net · 17/09/2026
How to build a TODO list app in Denicek? See it for yourself here: tomasp.net/denicek/ You can use programming-by-demonstration to record steps copying new item to a list. A neat trick is that, when you add "completed" checkboxes, replaying the "Add" action adds them too! (By merging edits...)
020
Tomas Petricek @tomasp.net · 01/09/2026
Another long-neglected part has been the gallery of photos from my various travels. I finally added pictures for most of 2026 if you are looking for an easier read :-) tomasp.net/calendar/
000
Tomas Petricek @tomasp.net · 01/09/2026
I have been neglecting my website... But at least, I managed to upload all the papers, done recently with amazing students and collaborators! Including three papers to be presented at SPLASH in Oakland. Get them all from: tomasp.net
Listing of papers:

 Timeline: Adding the Time Dimension to Spreadsheets
In Proceedings of OOPSLA 2026

Towards Critical Abstraction for Software
In Proceedings of Onward! Essays 2026

The Choose-Your-Own-Adventure Calculus
In Proceedings of Onward! Papers 2026

Formal Semantics and Type System for Vega Data Transformations In Proceedings of FTfJP 2026
1102
Tomas Petricek @tomasp.net · 30/08/2026
Peter Eisenman's House X vibes! eisenmanarchitects.com/House-X-1975
A photograph of Peter Eisenman's House X model against a black background, showing scattered rectangular panels — dark frames, wire mesh, and gridded planes — floating at varying heights and tilts above a stepped white base, appearing fragmented because it's viewed from an angle other than the single station point at which the pieces resolve into a coherent axonometric.
120
Tomas Petricek @tomasp.net · 01/07/2026
Getting ready for my #ecoop academy tutorial on programming systems!
070
Tomas Petricek @tomasp.net · 29/06/2026
My scenic tour around the Austro-Hungarian empire is going (mostly) according to the plan so far...
040
Tomas Petricek @tomasp.net · 29/06/2026
On my way to #ecoop! (*) Don't miss Kristýna's talk about our work on formalising Vega on Tue (2026.ecoop.org/home/FTfJP-2...) and my Academy talk on programming systems on Wed (2026.ecoop.org/track/ecoop-...). (*) The first three connections are not Deutsche Bahn, so I'm optimistic :-)
2112
Tomas Petricek @tomasp.net · 12/02/2026
010
Tomas Petricek @tomasp.net · 09/02/2026
After some *checks notes* umm.. 6 years, I released a new version of my composable data visualization library, adding support for images! compostjs.github.io/compost/demo... I still think this is the best way of doing composable data visualizations. See the paper: www.cambridge.org/core/journal...
2264
Tomas Petricek @tomasp.net · 05/02/2026
It has arrived!!!
0161
Tomas Petricek @tomasp.net · 27/01/2026
I've now reached a stage in my career where I have to carefuly manage my time - and so I create a list of todo items to work on at the start of each month to keep myself organized!
080
Tomas Petricek @tomasp.net · 25/01/2026
arxiv.org/pdf/2601.14846 cc @dorchard.bsky.social
072
Tomas Petricek @tomasp.net · 16/01/2026
Can someone explain to me, why the "Basic" version of the ACM DL only gives me a link to a crappy "eReader" but the pro version includes link to the PDF? Did they build "eReader" just to frustrate users? Greasemonkey script to the rescue... but why?
261
Tomas Petricek @tomasp.net · 14/01/2026
@adamgryu.bsky.social We loved playing A Short Hike over the holiday break... and this was the result 😀 Thank you for creating a beautiful game!
170
Tomas Petricek @tomasp.net · 19/12/2025
The open access version of Cultures of Programming is now available online. Just in time for the holiday break! Read it here: www.cambridge.org/core/books/c... If you prefer a real book, use PETRICK26 for a 20% discount (valid until January 31) at: www.cambridge.org/9781009492348
34814
Tomas Petricek @tomasp.net · 09/12/2025
People talking past each other is literaly the inspiration behind the book! This is the very first paragraph of the book's preface :-)
030
Tomas Petricek @tomasp.net · 09/12/2025
What defines a correct program? What education makes a good programmer? The answer depends on what culture of programming you subscribe to! This has been a long time in the making, but my open access book on the history of programming is available for pre-order! www.cambridge.org/core/books/c...
88422
Tomas Petricek @tomasp.net · 08/12/2025
In the last part of my tiny systems course, we get to implement a tiny version of the world's most widely used programming language! TinyExcel: www.youtube.com/watch?v=ghRA...
1417
Tomas Petricek @tomasp.net · 02/12/2025
Next in my tiny systems course - write your own TinySelf! Learn about the genuinely elegant prototype-based object-oriented inspiration for JavaScript where everything is an object. www.youtube.com/watch?v=7Pre...
2182
Tomas Petricek @tomasp.net · 02/12/2025
𝐎𝐧 𝐭𝐡𝐞 𝐋𝐢𝐦𝐢𝐭𝐬 𝐨𝐟 𝐌𝐚𝐤𝐢𝐧𝐠 𝐏𝐫𝐨𝐠𝐫𝐚𝐦𝐦𝐢𝐧𝐠 𝐄𝐚𝐬𝐲 New paper with Joel Jakubovic We wrote this for my PhD supervisor Alan Mycroft's festschrift, where you can get away with having some fun when writing! With the hope it will be insightful and fun to read too :-) tomasp.net/academic/pap...
1110
Tomas Petricek @tomasp.net · 24/11/2025
Another meeting of our Programming Languages and Systems group at @mff.unikarlova.cuni.cz - with more interactive theorem proving 🤨 Natty can check proofs in natural English language!
070
Tomas Petricek @tomasp.net · 23/11/2025
It turns out that debugging a system where everything is an object without some kind of object browser is impossible. So.... the TinySelf lab of my tiny programming systems course will have a truly innovative UI component :-)
0100
Tomas Petricek @tomasp.net · 17/11/2025
The next lab from my tiny systems course is up. Learn how to write your own small implementation of the logic programming language Prolog in #fsharp! www.youtube.com/watch?v=KC7A...
1265
Tomas Petricek @tomasp.net · 14/11/2025
We even had a web-based version of this so you could run the code in a web browser using Silverlight (!) tryjoinads.org The web-based version built a bit later had a revised syntax and also added "let! .. and" for applicative functors.
161
Tomas Petricek @tomasp.net · 14/11/2025
I worked on "match!" to #fsharp back in 2008/9 during an internship with @dsyme.bsky.social and parallel tasks was one example in my MSc thesis: tomasp.net/academic/the... (p. 78). "match!" had the extra feature that you could do short-circuiting - so "_" means the task doesn't have to finish...
1132
Tomas Petricek @tomasp.net · 14/11/2025
F# 10 makes it possible to use let! .. and! to await two tasks in parallel. This brings back some memories!
1359
Tomas Petricek @tomasp.net · 10/11/2025
What if we think about proof assistants/dependently typed languages as interactive programming systems? Discussion today @mff.unikarlova.cuni.cz (And yes, our building has fairly thick walls :-))
090
Tomas Petricek @tomasp.net · 07/11/2025
Booked my train tickets for a trip to a PhD defense in Aarhus! Maybe it's not faster than flying, but I get to go from a train station 10 minutes walk from where I live. 🚂👍
150
Tomas Petricek @tomasp.net · 20/10/2025
In the second lab of my Tiny Systems course, we write a small interactive BASIC interpreter, inspired by Commodore 64 (Dijkstra does not approve...) 🎞️Watch the videos on YouTube: www.youtube.com/watch?v=jR0m... ⌨️Get the source code here: github.com/tpetricek/ti...
030
Tomas Petricek @tomasp.net · 11/10/2025
I'm trying to replace my beloved but long-defunct Atom with VS Code for editing LaTeX. How do I stop copilot from telling me that I can press "Ctrl+I"? I already disabled it using "github.copilot.enable", which hides the actual suggestions, but not this useless message...
052
Tomas Petricek @tomasp.net · 10/10/2025
I just uploaded videos for the first lab of my tiny systems. TinyML - Write your own tiny functional language interpreter! 🎞️Watch the videos on YouTube: www.youtube.com/playlist?lis... ⌨️Get the source code here: github.com/tpetricek/ti...
170
Tomas Petricek @tomasp.net · 30/09/2025
I'm at #uist2025 presenting our new work with @jonathoda.bsky.social! 𝗗𝗲𝗻𝗶𝗰𝗲𝗸 is a computational substrate for end-user programming that makes it easy to implement programming experiences like programming by demonstration, collaborative editing and more! tomasp.net/academic/pap...
13017
Tomas Petricek @tomasp.net · 09/09/2025
Slides from my talk "Critical Architecture/Software Theory" at PPIG 2025 in Belgrade: tpetricek.github.io/Talks/2025/c... The talk has been a great excuse to organize some more ideas, on top of my earlier article on the topic: tomasp.net/architecture/
381
Tomas Petricek @tomasp.net · 17/06/2025
Anybody remembers Microsoft script encoder? A true gem from the MSDN archives of August 1999: web.archive.org/web/20021214... (The thing was clearly not very sophisticated: web.archive.org/web/20070103...)
140
Tomas Petricek @tomasp.net · 12/06/2025
Organize Unlambda Days :-) A conference for people who once talked about FP all the time, but do other interesting things today. I'll come!
110
Tomas Petricek @tomasp.net · 10/06/2025
The Choose-Your-Own-Adventure Calculus is a small formalism that captures an interaction pattern where you repeatedly choose from the available options. Examples include type providers, structure editors, theorem provers & more! Draft paper based on my earlier blog post: tomasp.net/academic/dra...
042
Tomas Petricek @tomasp.net · 09/06/2025
One last picture from @programming-conf.bsky.social! A photo from the Friday afternoon visit to the Prague castle gardens, some time after we miraculously avoided the rain by hiding in a pub and talking about programming some more...
A photo of Prague with dark sky in the background and gardens in the front with a label <Programming> 2025, Thank you for attending the conference!
0110
Tomas Petricek @tomasp.net · 05/06/2025
Is schema change someone else's problem? @jonathoda.bsky.social presenting our paper "Schema Evolution in Interactive Programming Systems" at @programming-conf.bsky.social Check it out: programming-journal.org/2025/9/2/
0115
Tomas Petricek @tomasp.net · 05/06/2025
An interesting summary of envisioned use cases and things that people actually ended up doing:
072
Tomas Petricek @tomasp.net · 05/06/2025
On implementing languages based on their spec. How it started: "Extending Python is easy if you know some C." How it's going:
120
Tomas Petricek @tomasp.net · 05/06/2025
Fun fact from Thomas Würthinger's @programming-conf.bsky.social keynote. The most notable paper on GraalVM was published in Onward! Maybe conference ranking is broken 😱?
180
Tomas Petricek @tomasp.net · 30/05/2025
I found the perfect illustration for the motivation behind our paper on schema change in programming systems - presented by @jonathoda.bsky.social at <Programming> 25 next week: 2025.programming-conference.org/details/prog...
192
Tomas Petricek @tomasp.net · 29/05/2025
Do you want to write your own implementation of Tiny Boxer? Check out my demo from PLISS'25 & follow the step-by-step tutorial here: github.com/tpetricek/ti...
0178
Tomas Petricek @tomasp.net · 27/05/2025
Cannot make it to Prague for @programming-conf.bsky.social? 🎬 We will be streaming the keynotes, regular talks and MoreVMs workshop talks online! 👉 Keep an eye on: 2025.programming-conference.org
11010
Tomas Petricek @tomasp.net · 21/05/2025
I'm speaking at Programming Language Implementation Summer School (PLISS) next week. Let's see if I can get the attendees to implement a tiny version of Boxer: dl.acm.org/doi/pdf/10.1... It is a fun example of how interactive programming *systems* can do more than *languages*!
2278
Tomas Petricek @tomasp.net · 20/05/2025
Coming to @programming-conf.bsky.social? Submit a Lightning Talk proposal to share & discuss what you are currently working on! 2025.programming-conference.org/track/progra...
023
Tomas Petricek @tomasp.net · 15/05/2025
The registration for @programming-conf.bsky.social is still open. Just sayin'...
014
Tomas Petricek @tomasp.net · 14/05/2025
Last minute arrangements for @programming-conf.bsky.social - visiting the Old Town Hall where the Welcome reception on Monday will be!
082