Christopher Alexander has died
cnu.org
cnu.org
A SWE in the audience spoke up, saying basically "look, we want to follow that approach, but it's hard, we have a lot of stakeholders to satisfy in order for a project to happen."
Alexander was unyielding. "Once you've worked with love, you won't want to work in any other way."
YMMW on the practicality of his advice, but it was super inspiring.
It always appalls me when developers reason that a software development system that barely functions for themselves will somehow result in an application that the users will enjoy paying to use.
Software that doesn’t work for the developers will eventually stop working for everyone else too.
http://www.patternlanguage.com/archive/ieee.html
> This is an extraordinary vision of the future, in which computers play a fundamental role in making the world—and above all the built structure of the world—alive, humane, ecologically profound, and with a deep living structure. I realize that you may be surprised by my conclusion. This is not what I am, technically, supposed to have been talking about to you. Or you may say, Well, great idea, but we're not interested. I hope that is not your reaction. I hope that all of you, as members of a great profession of the future, will decide to help me, and to help yourselves, by taking part in this enormous world-wide effort. I do think you are capable of it. And I do not think any other professional body has quite the ability, or the natural opportunity for influence, to do this job as it must be done.
Interesting quote. It really makes me think about the great resignation and WFH movement. I think lots of people truly were asleep to how bad their job and consequently life had become due to working with all the negative corporate aspects of America. This is a succinct way to describe the trend.
I wonder if we will see drops in pharmaceutical and alcohol sales in the coming years.
This philosophy is succinctly summarised in the book Peopleware:
> local control of design by those who will occupy the space
Unfortunately this aspect of Alexander's philosophy of letting the users participate in the design, construction or customisation of building and towns was ignored, while the other idea of design patterns became very popular when adapted to software.
Some software is built for a market where the buyers are the end-users to software. Other software is built for markets where the purchasing decision is made by a committee of stakeholders, perhaps excluding the people who will be the day to day users of the software. If you contrast the two in terms of usability, you can start to appreciate what Alexander was getting at.
Minecraft has some of these elements, and is why it is fun for people.
Arguably, Roblox is the largest scale example, though my understanding is that it is still not so easy that end users can really participate in creating their own designs.
The benefits would be endless, and they'd "cut their teeth" on solving crunch problems for themselves/their teams.
Do you have a particularly large team? Or a particularly good process for 'onboarding' new/less-experienced engineers?
Sounds like a lot of things are going right at your company for your team to have picked up several developers this way.
What I would advise is treating each job as a college course which you also happen to be paid for. For me, this meant not allowing myself to become emotionally invested in the work, taking good notes about what I learned each day, and looking for a new job (typically with a raise) once those notes were sparse for too long.
"Right livelihood" is a thing. It might not be easy but you should.
Following this, he published a paper on “harmony-seeking computation” as an approach to optimize “wholeness.” He identified 15 elements of wholeness in designs that might be measured, like the presence of coherent centers, strong boundaries, local symmetries or roughness/imperfection. He proposes that “the harmony that is sought in these computations is indeed what we otherwise call ‘beauty’. But the result of harmony-seeking computations are not merely pretty or artistic. In most cases, they are also better functionally and technically.”
Alexander, Christopher "Harmony-Seeking Computations." International Journal of Unconventional Computing 4 (2008).
The 15 properties of life were, I believe, his attempt to find the universal rules underlying the design patterns he described in A Pattern Language. I've long thought that most of those properties could be described algorithmically and was curious what sort of system they would converge to. I suppose nature is one easy answer, but it's not a very useful one.
For those who are interested, there's a nice summary of the properties and analysis of how they relate to each other at http://web.sfc.keio.ac.jp/~iba/papers/PURPLSOC14_Properties.... and a more architecturally-focused take at https://www.archdaily.com/626429/unified-architectural-theor....
He believed that a meadow with a river bend, an old willow tree and a rock to sit on below it was not a scene composed of living and non-living entities, but rather the arrangement of these entities (both internally alive and not) gave rise to a wholistic quantity of life in that space. Depending on where the rock was placed the space itself was more or less alive.
It sounds like a far out, "new agey" idea but I think he argued quite rationally that this framing of life makes far more sense than a binary determination based upon near arbitrary delineations such as sex, reproduction and consumption of resources.
I think he really was onto something personally.
Then i stumbled across “Notes on the synthesis of form” from some random internet recommendation.
Not only was this book a complete eye opener, it helped me to understand so much about what I was doing was mostly by accident, and that design should be purposeful.
The most important lesson for my fledgling mind though was that design was a process, and a process that improved with each application. That good software developers arnt “born”, they are self sculpted.
I still have that battered, note riddled, page corners folded copy of “notes” and I take with me on holiday every year to re-read. Its my most favourite book I’ve ever read. It fills me with such inspiration everytime I read it.
I’m very sad to hear of Christophers passing. I never got to thank him.
>‘There is so little in what is called ‘design methods’that has anything useful to say about how to design buildings that I never evenread the literature anymore [...] I would say forget it, forget the whole thing.’
That's not to say the literature and was/is immensely inspiring, so much so that his name comes up within software engineering as much as it does within architecture.
> Today, almost ten years after I wrote this book, one idea stands out clearly for me as the most important in the book: the idea of the diagrams. [...] I reject the whole idea of design methods as a subject of study, since I think it is absurd to separate the study of designing from the practice of design. [...] No one will become a better designer by blindly following this method, or indeed by following any method blindly. [...] In the process of trying to create such diagrams or patterns for yourself, you will reach the central idea which this book is all about.
I think this explains why Inkscape is my favourite piece of software :)
[0] https://monoskop.org/images/f/ff/Alexander_Christopher_Notes...
> The quality which has no name includes these simpler sweeter qualities. But it is so ordinary as well, that it somehow reminds us of the passing of our life.
> It is a slightly bitter quality.
- Christopher Alexander, The Timeless Way of Building
"And when a building has this fire, then it becomes a part of nature. Like ocean waves, or blades of grass, its parts are governed by the endless play of repetition and variety created in the presence of the fact that all things pass. This is the quality itself."
> The awareness of impermanence, or transience of things, and both a transient gentle sadness (or wistfulness) at their passing as well as a longer, deeper gentle sadness about this state being the reality of life.
One lightbulb that went off for me when reading his books was the pattern of "windows on 2 sides of a room".
I realized the house I grew up in was a big mass-produced rectangle with windows on the front and back. And since no rooms spanned the house front to back, that means that no room in the ~3000 sq ft. house had windows on 2 sides. (This is close to "McMansion" architecture but not quite)
Since then I've noticed people gravitate towards rooms with windows on 2 sides, and now I live in a apartment with many windows.
For better or worse I've lived on both coasts and everything is "economically optimized" there. In SF and NYC it's very common to see long skinny apartments that were split down the middle at some point in the last ~50 years, lacking windows. And it's also common to see very boxy and optimized new buildings, i.e. lacking architecture. They're optimized for density and not living quality.
I may be buying a house, but these requirements basically amount to extremely expensive, old houses of a limited stock. I'd be interested in any counterexamples to that!
It's somewhat ironic that he is said to have laid the foundations of the design patterns movement which, I don't know when, must have taken a series of wrong turns to end up where it did.
Thank you Mr. Alexander for writing about these fuzzy things which dare to be named.
Such is always the case, as soon as anything becomes a "school of thought". From Christianity to patterns and agile, someone will evangelise a set of concepts that s/he strongly believes in, and they will be reinterpreted or exploited by others for their own purposes. For design patterns, it was the whole "Enterprise Java" sector who went overboard and became doctrinaire.
In my opinion, Gabriel has a better and deeper understanding of Christopher Alexander's pattern language and how it can be applied to software than the whole Software Pattern movement which created a very different interpretation of patterns.
[1] http://www.bp.ntu.edu.tw/wp-content/uploads/2011/12/06-Alexa...
But I recommend owning and reading it in print. Great book to dip in and out of at whim.
Work on the most neglected area first -- e.g., work on the most neglected outdoor area of a property first.
I don't recall his specific reasoning, but in my mind the essence was: Otherwise you will be acting on displacement anxiety and When an eyesore is taken care of first, your perspective on potential other improvements will change.
RIP
> If we always build on that part of the land which is most healthy, we can be virtually certain that a great deal of the land will always be less than healthy. If we want the land to be healthy all over - all of it - then we must do the opposite. We must treat every new act of building as an opportunity to mend some rent in the existing cloth; each act of building gives us the chance to make one of the ugliest and least healthy parts of the environment more healthy - as for those parts which are already healthy and beautiful - they of course need no attention. And in fact, we must discipline ourselves most strictly to leave them alone,so that our energy actually goes to the places which need it. This is the principle of site repair.
As a heuristic (extending possibly to so-called technical debt?) I believe it generalizes.
I am lately learning the delight of another pattern: Outdoor Workshop.
This is one of those rare delights; an approach which is as powerful as it is simple.
https://en.wikipedia.org/wiki/Whole_Earth_Catalog https://archive.org/details/wholeearth
https://en.wikipedia.org/wiki/Buckminster_Fuller
https://en.wikipedia.org/wiki/Bill_Mollison https://billmollison.org/
- - - -
Christopher Alexander developed a site called "Building Living Neighborhoods" about just that: https://www.livingneighborhoods.org/ht-0/bln-exp.htm
That channel seems to have episodes 2 to 6, but not 1.
Episode 1: https://www.youtube.com/watch?v=maTkAcDbrEY
I think it was hacker culture that really bouyed his ideas and kept them in the popular consciousness, and in turn, his ideas became really foundational to hacker culture as well. His passing is if not the loss of a pillar, it is at least a buttress.
He's on my "recommended reading" list, I had _no_ idea he was so enmeshed in software: https://josh.works/recommended-reading#a-pattern-language-to...
It's not so much that Alexander has thoughts on software but that others realised they could draw clear analogues.
RIP Christopher Alexander
So Kay's take on Simula being this strange language he had to "make sense of" for his work on Smalltalk, or even the fact he claims he coined the term "object-oriented" is total BS. Here's a more nuanced and impartial account of Simula by James Gosling, if you want to know more: https://www.youtube.com/watch?v=ccRtIdlTqlU.
Here you can find 12 of his "real world" works: https://www.re-thinkingthefuture.com/design-studio-portfolio...
In the early days of Design Patterns (GoF, et al), he was often quoted.
I purchased a couple of his books: A Pattern Language[0], and The Timeless Way of Building[1]. These books were very readable.
[0] https://en.wikipedia.org/wiki/A_Pattern_Language
[1] https://en.wikipedia.org/wiki/The_Timeless_Way_of_Building
However.
In the scope of Alexander's work GoF patterns are of equal complexity, as if giving names to typical architectural items like "door" or "room".
Alexander's work is on a higher level - discussing how to perceive the complex totality the combination and co-existence of such design features create. GoF book names door a door. Alexander's book discusses how to design houses and communities. Completely different scale.
In software engineering terms I think the closest book that is the best analogue to The Timeless Way of Building in terms of discussing higher level patterns, and how to combine them, is perhaps the classical Structure and Interpretation of Computer programs that since it uses such an elegant language, it can skip the tedium and start with expressing of higher level patterns, and in the end how to combine them into a whole complex system.
> Wherever possible, work toward the evolution of independent regions in the worId; each with a population between 2 and 10 million; each with its own natural and geographic boundaries; each with its own economy; each one autonomous and self-governing; each with a seat in a world government, without the intervening power of larger states or countries.
No software pattern work has the audacity to start by suggesting that the ordering of the world's governance is relevant to the creation of good software.
> Indeed, since the book was published, a whole academic field has grown up around the idea of "design methods"-and I have been hailed as one of the leading exponents of these so-called design methods. I am very sorry that this has happened, and want to state, publicly, that I reject the whole idea of design methods as a subject of study, since I think it is absurd to separate the study of designing from the practice of design. In fact, people who study design methods without also practicing design are almost always frustrated designers who have no sap in them, who have lost, or never had, the urge to shape things. Such a person will never be able to say anything sensible about "how" to shape things either. Poincare once said: "Sociologists discuss sociological methods; physi- cists discuss physics." I love this statement. Study of method by itself is always barren.
We did a Christopher Alexander reading club some months ago and took some notes as a group using hypothes.is, it worked very nicely and anyone interested is welcome to join in:
https://anagora.org/go/notes-on-the-synthesis-of-form/hypoth...
Minsky, vernacular architecture, graphs, old houses, how to design complex systems...
Life is defined currently in a nebulous way that is primarily an internal property of an entity. When determining if an individual entity is alive we look inside it and dissect it into its components to determine whether they are organic.
I think what Alexander was trying to get at was that life is a presence of certain patterns. He identified these patterns through an architectural lens as 15 patterns. He is clear that there are less than 15, he just found it easier to teach these patterns to architectural students as 15 different patterns. These patterns are things like deep interlock between patterns (think of a complex carpet) strong borders and a diversity of scale in elements. Crucially these patterns are not an inherent property of some element, but rather a property that arises out of relationship with other elements.
I see a lot of truth in these ideas in that I think it makes far more sense to see life as an arrangement of matter into certain shapes that give rise to self-perpetuating and mutually reinforcing patterns. Christopher Alexander came at this idea from trying to articulate what exactly is so suffocating about modern architecture (and why it feels so anxiety inducing and alienating) but I think the implications are for Christopher Alexander characteristically broad.
I hope people like Nikos Salingaros continue going down this road.
One reason this might be is that software applications are more complicated things than barns. And the kind of complexity that matters here is not really in the implementation but in the interface. To design great applications I believe you have to consider that user is just one part of the "system". It is not only software running on a computer, it is also software running in user's head and fingers and the protocols users can and will use to interact with the rest of the system.
When you design a software application you must decide how much and what will the system do and how much and what will the user do. That is a complicated decision and it is not easy to come up with the optimal choice. Possibilities are almost endless.
We don't usually consider the user as part of "software" but really they are, they are just parts in a bigger system with formal ways the user-part can and will interact with the computer-part of the system. Interaction with a barn is not trivial but quite simple compared to computer-based applications, I would think. But I agree the quality without a name is important to strive towards. It is, or would be, when everything seems to perfectly work together in different contexts and for different purposes.
His influence in all sorts of industries was profound.
His core ideas have been riffed on so much since then that it won’t read as an original idea anymore, but it’s still a great read if you’re interested in thinking about how communities and building and people work.
None of his works have a Creative Commons license. All his works are "all rights reserved" as in:
"let there be light, but you mustn't quote me"
Fingers crossed: his daughters let Alexander's good thoughts flow free...
On the other hand, all dense old-world cities (London, Paris, Rome, even Tokyo, say) are... "dendritic". There's nothing wrong with that, and it has everything to do with the history of the ownership of all the bits of property on the city.
Sprawl is a problem, but sprawl is a new world problem that has to do with its very short history.
We've got about 500 years of old world folk moving to the new world, but the old world has thousands of years of history. Besides new world cities starting from much lower population density overall than the old world already had four to five centuries ago, there's also the fact that the last 100+ years of that history has had personal motor vehicles in it -- that's 1/4th to 1/5th of all the Americas' post-Columbus era, while it's more like less than 1/20th of the old world's history.
You can critique things like this all you like, but trying to do away with the "dendritism" that arises naturally is... unnatural, and requires a great deal of market distortion or use of force. Is that really something we want?
EDIT: Yeah, I probably read too much into that sentence!
They are caused and enabled by land-use zoning that uses state force to limit the use of private property, along with massive market distortions like government-funded freeways and the building of low-density infrastructure without a sustainable mechanism to pay for maintenance and operation of that infrastructure.
But I'm also not a free-market absolutist and I'm not sure I believe there has ever been an unencumbered free market. Markets are just a mechanism to organize and manage a complex system. There are always forces in place which nudge the overall behavior in one way or another while still leaving the market interactions to hash out the details. That's fine - we just need to nudge things is the "right" direction.
Not in the sense of the Alexander essay. It explicitly contrasts the interwoven connections of traditional cities with the artificial tree-like structure of modern planned cities.
"Tree", in the sense that Alexander uses it in that essay, is a math tree (e.g., a binary tree in CS), not an organic tree.
I highly recommend reading the essay for those who haven't seen it.
Massive federal investments (subsidies) in:
* interstates and highways that made sprawl development possible.
* oil infrastructure and automobiles.
* suburban housing development designed to specifically exclude people of color, driving disinvestment from and leading to the collapse of cities.
None of these are natural new-world problems nor are they market driven, these are policy choices made. Pre vs Post WWII cities are structured and shaped completely differently as a result of these policies.
Humans have lived in "the new world" for at least 24,000 years. At the period when the first Spanish arrived in "the new world", it seems likely that there were cities here at least as large as anything in "the old world". By some calculations, "the new world" may have been home for between 10% and 33% of total human population worldwide.
What changed the development path in "the new world" was the arrival of "old worse" disease, which wiped out at least 80% of the human population here (perhaps 10% of humanity), and then a frankly genocidal process by European settlers built around ideas such as manifest destiny that intentionally completely ignored the millenia-old histories of human civilization here.
It is convenient to reset the clock in 1492 (or even 1776), but it is not honest.