Tomas Petricek
banner
tomasp.net
Tomas Petricek
@tomasp.net
Assistant prof at @mff.unikarlova.cuni.cz. Interested in new ways of thinking about programming and history & philosophy of computing. Previously at University of Kent and @cst.cam.ac.uk.
Pinned
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
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
December 19, 2025 at 10:18 AM
I have a bunch of very old #fsharp code running as Suave-based AppServices on Azure (net40, I know, I know).

I've used up my free Azure credits, so this needs some kind of upgrade or migration.

What's the least-work and most future-proof way to migrate this and host it at a reasonable cost?
December 15, 2025 at 11:34 PM
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...
December 9, 2025 at 9:52 AM
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...
December 8, 2025 at 10:16 PM
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...
December 2, 2025 at 10:39 PM
𝐎𝐧 𝐭𝐡𝐞 𝐋𝐢𝐦𝐢𝐭𝐬 𝐨𝐟 𝐌𝐚𝐤𝐢𝐧𝐠 𝐏𝐫𝐨𝐠𝐫𝐚𝐦𝐦𝐢𝐧𝐠 𝐄𝐚𝐬𝐲
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...
December 2, 2025 at 1:02 AM
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!
November 24, 2025 at 10:21 AM
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 :-)
November 23, 2025 at 2:28 AM
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...
November 17, 2025 at 9:11 PM
F# 10 makes it possible to use let! .. and! to await two tasks in parallel. This brings back some memories!
November 14, 2025 at 12:13 AM
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 :-))
November 10, 2025 at 10:27 AM
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.

🚂👍
November 7, 2025 at 12:16 AM
In the next lab from my Tiny Systems course, you learn how type inference in ML-like languages works and write your own Hindley-Milner inference algorithm!

🎞️ Watch the videos: www.youtube.com/watch?v=FUFQ...
⌨️ Get the #fsharp code: github.com/tpetricek/ti...
TinyHM 4.1 - How type inference in ML works
YouTube video by Tomas Petricek
www.youtube.com
October 23, 2025 at 7:58 PM
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...
October 20, 2025 at 9:18 AM
I'm afraid I've just recorded a video for my Tiny Systems course on how great GOTO was in Commodore 64 BASIC :-)

(Although, to be fair, I also mention some benefits of GOSUB and RETURN, which is included in bonus materials...)
PLP 6.2-6.4: Structured Control Flow, Sequencing, and Selection - youtu.be/oX9aFuJ--zg

Also check out the whole Programming Language Pragmatics playlist: tinyurl.com/PLP5vids
PLP 6.2-6.4: Structured Control Flow, Sequencing, and Selection
YouTube video by Jonathan Aldrich
youtu.be
October 17, 2025 at 8:07 PM
Absolutely fascinating 1960 ad for the SAGE (Semi-Automatic Ground Environment) computer!

www.youtube.com/watch?v=iCCL...

For those curious about what this is, there is an excellent book by Rebecca Slayton that documents the software side of the missile defense: mitpress.mit.edu/978026254957...
IBM Sage Computer Ad, 1960
YouTube video by chiklit
www.youtube.com
October 16, 2025 at 9:46 PM
To be honest, I feel this is bragging about doing poorly in a meaningless league table.
📊 According to the recently published Times Higher Education World University Rankings 2025, Charles University is once again among the 500 best universities in the world. At the same time, it remains the highest-ranked university in the Czech Republic.
October 11, 2025 at 2:54 PM
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...
October 11, 2025 at 2:17 PM
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...
October 10, 2025 at 10:36 AM
I'm teaching 𝗪𝗿𝗶𝘁𝗲 𝘆𝗼𝘂𝗿 𝗼𝘄𝗻 𝘁𝗶𝗻𝘆 𝗽𝗿𝗼𝗴𝗿𝗮𝗺𝗺𝗶𝗻𝗴 𝘀𝘆𝘀𝘁𝗲𝗺(𝘀)! again. I'll be posting the videos & tasks on YouTube too.

In the first lecture, I explain what's a tiny system, why write one and show plenty of demos!

🎞️ Playlist: www.youtube.com/playlist?lis...
👉 More info: d3s.mff.cuni.cz/teaching/npr...
Write your own tiny programming system(s)! - YouTube
The goal of this course is to teach how fundamental programming language techniques, algorithms and systems work by writing their miniature versions. The cou...
www.youtube.com
October 7, 2025 at 9:18 PM
Reposted by Tomas Petricek
Deadline extension: 1 week.
Please submit your talk proposals by October 16 (anywhere on Earth).

bsky.app/profile/undo...
Announcing Undone CS 2026:
2nd conference on Undone science in Computer science

A conference in computer science to pause and reflect on the epistemological and ethical dimensions of the field, through the concept of undone science

Full call for presentations at www.undonecs.org/2026/cfp.html
October 3, 2025 at 3:27 PM
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...
September 30, 2025 at 6:13 AM
Reposted by Tomas Petricek
Companion (Workshop) Proceedings for ‹Programming› 2025 are now available! Co-edited with @jonathoda.bsky.social and @tomasp.net. Thanks to the awesome OASIcs publishing team for getting this over the line.
drops.dagstuhl.de/entities/vol...
Companion Proceedings of the 9th International Conference on the Art, Science, and Engineering of Programming (Programming 2025)
drops.dagstuhl.de
September 17, 2025 at 2:55 PM
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/
September 9, 2025 at 1:06 PM
Reposted by Tomas Petricek
Announcing Undone CS 2026:
2nd conference on Undone science in Computer science

A conference in computer science to pause and reflect on the epistemological and ethical dimensions of the field, through the concept of undone science

Full call for presentations at www.undonecs.org/2026/cfp.html
July 17, 2025 at 12:46 PM