News for hackers. Stuff that matters.
Re:W3C recommends WebAssembly by simias on Friday December 06, 2019 @11:40AM (#21723423)
If you look at the history of the web it's clear that the tendency has always been towards "shinier things". This "historic separation" was the result of technical limitations, see how popular Flash used to be for instance.

HTML and CSS standards were always at least 10 years too late. If you wanted something that looked modern you've always had to use browser-specific extensions, plugins or, at best, "beta" features.

Seriously, I know that nowadays many devs have started straight with web technologies and don't have a lot of experience besides that but if that's your case do yourself a favor and give a quick look at a proper UI toolkit like Qt. Would it blow your mind if I told you that you can create a complex treeview without having to use third-party libraries or reinventing half the wheel yourself? Crazy, I know.

If anything this "historic separation" and people who still hold onto it might be one of the reasons the modern web is such a messy patchwork of technologies, if web engineers had accepted that an open source Flash was actually the endgame and not a problem we might have saved us some time and some trouble.

To be clear I'm not saying that it's a bad idea per-se, I personally believe that the web is way too complicated as it is, I just feel like it's similar to arguing that "literally" shouldn't be used to mean "extremely" in modern English. Sure, I get your point, but I don't think it's a battle you can win.

Re:W3C recommends WebAssembly by Pete_D on Friday December 06, 2019 @01:02PM (#21724370)
The change in dev culture worries me more than the change in technology. At least Flash sites used to be considered bad taste. Dare to grumble about something unnecessarily requiring gratuitous JS now, and you'll get berated as an out-of-touch Luddite who needs to shut up and get with the times.
Re:W3C recommends WebAssembly by throwaway894345 on Friday December 06, 2019 @02:20PM (#21725074)
My impression was the criticisms of flash stemmed from its security issues, it’s closed nature, it’s relative unfamiliarity (compared to popular languages of the time), and the nuisance that was making sure you had the right version running on your machine at any given time. Modern JavaScript addressed these issues, hence its popularity over Flash. This doesn’t endorse the gratuitous application of JS for fundamentally static content, but it sets the context for your perceived “shift in dev culture”.
Re:W3C recommends WebAssembly by als0 on Friday December 06, 2019 @03:11PM (#21725510)
> Modern JavaScript addressed these issues, hence its popularity over Flash

I think that while this is technically true, technical adequacy didn't lure developers away from Flash player. I believe that the real turning point was when Apple decided to break Adobe's monopoly on the web by disallowing Flash player on all their products.

Re:W3C recommends WebAssembly by throwaway894345 on Friday December 06, 2019 @03:57PM (#21725912)
I agree that that was a turning point for usage, but we're discussing popularity among developers. Flash was unpopular among developers long before Apple banned it.
Re:W3C recommends WebAssembly by als0 on Friday December 06, 2019 @04:06PM (#21725982)
Flash was on approximately 30% of websites before. It's hard to understand the argument that it was unpopular amongst devs.
Re:W3C recommends WebAssembly by throwaway894345 on Friday December 06, 2019 @04:11PM (#21726022)
Devs hated Flash for all of the reasons cited above, but browsers didn't support anything better for many use cases.
Re:W3C recommends WebAssembly by ppseafield on Friday December 06, 2019 @04:32PM (#21726185)
Indeed. As an example for a long time you had to have Flash to play a video on your page. The HTML5 video support eventually ended the need for Flash to do this, but it came much later and very slowly became supported cross-browser.
Re:W3C recommends WebAssembly by jayflux on Friday December 06, 2019 @08:44PM (#21727886)
Although that event was a nail in the coffin, developers were moving away from flash long before Apple banned it.
Re:W3C recommends WebAssembly by pmontra on Friday December 06, 2019 @03:17PM (#21725556)
One of the reasons of the downfall of Flash were those tiny Flash sites in the middle of a full screen page when we suddenly moved from small screens to 1366x768 or better. Many sites didn't have the resources to upgrade and started looking like something 100 years old.
Re:W3C recommends WebAssembly by bm98 on Friday December 06, 2019 @03:49PM (#21725850)
I always thought the primary driver of the demise of Flash was that Apple simply decided not to support it in iOS Safari. Is that not right?
Re:W3C recommends WebAssembly by munk-a on Friday December 06, 2019 @06:34PM (#21727173)
Apple did decide to not support it, but they didn't decide not to support a thriving product - it's like 3 1/4 floppy disks, when the iMac decided not to include a 3 1/4 drive people grumbled but it was mostly dead tech, writable CDs had become wide spread enough to obsolete it - with flash, when Apple decided to drop support, they did so in an era where preferred alternatives already existed and the tech was thoroughly reviled - so Apple put the final nail in the coffin, but flash was already in the ground at that point.
Re:W3C recommends WebAssembly by tzs on Friday December 06, 2019 @11:52PM (#21728542)
> when the iMac decided not to include a 3 1/4 drive people grumbled but it was mostly dead tech, writable CDs had become wide spread enough to obsolete it

The G3 iMac did not include a CD writer, so if you wanted to use writable CD to get data out of your iMac, you needed to buy an external drive.

You aren't quite right on writable CD being wide spread then--you are early by at least a year or two. When the G3 iMac came out CD-R drives were still above $300, and CD-RW drives were above $450. CD-R discs were around $2 a disc, and CD-RW discs were more like $15-20 a disc. (I'm getting prices from the November 1998 issue of MacWorld).

My recollection is that the usual ways people dealt with the lack of floppy were:

1. External floppy drive.

2. Iomega Zip drive. An external Zip drive suitable for use with the G3 iMac was about $120 when that iMac came out.

3. Ethernet to exchange files with another computer on the LAN that does have a floppy.

Re:W3C recommends WebAssembly by stjohnswarts on Saturday December 07, 2019 @12:02AM (#21728578)
That's not correct. Flash usage was trending down fairly rapidly even before that as javascript, css, html5, canvas, and DOM became more feature filled.
Re:W3C recommends WebAssembly by root_axis on Friday December 06, 2019 @03:06PM (#21725469)
By definition, everyone agrees that "gratuitous" use of JS is bad. You're glossing over the nuance of the debate which comes down to the specifics of when something is actually gratuitous.
Re:W3C recommends WebAssembly by salawat on Friday December 06, 2019 @05:14PM (#21726525)
You mean when the amount of JS you have to download eclipses the size of the original DOOM executable?
Re:W3C recommends WebAssembly by amw-zero on Friday December 06, 2019 @07:02PM (#21727363)
You hit the nail on the head. At this point I’ve done about equal amounts of time building native apps and web apps. I’m very fortunate in that I don’t have to “pick a side” because I understand the strengths of both platforms and I try and learn from the strengths of both and apply that to whatever I’m working on.

For example I’m a huge fan of the declarative UI trend going on in the web community. Now, granted, Microsoft came out with MVVM and XAML way before React or Angular existed, but native UI libraries are so historically imperative that declarative UI wasn’t making much of a dent in the native sphere.

But even though these older native frameworks are imperative, they are much more powerful than anything like React out of the box. They’re much more comparable to component frameworks like Bootstrap, SemanticUI, AntD, etc. But even still, those libraries don’t come anywhere close to the power of Qt or UIKit in iOS. If you’ve used both, I can’t imagine you saying that it’s even close.

But it’s precisely because of the tension between the web as a document platform vs. the web as an application platform. The web has never doubled down on being an application platform, it always keeps its document roots in the background in some way. Personally, I’m torn. I love the transparency and inspectability of the web. Literally yesterday I opened up the dev tools inn twitter and I learned about its timeline architecture just from inspecting the requests. This is the biggest thing I miss when I’m working on a native app.

But WebAssembly may be the web finally doubling down on being an application platform. Whether that’s good or bad is irrelevant at this point. It’s the direction it’s headed in.

Re:W3C recommends WebAssembly by danShumway on Friday December 06, 2019 @12:12PM (#21723785)
> Would it blow your mind if I told you that you can create a complex treeview without having to use third-party libraries

No, not any more than C#'s giant standard library blows my mind.

Keeping the web small is a strategic decision -- it may look like chaos, but it's really just that we realized that embracing 3rd-party libraries is a better architectural decision than polluting the core spec with features that will be outdated in a few years.

QT doesn't have these problems because QT doesn't have to be infinitely backwards-compatible. If QT makes a mistake, it can fix it in the next version. The web can't do that, so we have to be more careful. If anything, my biggest criticism of the web is that we move too quickly and stick too many "modern" features in. I would have been happy to drop Classes and Arrow Functions from the JS spec, and I would have been happy to drop `sticky` from the CSS spec. As an engineer, I absolutely don't want a hamburger menu as a core HTML component.

I've had people argue to me that HTML needs more 2-way data binding and element types -- they want the ability to tie a list to a JSON object or something, instead of needing to render out separate `<li>` elements. These people are missing the point.

HTML is your user-presented state. We have a few elements that break this convention, but for the most part we want your final HTML to be static and human-readable. It's not for you, it's for your users. And 2-way data bindings would get in the way of that.

For laying things out and creating complicated lists, we have third-party libraries/frameworks -- and honestly, they work fine. If you think the web is overcomplicated or has too many frameworks right now, just wait until we start stuffing a new first-party component into it every time any design trend becomes popular.

And even if we did add all of that nonsense, people would just ignore those components anyway. No manager I've ever worked with has ever said to me, "you know, pure HTML select inputs look great and I don't mind them rendering differently in different browsers." I would be reimplementing them in JS anyway just to get the styling consistent between IE and Firefox. The good HTML components I can actually use are the low-level ones like simple input fields -- because they're small and simple enough that they can be styled and incorporated into larger custom-built solutions.

Heck, I've had managers complain to me about scroll-bar styling before. But sure, they'd totally be happy with a giant, pre-built, monolithic tree-view component that's using mid-2000s styling.

Re:W3C recommends WebAssembly by simias on Friday December 06, 2019 @12:49PM (#21724201)
I'd argue that the problem isn't so much backward compatibility than being opinionated vs not. Qt knows what it's doing, knows what it isn't doing and then from there defines the perimeter of its APIs.

For better or worse the web never did that work, HTML+CSS+JS is meant to be both a way to make static websites, but also interactive e-shops, but also mail clients, but also videogames, but also ultra-heavy single-page apps like Discord etc...

And that's the greatest power of the web, but I can't see how this state of affair won't lead, one way or the other, towards a more monolithic architecture. Keeping HTML and CSS cleanly separated and JS only for the fancy stuff (but always optional!) is noble but it's a pipe dream when the use cases are so diverse. WebAssembly, or something like it, seems to be clearly the path forward.

Overall I think we should be happy too, at least it's not a closed source blob. Remember how long it took us to get rid of bloody Flash? Actually if Steve Jobs hadn't decided to drop it from iPhones I wouldn't be surprised if it had survived in common use to this day.

Re:W3C recommends WebAssembly by joshuarubin on Friday December 06, 2019 @01:11PM (#21724452)
It's hard to identify specific decisions made by Jobs from the outside, but killing Flash on the iPhone seems like something _only_ Jobs could have done. Sure he and Adobe were in a tiff... Anyway, it's likely that this is a rare case where one person making a unilateral, perhaps tyrannical, decision benefited the whole world.
Re:W3C recommends WebAssembly by BlueTemplar on Friday December 06, 2019 @02:10PM (#21724988)
The fancy stuff can go live in apps, it has nothing to do in a browser designed for webpages first. I mean, just compare the GUIs of VLC and YouTube!
Re:W3C recommends WebAssembly by shadowgovt on Friday December 06, 2019 @02:27PM (#21725144)
But with the strong advantages of access to the Internet that a website brings (which is itself a whole bag of hard problems to solve), the appeal of building things accessible via browser user-agent (regardless of what the thing is) is huge.

It shouldn't be necessary to toss out the cookie jar, the HTTP connection handler, the XSS protection just because one wants to do something a bit different with the final rendering stage.

Re:W3C recommends WebAssembly by BlueTemplar on Friday December 06, 2019 @03:03PM (#21725437)
What prevents access to the Internet from a non-website ? Why use the HyperTEXT Transfer Protocol for things completely unrelated to text - it's not like other, more appropriate protocols are not available, or cannot be designed ! (Or that URLs are limited to HTTP...)
Re:W3C recommends WebAssembly by shadowgovt on Friday December 06, 2019 @08:38PM (#21727859)
At this point, HTTP has enough tooling around it to do enough significant application-layer things that the opportunity cost of rolling new protocols is extremely high.

It's not just text transfer... HTTP also goes hand-in-glove with HTTPS, which is a technology few people want to build an alternative for (and fewer people should be trusted to do correctly).

Re:W3C recommends WebAssembly by BlueTemplar on Saturday December 07, 2019 @08:02AM (#21730050)
Trying to force everything over HTTP is a bad practice that is slowly killing the Internet.
Re:W3C recommends WebAssembly by shadowgovt on Saturday December 07, 2019 @01:07PM (#21731627)
[citation needed]. Traffic, usage, diversity of usage, investment, all of these are higher than they've ever been and still trending upwards. What definitions are we using by which we can look at these numbers and claim the internet is being "killed?"
Re:W3C recommends WebAssembly by BlueTemplar on Saturday December 07, 2019 @02:10PM (#21731964)
Re:W3C recommends WebAssembly by shadowgovt on Sunday December 08, 2019 @10:28AM (#21736328)
If that's the definition by which people think the internet is dying, I find the definition suspect. And I find the solution suspect, because the notion of building protocols instead of platforms doesn't address the question of how to route those protocols over a network that has evolved to address the problems associated with laissez-faire protocol management in the past.

There's a very good reason that so many systems block everything except port 80. Does the idea of protocols instead of platforms address that reason? Because most people don't want to make themselves vulnerable to attacks along threat vectors they aren't even aware exist.

Re:W3C recommends WebAssembly by mtrower on Sunday December 08, 2019 @01:22PM (#21737260)
> There's a very good reason that so many systems block everything except port 80.

Elaborate? Rather than using different ports for different protocols and filtering what you don't want/need, you instead tunnel everything through port 80 and effectively don't filter at all?

Re:W3C recommends WebAssembly by shadowgovt on Sunday December 08, 2019 @03:24PM (#21738050)
Remember when Windows installs didn't have firewalls on by default and it was pretty trivial to attack people's installations via insufficiently-secure protocols running on open ports? It was a bad time.

HTTP has both elaborate tooling for deep packet analysis and a battle-hardened secured protocol, which we don't get with new protocols.

Re:W3C recommends WebAssembly by BlueTemplar on Monday December 09, 2019 @09:17AM (#21742798)
Well, yes, we used to not care about security as much.

These days, don't you think that consumer routers sold without firewalls should be about as illegal as selling cars with only motor braking ?

Re:W3C recommends WebAssembly by mtrower on Sunday December 08, 2019 @01:18PM (#21737236)
What? How is SSL dependent in any way on HTTPS?
Re:W3C recommends WebAssembly by shadowgovt on Sunday December 08, 2019 @03:21PM (#21738037)
Ftp and sftp are different protocols. So are HTTP and HTTPS. So are IMAP and IMAPS. And that's the issue with new protocols being added: the security question is a protocol-layer question, but one can't just hot-drop a new protocol into SSL and call it a day; security requires abstraction-breaking considerations.
Re:W3C recommends WebAssembly by Pete_D on Friday December 06, 2019 @04:00PM (#21725930)
Partly firewalls and proxies. If you've not read it already you might be interested in https://tools.ietf.org/rfc/rfc3205.txt ("On the use of HTTP as a Substrate"). I wish we still built protocols too.
Re:W3C recommends WebAssembly by BlueTemplar on Saturday December 07, 2019 @07:59AM (#21730041)
Indeed. IMHO the right move would be to put pressure on bad actors that only allow HTTP over port 80 and still claim to be "ISPs"... (And with IPv6 having been finalized, NATs are now obsolete.)

And, as they say : > It would be useful to establish guidelines for "firewall-friendly" protocols, to make it easier for existing firewalls to be compatible with new protocols.

I believe that the Internet is fundamentally about protocols, and that platforms are to be banned if we care about it : https://knightcolumbia.org/content/protocols-not-platforms-a...

Re:W3C recommends WebAssembly by shadowgovt on Saturday December 07, 2019 @01:10PM (#21731645)
Novel protocols have their uses, and when that use can be demonstrated they can find their niche. But their value has to be extremely high to justify the opportunity cost of using them over something more established.

To turn the question sideways a bit, there's nothing stopping some conglomeration from developing an alternative to 802.11 standards. All they have to do is create the hardware, convince people to use the hardware, create software to adapt a novel protocol to the higher layers of the networking stack to make it usable by application software (including addressing all of the ways that a new lower layer inevitably breaks an abstraction or two), and create the tooling necessary to make an ecosystem of non-802.11 wireless devices easy to install, maintain, and interoperate.

... But outside of particular special applications where something about 802.11 protocols or the frequencies they communicate upon makes them an ill-fit, there aren't many reasons to do so. Good enough displaces perfect in the common case.

Re:W3C recommends WebAssembly by BlueTemplar on Saturday December 07, 2019 @02:08PM (#21731960)
Well, yes, lower level protocols are harder to implement and deploy because they require new hardware - but I'm not sure how are they relevant in a discussion about higher level protocols that are in software and build on the Internet Protocol?
Re:W3C recommends WebAssembly by shadowgovt on Sunday December 08, 2019 @09:01AM (#21735913)
The details of the complexities change, but the complexities are still there. You still need adoption by multiple parties, you still need to solve the application level challenges that HTTP solves (including, most importantly, secure communication over an open network), and you still need tooling to understand the protocol in flight, including its failure modes, to debug an application built atop the protocol. And you lose the utility of libraries and infrastructure built around using the other protocol.

The opportunity cost to do that with a brand new protocol instead of taking advantage of HTTP's flexibility to build new protocol atop HTTP is high.

Re:W3C recommends WebAssembly by BlueTemplar on Monday December 09, 2019 @09:21AM (#21742832)
I can only be suspicious about too much complexity and stacking in what is essentially infrastructure - that should be reliable, and therefore have minimum complexity. Any initial opportunity costs are tiny when these protocols are used by billions of devices !
Re:W3C recommends WebAssembly by shadowgovt on Monday December 09, 2019 @11:01AM (#21743712)
But they aren't. The vast majority of novel protocols never see a billion adopters. There are a handful that have; the email protocols are one, HTTP is another.

Nobody's stopping anyone from building new protocols... Except, of course, the fact that nobody wants to adopt a new protocol. But if someone does come up with an indispensable alternative to HTTP(s), it should find traction, right?

Re:W3C recommends WebAssembly by BlueTemplar on Monday December 09, 2019 @12:03PM (#21744214)
Google and Facebook were very glad to "adopt" XMPP : https://salibra.com/p/the-death-of-jabber-8ea395e82f5b
Re:W3C recommends WebAssembly by shadowgovt on Monday December 09, 2019 @01:14PM (#21744885)
XMPP is an excellent example of why existing flexible protocols push out novel protocols. When Google and Facebook wanted to improve the user experience of their XMPP clients, they encountered roadblocks in the fundamental design of the protocol itself. They finally reached a point where exiting the protocol was easier than improving it.
Re:W3C recommends WebAssembly by BlueTemplar on Tuesday December 10, 2019 @07:05AM (#21751695)
"Exiting" doesn't seem to be the right word? How do we stop Google, who is currently "exiting" HTML ?
Re:W3C recommends WebAssembly by shadowgovt on Tuesday December 10, 2019 @01:09PM (#21755004)
Should we? I thought you were making the argument that HTML was a bad fit for non-hyperTEXT content. From up-thread:

"Why use the HyperTEXT Transfer Protocol for things completely unrelated to text..."

If Google agrees with you, would we want to stop them?

Re:W3C recommends WebAssembly by BlueTemplar on Tuesday December 10, 2019 @04:12PM (#21756914)
By "exiting", I mean Embracing-Extending-Extinguishing.
Re:W3C recommends WebAssembly by millstone on Friday December 06, 2019 @12:32PM (#21724026)
Complicated lists on the web are really bad. If you have a lazily populated table, it breaks the browser's Find, it typically breaks the scroll bar positioning, there's visible holes while it populates, scrolling is janky slow, the scroll bar will jump unexpectedly.

This is one place where HTML does not give enough primitives for a quality library-based solution.

Re:W3C recommends WebAssembly by pier25 on Friday December 06, 2019 @12:30PM (#21723998)
> These people are missing the point

Maybe not.

If data binding, dynamic markup, reactivity, etc, were baked into browser we'd save a ton of kbs and CPU cycles.

Re:W3C recommends WebAssembly by com2kid on Friday December 06, 2019 @09:29PM (#21728057)
> Would it blow your mind if I told you that you can create a complex treeview without having to use third-party libraries or reinventing half the wheel yourself? Crazy

QT is a third party library that wraps the underlying OS primitives.

A really fancy tree view in JS is 10KB, maybe 15KB, given desktop+mobile support, proper accessibility, and good support for theming.

And that is if you are getting really fancy. A simple one is just some DIVs and a CSS animation for opening and closing.

That is assuming you even bother with JS, since you can do a treeview in the browser with CSS alone[1].

UI toolkits exist for the web as well, and they tend to be rather small, browsers ship with a lot of UI primitives after all!

The UI portion of code for my B2B web-app with all custom UI elements and with mobile+desktop support is around 100KB unminified.

Now the libraries I pull in to do the real time database streaming and authentication to my back end? Those dwarf the UI code (they are hundreds of KB each), but the native versions of those libraries are far larger (10x)[2], than the JavaScript equivalents.

> Would it blow your mind if I told you that you can create a complex treeview without having to use third-party libraries or reinventing half the wheel yourself?

The browser comes with a lot of wheels included, very few are getting re-invented unless someone wants indulge themself.

> To be clear I'm not saying that it's a bad idea per-se, I personally believe that the web is way too complicated as it is

Get rid of the weird things that happen to make advertising possible and most websites are pretty simple. Even complex web-apps are pretty easy to understand now days, though you'll have to learn whatever data-binding technique the dev team decided to use, but that is the same case for modern desktop applications.

[1]https://codepen.io/kobusvanwykk/pen/NqXVNQ

[2]https://stackoverflow.com/questions/41750553/what-is-the-est...

Re:W3C recommends WebAssembly by numtel on Saturday December 07, 2019 @10:11PM (#21734137)
For your #1 example, there is now the details and summary element that accomplish this too.
Re:W3C recommends WebAssembly by jackewiehose on Friday December 06, 2019 @04:09PM (#21726008)
> This "historic separation" was the result of technical limitations, see how popular Flash used to be for instance.

I thought HTML was developed with HATEOAS in mind. So I don't see the seperation as a technical limitation but a powerful abstraction. Flash was what people wanted but HTML was what a good web needed (imagine the internet with only Flash/WebAsm from the beginning).

Re:W3C recommends WebAssembly by 6gvONxR4sf7o on Saturday December 07, 2019 @01:34AM (#21728865)
I agree that the web is heading in a direction where it'll be easier to build cool websites. I think a possibly unintentional side effect of HTML as a base was that everything was hackable. It's like everything was open source and DRM free, whether you like it or not. I think this was probably a driver of the web becoming what it did. Imagine building pagerank when you can't scrape text or hyperlinks.
Re:W3C recommends WebAssembly by no_identd on Friday December 06, 2019 @12:25PM (#21723949)
The reason behind 'the Web' resembling the mess unfortunately best exemplified by 'the Net' has a much simpler and trivial reason:

We have globally networked local Networks of locally networkable Networks and most of us naively think that this Global Network of Local Networks networking Local Networks actually functions as a universally internetworking Internetwork of universally internetworkable Internetworks internetworking internetworkable Internetworks internetworking internetworkable Networks[([¹]1)], because we trust the people who've labeled both IPv4 and IPv6 as the "Internet Protocol" despite it not in any way, shape or form having the ability to perform what the people who came up with the concept of internetworking (no, NOT the ARPA people.) actually meant by the term.[2]

As the simplest proof of this fact: We've almost reached 2020 and all of our 'solutions' for multi homing don't ACTUALLY work in a not-pants-on-head-dysfunctional despite the fact that we've faced that issue since, to quote Wikipedia, "In 1972, Tinker Air Force Base wanted connections to two different IMPs for redundancy. ARPANET designers realized that they couldn't support this feature because host addresses were the addresses of the IMP port number the host was connected to (borrowing from telephony)."

Our 'Inter'net at the moment still resembles just a global network, aka just plain old phone calls, with extra steps. Which explains both the mess we call the WWW, and the global dominance of large telcos.Can't give an AS number and BGP access to just anyone[([²]4)] , as we know ever since L0pht Heavy Industries testified before the US Senate, over 2 decades ago, back in 1998.[3] NOTHING has fundamentally changed about this since. We've just written bigger and bigger macros ignorant of why we keep having to fight windmills & having to reinvent the wheel over and over again.

[1 (¹ yes, I did intentionally phrase that in & as a reference to a certain Cisco exam question.)]

[2 see https://news.ycombinator.com/item?id=21108796, but also see http://ict-arcfire.eu/index.php/rina/ & http://ict-arcfire.eu/wp-content/uploads/2018/06/OCARINA-ind... ]

[3 https://youtu.be/VVJldn_MmMY]

[4 (² Of course, I don't advocate that we should. No. I do however argue that each of these situations shouldn't exist in the first place.)]