Software architecture is in crisis, and the way to fix it is a hefty dose of anarchy.
(Admittedly, @nicolefv, @jezhumble and @realgenekim didn’t help when they statistically proved that he might have been onto something with all that de-coupling and team-alignment…)
I think he saved us; bringing us back to the path of value-delivery and independent services, but now with added independent teams.
(See https://t.co/B2hWmXhIqe if you need convincing)
And consequently many, many #microservices adoptions failed; with #microservices themselves getting an undeserved bad name in the process.
What we need is a workable way to approach them, and in the process realise the associated benefits of both team autonomy and improvements in system architecture.
I’ll describe what it is and you could do it. Hopefully you’ll see how it offers the best (only?) way out of this mess.
Straight away that means how we are used to doing architecture, via all-powerful architects taking all the decisions, is going to have to stop.
\u201cYou may think in describing anarchism as a theory of organisation I am propounding a deliberate paradox: \u2018anarchy\u2019 you may consider to be, by definition, the _opposite_ of organisation. In fact, however, \u2018anarchy\u2019 means the absence of government, the absence of _authority_. ..."— Andrew Harmel-Law \U0001f3e1 (@al94781) November 29, 2020
(As @Grady_Booch has said “architecture represents the set of significant design decisions that shape the form and the function of a system, where significant is measured by cost of change.”)
So the first test is can an #AnarchisticArchitecture deliver on this?
The answer is "Yes".
More from Software
foolish people like to quote that "science says there are only two genders". This is incorrect.
Science instead says that in addition to the regular genders, there are 25 Science Genders, shown here. (tag yourself I'm Skull)
I have no idea how to continue with this game.
I clicked a bunch of things and the game just pauses for a second, except when I clicked electron it animated and then was replaced by... something
Quarky & Quaysoo's Turbo Science!
Turbo Science is like regular Science, but FASTER
oh I see
is this Gizmos and Gadgets but by Sierra?
Here's the step by step guide:
System design interviews are generally open ended discussions. There's no one right answer.
The main focus in this round is to see your thought process and whether you'll be able to design a minimal system keeping future scale in mind and by following the standard principles.
Know that many interviewers deliberately make it hard to see how you approach a given problem.
You cannot possibly design a complex system in 1-2 hours which engineers usually take months to years to design, develop and build.
So this is how you should approach this round:
1. Clarify the requirements: As mentioned earlier the questions are generally very open ended. So you need to ask a lot of question to set the scope clear for the discussion.
Example: "Design an application like Twitter"
Twitter has a lot of features like:
- Post tweet
- Home timeline
- Profile timeline
- Trending etc
You get the idea!
Progress in CS comes from discovering ever more abstract and expressive languages to tell the computer to do something. But replacing "tell the computer to do something in language" with "do it yourself using these gestures" halts that progress. \2
Stagnation started in the 1970s after the first GUIs were invented. Every genre of software that gives users a "friendly" GUI interface, effectively freezes progress at that level of abstraction / expressivity. Because we can never abandon old direct manipulation metaphors \3
The 1990s were simply the point when most people in the world finally got access to a personal computer with a GUI. So that's where we see most of the ideas frozen. \4
It's no surprise that the improvements @jonathoda cites, that are still taking place are improvements in textual representation : \5
Alright, here goes the 🧵...
Q: does it replace the existing Aurora Serverless offering?
A: no, it lives side-by-side with the existing Aurora Serverless, which will still be available to you as "v1".
Q: Aurora Serverless v1 takes a few seconds to scale up, that's too much for our use case where we get a lot of spikes. Is that the same with v2?
A: no, v2 scales up in milliseconds, during preview the max ACU is only 32 though
Q: is the cold start for Aurora Serverless v2 still a few seconds?
A: yes, unfortunately...
Q: so if you want to avoid cold starts, what's the minimum ACU you have to run?
A: minimum ACU with v2 is 0.5
Q: does v2 still scale up in double increments, e.g. 4 ACU -> 8 ACU?
A: no, it scales up in increments of 0.5 ACUs, so it's a much tighter fit for your workload, so you'll waste less money on over-provisioned ACUs
A bit latet, I was in Lab 127’s terminal room, talking to dmr or bwk, and overheard amusing conversation between ken and Robert Morris Sr, who sometimes consulted for NSA.
(RM Jr of worm fame was just a kid then.)
They were chortling away over cleverness of exploit. Then one (must have been ken) said “think we could put this over on NSA?” (which already had UNIX systems... we did favors now and then).
More chortling, then (must have been Bob): uhh, NSA really doesn’t have sense of humor.
PWB crew ran 1st real UNIX computer center & we were hyper-sensitive, partly because someone had called at night, told operator he was Ken Thompson & needed root password ... and got it. Turned out to be high schooler ... proving that social engineering tactics have been eternal.
Years later, as many BTL Directors were buying PDP11-70s for labs as general service systems, some PWB crew were asked to do security audits, given experience running biggest UNIX site. One lab was very proud of enhanced password software.
We did audit, agreed with that, BUT:
You May Also Like
2/ Each of the 14 chapters in the book is divided into three sections: Summary, Facts, and Annotated History. Summary and Facts sections are present tense; Annotated Histories are past tense. Endnote numerals follow sentences, with the endnotes themselves at the back of the book.
3/ There are zero tweets from this feed in the book. The book is written in the style of a government report, chronologically ordered. The timeframe covered by the book begins in 1987 (Chapter 1) and quickly moves to a month-by-month analysis of Trump's campaign from June '15 on.
4/ The book's 1,650 endnotes comprise about 2,000 total citations. The number of media outlets cited in the book is in the hundreds, and includes reliable media institutions from around the world. The number of people discussed is so large that we'll have to put the Index online.
5/ This book is the public record of the public investigation into Trump-Russia collusion. That means it's composed of the best investigative reporting done on this topic—including any leaks directly from Congressional and DOJ/FBI sources that were later published in major media.
There’s nothing in the Agile Manifesto or Principles that states you should never have any idea what you’re trying to build.
You’re allowed to think about a desired outcome from the beginning.
It’s not Big Design Up Front if you do in-depth research to understand the user’s problem.
It’s not BDUF if you spend detailed time learning who needs this thing and why they need it.
It’s not BDUF if you help every team member know what success looks like.
Agile is about reducing risk.
It’s not Agile if you increase risk by starting your sprints with complete ignorance.
It’s not Agile if you don’t research.
Don’t make the mistake of shutting down critical understanding by labeling it Bg Design Up Front.
It would be a mistake to assume this research should only be done by designers and researchers.
Product management and developers also need to be out with the team, conducting the research.
Shared Understanding is the key objective
I\u2019d recommend that the devs participate directly in the research.— Jared Spool (@jmspool) November 18, 2018
If the devs go into the first sprint with a thorough understanding of the user\u2019s problems, they are far more likely to solve it well.
Big Design Up Front is a thing to avoid.
Defining all the functionality before coding is BDUF.
Drawing every screen and every pixel is BDUF.
Promising functionality (or delivery dates) to customers before development starts is BDUF.
These things shouldn’t happen in Agile.
Here's how I'd measure the health of any tech company:— Jeff Atwood (@codinghorror) October 25, 2018
How long, as measured from the inception of idea to the modified software arriving in the user's hands, does it take to roll out a *1 word copy change* in your primary product?
How long does it take, measured from initial expression of interest through offer of employment signed, for a typical candidate cold inbounding to the company?
What is the *theoretical minimum* for *any* candidate?
How long does it take, as a developer newly hired at the company:
* To get a fully credentialed machine issued to you
* To get a fully functional development environment on that machine which could push code to production immediately
* To solo ship one material quanta of work
How long does it take, from first idea floated to "It's on the Internet", to create a piece of marketing collateral.
(For bonus points: break down by ambitiousness / form factor.)
How many people have to say yes to do something which is clearly worth doing which costs $5,000 / $15,000 / $250,000 and has never been done before.
Arts are best form to Express thoughts & devotion. In All civilization Arts played very important role to express sprituality. Tibbeten Tangkhas are prime example .
List of My Paintings & Sketches
प्रलय पयोधि-जले धृतवान् असि वेदम्
विहित वहित्र-चरित्रम् अखेदम्
केशव धृत-मीन-शरीर, जय जगदीश हरे!!
छलयसि विक्रमणे बलिम् अद्भुत-वामन
केशव धृत-वामन रूप जय जगदीश हरे
नंदसि यज्ञ- विधेर् अहः श्रुति जातम्
केशव धृत-बुद्ध-शरीर जय जगदीश हरे
क्षत्रिय-रुधिर-मये जगद् -अपगत-पापम्
स्नपयसि पयसि शमित-भव-तापम्
केशव धृत-भृगुपति रूप जय जगदीश हरे