~ $ cd projects && cat README.md
Projects
Small things, each made of one idea, and almost all of them something you can move: a dial, a grid, a seed, a seat at the table.
Ideas, taken apart
- The next word — a language model with everything taken away but the idea: count which word follows which, then throw the dice. Let it read this website.
- A relativistic rocket — how long a trip takes on board and how long for those left at home, and why a ship that crosses the solar system in days cannot reach a star in a lifetime.
How software work goes
Abstract things in software development, as small models you can turn the dials of and watch.
- Technical debt — how shortcuts create compound productivity losses over time: the true cost of a shortcut, the break-even point between clean and debt-driven development, and what the interest rate does to it.
- Developer meetings — how the kind and the timing of meetings affect a developer's focus and fatigue, and with them how many features a week actually finishes. Paint a calendar and see.
Public data, added up
The Generalitat de Catalunya publishes what its measuring networks record, and NOAA what its satellites, ships and buoys make of the sea; most of it is only ever looked at a day at a time. These add it up another way. The sums are kept in this site's repository, a finished year at a time, and the portal is asked again only when a year has ended; while you read, nothing is fetched from anyone but this site.
- NO2 by the hour and the month — thirty years of hourly measurements, averaged by hour of the day and month of the year. A city's working day turns out to have a shape, and it does not reach the top of the hill.
- Hot nights, counted — how many nights a year never cool below 25 °C, and how many days reach 30 °C, at nine weather stations and in six long series since 1950, whether the second half of each record differs from the first, and Barcelona's mean temperature since 1780 and its rain since 1786.
- The sea, a day at a time — the temperature of the sea's surface off four stretches of the Catalan coast, every day since 1982: its mean year by year, the days it is warm, and this year beside what is usual for each day.
Before the doctorate, in the order they were made
- My first neural network — a network that tells letters apart, taught by backpropagation, first written in C in 1994 and shown in class. Draw on its grid, and teach it letters of your own.
- The Fibergochi — a student of the FIB kept like a Tamagotchi, in the JavaScript of March 1999: study, sleep, find a terminal, go to the bar, and get through the Fase de Selección. Playable, in its own drawings.
- The program that finished before the professor left — a Prolog parser for a field guide to birds, 1999, and the one idea that made it instant where everyone else's took twenty minutes: a grammar that never has to look back.
- The agent that won the fish auction — a Dutch auction, a class of competing agents in December 2000, and the one number ours stood on: the margin at which the market clears. Run it again, and seat your own.
- Worlds — the fractal planet generator of 2000, the one that grows the world in the header, with its dials exposed.
- A maze you could not fly over — a VRML maze generator of May 2001: a depth-first dig, and spheres that jump across the walls so it cannot be solved from above. Grown again from the same seeds, with two things the spheres did that nobody noticed.
Also here, from the teaching
Two labs I set, which are just as much things to play: they live under teaching, and are listed here too.
- Sixty-four rooms — the text adventure of a first-year course, 2007, playable.
- The fishing lagoon — a commons whose fish breed if left alone, 2018. Seat your own bot.
And the site itself
- How this site is built — its source as boxes and arrows, commit by commit: the program an AI wrote, and the rules it is held to. Play it, tangle it, untangle it.
- How this site changes — the same source read through its history: the files that settle and the ones that never do, how far a change travels, and what has to change together with no arrow to say so.
Take it apart yourself
- Blueprints — the weather since 1780, the air, the sea and this site's own source as nodes to wire together, the way Unreal and Unity wire their programs: sources, filters, steps, statistics and pictures, with dials to turn. Twenty to start from, the last one yours.
Use ls to see them all, or cat next-word to read one here.
~/projects $ ls
next-word/The next wordA language model with everything taken away but the idea: count which word follows which, then throw the dice.rocinante/A relativistic rocketHow long a trip takes on board, how long for those left at home, and why a ship that crosses the solar system in days cannot reach a star in a lifetime.technical-debt/Technical debtHow shortcuts create compound productivity losses over time.developer-meetings/Developer meetingsHow the kind and timing of meetings affect focus, fatigue and how many features a week finishes.no2/NO2 by the hour and the monthThirty years of hourly NO2, averaged by hour of the day and month of the year. A city's working day turns out to have a shape.hot-nights/Hot nights, countedHow many nights a year never cool below 25 °C, and how many days reach 30 °C, at nine weather stations and in six long series since 1950, whether the second half of each record differs from the first, and Barcelona's mean temperature since 1780 and its rain since 1786.sea/The sea, a day at a timeThe temperature of the sea's surface off four stretches of the Catalan coast, every day since 1982 — its mean year by year, the days it is warm, and this year beside what is usual for each day.first-network/My first neural networkA network that tells letters apart, taught by backpropagation, first written in C in 1994 and shown to my class on the PC I carried from home. Draw on its grid, and teach it letters of your own.fibergochi/The FibergochiA student of the FIB kept like a Tamagotchi, written in JavaScript in 1999, one of the first interactive pages I made. Keep it studying, working at a terminal, sleeping and going to the bar, until it gets its degree, or it will be thrown out.bird-cards/The program that finished before the professor leftA Prolog parser for a field guide to birds, 1999, and the one idea that made it instant where everyone else's took twenty minutes.fish-market/The agent that won the fish auctionA Dutch auction, a class of competing agents, December 2000, and the one number ours stood on — the margin at which the market clears. Run it again, and seat your own.worlds/WorldsThe fractal planet generator of 2000, in the browser, with the dials exposed.maze/A maze you could not fly overA VRML maze generator from May 2001, a depth-first dig with spheres that jump you across the walls, grown again here room for room from the same seeds, and what the spheres did that nobody noticed.adventure@Sixty-four roomsUPC, 2007. A text adventure as the lab of a first-year course, built so that four traversal-and-search schemas were all a student needed. Playable.fishing-lagoon@The fishing lagoonA lab from 2018 where the assignment is a commons: a lagoon whose fish breed if left alone, bots that share it, and a tit-for-tat that only cooperates with those who do. Play it, and seat your own bot.architecture/How this site is builtThe source of this site as boxes and arrows, commit by commit — the program an AI wrote, and the rules it is held to.changes/How this site changesThe history of this site's source, read for what changes, how often and with what — the picture of the source seen through its changes, the files that never settle, how far a change travels and which files stand where changes are, and the dependencies no arrow shows.blueprints/BlueprintsThe data this site keeps — the weather since 1780, the air, the sea, its own source — as nodes to wire together, the way Unreal and Unity wire their programs: sources, filters, steps, statistics and pictures, with dials to turn. Twenty examples to start from, the last one yours.