Soil: turning an object into bytes A few years ago I wrote two posts about building an object database from scratch, BYOB - build your own (data)base and BYOB - object serialization, and then went quiet and just built the thing. Soil is real now: a file-based, transactional object database for Pharo, running in production. I want to go through its architecture properly this time, from the beginnin
22 July 2026
Smalltalks 2024 In November I was at Smalltalks 2024, the annual conference of FAST in Argentina, with stops in Buenos Aires and Mar del Plata, and gave two talks there. FAST invited me over, which I'm very grateful for. One was "ApptiveGrid: solve (business) problems without programming" (slides). The starting point is a simple idea: what if a URL wasn't just an address but an actual reference to
21 July 2026
ESUG 2024 ESUG 2024 was held in Lille, and the recordings are on Youtube. Next one on the backlog. I gave one talk that year, "A tale about scale" (slides). It's the story of ApptiveGrid going from "one laptop, me, and Pharo" (the CPM model: Computer, Pharo, Me) to about 5000 users, and everything that pulled in along the way: an issue tracker, a CI pipeline, migrations, and on the technical side
21 July 2026
ESUG 2023 ESUG 2023 was held in Lyon at the end of August, and the talk recordings have been up on Youtube for a while now. Time to finally point to them here, before I completely lose track of which year is next on the backlog. I gave two talks that year. One was "Soil - a fresh look on OO databases" together with Marcus Denker, about the object database I've been building. The other was "Visual
20 July 2026
ESUG 2022 It took a while this time until all presentation videos were reviewed and published. And it took me some time as well to write this post. On youtube you can find presentation videos show us your project videos Last year I did the following presentations: There is no magic until you talk about databases (slides). In this presentation I describe how our technology stack grow much smaller b
27 April 2023
BYOB - object serialiazion In the initial post I described the motivation behind developing a new OO database from scratch in pharo. At the end of that post I've sketched a possible API for Soil. Let's pick that and see how we can make it happen. I copied the snippet over here: "create a new database path and initialize its content"
soil := Soil new
path: 'soil';
initializeFilesystem.
"create a
14 January 2023
BYOB - build your own (data)base Persistency is not simple. We can make programs that create data structures and operate on it rather easy. But persisting the same thing is not easy. If the data structure you are dealing with is not super simpel, persisting gets comlicated really quick. Why is that? Why do we even need to persist data? At one time in history storage technology divided itself into
7 January 2023
BYOB - build your own (data)base Persistency is not simple. We can make programs that create data structures and operate on it rather easy. But persisting the same thing is not easy. If the data structure you are dealing with is not super simple, persisting gets complicated really quick. Why is that? Why do we even need to persist data? At one time in history storage technology divided itself into
7 January 2023
Picking it up What happened so far? I did the usual thing. I created a blog and wrote a blog engine for it. The only content in the blog was about creating the blog engine itself. And as usual after the first release nothing happened anymore... This time it is different because it wasn't the end of the project and the blog. Foliage got a new user which made me quite proud. After several years of i
3 December 2022
Foliage released Foliage is a static web site generator pretty much like Octopress/Jekyll. Instead of being a tool you invoke from the commandline foliage is meant to be a library to create a customized web site with a script. The script can then be used to invoke foliage headless on a commandline. The basic idea of foliage is to reify all structures of the web site from filesystem hierarchy down
17 January 2021