[HN Gopher] Systems design explains the world (2021)
___________________________________________________________________
Systems design explains the world (2021)
Author : craigkerstiens
Score : 103 points
Date : 2023-03-09 05:37 UTC (17 hours ago)
(HTM) web link (apenwarr.ca)
(TXT) w3m dump (apenwarr.ca)
| mjb wrote:
| I find it frustrating that this article doesn't explore the
| tension between the "never rewrite" and ARM anecdotes. Iterating
| is good, but iterating to a whole new place is often impossible,
| and the biggest disruptions come from being in a different place.
| It's a core tension in systems design, and one that this
| (otherwise good) article doesn't acknowledge.
|
| Do read "The Tyranny of Structurelessness", though. Great read. I
| enjoyed the analogies to distributed systems here, too.
| short_throw wrote:
| Well I think if Intel had decided to start from scratch to make
| "x86 only more power efficient, it'll only take one product
| cycle" they would have failed miserably, but if they said
| "let's make a phone cpu, that's our new top priority" that
| program could have grown into making great laptop cpus a decade
| later.
|
| Making a new product that fills a new niche in a short timespan
| is viable. Making a product to directly replace what the old
| system does after decades of iteration is usually a delusion.
| nerpderp82 wrote:
| > Intel could never create a product like ARM
|
| Intel's StrongARM (originally DEC) chip had the highest
| perf/watt of any cpu in the industry. They later sold StrongARM
| to Marvell for 600M. Not only couldn't they create it, they
| couldn't continue to sell it even though it was widely
| successful.
|
| The "tyranny essay" is wonderful on many levels. It is mostly
| about human social-political structures, if one wanted to be
| true to "structurelessness" you would have to have a
| constructed double-blind system to enforce it. Otherwise you
| get fascist overlay that breaks along existing personal power
| dynamics. The in-group, central cadre and then everyone else on
| the periphery.
|
| Structureless _movements_ can be extremely effect at scaling an
| organization, but at some point you need to collapse that chaos
| into something cohesive.
|
| https://www.jofreeman.com/joreen/tyranny.htm
|
| https://en.wikipedia.org/wiki/The_Tyranny_of_Structurelessne...
|
| > This lack of structure, Freeman writes, disguised an
| informal, unacknowledged, and unaccountable leadership, and in
| this way ensured its malefaction by denying its existence.[3]
| As a solution, Freeman suggests formalizing the existing
| hierarchies in the group and subjecting them to democratic
| control.
|
| Due to the writing style, I found it really effective for my
| understanding was to have chatgpt summarize and explain
| passages, and then have it explain it again.
| vajrabum wrote:
| This is fun from the article: "Normally we think of the CAP
| theorem as applying to databases, but it applies to all
| distributed systems. Centralized databases do well at consistency
| and availability, but suck at partition tolerance; so do
| authoritarian government structures."
| karmakaze wrote:
| > Back in university, students used to tease the Systems Design
| Engineers, calling it "boxes and arrows" engineering. Not real
| engineering, you see, since it didn't touch anything tangible,
| like buildings, motors, hydrochloric acid, or, uh, electrons.
|
| Hey, I resemble that remark! Quite true though. The common paths
| I saw was adding a specialization or continuing on getting an MBA
| for others.
| anonporridge wrote:
| Even the nerds have an internal hierarchy where they tease the
| deeper nerds.
| p0pcult wrote:
| ...and the shallower nerds.
| woopwoop wrote:
| In this context does the word "system" have a different meaning
| than "thing"?
| kilgnad wrote:
| Seems like systems design is just studying a potpourri of
| engineering disciplines and the job entails stringing it all
| together the best that you can. Is there a formal theory about
| systems? I don't think so, and if there is, there's definitely no
| way to quantify if one system is "better" than another.
|
| Since no formal theory about the field exists.. every conjecture
| is just opinion. So someone working in systems design won't
| necessarily come up with a better "design" then some other person
| who doesn't specifically work in the field given that there's a
| lack of a formal theory to prove it either way. In software these
| guys who do "designs" are the system architects and I think the
| ridicule is justified given that anyone can do it.
|
| Category theory is the closest thing I've seen to a fundamental
| theory of design and I'm positive it's not well known among
| "systems design" engineers. Honestly it's not even that useful
| either because the theory doesn't include any measurement to
| determine if one structure is "better" than another.
| sho_hn wrote:
| > I think the ridicule is justified given that anyone can do
| it.
|
| Ouch, that hurts. I had to do 15 years of C++ programming and
| put working code on 10bn devices to have a shot at a "System
| Architect" position ...
|
| That said, I don't know much of the theory - I do know software
| and hardware from experience making and shipping it.
| kilgnad wrote:
| Maybe I shouldn't say "Anyone can do it."
|
| I mean more like you don't need any "design" training or
| specific "systems" training because no actual theory about
| this stuff actually exists. It's bullshit.
|
| You did 15 years of C++ so you have domain knowledge of C++
| and whatever area you work in. You don't need any extra
| "design" training to get good at it. So a better way to say
| it is this: Anyone who is knowledgeable about whatever
| they're working on can do "design" you don't need to hire
| someone who's an expert in "design."
|
| Your title "Systems Architect" is more of a symbol of your
| rank and years of experience then it is your ability to
| design.
| righttoolforjob wrote:
| Even though there isn't a formal theory, there definitely
| is a big difference between a person capable of doing good
| system design and one who isn't. I don't think all people
| are capable of becoming a systems designer or architect. It
| is not always required for projects, but when it is
| necessary it can make a great difference, putting a project
| on the right track from the beginning and keeping it on
| track, making sure it all becomes something good in the
| end.
|
| I've done it enough to know that I couldn't do it while
| keeping my IC-type role as well. For me, personally, I
| approach systems design in a sort of breadth first search
| for a solution to the entire problem space, whilst deep-
| diving into particular areas where I am less certain. For
| other parts my experience lets me brush over details quite
| quickly.
|
| However, that is quite different from an IC-type role,
| where you'll typically run into a multitude of practical
| engineering issues that can be frustrating and take a lot
| of time. Tool issues, cloud issues, bug hunting, smoking
| out every little detail, write unit tests, review others
| code, etc. That would completely throw your mental cycles
| in the wrong bucket.
|
| I don't think you should do system design without having
| plenty of experience from IC-type roles though. You have to
| have understood so many different aspects; capabilities of
| the people at hand, the organization at large, tools,
| frameworks, technologies, etc, and be very, very willing to
| communicate the picture over and over again and take in
| feedback as the project progresses. It's technical
| leadership at one of the hardest levels.
|
| But realise at the same time that even software development
| itself doesn't have anything resembling a universal theory,
| common processes or frameworks. It's all changing, being
| reinvented, and rediscovered on a continuous basis. It is
| equally true that many things even in medicine or
| construction aren't based on any solid science.
| [deleted]
| di4na wrote:
| you can search "cybernetics" to see _one_ of the formal theory.
| There is... quite some background in there.
| kilgnad wrote:
| This doesn't look formal at all.
|
| Usually formal theories need a logical mathematical language
| to fully characterize it. I scanned the wikipedia of
| cybernetics and it's just not it.
|
| Control theory or signals is the closest formal theory to
| cybernetics. The problem with this theory is that it only
| characterizes very specific systems that have ordinal values
| as inputs and outputs. What if the input is text? What if
| it's tuples of tree like tokens?
|
| The closest theory that encompasses the intuition of what we
| think of when we use the word "systems" is category theory in
| my experience. And this theory is in fact sort of too general
| to be very useful.
| di4na wrote:
| you consider scrolling through wikipedia a review of the
| formality of the field? I think you may need to consider
| how formal you are :)
|
| And no, category theory is not even approaching explaining
| this. At all.
| yamrzou wrote:
| Previously on HN:
|
| _Systems design explains the world_ -
| https://news.ycombinator.com/item?id=25552267 - Dec 2020 (155
| comments)
| dgs_sgd wrote:
| Funny anecdote from my time at the University of Waterloo:
|
| The systems design engineering major was abbreviated to SYDE. It
| was a popular joke to ask friends in that major "so what is
| systems design engineering?"
|
| They had a self deprecating chant in response: "S Y D E what is
| systems? Don't ask me!"
| zmgsabst wrote:
| "Systems thinking" is why Seattle turned into a mess:
|
| People patted themselves on the back for their "deep
| understanding", failed to include all the voices, didn't actually
| understand the complex dynamics, and drove straight into a wall.
|
| Empirically, they're not good at what they do -- if a government
| paying for their advice ends up with a disaster.
|
| We don't call civil engineers who collapse skyscrapers
| successful.
| shaunkoh wrote:
| Not familiar with what happened in Seattle. Are you referring
| to this?
|
| https://www.washington.edu/news/2021/07/09/dawn-lehman-on-th...
| edgyquant wrote:
| Just because the world is a system doesn't mean a bunch of
| people high on morality actually understand that system.
| zmgsabst wrote:
| Yes -- that's my point.
|
| The people who call themselves "systems thinkers" can't
| produce results, when governments hire them for projects.
| nerpderp82 wrote:
| Great article.
|
| I find systems design and complex adaptive systems fascinating. I
| really recommend the book, "Hidden Order: How Adaptation Builds
| Complexity" by John H Holland. It is technical but aimed at the
| educated, non-technical reader, with enough description that you
| could code along to his models. I really wish he had written more
| books. RIP.
|
| Another good source of systems thinking are the books by Jane
| Jacobs on urban planning.
|
| I think anyone wanting to study this area rigorously would need
| to spend time doing detailed discrete event simulations,
| understand probability theory, time series analysis, phase space
| analysis, experimental design, graph theory and queueing theory.
|
| Like databases or operating systems, complex systems embody many
| fields of study simultaneously. One of the funnest parts is that
| they can be modeled at so many different levels.
|
| Complex Adaptive Systems
| https://en.wikipedia.org/wiki/John_Henry_Holland
|
| Urban Design https://en.wikipedia.org/wiki/Jane_Jacobs
|
| Ants https://theconversation.com/e-o-wilsons-lifelong-passion-
| for...
| kerblang wrote:
| On this second-systems effect: Okay, what if the initial system
| has reached a point of being unmaintainable and a new system is
| needed, and there just is no way to get it to where it needs to
| go incrementally, because the pathways just aren't there; it's a
| from-scratch do-over. Now what? Abandon hope? I don't get that.
|
| I work at an organization where the second-system is being
| attempted and jealousy, sabotage, resistance to change and more
| come into play (why do they get to build it? we should build it!
| let's tell everybody how much it's going to suck because those
| guys are stupid! etc) but the danged thing is badly needed.
| bcrosby95 wrote:
| The second system effect is basically death by 1,000 cuts. You
| avoid it by designing a new system that you need rather than
| designing a new system you think you might need in the future.
|
| It becomes a problem because you think "we're doing this whole
| new system, lets add two dozen bells and whistles we don't have
| or need yet, surely it won't affect time to delivery!" Bzzzt,
| wrong.
| bklaasen wrote:
| That's part of the system. Management is failing if it's not
| acknowledging and tackling this part of the system that's
| prepared to destroy the whole to preserve itself.
| _glass wrote:
| In the social sciences you have Talcott Parsons, and Niklas
| Luhmann, that see society as a social system. To some extend the
| author does explain social systems, with taking the system theory
| from technical systems, which is kind of the origin of those
| theories. It is a very useful theory, but lacking in a lot of
| ways. For example social systems theory doesn't account for the
| dynamism of society. It more or less shows a static picture of
| what we know. But societal structures have a history and a
| movement in the future. Also human agency is absent, that we are
| not determined by some laws like machines, but have agency.
| Lastly what can be critisized is the inherent functionalism. In a
| system everything is assigned a function, and mostly exists
| because of its function. This doesn't need to be true in reality.
___________________________________________________________________
(page generated 2023-03-09 23:00 UTC)