Tomas Petricek @tomasp.net · 24/09/2026Claude 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/2026One 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/2026How 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/2026Another 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/2026I 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 1102
Tomas Petricek @tomasp.net · 30/08/2026Peter Eisenman's House X vibes! eisenmanarchitects.com/House-X-1975 120
Tomas Petricek @tomasp.net · 01/07/2026Getting ready for my #ecoop academy tutorial on programming systems! 070
Tomas Petricek @tomasp.net · 29/06/2026My scenic tour around the Austro-Hungarian empire is going (mostly) according to the plan so far... 040
Tomas Petricek @tomasp.net · 29/06/2026On 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 · 09/02/2026After 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 · 27/01/2026I'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 · 16/01/2026Can 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/2025The 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/2025People 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/2025What 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/2025In 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/2025Next 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/2025Another 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/2025It 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/2025The 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/2025We 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/2025I 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/2025F# 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/2025What 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/2025Booked 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/2025In 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/2025I'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/2025I 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/2025I'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/2025Slides 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/2025Anybody 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/2025Organize 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/2025The 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/2025One 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... 0110
Tomas Petricek @tomasp.net · 05/06/2025Is 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/2025An interesting summary of envisioned use cases and things that people actually ended up doing: 072
Tomas Petricek @tomasp.net · 05/06/2025On 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/2025Fun 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/2025I 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/2025Do 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/2025Cannot 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/2025I'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/2025Coming 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/2025The registration for @programming-conf.bsky.social is still open. Just sayin'... 014
Tomas Petricek @tomasp.net · 14/05/2025Last minute arrangements for @programming-conf.bsky.social - visiting the Old Town Hall where the Welcome reception on Monday will be! 082