241 Matching Annotations
  1. Last 7 days
    1. I like the way this article talks about the project while also interweaving more general insights that apply to the overall topic of what goes into making a market that people will want to use. You get insight about the topic while also having a tangible example to show how it can be done anchor the ideas to a realistic proposal.

  2. Aug 2022
    1. Monasteries and convents served as models for the dorm and for the campus itself. Walled off from a threatening medieval world, they provided security for contemplation and worship while also serving as a place where learning, the arts, music, horticulture, and other cultural activities might flourish.

      College dormitories rooted in monastery and convent styles

  3. Jul 2022
    1. This is an interesting article. It gives a historical perspective on a societal pattern in which technological changes lead to changes in architecture, which in turn changes how families and communities and societies changes.

      The one thing they seem to have overlooked is the existence of a room called a "study". It was a thing, and now, perhaps, the "home office" will become the modern study.

    1. They help us do everything from controlling traffic lights to managing power grids. This is why embedded systems architecture is so important – without it, we wouldn’t have any technology at all.

      Have you ever heard about embedded software designing?

      This involves designing multiple layers according to the device - Application layer, Middle layer, and Software layer

      Here's the practical and technical guide to understand the components that make up an embedded systems architecture.

    1. the six 00:48:41 six big systems i've mentioned can be viewed as a cognitive architecture it's the it's the means by which the society learns decides adapts and 00:48:54 and this society's efforts this is the third underlying position the society's efforts to learn decide and adapt and be viewed as being driven by an intrinsic purpose and that's really key also 00:49:08 because it's not just that we're learning deciding and adapting willy-nilly i mean i mean maybe it seems that way in the world you know in the sense we're so dysfunctional it kind of is billy nilly but 00:49:20 but what really matters is that we learn decide and adapt in relation to whatever intrinsic purpose we actually have as as a society as individuals in a 00:49:34 society it's that it's it's it's it's as i will use the the term uh maybe several times today it's solving problems that matter that really that really 00:49:45 matter that's what we're after

      Second Proposition: The six thrusts or prmary societal systems are the cognitive architecture of the superorganism which it uses to sense the world

    2. if if one looks around and on the web and elsewhere there are numerous uh kind of experiments going on in in a 00:40:13 variety of things in the and new forms of representative democracy new forms of decision making new forms of economies in the sense of 00:40:26 you know local digital currencies and things like that i think all of those you know all of those are are excellent um you know a resource to draw from 00:40:43 uh of the the task is then is to take these ideas these ideas that are springing up all over and put integrate them in a way that is functional you know 00:40:57 can serve a community initially maybe the community is small just a few thousand but the idea is that it would that it would grow over time exponentially grow to who knows you know hundreds of thousands millions i don't know 00:41:09 so how can you take all those ideas and actually make them work sometimes i i liken it to you know that you might tinker in the garage with a with an airplane you know you might 00:41:21 build a two-seater in the garage and that's totally cool you know you can you know that maybe what the wright brothers did or something that's fantastic but i'm really interested in building a jumbo jet that takes you know 500 00:41:33 passengers at a time in an hour and a half to from new york to london or whatever and doesn't fall in the ocean you know like so how do you do that how do you how do you build a integrated system that is safe that is 00:41:47 resilient that is that it that has metrics that you can monitor progress that has good anticipation so you know where the you know that where you're going tomorrow you know where this 00:42:00 where is this going you know what's going to happen tomorrow and sort of what's going to happen to me you know that's that's part of the question so uh so the so i think the challenge is to take all these ideas that are 00:42:11 that are popping up all over which some really great ideas and then to integrate them into uh into a coherent hole that that spans every one of the i think maybe is it six 00:42:23 systems that i talk about so that so that they're not designed in silos we're not just building the new economic system we're not just building a new educational system we're building this we're building a 00:42:36 a cognitive architecture that includes all of those

      John describes the synthesis he imagines, which includes a system to curate all the existing ideas emerging everywhere into a coherent whole, to scale the ones that promise to the areas that can really benefit from them.

    3. so number one uh societal transformation is necessary if we're to avoid catastroph catastrophe and maintain and improve social and ecological well-being 00:18:00 that's the starting that's this that's where this whole thing starts that's something that's transformation is necessary number two uh one kind of societal transformation is is a science driven transformation 00:18:13 you know you can imagine all kinds of there could be war uh revolution could be a a type of of transformation and i'm not talking about revolution here i'm talking about a science-driven 00:18:24 evidence-based uh development of and migration to fundamentally new systems so we're talking about dinovo de novo design from scratch right this is so we're not 00:18:38 improving uh capitalism for example or represented democracy where we're looking at conceivable de novo designs that might be fit or among the most 00:18:52 fit of all possible designs number three is uh now um you know if i were a genius which which i'm not but if i were a genius and i came up with the 00:19:05 greatest plan that everyone could you know we could rearrange society according to this you know this design uh if there were no way to a practical way to implement that then i would have been wasting my time 00:19:19 so a big part of this series is actually especially paper number two is really focused on what what is a how could this actually be done in the real world how can how can you do this 00:19:32 um so i i claim at least that there is a viable and affordable uh way to go about transformation that within a reasonable span of time 00:19:44 uh and i and i when i consider 50 a 50-year program here to be a reasonable span of time transformation could spread to near global levels so um you know we're talking about a 00:19:57 concerted effort over a long period of time to reach a global scale change but that does not mean that no change happens until the 49th year it means that change happens 00:20:11 exponentially fast so maybe in the first few years there's you know there's not a lot going on but it goes exponentially fast from there and those communities local communities that participate in this 00:20:24 r d program would be obviously be the first to reap the benefits uh number four the and this is maybe one of the key world view aspects of this paper number one is all 00:20:37 about world view the proposed program views society as a cognitive organism and its societal systems as a cognitive architecture so you know that 00:20:50 if indeed society is a cognitive organism and ours and our systems are part of the cognitive architecture that already lends itself to ideas of how you might measure fitness now you're starting 00:21:02 we're starting to get an idea of what is a system supposed to do so we'll be getting more into that today number five the intrinsic purpose of a society now obviously if we're going to 00:21:17 build a new system we have to know for what is a new system supposed to do like what is an economic system supposed to do what is a governance system supposed to do what is the what is the purpose of them so uh uh 00:21:30 purpose is also a big part of the world view in the first paper and the i one of the points of the fifth point is that the intrinsic purpose of a society of societal uh cognition and thus also of societal 00:21:42 systems is to achieve and sustainably maintain social and economic ecological viability and vitality probably broadly defined now if you're listening carefully and 00:21:55 you're of the active inference persuasion you'll you'll already see active inference in here when i talk when we talk about um sustainably maintain that means and 00:22:07 anticipation of the future all right uh i also say here the cognition is largely focused on reducing the uncertainty that our intrinsic purpose will be successfully fulfilled 00:22:22 now and in the expected future so uh again we have a concept from active inference that is uncertainty um the cognitive view opens up many new opportunities for research 00:22:35 and and i feel like this view is really critical if we are to truly uh have some kind of of 00:22:46 optimally beneficial societal systems and uh number seven the last one this proposed r d program like i already mentioned it represents uh it's conceptual now but it represents a partnership 00:23:03 between local communities and the global science community um and the you know neither of those are monolithic the global science 00:23:15 community is you know it was a whatever however you might want to envision it a hundred labs or a thousand labs around the world or individual researchers or groups of researcher teams interdisciplinary teams at one 00:23:28 institution teams across institutions that is what i'm that is really who i'm speaking i'm in the in this series i'm speaking to the science world and i'm 00:23:38 suggesting or offering or or you know hoping that the science community might find this perspective interesting and see the the benefits that would be the 00:23:53 scientific benefits that would come of this the the research gains that would come of this the possibilities that would come of this and and and get engaged right so it's kind of a 00:24:06 like i'm asking the science community to get engaged in this problem in it and in a particular kind of way and in what some people have called a second to you know whatever the phrase escapes me 00:24:19 in the moment so i forget what the uh what is the title their second second i'm gonna just call it second order science but i think there's a slightly different phrase very interesting i remember reading this 00:24:36 second order yeah yeah second order science

      The seven main thrusts: 1. societal transformation - necessary to avoid catastrophe 2. the specific type of transformation is science-based transformation based on entirely new systems - de novo 3. A practical way to implement the transformation in the real world - it must be economical, and doable within the short time window for system change before us. Considering a time period of 50 years for total change, with some types of change at a much higher priority than others.Those communities that are the first to participate would make the most rapid improvements. 4. Promoting a worldview of society as a social superorganism, a cognitive organism, and its societal systems as a cognitive architecture. 5. Knowing the intrinsic purpose of a society - each subsystem must be explained in terms of the overall intrinsic purpose. 6. The reason for transformation - Transformation that improves cognition reduces the uncertainty that our society's intrinsic purpose is fulfilled. 7. Forming a partnership between the global science community and the communities of the world.

    4. so obviously the word transformation is in the title of the 00:10:54 series so this you know the general topic is societal transformation and although that term alone is a little bit you know people have different ideas of what societal transformation means so i 00:11:07 want to make a few things clear i especially in the second paper i make the distinction between reform and trends and transformation 00:11:19 and by reform i mean anything that would you know improve our government system and prove our our economic system improve our legal system you know 00:11:33 one example might be uh levying taxes on the wealthy or something and then you know using those fees to to provide medical services or something 00:11:45 or altering how long a representative can be in and you know in congress in the legislature or something like that or ways to vote or things like that those really 00:11:59 those are all what i would consider reforms and i'm interested in a different question i'm interested in the question out of all conceivable ways to organize the societal systems and by 00:12:11 societal systems i really focus on a few of them uh governance systems economic systems uh legal systems educational systems and i think maybe one or two others out of 00:12:24 out of that i i view those systems as the cognitive architecture of a society that is that's how society thinks through 00:12:35 those systems it it learns it adapts it decides and and evolves kind of through that kind of cognitive architecture and my question 00:12:49 is out of all possible conceivable ways out of all con for example out of all conceivable economic systems what ones might be best for 00:13:01 uh for demonstratively showing that that they're you know they excel at in improving or maintaining um social environmental well-being 00:13:13 so so even that even there we have uh the concept of a fitness coming into this that is what out of all conceivable systems which are the most fit for purpose and now now 00:13:26 soon we can talk about what purpose might be but you know that that is a new question that's that is a question that's hardly been asked in the in the history and i think maybe um it's only now 00:13:38 that science has the tools and the theoretical understandings that maybe it's maybe this is right maybe maybe it is time that we can talk about the purpose of a society and 00:13:50 how fit a given system design might be

      John distinguishes between reform and transformation. In the simplest terms, reform deals with changes to an existing paradigm whilst transformation deals with fundamental structural changes of an existing paradigm - a paradigm shift.

      John views society as a social superorganism (SSO) and the major systems such as legal, economic, social, governance, education, etc as cognitive architectures of the SSO. The theoretical question being asked is: Of all possible variations, which one has the best fitness to the function of a society?

    1. Through her writing Easterling often forces architects to re-envision their role in the making of space around the world, extolling the virtues of knowing how versus knowing what. She also encourages them to consider creating “active forms” — time-released protocols that manage spatial levers, exchanges, and switches — in addition to “object forms,” or what we commonly think of as buildings.

      [[Active form]] consist of dispositions that materialize as new forms.

  4. Jun 2022
    1. Gall's Law is a rule of thumb for systems design from Gall's book Systemantics: How Systems Really Work and How They Fail. It states: .mw-parser-output .templatequote{overflow:hidden;margin:1em 0;padding:0 40px}.mw-parser-output .templatequote .templatequotecite{line-height:1.5em;text-align:left;padding-left:1.6em;margin-top:0}A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system.

      This feels like an underlying and underpinning principle of how the IndieWeb which focuses on working real world examples which are able to build up more complex systems instead of theoretical architecture astronomy which goes no where.

      Reference: John Gall (1975) Systemantics: How Systems Really Work and How They Fail p. 71

  5. May 2022
    1. the majority of operational problems that arise when moving to a distributed architecture are ultimately grounded in two areas: networking and observability.
  6. Apr 2022
    1. Ada Louise Huxtable

      Ada Louise Huxtable was an architecture critic and writer on architecture. Huxtable established architecture and urban design journalism in North America and raised the public's awareness of the urban environment. In 1970, she was awarded the first ever Pulitzer Prize for Criticism. In 1981, she was named a MacArthur Fellow. Architecture critic Paul Goldberger, also a Pulitzer Prize-winner for architectural criticism, said in 1996: "Before Ada Louise Huxtable, architecture was not a part of the public dialogue." "She was a great lover of cities, a great preservationist and the central planet around which every other critic revolved," said architect Robert A. M. Stern, dean of the Yale University School of Architecture.

    1. The IPCC authors write that “judicious labelling, framing, and communication of social norms can also increase the effect of mandates, subsidies, or taxes.” Interventions that change the “choice architecture” so people have an easier time taking the cleaner option include: default enrollment in green programs, increasing taxes on carbon-intensive products, and substantially tightening regulations and standards.

      Nudging, choice architecture, feedback, rewarding and priming all become important variables to accelerate large scale aggregate of individual actions that can make a difference.

    1. Francis Kere. “I grew up in a community where there was no kindergarten, but where the community was your family,” he says. “Everyone took care of you and the entire village was your playground. My days were filled with securing food and water, but also simply being together, talking together, building houses together.”

      Agaththi adivasi houses inspiration statement

    1. Strawberry Hill was a confection, a mock-castle of a fake dynasty complete with a reproduction baronial hall, flourishing the arms and images of putative crusader ancestors on the ceiling.

      Strawberry Hill by Horace Walpole Made from Stone, Papiermache and gold leaf! Arguably started the neo gothic revival!

  7. Mar 2022
    1. The ecliptic is tilted towards the north in the southern hemisphere,and towards the south in the northern hemisphere. Many people inthe southern hemisphere prefer housing with north-facing windowsand balconies and that take advantage of the light and warmth of theSun. Venture north of the equator, and that preference is for south-facing properties. First Peoples of the world follow the samepreference, with homes, villages and cities constructed to takeadvantage of the Sun.

      Many cultures in the world face their windows, balconies, and other architecture to take advantage of the sun (for light and warmth). Because the ecliptic is tilted towards the north in the southern hemisphere and towards the south in the northern hemisphere, people in the north of the equator prefer south-facing properties and people south of the equator prefer north-facing properties.



  8. Feb 2022
    1. In our current global networked culture that puts so much emphasis on the virtual and the visual, the mind and the body have become detached and ultimately disconnected. Though physical appearance is idolised for its sexual appeal and its social identity, the role of the body in developing a full understanding of the physical world and the human condition has become neglected. The potential of the human body as a knowing entity – with all our senses as well as our entire bodily functions being structured to produce and maintain silent knowledge together – fails to be recognised. It is only through the unity of mind and body that craftsmanship and artistic work can be fully realised. Even those endeavours that are generally regarded as solely intellectual, such as writing and thinking, depend on this union of mental and manual skills.

      The Thinking Hand: Existential and Embodied Wisdom in Architecture by Juhani Pallasmaa


      This sounds a bit like some of the physical and external memory ideas in The Extended Mind by Annie Murphy Paul.

      This book came up in Dan Allosso's book club on How to Take Smart Notes.

    1. Raffi Krikorian explains the architecture used by Twitter to deal with thousands of events per sec - tweets, social graph mutations, and direct messages-.
  9. Jan 2022
    1. +----------------------- | RESOURCE EXISTS ? (if private it is often checked AFTER auth check) +----------------------- | | NO | v YES v +----------------------- 404 | IS LOGGED-IN ? (authenticated, aka user session) or +----------------------- 401 | | 403 NO | | YES 3xx v v 401 +----------------------- (404 no reveal) | CAN ACCESS RESOURCE ? (permission, authorized, ...) or +----------------------- redirect | | to login NO | | YES | | v v 403 OK 200, redirect, ... (or 404: no reveal) (or 404: resource does not exist if private) (or 3xx: redirection)
    1. StylEx architecture.

      TLDR methodology: 1) StyleGAN + classifier 2) Search StyleSpace

  10. Dec 2021
    1. “Any large room looks wrong without the appropriate number of people in it,” Mr. Byers writes. “An unused living room looks empty. An empty ballroom is absolutely creepy; it looks as if it is waiting desperately for something to happen. A library, on the other hand, is delightful when full but still especially attractive when empty.”

      on the coziness of libraries

  11. Nov 2021
    1. Now this is getting too complex for discussing this here and these type of architectural decisions require more in depth understanding than what I can provide here.
    2. My UIs are data/store driven. The UI is just a way to visualize the data. Your data could flow through all of of the extensions and the extensions can make decisions (e.g. setting visible to false). Like middlewares in a Connect/Express/Polka app. And the UI doesn't even know about all this, it just updates with the current state and makes sure it's consistent.
  12. Oct 2021
    1. The main idea behind the space-based pattern is the distributed shared memory to mitigate issues that frequently occur at the database level. The assumption is that by processing most of operations using in-memory data we can avoid extra operations in the database, thus any future problems that may evolve from there (for example, if your user activity data entity has changed, you don’t need to change a bunch of code persisting to & retrieving that data from the DB).The basic approach is to separate the application into processing units (that can automatically scale up and down based on demand), where the data will be replicated and processed between those units without any persistence to the central database (though there will be local storages for the occasion of system failures).

      Space-based architecture

    2. Microservices architecture consists of separately deployed services, where each service would have ideally single responsibility. Those services are independent of each other and if one service fails others will not stop running.

      Microservices architecture

    3. First of all, if you know the basics of architecture patterns, then it is easier for you to follow the requirements of your architect. Secondly, knowing those patterns will help you to make decisions in your code

      2 main advantages of using design patterns:

      • easier to follow requirements of an architect
      • easier to make decisions in your code
    4. Mikrokernel Architecture, also known as Plugin architecture, is the design pattern with two main components: a core system and plug-in modules (or extensions). A great example would be a Web browser (core system) where you can install endless extensions (or plugins).

      Microkernel (plugin) architecture

    5. The idea behind this pattern is to decouple the application logic into single-purpose event processing components that asynchronously receive and process events. This pattern is one of the popular distributed asynchronous architecture patterns known for high scalability and adaptability.

      Event-driven architecture: high scalability and adaptability

    6. It is the most common architecture for monolithic applications. The basic idea behind the pattern is to divide the app logic into several layers each encapsulating specific role. For example, the Persistence layer would be responsible for the communication of your app with the database engine.

      Layered architecture

    1. Drawing on path-breaking research in archaeology and anthropology, the authors show how history becomes a far more interesting place once we learn to throw off our conceptual shackles and perceive what's really there.

      Reimagining our social architecture might begin with rethinking our past and origins as a species.

    1. Lean Canvas

      For the builders collective, I created some tools that are open source and useful for design and social architecture. Other projects are coding challenges to experiment with what is possible on the web.

      This experiment is based on the Lean Canvas, based on the Business Model Canvas from the book Business Model Generation.

      Type in the grey box at the top of the page. Click or tap in the boxes to add the text as a box in each section of the Lean Canvas. Click on the box to delete.

      There is no save functionality, so be sure to take a screenshot. Or roll your own by using the code on Codepen and GitHub.

    1. Education and job hiring should be integrated.

      Systemic Problems

      The problem is systemic. How do you deal with the problem when the system is off the table when it comes to the design problem?

    1. Regenerative Ventures

      Out of the Trimtab Space Camp course with the Buckminster Fuller Institute in which we were exploring world building with Tony Patrick, Langdon Roberts, Jeremy Lubman, Elsie Iwase, and I gathered to think about how we could become involved in regenerative ventures. This was our initiative, in which we met weekly to think about how we manifest who we are as a more beautiful world our hearts know is possible. The thought was that architecture grows out of values, principles, and intention.

    1. “The real problem of humanity is the following: we have paleolithic emotions; medieval institutions; and god-like technology.

      Quoted by Amanda Joy Ravenhill on RE & CO Radio, Wednesday, October 13, 2021.

      This leads to a sense of learned hopelessness: Things are worse than you imagined, and there is nothing you can do about it.

      But Buckminster Fuller said, “We are called to be the architects of the future, not its victims.”

    1. The rise of the Nazis in 1933 caused an unprecedented forced migration of hundreds of artists within and, in many cases, ultimately away from Europe. Exiles and Emigres, published in conjunction with a traveling exhibition opening in February 1997 at the Los Angeles County Museum of Art, is the first book to trace the lives and work of 23 well-known painters, sculptors, photographers, and architects exiled from their homelands during the 12 years of Nazi rule.

      “The Bauhaus concept, as it was transplanted to the United States, was fundamentally different from the principles upon which the experimental school had been founded in Weimar in 1919. The guiding principle of the Bauhaus was to unify all aspects of art making—painting, sculpture, handicrafts—as elements of a new kind of art, erasing the division between “high” and decorative art. Explorations of materials, color, and form were important building blocks of the curriculum. The artists and designers of the Bauhaus believed that this new type of art and design would help to create a better society, and they sought commissions to design public buildings and other elements of public life (such as flags and currency). In America, however, the Bauhaus ideas lost their social and political thrust. The emigré teachers in Chicago, Cambridge, and North Carolina who had been committed to progressive architecture and design ideas in Germany were now lionized as upholders of a pure, reductivist style.”

      (Stephanie Barron, page 25)

    1. Science-Driven Societal Transformation

      Gien Wong notes these three concept papers on Science-Driven Societal Transformation: Worldview, Motivation and Strategy, and Design.

    1. Because at the end of the day, all structures are, in some ways, ideology made manifest.

      Avery Trufelman ends her podcast series, Nice Try! with these words in an episode entitled, Germania: Architecture in a Fascist Utopia.

      One person’s utopia is another person’s dystopia.

      The structure of the mind becomes the architecture of our reality. This thought became the foundation for a mental model for human experience, since these architectural plans for utopia seem like good ideas on paper, but when we live inside these structure in our daily reality, we realize that we have constructed our own mental prisons, the iron cage envisioned by Max Weber.

    2. It spells out so clearly that Nazi Germany’s worst atrocities and many atrocities the world over were not only the ideas of singular evil men. They were supported and enacted by systems, by groups of people who woke up in the morning and went to offices to work on it.

      Avery Trufelman ends her podcast series, Nice Try! with these words in an episode entitled, Germania: Architecture in a Fascist Utopia.

    1. The Hidden History of the Geodesic Dome - Part 3: The Teamwork of Walter Gropius

      The Hidden History of the Geodesic Dome - Part 3: The Teamwork of Walter Gropius

      Understanding one’s limitations leads to a recognition of the power of relationships in an interconnected and interdependent world.

    2. Because of his handicap, Walter Gropius achieved his goals by working through other people, and harnessed their abilities to produce efficient and practical architecture.

      The Hidden History of the Geodesic Dome - Part 3: The Teamwork of Walter Gropius

      Understanding one’s limitations leads to a recognition of the power of relationships in an interconnected and interdependent world.

  13. Sep 2021
    1. Stop Reset Go

      How do we engage in bottom-up whole system change? Perhaps we need a model for understanding who we are serving that transcends the bias and limitations of personas as they are used in user experience design (UX).

      What is a more holistic model for understanding human perceptions, motivations, and behaviours?

    1. Another contributing factor was the conceptual freedom that we experienced in architecture school, something that is definitely lost when you move to the professional world. Software, we realized, still offered a bit more experimentation and personal creativity than architecture did in a real world context.
    1. Areas of Integrated Governance

      Major areas of integrated governance for enterprise architecture looks like Integrated Project Management Framework



  14. Aug 2021
  15. Jul 2021
    1. I used to be very interested in Software Architecture, in fact I've read many of the papers cited here.When I did a startup many years ago, I committed the mistake of paying too much attention to the architecture of the software [1] I was writing, and not enough attention to the product/customer side of it.The last couple of years I've been de-emphasizing software architecture as an interest, and have been paying much more attention to how product teams build successful products, what the patterns are, etc. I was lucky enough to work at Facebook for a while and got to see (and learn) a very successful working model of product development.So, while I'm not saying that software architecture is not important (it is), also pay attention to the product/customer side: what choices (software, organizational, hiring, business) allow you to move fast and iterate, to release early and often, to run A/B tests, etc.I think good software engineers are just as much product guys (and data guys) as they are software guys.
    1. I've had this discussion with peer engineers working at other tech companies, FANG (Facebook, Amazon, Netflix, Google), as well as at smaller startups. Most teams and projects - however large or small - all shared a similar approach to design and implementation:Start with the business problem. What are we trying to solve? What product are we trying to build and why? How can we measure success?Brainstorm the approach. Get together with the team and through multiple sessions, figure out what solution will work. Keep these brainstormings small. Start at a high level, going down to lower levels.Whiteboard your approach. Get the team together and have a person draw up the approach the team is converging to. You should be able to explain the architecture of your system/app on a whiteboard clearly, starting at the high-level, diving deeper as needed. If you have trouble with this explanation or it's not clear enough, there's more work required on the details.Write it up via simple documentation with simple diagrams based on what you explained on the whiteboard. Keep jargon to the minimum: you want even junior engineers to understand what it's about. Write it using clear and easy to follow language. At Uber, we use an RFC-like process with various templates.Talk about tradeoffs and alternatives. Good software design and good architecture are all about making the right tradeoffs. No design choice is good or bad by itself: it all depends on the context and the goals. Is your architecture split into different services? Mention why you decided against going with one large service, that might have some other benefits, like more straightforward and quicker deployment. Did you choose to extend a service or module with new functionality? Weigh the option of building a separate service or module instead, and what the pros and cons of that approach would be.Circulate the design document within the team/organization and get feedback. At Uber, we used to send out all our software design documents to all engineers, until there were around 2,000 of us. Now that we're larger, we still distribute them very widely, but we've started balancing the signal/noise ratio more. Encourage people asking questions and offering alternatives. Be pragmatic in setting sensible time limits to discuss the feedback and incorporate it, where it's needed. Straightforward feedback can be quickly addressed on the spot, while more detailed feedback might be quicker to settle in-person.

      A good, high level overview on how to get started with architecture

    1. In another talk, one in which he also spoke of control and surrender, he developed another contrast, between creativity-as-architecture and creativity-as-gardening:
  16. Jun 2021
    1. Worse still is the issue of “service” layers requiring you to basically build your own ORM. To really do a backend-agnostic service layer on top of the Django ORM, you need to replace or abstract away some of its most fundamental and convenient abstractions. For example, most of the commonly-used ORM query methods return either instances of your model classes, or instances of Django’s QuerySet class (which is a kind of chained-API results wrapper around a query). In order to avoid tightly coupling to the structure and API of those Django-specific objects, your service layer needs to translate them into something else — likely generic iterables to replace QuerySet, and some type of “business object” instance to replace model-class instances. Which is a non-trivial amount of work even in patterns like Data Mapper that are designed for this, and even more difficult to do in an Active Record ORM that isn’t.

      I see what this guy means and he has a point. However, I don't think about reimplementing these things when talking about services on Django. I want a centralized place to store business logic (not glue queries) and avoid multiple developers writing the same query multiple times in multiple places. The name "service" here sucks.

    2. A second problem is that when you decide to go the “service” route, you are changing the nature of your business. This is related to an argument I bring up occasionally when people tell me they don’t use “frameworks” and never will: what they actually mean, whether they realize it or not, is “we built and now have to maintain and train our developers on our own ad-hoc private framework, on top of whatever our normal business is”. And adopting the service approach essentially means that, whatever your business was previously, now your business is that plus developing and maintaining something close to your own private ORM.

      I don't think these two things are even close to be the same thing. Django's ORM is not replaced by services, from what I know services are the ORM with the difference that they are concentrated in a module.

    1. This isn't about writing boilerplate setter properties for each field in the model, but rather about writing methods that encapsulate the point of interaction with the database layer. View code can still inspect any field on the model and perform logic based on that, but it should not modify that data directly. We're ensuring that there is a layer at which we can enforce application-level integrity constraints that exist on top of the integrity constraints that the database provides for us.

      Addresses the issue raise on this tweet. We are not writing getters and setters out of obligation or convention.

    1. We should think about the number of simultaneous connections (peak and average) and the message rate/payload size. I think, the threshold to start thinking about AnyCable (instead of just Action Cable) is somewhere between 500 and 1000 connections on average or 5k-10k during peak hours.
      • number of simultaneous connections (peak and average)

      • the message rate/payload size.

    2. We use a single stream/queue/channel to deliver messages from RPC to WS. RPC server acts as publisher: it pushes a JSON-encoded command. Pubsub connection is initialized lazily in this case (during the first #broadcast call). WS server (anycable-go) acts as subscriber: subscription is initialized on server start, messages are received, deserialized and passed to the app.
  17. May 2021
  18. Apr 2021
    1. This post articulates a lot of what I've been thinking about for the past 18 months or so, but it adds the additional concept of community integration.

      Interestingly, this aligns with the early, tentative ideas around what the future of In Beta might look like as a learning community, rather than a repository of content.

  19. Mar 2021
    1. Werner Vogels, Amazon CTO, notes that one of the lessons we have learned at Amazon is to expect the unexpected. He reminds us that failures are a given, and as a consequence it’s desirable to build systems that embrace failure as a natural occurrence. Coding around these failures is important, but undifferentiated, work that improves the integrity of the solution being delivered. However, it takes time away from investing in differentiating code.

      This is an annotation I made.

    2. When asked to define the role of the teacher, for example, Reggio educators do not begin in the way typical to

      This is an annotation I made.

    3. This is an annotation I made.

    4. This is an annotation I made.

    5. This is an annotation I made.

    1. System architects: equivalents to architecture and planning for a world of knowledge and data Both government and business need new skills to do this work well. At present the capabilities described in this paper are divided up. Parts sit within data teams; others in knowledge management, product development, research, policy analysis or strategy teams, or in the various professions dotted around government, from economists to statisticians. In governments, for example, the main emphasis of digital teams in recent years has been very much on service design and delivery, not intelligence. This may be one reason why some aspects of government intelligence appear to have declined in recent years – notably the organisation of memory.57 What we need is a skill set analogous to architects. Good architects learn to think in multiple ways – combining engineering, aesthetics, attention to place and politics. Their work necessitates linking awareness of building materials, planning contexts, psychology and design. Architecture sits alongside urban planning which was also created as an integrative discipline, combining awareness of physical design with finance, strategy and law. So we have two very well-developed integrative skills for the material world. But there is very little comparable for the intangibles of data, knowledge and intelligence. What’s needed now is a profession with skills straddling engineering, data and social science – who are adept at understanding, designing and improving intelligent systems that are transparent and self-aware58. Some should also specialise in processes that engage stakeholders in the task of systems mapping and design, and make the most of collective intelligence. As with architecture and urban planning supply and demand need to evolve in tandem, with governments and other funders seeking to recruit ‘systems architects’ or ‘intelligence architects’ while universities put in place new courses to develop them.
    1. Here's the four case: foo.js Load/Require dependencies Concatenate dependencies foo.js.map Load foo.js Currently grabs metadata[:map] from asset to build an asset, need to move that generation somewhere else to accomplish de-coupling map generation foo.debug.js Load foo.js Load foo.js.map Add comment to end of foo.js with path to foo.js.map foo.source.js The raw file on disk, the map file will need to point to source files.
  20. Feb 2021
    1. Software architecture is about making fundamental structural choices that are costly to change once implemented.
    2. Software architecture refers to the fundamental structures of a software system
    3. Software architecture choices include specific structural options from possibilities in the design of the software.
    1. The adapter is where authentication, policy checks, and eventually your domain logic happen. All termini of the protocol’s activity are standardized end events - that’s how protocol and adapter communicate.
    1. And really, this stems from the fact that buildings aren't designed by the community that uses them anymore. The community barely factors into the design, even. Buildings were designed to serve a specific purpose, dictated by the higher-ups with the money to purchase the land and fund the development of the building. Again, quoting the article, Unless they are an uber-wealthy client, users of buildings rarely have much input into the design process. Students do not get to say what kind of school they would like, office workers do not get to say whether they would prefer to work in a glass tower or in a leafy complex of wifi-enabled wooden pagodas. ... But that rupture means that architecture becomes something imposed upon people. It isn’t participatory, and it doesn’t adapt in response to their needs. It’s prefabricated, assembled beforehand off-site and then dumped on the unwitting populace. We are not meant to live in modern buildings; they are made for people who do not poop.

      This is very reminiscent of how some people use the internet as well. I can think of personal examples where Goolge apps and services were forced upon workers at companies who didn't want them and weren't comfortable with them.

      Similarly we went from the creativity of MySpace to the corporate strictures of Facebook and Twitter that didn't give users any flexibility or identity. The connective value was apparently worth just a bit more than the identity, so we went there, but why not have it all?

      I'll have to find the reference, but I saw an article with a book reference in the last year about the life of buildings and that well designed ones could stand the test of centuries in their ability to be redesigned and repurposed from the inside out if necessary.

  21. Jan 2021
    1. https://hyp.is/go?url=https%3A%2F%2Fwww.archdaily.com%2F627654%2Fthe-computer-vs-the-hand-in-architectural-drawing-archdaily-readers-respond&group=__world__

      I came across this article about the tension between computer drawing and hand drawing in architecture when I replied to an annotation by another user @onion - very interesting read and I would be curious to see this issue revisited in another ten years...how may opinions have changed?

  22. Nov 2020
    1. Micro is a platform for cloud native development. It addresses the key requirements for building services in the cloud. Micro leverages the microservices architecture pattern and provides a set of services which act as the building blocks of a platform. Micro deals with the complexity of distributed systems and provides simpler programmable abstractions to build on.

      What they are doing is like AWS lambda - BUT - they abstract away the details of things like Auth, pub/sub, config, networks AND the DB (which is a KV store).

      So you simply write your services letting the platform take care of the particulars of adjacencies.

    1. There are, as you’re about to see, lots of problems with PGP. Fortunately, if you’re not morbidly curious, there’s a simple meta-problem with it: it was designed in the 1990s, before serious modern cryptography. No competent crypto engineer would design a system that looked like PGP today, nor tolerate most of its defects in any other design. Serious cryptographers have largely given up on PGP and don’t spend much time publishing on it anymore (with a notable exception). Well-understood problems in PGP have gone unaddressed for over a decade because of this.

      The meta-problem with PGP is that it was designed by crypto-engineers in the 90s and it is horribly outdated, yet due to its federated architecture, difficult to update.

    1. So while it’s nice that I’m able to host my own email, that’s also the reason why my email isn’t end-to-end encrypted, and probably never will be. By contrast, WhatsApp was able to introduce end-to-end encryption to over a billion users with a single software update.

      Although the option to host your own email offers you freedom, it's precisely this freedom that makes change more difficult and the reason why email isn't yet end-to-end encrypted.

      Centralized architectures, like whatsapp, allow you to roll out end-to-end encryption to the entire network with 1 software update.

    2. That has taken us pretty far, but it’s undeniable that once you federate your protocol, it becomes very difficult to make changes. And right now, at the application level, things that stand still don’t fare very well in a world where the ecosystem is moving.

      Because the ecosystem around software application is quickly evolving, you need to be able to adapt in order to be competitive.

      Once you federate your technology, however, you lose this ability to adapt quickly, as is evidenced by the relative stagnation of federated standards such as IP, SMTP, IRC, DNS etc.

    3. This reduced user friction has begun to extend the implicit threat that used to come with federated services into centralized services as well. Where as before you could switch hosts, or even decide to run your own server, now users are simply switching entire networks.

      The implicit threat of federated architectures is also emerging in centralized services. It emerges there because the core of the social network, the address book, is saved locally (i.e. federated). This makes it easy for users to switch networks, and this ease keeps the providers honest.

    4. Given that federated services always seem to coalesce around a provider that the bulk of people use, federation becomes a sort of implicit threat. Nobody really wants to run their own servers, but they know that it might be possible if their current host does something egregious enough to make it worth the effort.

      The implicit threat of federation

      In a federated architecture, most users tend to coalesce around one provider. Few actually want to run their own server, but the fact that that option exists, acts as an implicit threat which keeps the current host honest.

    5. In a way, the notification center on a mobile device has become the federation point for all communication apps, similar to how older desktop IM clients unified communication across multiple IM networks.

      Mobile device's notification centers are federation points for communication apps

      The notification center in our phones acts as a hub where messages show up from WhatsApp, Telegram, SMS etc. analogous to how older desktop IM clients unified communication across multiple networks.

    6. Federation gives us more collective control over what changes we accept, but that comes with an unacceptable inability to adapt.

      A federated model requires some type of consensus to form to accept changes. This is great to promote consensus, but reaching consensus takes time and results in an inability to adapt quickly.

  23. Oct 2020
    1. So that’s already a huge advantage over other platforms due the basic design. And in my opinion it’s got advantages over the other extreme, too, a pure peer-to-peer design, where everyone would have to fend for themselves, without the pooled resources.

      Definitely something the IndieWeb may have to solve for.

    2. Mastodon deliberately does not support arbitrary search. If someone wants their message to be discovered, they can use a hashtag, which can be browsed. What does arbitrary search accomplish? People and brands search for their own name to self-insert into conversations they were not invited to. What you can do, however, is search messages you posted, received or favourited. That way you can find that one message on the tip of your tongue.
    1. 2011-06-23 at OSBridge2011 having lunch with Ward, Tantek exclaimed: The Read Write Web is no longer sufficient. I want the Read Fork Write Merge Web. #osb11 lunch table. #diso #indieweb

      This is what I want too!

    1. And we see that develop into the web as we know it today. A web of “hey this is cool” one-hop links. A web where where links are used to create a conversational trail (a sort of “read this if you want to understand what I am riffing on” link) instead of associations of ideas. The “conversational web”. A web obsessed with arguing points. A web seen as a tool for self-expression rather than a tool for thought. A web where you weld information and data into your arguments so that it can never be repurposed against you. The web not as a reconfigurable model of understanding but of sealed shut presentations.
    1. We are beginning a renovation of our main library at Northeastern University, Snell Library, and have been talking with architects (some of them very well-known), and I’ve found the discussions utterly invigorating. I would like to find some way to blog or newsletter about the process we will go through over the next few years, and to think aloud about the (re)design and (future) function of the library. I’m not sure if that should occur in this space or elsewhere, although the thought of launching another outlet fills me with dread. Let me know if this topic would interest you, and if I should include it here.

      Definitely interesting. Please include it here or on your main site!!!

    1. Un premier élément qui marque la spécificité du milieu numérique se joue dans la nature du texte numérique, devenu à la fois support, dispositif et milieu.
    2. je retiens en particulier le fait que l’éditorialisation est un processus. Cette notion est importante, car elle marque une rupture avec l’édition.

      architecture (de l'information) -> processus (par opposition à une structure, statique, comme un livre)

      ainsi architecture et éditorialisation (comme phénomènes numériques) sont liées

    1. Here's one quick way to test if your application has properly segregated itself between the Model, View, and Controller roles: is your app skinnable? My experience is that designers don't understand loops or any kind of state. They do understand templates with holes in them. Everybody understands mail merge. And if you say, "Apply the bold template to this hole," they kind of get that, too. So separating model and view addresses this very important practical problem of how to have designers work with coders. The other problem is there is no way to do multiple site skins properly if you don't have proper separation of concerns. If you are doing code generation or sites with different skins on them, there is no way to properly make a new skin by simply copying and pasting the old skin and changing it. If you have the view and the logic together, when you make a copy of the view you copy the logic as well. That breaks one of our primary rules as developers: have only one place to change anything.

      An effective way of testing whether your app practices separation of concerns within the MVC paradigm is whether or not it is "skinnable"

    1. In 1972 David L. Parnas published a classic paper entitled On the Criteria To Be Used in Decomposing Systems into Modules. It appeared in the December issue of the Communications of the ACM, Volume 15, Number 12. In this paper, Parnas compared two different strategies for decomposing and separating the logic in a simple algorithm. The paper is fascinating reading, and I strongly urge you to study it. His conclusion, in part, is as follows: “We have tried to demonstrate by these examples that it is almost always incorrect to begin the decomposition of a system into modules on the basis of a flowchart. We propose instead that one begins with a list of difficult design decisions or design decisions which are likely to change. Each module is then designed to hide such a decision from the others.”

      Parnas published a paper in 1972 about what heuristics are best to decide when to decompose a system into modules.

      His conclusion is that it is almost always wrong to start with a representation such as a flowchart (because things change).

      Instead he recommends focusing on a list of difficult design decisions, or decisions, once made, that will likely change. Then design each module is designed to hide such decisions from others.

    1. Domain-driven design separates the model layer “M” of MVC into an application, domain and infrastructure layer. The infrastructure layer is used to retrieve and store data. The domain layer is where the business knowledge or expertise is. The application layer is responsible for coordinating the infrastructure and domain layers to make a useful application. Typically, it would use the infrastructure to obtain the data, consult the domain to see what should be done, and then use the infrastructure again to achieve the results.

      Domain Driven Design separates the the Model in the MVC architecture into an application layer, an infrastructure layer and a domain layer.

      The business logic lives in the domain layer. The infrastructure layer is used to retrieve and store data. The application layer is responsible for coordinating between the domain and infrastructure layer.

  24. Sep 2020
    1. He claims that chip makers have erected a new Berlin Wall in between the user and the microprocessor: “And so, software— a billion- dollar enterprise based on one of the cheapest elements on Earth— used everything at its disposal to prevent said ‘humans’ from having access to hardware” (209).

      accès au microprocesseur: le mur de Berlin comme parallèle architectural + géopolitique

      les microprocesseurs créent une barrière, mais dans un sens différent: une barrière d’échelle (difficulté d’accès parce que les puces sont microscopiques, elles ne peuvent être manipulées à mains nues).

    2. If code governs so much of our lives, then to understand its operations is to get some sense of the systems that operate on us.

      pour une architecture (espaces habitables) de l’information (environnements informationnels)

      Comment rendre l’information habitable?

    1. Developing software is usually easier if you break your project into smaller separate pieces, since that often removes unexpected interactions and dramatically reduces the complexity of the problems you'll need to solve
  25. Aug 2020
    1. The RAT model sees software development as an off-line program-construction activity composed of these parts: defining, decomposing, estimating, implementing, assembling, and finishing

      This is what can lead to the 'there is only version 1.0' problem - and improvements / iterations fall to the sidelines.

      This can have a number of consequences

      • over designed / engineered
      • doing unnecessary work
      • lack of user feedback and ability to accommodate it
      • rigid / fragile architecture
    1. Choice architecture is a concept introduced in the book Nudge by Richard Thaler (who would go on to win a Nobel Prize for some of this work) and Cass Sunstein. The basic concept is that how an environment is designed influences the decisions people make in that environment.



    1. “When the environment itself is constituted by electric circuitry and information, architecture becomes the content of the new information environment. Architecture is the old technology which is automatically elevated into an art form.”
    2. electronics presents new challenges to planners because this latest prosthetic extension of the body defines an entirely new form of space.
    1. reducing the presence of those things we usually call “architecture” demands that we return to what is most effective about architecture and the way it frames social relationships