
Clean Code: A Handbook of Agile Software Craftsmanship
Robert C. Martin
4.7 on Amazon
43 HN comments

Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
Martin Kleppmann
4.8 on Amazon
34 HN comments

The Martian
Andy Weir, Wil Wheaton, et al.
4.7 on Amazon
27 HN comments

The Pragmatic Programmer: 20th Anniversary Edition, 2nd Edition: Your Journey to Mastery
David Thomas, Andrew Hunt, et al.
4.8 on Amazon
27 HN comments

Snow Crash
Neal Stephenson, Jonathan Davis, et al.
4.3 on Amazon
24 HN comments

The Mom Test: How to Talk to Customers & Learn If Your Business Is a Good Idea When Everyone Is Lying to You
Rob Fitzpatrick and Robfitz Ltd
4.7 on Amazon
22 HN comments

Dune
Frank Herbert, Scott Brick, et al.
4.7 on Amazon
20 HN comments

Seveneves: A Novel
Neal Stephenson, Mary Robinette Kowal, et al.
4.1 on Amazon
20 HN comments

Why We Sleep: Unlocking the Power of Sleep and Dreams
Matthew Walker, Steve West, et al.
4.7 on Amazon
19 HN comments

Project Hail Mary
Andy Weir, Ray Porter, et al.
4.7 on Amazon
18 HN comments

Never Split the Difference: Negotiating as if Your Life Depended on It
Chris Voss, Michael Kramer, et al.
4.8 on Amazon
18 HN comments

Brave New World
Aldous Huxley
4.6 on Amazon
16 HN comments

Thinking, Fast and Slow
Daniel Kahneman, Patrick Egan, et al.
4.6 on Amazon
16 HN comments

The Design of Everyday Things: Revised and Expanded Edition
Don Norman
4.6 on Amazon
15 HN comments

A Pattern Language: Towns, Buildings, Construction (Center for Environmental Structure Series)
Christopher Alexander , Sara Ishikawa , et al.
4.7 on Amazon
15 HN comments
mandelbrotwurstonJune 10, 2021
pmdulaneyonApr 10, 2021
elihuonAug 11, 2021
elihuonJune 8, 2021
In googling for "A room of one's own", though, I discovered that it's also the title of an essay by Virginia Wolfe written in 1929. It's possible that might possibly have inspired the name of the pattern in Christopher Alexander's book.
brudgersonApr 28, 2021
The difference is that Alexander’s method was rooted in self-sufficiency. Do-it-yourself without an architect or contractor.
vanderZwanonJuly 25, 2021
I'm sure the area being pre-gentrified has nothing to do with the opinions of the locals whatsoever. Cynicism aside, I do empathize with Prince Charles view on brutalist architecture here.
(But what do I know? The only books on architecture I ever read were Christopher Alexander's The Timeless Way Of Building and A Pattern Language, and only because I heard they somehow were influential on software development)
elihuonApr 28, 2021
My point is that you don't have to have this knowledge, and you don't have to hire expert craftspeople and pay them expert wages if you can have a machine do the difficult work.
> And most importantly you would know that right angles are almost always the right answer...
Not necessarily. Box-shaped rooms work nicely, but the most important thing is to not have acute angles between walls. (IIRC Christopher Alexander goes into this in A Pattern Language in defense of right-angle walls, but for some reason neglects to consider rooms with more than 4 sides as an option.) Greater than 90 degrees is fine as long as it doesn't present a problem for the intended use (i.e. client expects furniture to fit at right angles). Also, if you're printing a whole house you can design benches, shelves, desks, and so forth into the design. Or maybe contract out to some service that will make the furniture based on a 3D model.
A big part of why walls are straight and meet at right angles is that building materials are generally straight and expect to be joined at right angles. Anything else turns into a complicated geometry problem that takes a lot longer to build. With a 3D printer, though, that's not a limitation. It doesn't matter how simple or complicated a design is, it takes about the same amount of time to print and uses about the same amount of material. The main constraints then just become what's strongest, nicest-looking, and most functional. Most people will probably prefer box-shaped rooms, but the point is that they'll have options if a box-shaped room isn't optimal.
One could imagine if house-design software becomes sufficiently advanced, you could dispense with the architect as well. Someone who wants a house could just log onto a website, identify the site where the house is to be built, and specify a bunch of constraints and preferences, and then the backend software generates a bunch of house plans. The customer choses the one they like and pay the money, then a building permit is applied for and a printing machine and work crew show up on site and assemble a house that's unique and exactly suited to its site.
raihansaputraonJune 10, 2021
chubotonJune 8, 2021
He says that suburbs are configured "wrong", in a way that's antithetical to life.
Because the children go to school somewhere nearby, where they are babysat, and the fathers (at that time) commute to work in the city.
And the children have no idea what their parents do, and that is alienating. The configuration of space diminishes people and relationships. They don't see their parents enough and they don't learn from them.
Children want to learn from "real" work, not the fake work of school, which is why so many of them can't sit still in class, and get poor grades despite being smart, etc.
That work/suburb split definitely describes how I grew up, so I remember that point very distinctly. You are supposed to jump through hoops for 12 years, and then apply to a place where you jump through 4 more years of hoops, etc. But you are confused about how the world actually works. It's not a good way of teaching people to be adaptable to the world.
chrisdinnonJune 10, 2021
throw0101aonJune 10, 2021
* https://www.goodreads.com/book/show/885970.Patterns_of_Home
* http://www.architectureweek.com/topics/patterns.html
theptiponMay 4, 2021
Similarly, I can see that considering the known issues with top-down vs. bottom-up city planning/evolution could be beneficial for software-centric organizations too; the issues with badly-fit top-down city plans seem to match very well with the pains of an ill-fit software architecture that's mandated from an ivory tower, complete with users using the planned cities "wrong".
I'm sure there are differences though. You have a lot more observability into your software systems, and at the end of the day, they are orders of magnitude less complicated than cities, so you can comprehend more of the system at once, and truly find common usecases to standardize around. This is in contrast to cities where it's impossible to really know every citizen's unique needs, temperament, and usage patterns.
Worth thinking about more; given the relatively low cross-pollination rates between the fields, I suspect there are more lessons that software engineers could glean from architecture and city planning.
chrisdinnonJune 11, 2021
Following the patterns without understanding the philosophy makes no sense to me because it’s a very opinionated and, in the modern world, quite radical. What if you don’t agree with it? I think many don’t. At least, you want to be able to read them critically.
brudgersonJune 10, 2021
Anyway, in the actual practice of architecture, A Pattern Language is by far the best of the set. There are other books that make approximately the same case as Timeless Way of Building. [1] Most of it's fame is from standing in relation to A Pattern Language.
[1] e.g. How Buildings Learn, The Timeless Way of Seeing, Structure of the Ordinary, etc.
cardamomoonAug 1, 2021
With the Monks Wood rewilding in mind, I wonder how we could transition urban areas toward a city country finger pattern. Though perhaps there should be three kinds of fingers: city, agriculture, and wilderness. Alexander's "country" is just farmland, though he envisions its recreational use too.