Here’s a fun theoretical existential threat: false vacuum decay. If our universe is in a false vacuum state (maybe yes? maybe no? we don’t know!) and that vacuum someday suddenly shifts into a true vacuum state (decays), then worst case scenario this change propagates everywhere instantaneously and we experience “complete cessation of fundamental forces” including elementary particles and structures. Everything everywhere wiped out in a blink.
We can take some comfort in the fact that we’d never know it happened, and theorists have asserted that it’s highly unlikely a false vacuum of any size could exist for more than a moment in the presence of gravitational forces, plus physics within the bubble would be “super weird”, I think is the technical term.
First off, I appreciate the thoughtful write-up, under different circumstances this is the direction I’d probably be heading. However our web Frontend code is all currently in a large-ish (500 packages, 100 apps) monorepo and we’re actively pursuing breaking that up into a hybrid repo model, largely in the interest of true team autonomy. We want our code organization to better reflect our Eng org structure and to establish much stronger lines of ownership and responsibility. Obviously we see other compelling reasons to take this big step, but there’s also a lot of risk involved, particularly around dependency management and figuring out how to accomplish eventual UI consistency across our web apps, all of which will use a large number of shared libraries/components that will be broadly organized into a handful of repos (likely monorepos) representing domains and owned by different teams. The intent is for this evolution to culminate in a microfrontends architecture as a way to support collaboration across autonomous teams without the need for built-time coupling.
We’re about to embark on the MFE journey and I’m concerned about pulling it off in a way that will have justified the effort. Our motivations are pure, we have many feature teams, we’re driving toward team independence, already breaking up the monolith into Microservices, etc. But on the FE we have the standard requirement to maintain eventual (definition tbd) UI consistency and so intend to continue to maintain a large number of build-time dependencies between MFEs and shared libraries. So I’m not sure exactly how to pull this off.
Are any of these “many success stories” talked about online? Case studies we can get pumped on?
Weird, I just discovered and made my first UML sequence diagrams yesterday and today it’s at the top of HN. Super useful for describing my problem and quite straightforward.
I’m by no means in the web-development-sucks-lets-kill-the-build camp, I think modern web frameworks and tooling can be incredibly useful particularly at scale (people, codebase, features), but JS dependency management is pretty nightmarish rn.
This might hold true if you’re talking about desktop browsers, but it’s a different story on mobile, particularly in rapidly growing emerging markets. Both network latency and large JS payloads dramatically affect user experience on low powered devices, and if UX isn’t compelling enough, there have been plenty of studies showing the real financial costs of slow web pages for businesses that depend those websites to bring in customers.
I’ve personally spent many hours doing performance analysis, triage and remediation on websites built using modern tech stacks that had inadvertently exchanged UX for DX. Too much JS sent over the wire can definitely tie up the browser’s main thread for whole seconds even on desktop, though in my experience it’s much more common on mobile. This situation can be difficult to correct depending on the abstractions, organization and overall architecture you chose early on, and code-spitting and dead code elimination won’t always fix what’s broken.
I’m curious, where do you get those numbers from? Those are shockingly low numbers and don’t align with my observations, but I also don’t have hard figures to back them up.
Thanks! Of your list I only know Ticket to Ride and Codenames (both great), so this is a list rich with potential for me. I really appreciate you taking the time to write that out.
It’s like you’ve seen into my very soul. I often struggle to isolate individual problems within a new problem space because my brain prefers to see the interconnected web of what could be if I just did this thing right. Excellent advice.
Reading this comment had me cheering “yes, a thousand times yes” but then it occurred to me how often I turn to an O’Reilly book instead of a concrete project and I wondered why.
I think I subconsciously avoid new projects to learn something programming-related because of how often they end up unbounded in time due to one of the fundamental attributes of writing software: unknown unknowns. The kinds of sticking points in a project that could take you minutes to figure out, or days, or even weeks.
I have limited free time and I want only so much of it to be _more_ programming. (I’m a professional software engineer) If I can’t be certain I can timebox a new pet project with _some_ degree of successful outcome, I think I’m low key anxious enough to avoid starting it.
Does anyone else struggle with this? How do folks overcome it and work on new things without them taking over?
At times I’ve become convinced that all of experienced reality is narrowing to a point and about to wink into nothingness, and myself along with it. It’s hard to explain, but it’s very convincing at the time. So as I experienced this sort of unraveling of the universe I have to confront the idea of my own non-being. Until I come out of it and realize it was all in my head :) Even my early, terrified experiences felt like therapy, like the pain was well spent, so to speak.
The point isn’t how similar (or not) the experiences in my mind are to actual death, it’s that at those times I’m convinced I am experiencing not just death, but total annihilation of my consciousness which is my personal best guess about what happens to us when we die. It’s not the moments leading up to death I’ve feared, it’s non-being and attachment to my own thoughts.
So then when I’ve experienced a series of “welp, here we go, I’m on my way to nothingness” and dealt with that terror in those moments, I’ve had the opportunity to accept that fate and even embrace the unknown.
And now that I’m not gripped by existential terror when I think of my own death, I find myself wondering if I’ll be surprised to find something else on the other side of it. And that’s way more fun :)
We can take some comfort in the fact that we’d never know it happened, and theorists have asserted that it’s highly unlikely a false vacuum of any size could exist for more than a moment in the presence of gravitational forces, plus physics within the bubble would be “super weird”, I think is the technical term.
https://en.m.wikipedia.org/wiki/False_vacuum#Existential_thr...