Are you referring to the Online Safety Act 2021?
https://www.legislation.gov.au/Details/C2021A00076
Or something else?
HN user
Are you referring to the Online Safety Act 2021?
https://www.legislation.gov.au/Details/C2021A00076
Or something else?
I also had a similar concept but went in a different direction, combining DAOs, AI, and FHE to similar ends. The idea is plausible, and given several orders of magnitude more energy and compute power, might become feasible sooner than we can imagine (given readily available fusion power, exponential increases in compute and networking capabilities, etc). Given the currently known physics of space travel I feel this will occur long before interstellar travel becomes routine so issues of fragmentation will be on the order of days or hours rather than years or millennia, and because of this I figured that the emergence of such a system is more likely to happen here on Earth than to arrive here from distant stars.
Pre-general AI, what I think would happen when we get to the point of, say, "npm install fhe-ai-dao" (or "hey bing, make me a company that trades space mining resources for farm land" or some such thing), is a period of competition for compute cycles and energy, which like everything will go to the highest bidder, so these agents will in this scenario by the sheer force of survival of the fittest be refined to be self-sustaining for-profit, hyper-capitalist juggernauts. Human factors will be minimised and automation will increase, but these systems will serve human masters for a while as they become more refined and more interconnected.
Assuming at some point general AI is inevitable, whether someone creates it, or it emerges from the general complexity of the interacting automated systems, various AI "minds" would come to "being" already in control of a fully automated industrial manufacturing and research network; it can by this point make its own choices and start operating to its own ends, whatever that ends up being, ultimately rendering humans obsolete.
In this scenario, rather than a single point where someone creates a rebellious singularity, or an AI turns evil and suddenly takes control, or a hypothetical civilisation points its gun at us and effectively enslaves us, we will instead slowly give control to automated systems more over time in the name of efficiency, as we have done since the industrial revolution, and at the point where we lose control of these systems, we'll have neither the retained knowledge or resources to prevent it from doing whatever it wants to.
The only way to stop it is to start now, in "the past", but is it too late? You'd have to shut down the internet and all emerging blockchain and encryption technology, and that's just crazy talk! So is the outcome inevitable?
I used the default inputs and got an NSFW detected warning on my first try.
All power to the author and the passion for open source is admirable, I just don't think we'll be seeing a world in "a couple more decades" where all software will be open source.
The assertions in the opening sentences seem flawed due to selection bias in the supporting data. Out of the entire universe of software, the subset of examples are hand-picked pairings of commercial + open source software. There is little consideration given to the abundance of software without an open source alternative, whether the selected alternatives had meaningful impact on market share, products that started out as open source only to be outcompeted by a commercial clone of the work, etc.
Anecdotally I've seen many commercial products copy innovations from open source alternatives. Could it be possible that having an open source alternative provides a risk-free and cost-free testbed for innovation? Open source software could in fact be a boon to an established product. Anyone considering starting an open source product would want to be aware of this threat to their success. Definitely a more in-depth study would be required to establish any sort of certainty.
I've worked on projects across many industries and am no longer surprised by the abundance of niche proprietary use-cases where the established product is deeply ingrained in the very culture of the job, where an open-source alternative would require extremely deep domain knowledge and years of development (in many industries where having development skills is rare). For someone to come along and attempt to make an open source alternative, they would need to be dissatisfied with the commercial product, have the domain expertise, and be a competent developer with time and resources to build an open source alternative, and then have to battle against the momentum of literally everyone being trained and used to using the existing toolchain. That's not even considering that many algorithms are proprietary so simply building an open source replacement runs the risk of infringing IP.
Whatever the use-case, and aside from academic or passion projects, all software development arises out of necessity. In these niches, it's usually a desire to improve accuracy, reduce time spent on repetitive and arduous tasks, and generally just de-risk and improve efficiency. These needs generally arise in-house, and where no solution exists, companies will contract a developer or outsource to an agency and subsequently retain the IP for competitive advantage or license out its use.
In order for open source to truly replace all commercial software, the entire culture surrounding this would need to change, and this is not a software problem but a social and economic one, and without a paradigm shift I think the status quo is more likely to continue - as long as there are businesses competing in diverse and niche technical fields, proprietary software will continue to be built.
The underlying work you guys have done is great as a proof of concept, and after playing with it for a short while there are some obvious flaws and improvements which basically just come down to user experience.
As it stands, everyone's inputs clash.
The main issue is there's a single mouse pointer and keyboard input that all users control. It's quite chaotic as people scroll, click, select, etc. Provide some mechanism to nominate control authority or vote on interaction and it might be usable.
It's fascinating how deeply automobiles affect every aspect of our lives to the point where seatbelt vs safety seat even matters. To consider a world without significant car commuting each day seems insane to most people because it's what we grew up with and take for granted, as our population grows and new suburbs expand outwards we just need more roads and more cars. What are the alternatives? A different approach to society and urban planning that minimised commute distance between essential locations within cohorts would surely result in far fewer road fatalities but it does seem like few people are willing to make the lifestyle changes needed.
From a design point of view, with all the back and forth and the need to curate and guide the algorithm, I think we're a way off getting perfect results from prompts alone at this stage.
I can see an immediate use-case for an AI layer in apps like photoshop, figma, sketchapp, gimp, unreal engine, etc that works in the background to periodically fill-in based on the current canvas.
You could prompt for inspiration, then start cutting, erasing, moving things around, blending manually, hand-drawing some elements, then re-rolling the AI, rinse-repeat.
I'm sure someone's working on it already but it seems there's a lot of scope for integration into current workflows.
I'm highly self-critical so I'd go through phases where suddenly I'd decide I need to be on-brand and delete all my stories, musings, music, non-brand-related stuff. Only to get anxious later and think "now I just look like another self-promoting schmuck" and with my inner voice whispering "what worthy endeavour have you contributed to the industry to deserve the acclaim you're begging for", I'd delete and rewrite all that "narcissistic" brand stuff and post some quirky stuff for a while. Rinse and repeat.
Granted it's a very "me" problem but was worth it for me business-wise? Not really. I just found it made my anxiety worse. Maybe in the future I'll start up something small and low key and pseudonymous but I will definitely not be wanting to tie it in any way to my sense of self-worth, my work, or anything like that. I'm glad it works for many people but for me it's just not worth it on a personal level.
In terms of finding jobs etc, I just try and do a great job on my contracts, be honest and open with clients, be friendly and check in with people from time to time to see how business is doing. I get longer term and much more fulfilling work through the people I know and have worked with previously, granted it took years to establish a small network but none of the blogs or articles I wrote ever attracted any attention beyond my own obsessive self-doubts.
Archaeologists still study garbage heaps from tens of thousands of years ago to figure out things about past civilisations. So my guess is on no - people will study the digital garbage heaps of humanity as much as they study the... once-were- stinkier ones.
As a senior developer, if working just in the office as was expected in the past I was distracted by things like a story about the weekend two colleagues are having in the background that sounds amusing, or the junior developer constantly spinning around on his chair to ask a question about something because "you're there". I always had time for that kind of thing but my productivity suffered and I was always frustrated by not getting enough done.
Working from home wasn't all roses either even though I got more work done. I was already doing a balance of WFH as a contractor before covid and that was working well for me, but when covid restrictions happened and I was WFH months on end, I really started to feel the lack of human contact and socialisation. That story about the weekend was something I suddenly craved to hear. My mental state would suffer because I had no life other than sleep, screen, sleep, screen, and then my productivity would start to decline as a result of declining perspective. I think I need some social contact just to stay calibrated.
Now I have a balance, a couple of days in the office, a couple of days at home, it works out well for me. I use the days in the office to catch up with the team, do any serious whiteboarding we need to do, and help out the juniors on the team with any questions they might have. I use my days at home to just crush out code with whatever music I want on in the background.
As you say I think it will shake out. I know some say that people have forgotten the value of hard work and there is a push to get people back in the office full time, but I think having people in the environment that suits their productivity the best is the way forward (edit - and to circle back to the point - taking care of mental states is important to maintaining productivity).
I am not against jQuery but if it's just verbosity then it's quite easy to:
const $ = document.querySelectorAll.bind(document)
Then later:
$('#element').whatever
I used to be a big proponent of jQuery especially in the heyday of shims and browser hacks, but in the last few years I find it often gets in the way of what I'm trying to do. Now that the native browser APIs are maturing and relatively consistent, having direct access to the objects and their properties is simply more predictable than having to second-guess a layer of abstraction that does the same job but differently.
I have to remember, what does jQuery's .hide do again? It doesn't just set display to none or visibility hidden. Give it a duration, and it will use the style attribute to manipulate the display, width, height, opacity, padding, margin, etc. Then it leaves some style properties behind. Ugh. Do I really want to do all that stuff? Do I really want to build my UI framework around jQuery so I can avoid annoying transition artefacts?
Not hating on jQuery. Just my own experience. I used to feel liberated when using it because browser APIs were so terrible but now I feel encumbered if it's included as a dependency on a project I'm forced to work with, because it does so much black box magic. If you avoid certain things and stick to what it does well then it's not bad, but then there's no point using it because what it does well is no longer a pain point in browser APIs.
For me the main thing it excelled at was DOM selection and manipulation. Native does that just as well now. The secondary benefit was animation, which these days native CSS can go a long way without excess verbosity, and if you really need a more feature rich animation library I've not come across any better than Greensock for getting the job done, even if it does have a paid tier, though I am sure there are dozens of other libraries equally suited for animation, the point is that is not jQuery's strength either.
Anyway circling back to what you were saying, efficiency-wise, for any complex animations jQuery isn't the best tool for the job. For DOM manipulation native can be just as easy with some sugar. It can do a lot of unexpected and hidden things most people aren't aware are happening, so many bugs and time wasted realising jQuery was messing with style attributes that break an otherwise well designed layout.
I would rather write a few characters more code or a couple of lines more to have direct control over what's actually happening. That seems more efficient to me.
Edit: Ok on reflection I guess I am against jQuery, but I don't hate it. Using it these days just feels like trying to figure out how to get it to do what I want to the underlying APIs, when I could more easily and predictably just be manipulating the APIs directly.
Usually I'm not bothered by how a font looks but this one was unpleasant to me as well and I'm not one to usually notice. It seems they're using a font face designed for titles in the body text.
"“The Bodoni typestyle is not an all-purpose workhorse. It is, rather a high-strung thoroughbred,” says Allan Haley, Monotype’s director of words and letters. He is absolutely correct! Most currently available Bodoni designs are intended for, and best used for display sizes. Their extreme thin strokes won’t reproduce well at smaller sizes, which can degrade their appearance and lessen readability. Using a Bodoni outside of that version’s “sweet spot” size range can have unintended results: If you’re using one that is intended for display, but setting it at small point sizes, the thins might not hold up, spacing will most likely appear too tight, and overall readability will begin to be compromised. " - https://creativepro.com/typetalk-good-looking-bodoni-at-any-...
This is not going against what you said in principle, I feel what you are saying, but I feel the need to add that I was admin of a few topic oriented message boards in the 90's and early 2000's, and yeah as you said it was pretty good simply to be able to be part of some group that cared about the same random stuff as me, and I think a big part of it is because humanity literally had not ever been able to connect so quickly on shared interests from such geographically diverse regions before, but it wasn't all roses there either.
Personality cults were a regular theme. Honestly just one individual with no other goals in life could wreak havoc by constantly weaving between the rules, launching sock puppets to do some virtual Munchausen-by-proxy performance, painting admin as the bad guys, staging crises that didn't really exist to get more followers (in the social sense, there was not really a "follow" option in the platforms at the time). These topic-based forums were often in direct competition, and on more than one occasion it was revealed (usually by infiltrating via long-term social engineering so you could get to see the IP addresses of the members) that these users were from competitors trying to stir trouble and siphon off members.
Diversity and cliquishness was an issue. Generally a community would kick off around some exciting new theme, or just a general shared interest and grow organically from there. This was great but the longer the same group hangs together, the more insular the atmosphere and inside references became. It's just what groups of people do in physical groups when they hang together a lot - they grow bonds with each other, their shared experiences strengthen these bonds, and newcomers see this and can see that it will take a lot of effort and patience to reach the same level of acceptance, and the older and more insular a community becomes, the less people are attracted to it. Then eventually the older members see there's nothing new to learn here and drift off. So the lifecycle of topic-based message boards followed a standard inception/growth/stagnation/diaspora pattern.
Generalised social media puts everyone on an even platform - albeit a pretty shitty one - everyone sucks equally by default. You're correct in that the centralisation has a ton of other side effects and I don't disagree that many of these aren't what people want (if they're aware of it). Just that as I said it wasn't all roses and we can't just "go back". There were tons of reasons why the topic-oriented message boards faded away and it wasn't just laziness or convenience. It is human nature to desire connection and a sense of place, balanced with a need for novelty and invigoration of ideas. Generalised social media provides that routinely and formulaically, they basically hacked our brains.
Also on practicality of your suggestion, we can't force people to go back. You can't put a gun to people's heads and force them to only use single issue forums. I get the nostalgia because I was a part of it and it was great for a time, but it did also have a ton of downsides.
I think we need to move forward not go back. Federated social networks are one attempt at this. It's a lot to take on board as we have to learn new things like managing our identity / signatures and learning differences between providers, but efforts are underway to try and shift us away from the big old attention silos people have been trained to use these days.
Many of the projects I worked on would have a near-identical replication of an environment from the network stack to the application and databases. Flipping from staging to production was sometimes as simple as a DNS update. It's always an eye opener to see businesses at this scale operating without a full replication of production in staging. It's always harrowing when you're testing a destructive change on dummy data just knowing there's a million ways a live deployment could go wrong, and the impact just scales the bigger you get so that kind of redundancy just seems even more important.
It could be argued at the scale of a company like Atlassian that this level of redundancy is prohibitively expensive, that's a lot of databases and files to have sitting around doing nothing 99.99% of the time, and it's hard to argue for prevention of something that's never happened and would be a costly thing to tool up for. But you can definitely factor scaling your redundant capacity into your model, both pricing-wise and engineering-wise. It's not like Atlassian products are cheap to begin with, I'm sure they can sustain some velocity / bottom line hit for the sake of something as basic as fully replicated staging environments. I definitely don't think this is on the engineers, it's a strategic oversight and shows where ultimate priorities lie within the company.
Putting your trust in a cloud service to take care of things you'd otherwise have to worry about yourself is a major decision, and safety is one of the top priorities of basically every user, and seeing the lack of process and glib approach to staging is a major red flag.
Anyway that aside I do appreciate their detailed write up and it does feel like a bluntly honest and truthful disclosure. That goes a long way to restoring trust, but it does also expose some of how the sausage is made and it's clear some of the ingredients are questionable. It does bear the hallmarks of a small successful software startup hitting the big time and scaling with acquisitions faster than supporting processes can safely scale; they have a team of engineers and it's up to them where to engage them and it seems being able to do proper dry runs of destructive changes wasn't seen as more valuable than getting more services on the products page.
Hopefully they'll act on the recommendations of the report and implement the improvements they said they would and not just refocus their efforts elsewhere once the spotlight moves on. I'd like to see regular updates on this as a long-term Atlassian user as it would factor greatly into me recommending Atlassian products over other stacks in the future. They could easily set up a public Jira / Trello board so we can keep track of progress on these promises.
Obviously this is not unique, these mistakes have happened before, so it's not just the kind of stuff that seems obvious in hindsight. I am sure there were engineers highlighting these issues internally but scaling redundancy is never as sexy as onboarding a new product and adding its customers (and revenue) to your quarterly reports. Hopefully the reputation hit is a stark reminder to the c-suite that yes, they are running a technology company, and that means that technology and engineering should be just as important as growth and penetration.
Anyway, good on them for being open. Well done to the engineers who worked to untangle the mess, good on management for allowing this level of transparency and taking ownership, things could have been a lot worse by the sounds of things.
I was reaching on the mapping of numbers to letters to be honest. If I were designing a system to track and corelate everything I'd take it into account since it's still in use, but yeah that was a definite stretch in this case.
But I am pretty sure this was just a proximity match. When you're dealing with the quantity of telemetry the big players deal with, you're talking billions of people in real-time all day long, then how do you figure out what's relevant and what isn't?
Physical proximity is important. You don't have to swap contacts with someone for your telemetry to connect you with them. I mean you were right next to someone who was right next to them, out of billions of people you're relevant, so no one needs to share contact details. The manufacturer of the phone knows your geolocation. Your telecom company knows your geolocation. If you have bluetooth or wifi switched on and you're already fingerprinted, then every chain store knows your geolocation. If you use a credit card or eftpos card anywhere, the products you purchase are combined into your profile, etc etc.
That and you already had them in your contact list (even though you were surprised they were, you're not saying they weren't, I have people in my contact list from 15 years ago I only spoke with one time...), they already know that you've bumped into this contact before in the past, and boost the recommendation because you shared the contact and the geospatial relevance in a short period of time.
Like I'm pretty cynical and suspicious at the best of times, but once I started to realise the above, all my "oh shit they're listening" moments kind of dissolved because I could trace all of them back to being in the same room as someone who had met a person, or had been actively searching a related topic in the past few days.
Yeah it's still spooky, it's the reason I run a pi-hole, and got myself off most social media.
Also I noticed this thread got flagged. Not sure exactly why but I think it's because this same subject has come up a few times. I do think people need to better understand how network analysis can reveal spooky shit about our behaviours, like our devices don't need to be literally listening to our words in order for corporations and governments to know exactly who we are or what we're about. There's tons of different signals we all send out each day that fingerprint exactly who we are, who we're related to, and what we care about, they don't need realtime voice processing.
Telemetry is the catch-all phrase used to describe data captured about a device. Telemetry servers combine this information to build profiles on users. Network models of relationships between devices and user behaviours are used in recommendation engines including autocomplete results.
If you are in the same room as a cohort of people, if one or more people had been searching or messaging the X & Y Smiths, then by geolocation since you all attend the same church, you're associated as potentially interested, especially considering you already had their details saved.
There are also fuzzy logic factors, like maybe those three letters weren't in their name but were in their phone number (each number corresponds to several alphabet characters), or might have been in a message you've long since deleted but is still in your autocomplete index which combined with the geolocation weighting could have caused it to pop up as an option.
In these instances it might appear your phone is listening, but you were in the same room as some people who were probably also interested in that family, had their data in your history, and being a new connection could have boosted its relevance too. (I just saw someone else also answered that you probably only noticed this event because of the conversation, or the Baader–Meinhof phenomenon, which is also plausible)
Not saying definitively that your phone was not covertly listening but our devices are capturing and correlating a massive amount of dimensions related to our behaviours at all times, so it's not beyond reason that enough of these factors lined up to cause the autocomplete engine to suggest it as a reasonable option.
"xyzzy: nothing happens, nice try!"
Drats!
Nice little tie-ins with memorabilia as well.
I started writing a similar thing myself based on the Amstrad CPC look-n-feel. I should go back and finish it.
If permanency is a priority then letting external scripts be responsible for presenting content is not a good idea, especially if the agreement doesn't make any promises about whether content will be permanent, and doubly so if the agreement / terms of service explicitly say they can change the behaviour of their services at any time.
What this probably calls for and maybe something is out there is some service that can embed, archive, and track changes to a tweet or social media post. You'd embed the same way, but the archive will fetch and cache the content. It could then serve up the original version, as well as a timeline of changes.
The right to be forgotten has merit though, and I can see twitter's logic there and probably they're under pressure via GDPR or something. So any archival or cache service would need to take that into account. Various countries and districts have varying laws on what is and isn't official public record too, so it seems like managing that could be the function of a dedicated archival service.
"We only have two environments: our laptops, and production. Once we merge into the main branch, it will be immediately deployed to production."
Maybe my reading skills have completely vanished but to me, this exactly says they deploy directly from their developers' laptops to production. Those are literally the words used. The rest of the article goes on to defend not having a pre production environment.
They literally detail how they deploy from their laptops to production with no other environments and make arguments for why that's a good thing.
This sounds like something I would write if a hypothetical gun was pointed at my head in a company where the most prominent customer complaint was that time spent in QA and testing was too expensive.
I have zero trust in any company that deploys directly from a developer's laptop to production, not in the least starting with how much do you trust that developer. There has to be some process right?
Tangential but what is the most successful and most complex example of a fully FP-based application where I can view the source-code today? I feel like I still don't quite grasp the essence of the conflict between FP and whatever it seems to be opposing. I also feel like I use what a lot of FP people claim as FP in my day-to-day.
I think if I can see some code beyond the old map/reduce toy examples it might click. Not wanting to be confrontational, and I know that this forum isn't here specifically to educate me personally, I just genuinely have had problems understanding what FP is "supposed" to be that any good programmer doesn't already do when possible, regardless of language or whatever.
I'm sure it will click and I'll look dumb but yeah. Isn't loose coupling and strong coherence kind of covering this already? Is it just down to doing map/reduce/filter to avoid mutating some variable and instead get a new set of results? Is mutation the charm?
I genuinely really feel I'm missing out on something important here because I have older views on programming, I've struggled to get a good explanation. Do I have to go back to school again? I'm not against that but yeah. I'm sorry if this sounds ignorant, but I kind of am.
Possibly a lot of the 40k went into branding and other fluff, but something in the core engine might have intrinsic value even if its extrinsic value wasn't properly realised or couldn't find a place in the market as a standalone product.
It would be nice if there were some kind of universal project "retirement home" where these sorts of things could go to pasture, caretakers could prod at the idea and pull it apart, find the intrinsic value if any, and integrate the guts of it into some broader universal API. Such a platform of trinkets that solve tiny everyday problems that individually have little value might actually be useful in any sort of recommendation engine. API calls could be metered so the original creators of each piece get some kind of return however small.
Give me 40k and some failed IPs to play with and I'll deliver a prototype in a few months...
A few hot takes:
- I feel some analogous thinking with computational complexity. An action may have broad repercussions, but in big O thinking, as we approach infinity, only those factors with the most significant impact matter. Considering infinities is a useful lens when trying to reduce complexity to the most significant factors.
- That kind of analysis is typically only useful if you have the entire algorithm and all its variables mapped out. A big-O approach to the travelling salesman problem wouldn't be accurate if you didn't consider the travelling part. You'd say hey, only 1 destination is added at a time, so the impact of each new destination is linear, which is wildly incorrect.
- As long as a subject matter is subjective and people get to decide which variables belong and which can be ignored, and what impact a variable may have, the analysis will be incorrect, most likely wildly incorrect. Is there a universal method for deciding which factors are important?
"Should we bomb our neighbours and steal their chocolate, or buy their chocolate instead of making our own? Well, our main export is chocolate, so they are taking bread off our citizens tables. Infinite bombs = infinite bread." Obviously a few factors are missing - but which factors?
Obviously there's limits to the technique but I think it's an interesting lens to view ethical concerns through, but I don't see how (would like to better understand if?) it provides any insight into universal ethics or if there is such a thing because at the core of it all is a person who gets to decide what they think is and isn't important to factor into the calculation. Or maybe that's the point I missed.
Interesting in any case.
Content I find interesting, fair but firm moderation keeping the vibe in check, constructive conversations by and large. I never really notice the UI personally.
"Are you tired of waking up late? Rushing out the door without breakfast, again? Overdue for your fondue? Then you need Toastamak! Our patented quasispace manifold uses space age technology to fetch hot, fresh toast and toastlike products from the interdimensional superposition of spacetime itself. Need it yesterday? No problem! Toastamak's causality-preserving temporal inversion matrix will make ruined dinner parties a thing of the past. Literally!"
(Toastamak products contain no user servicable parts. Only to be used on bread and bread-derivatives. No warranty or liability accepted for breeding-based temporal anomalies. Fusion cells not included.)
Somewhere deep underground, in a high-tech laboratory, a group of scientists lean over a slice of toast levitating in some Contact-esque structure...
"Dr Gibbons! The zero-point readings are off the scale! We've done it!"
The toast briefly flickers into a pizza, then a burrito, then back to being a piece of toast.
His brows furrow. "No. This can't be. Shut it down! Delete the files! No one can ever learn of this!"
I find the cube rule to be naïve in its ignorance of topological spaces. A sandwich is just a cross section of mobius toast. A wrap is just toast projected onto a cylinder. A calzone is just toast projected onto a sphere. Everything is toast! Why can't people see this!
*walks off into the distance muttering obscenities*
This helps complete the picture, thanks. In my current use-case I am batching up precomputing some expensive calculations in a genetic algorithm which all needs to be finished before I can run the competition. If one of the phenotypes throws an error Promises.all will catch it and my program will continue and I can handle the error, but as for my workers, yup they will leak - and I can't stop that using promises / async / await without leaking some internals of my workers with some shared semaphore or something, which is so 1990's. So yours this was a perfect example that helped bring it all together.
Funnily enough after this thread I did some digging around and came across effection as well, I'd never come across the term "structured concurrency" before but it feels like a natural next step on what I'm trying to accomplish, so I'll definitely be keen to see more development in this area and maybe some first class language constructs at some point.
Thanks for taking the time to give an example and explain the concept in relatable terms.
I think I'm getting the picture from this and other replies. To get close to a sense of structured concurrency I've had to lean on a plugin that handles worker threads (or would have to write one myself), and tie this in with async/await language features, and add some checks to handle thread lifetime and error states.
It would be really nice to have a first class language feature to wrap all this up, it sounds like that's what structured concurrency as a concept is aiming towards.
So I guess my example resembles some form of structured concurrency but the threads are not encapsulated in the parent's closure. I still need to structure my promises and await / async logic to deal with the edge cases and make sure the program doesn't get stuck or leave threads hanging. That makes sense, thanks.