Kartik Agaram 2025-05-12 16:12:45 Lua Carousel now comes with a comprehensive system of online help you can run on computer or phone:
- A tutorial for using it tailored towards programmers
- Exercises for learning programming
- Lots of example programs you can run right from within it, clone and remix
- Reference documentation for available capabilities, while carefully exposing the level in the stack that provides them. (I believe this is critical information for people to be aware of. Abstracting it is counter-productive.)
Try it out by installing LÖVE for your platform. It's completely open source and live editable on a computer.
Tomas Petricek 2025-05-12 20:11:41 I've been reading various books on architecture theory and (obviously) thinking how the ideas there might apply to programming. It is all still very much early ideas (basically trying to find programming equivalents for lots of interesting ideas I came across) - but I would love to hear what people think about it: tomasp.net/architecture
(There is also a PDF version: tomasp.net/architecture/pdf/draft-april-2025.pdf)
📝 Critical Architecture/Software Theory
Post-modern architects use architecture to make critical, ironic and revealing comments on architectural history, practice and its social context. Is it possible to embed similar criticism into the language of software and make the software practice more self-aware and critical?
brett g porter 2025-05-12 20:20:08 I read this over the weekend, and plan to re-read soon. Many ideas that resonate with me, need to ponder them a bit more.
Kartik Agaram 2025-05-12 22:42:13 I'm 10 pages in, and this has some overlap with Lu Wilson's thread 💬 #thinking-together@2025-05-03.
Eisenman himself went on to explore various uses of a formal architectural grammar, not just analytically, but also as the basis for new designs in his numbered series of houses, some built and some unbuilt. The House X, for instance, is a critique of “the idea of development from simple to complex” by using the L-shape as a starting point, replacing the conventional cube. The design questions the humanist ideology by disrupting the centrality that is typical of most houses. Where one might expect a hearth or a staircase, there is nothing. The fact that this introduces a degree of disharmony in the project has become a contentious issue. While Eisenman argued that an important role of art and architecture is reminding people that “everything isn’t all right”, Christopher Alexander in a debate said that such design makes him “incredibly angry” and he saw projects that introduce disharmony as “fucking up the world”.
Eisenman himself collaborated with Derrida on a project for a garden in the Parc de la Villette. The proposal rescales and overlays a number of different structures including historical state of the site when it was a part of city walls and other projects by Eisenman and his collaborators. The almost mechanical design method is used to destabilize traditional values of architecture such as its human scale and function. The authors propose to do this by making parts of the park unexpectedly large or small, or by making parts inaccessible. The La Villette project thus uses the architectural language to question the basic assumptions of architecture. The project, again, causes the kind of disharmony that would enrage Christopher Alexander.
It seems to me the synthesis of this debate is: who pays the price? When you jam on a live performance the audience and the performers share a context and partake of the consequences of their actions fairly equally. If Eisenman is willing to live in the houses he creates as artistic statements, then his actions seem more defensible. But if he's going to move on and leave others to suffer the consequences of viscerally inhabiting buildings that for him are just an intellectual exercise, then I agree with CA. He's fucking up the world.
Lu Wilson 2025-05-13 05:38:13 if it was a "jam", then anyone could change the space and 'unfuck up' the space. or in the construction of said space, anyone could contribute. i wonder what that would look like.
i see way more links to Christopher Alexander from jamming, with his pattern languages serving as bottom-up suggestions, very similar to jam coding's mantras
Konrad Hinsen 2025-05-13 14:50:56 Kartik Agaram That's an important point that I'd expect to be raised by postmodern critics of architecture: the power relation between the architect-designer and the people who will later live or work in the building.
Another example is Le Corbusier's "Villa Savoye" that @Tomas Petricek mentions. It was actually a pain to live in. The construction techniques of the time were not up to Le Corbusier's dreams, and as a result there were lots of problems, in particular leaks in various places that nobody managed to fix.
Konrad Hinsen 2025-05-13 14:52:26 But maybe I should have started by saying that I very much enjoyed this essay, and it's on my (very short) to-re-read list. Thanks @Tomas Petricek!
Konrad Hinsen 2025-05-13 15:00:32 One point in the conclusions echos what many members of this community have expressed repeatedly:
The first is a greater transparency. It should be possible to see inside software systems to a much greater degree. This will let users understand (and perhaps even change) how software works, but it would also enable more active critical discourse about software.
Since the 1980s, i.e. the heydays of Lisp and Smalltalk, the focus of software engineering has moved from artisanal to industrial production. That moved software fully into the norms of modernism, one aspect of which is opacity to the non-initiated. A critical discourse requires non-experts to be able to participate. I see this as an important aspect of jamming as described to Lu Wilson.
Konrad Hinsen 2025-05-13 15:06:10
Although Smalltalk inspired virtually all modern object-oriented langugages, very few of them retained this ability.
And this is perhaps the main reason why Smalltalk survived. Its users are very attached to this ability, and don't find it in any of the more popular contemporary systems.
Konrad Hinsen 2025-05-13 15:08:51
The second thing that I argued for is greater methodological freedom.
Isn't that the role of academia?
Konrad Hinsen 2025-05-13 15:19:09 Another observation that resonated with me:
As software designers, we are often using abstractions to hide the internals of a system from its users (or other developers). But such abstractions often hide contradictions that the implementors had to resolve in some, often imperfect way. If the abstractions do not leave any hint of such complexities, it is easy to hit their limitations and use them in a way in which they break.
I have seen this a few times in scientific computing: people using software while having an incomplete mental model of what it actually does.
Once I got into a heated debate with a journal editor when, as a reviewer of a submission, I said that "This software should not be made available as a ready-to-use tool because it's cannot be used safely without a prior careful study of the source code." The journal editor was unhappy because such considerations were not part of the journal's evaluation criteria.
Konrad Hinsen 2025-05-13 15:23:29 Another favorite part for me is the TypeScript story ("Complexity and Contradiction in Software"), which I wasn't aware of (I am not much into Web programming). It echos the criticism of type systems that I made in my Onwards! essay this year: a one-size-fits-all type system can be at the same time overly constraining and insufficiently helpful in a context it wasn't designed for.
Kartik Agaram 2025-05-13 16:14:51
if it was a "jam", then anyone could change the space and 'unfuck up' the space
But sometimes decisions are easier to make than they are to unmake.
Konrad Hinsen 2025-05-14 06:05:11 Brandolini's law : The amount of energy needed to refute bullshit is an order of magnitude bigger than that needed to produce it.
Actually a variant on a much older insight: " Audacter calumniare, semper aliquid haeret" (" slander boldly, something always sticks"). Goes back to Francis Bacon at least.
Tomas Petricek 2025-05-15 12:21:27 Konrad Hinsen nocode is a very nice example. I also like some of the esoteric languages. The thing that I'm wondering about is that something like this on the software side is a nice fun toy example - but somehow in architecture, it can be integrated into actual buildings that still work and get used (often more special kinds, like museums or even memorials)...
Lu Wilson 2025-05-15 12:26:38 I would say about 95% of the things I make are in this category. DreamBerd and tadi web being the clearest parodies. but things like arroost are too. and things like pastagang's nudel. curious to hear your impression and whether they're what you're referring to @Tomas Petricek
Tomas Petricek 2025-05-15 12:32:55 Kartik Agaram Eisenman's houses are definitely weird things - but I think their value is that they force us to question what's really "f*** up the world" (and to what extent it already is). I think the point is that often a design approach based on his formal grammar is not worse than what you get as a result of typical commercial methods. And in the world of software, we certainly got some abstractions imported for more aesthetical reasons (category theory, wink wink).