Why do people choose frameworks over vanilla JS?

This is a repost promoting content originally published elsewhere. See more things Dan's reposted.

This week on Twitter, Maxime Euzière asked why people choose large frameworks over vanilla JS. There are quite a few reasons. Some of them are really valid. Many of them aren’t. Here are the ones I see most often (with commentary). Vanilla JS is harder. No, it’s often not. Modern vanilla JS has taken many…

Like many people who were already developing for the Web when Javascript first reared its (ugly) head, I would later be delighted when libraries like Prototype and later jQuery would arrive and start doing the “heavy lifting” for me. Not having to do DOM parsing or (especially) Ajax the “long way” (which was particularly long given the workarounds that needed to be done for cross-compatibility) was a huge boon and made it possible for me to write applications that I wouldn’t otherwise have been able to.

But in recent years, I’ve really been enjoying “vanilla” JS. As a language, JavaScript has really grown-up lately, and with modern (and evergreen) browsers dominating the landscape, everybody benefits from these new features relatively soon after they become available. Of course, it’s still important to see any JavaScript as a progressive enhancement that not everybody will experience, but it’s still true, now, that the traditional barriers to writing excellent code in the language are rapidly evaporating.

I no longer add jQuery to a project as a matter of course (and in fact I think it’s been over a year since I deliberately added it to a new project), and that’s great.

Escape Room [NSFW]

This is a repost promoting content originally published elsewhere. See more things Dan's reposted.

Frame from Tailsteak's 20-page comic "Escape Room"

Regular readers will know already that I’ve been a huge fan of comic author Tailsteak, ever since Ruth, many years ago, introduced me to his work. I’m particularly enjoying Forward, his latest webcomic: so much so that in an effort to work around its lack of an RSS feed I accidentally stole unpublished work from him earlier this year (oops!).

He announced yesterday his new secondary Twitter account, @TailsteakAD (the “AD” is for “After Dark”) and was delighted from the very top tweet onwards:

TailsteakAD: For the record, just because an artist makes erotic work, or even has a dedicated adult-themed account, that in no way implies that they have any desire whatsoever to receive your unsolicited sexual messages or images. I mean, *I* want'em, but other artists might not.
That’s the spirit.

Anyway: a short while later I found a 20-page comic he’d made called The Escape Room: read it on Twitter or via Threadreader. It might be exactly the comic you’ve always been looking for, assuming that the comic you’ve always been looking for combines B/D, gay sex, and escape room puzzle mechanics. NSFW, obviously.

Suddenly I feel like the escape rooms I go to aren’t quite as good as I thought.

Dan Q performed maintenance for GC1G4E3 Kinkering Congs Their Titles Take

This checkin to GC1G4E3 Kinkering Congs Their Titles Take reflects a geocaching.com log entry. See more of Dan's cache logs.

Added more-waterproof cache container. Improved clue. Note that old cache container may still be in place: wasn’t able to find it and was being watched by muggles; I’ll return to re-hunt for and remove the old container soon.

We’re moving from Stage 2 to Stage 3 polyamory

This is a repost promoting content originally published elsewhere. See more things Dan's reposted.

At last week’s Rocky Mountain Poly Living conference in Denver, Leanna Wolfe — a poly anthropologist and sexologist active in the movement almost since its birth in the 1980s — spoke on what she called the three historical stages of polyamory in Western culture.

Her Stage 1 was mostly male-centric (my paraphrase). She described it as running through the Oneida Colony and other utopian communities of the 19th century through the free-love beliefs and attitudes that exploded in the 1960s.

Stage 2 has been what we call the modern poly movement: strongly feminist in its origins and growth, born in the mid-1980s and running until more or less now. Its founders, organizers, media spokespeople, bloggers, podcasters, book authors and opinion leaders have been mostly women (the ratio by my count is about 3 to 1). Its ideology has been gender-egalitarian, communication-centric, and consent-based since before consent culture was a thing. Like Stage 1, Stage 2 has been something of a counterculture that sees itself apart from mainstream society.

The current Stage 3 is the mainstreaming of consensual non-monogamy (CNM) in its many forms, including polyamory, into the general culture. This shift is well under way and bodes to take over the conversation in coming years — for better and for worse, as I’ve been speechifying about since 2008.

Does this make those of us who’ve been doing polyamory for ages “poly hipsters”?

Out of the ordinary: getting digital…

This is a repost promoting content originally published elsewhere. See more things Dan's reposted.

The Bodleian Digital Comms team is no stranger to developing out of the ordinary content. Want to represent all of the varied and gruesome deaths in Shakespeare in a fun and engaging way? We’re on it!

We manage almost all of the Libraries’ public facing digital ‘stuff’, from our main websites to social media and digital signage. When we tot it all up, it’s over fifty websites, a similar number of blogs, the full range of social media platforms, more than twenty digital screens, a handful of interactive experiences a year, plus…well, not actually a partridge in a pear tree, but there are unicorns in arks.

From ambush to war crimes, a chance to delve into death in Shakespeare’s works, and to think about how it differed from the reality

Whatever the platform, our team’s focus is on finding ways to engage the Libraries’ audiences — whether students, researchers, tourists or those around the globe who can’t actually visit in person — with our work and our collections.

G7 Comes Out in Favor of Encryption Backdoors

This is a repost promoting content originally published elsewhere. See more things Dan's reposted.

From a G7 meeting of interior ministers in Paris this month, an “outcome document“:

Encourage Internet companies to establish lawful access solutions for their products and services, including data that is encrypted, for law enforcement and competent authorities to access digital evidence, when it is removed or hosted on IT servers located abroad or encrypted, without imposing any particular technology and while ensuring that assistance requested from internet companies is underpinned by the rule law and due process protection. Some G7 countries highlight the importance of not prohibiting, limiting, or weakening encryption;

There is a weird belief amongst policy makers that hacking an encryption system’s key management system is fundamentally different than hacking the system’s encryption algorithm. The difference is only technical; the effect is the same. Both are ways of weakening encryption.

The G7’s proposal to encourage encryption backdoors demonstrates two unsurprising things about the politicians in attendance, including that:

  • They’re unwilling to attempt to force Internet companies to add backdoors (e.g. via legislation, fines, etc.), making their resolution functionally toothless, and
  • More-importantly: they continue to fail to understand what encryption is and how it works.

Somehow, then, this outcome document simultaneously manages to both go too-far (for a safe and secure cryptographic landscape for everyday users) and not-far-enough (for law enforcement agencies that are in favour of backdoors, despite their huge flaws, to actually gain any benefit). Worst of both worlds, then.

Needless to say, I favour not attempting to weaken encryption, because such measures (a) don’t work against foreign powers, terrorist groups, and hardened criminals and (b) do weaken the personal security of law-abiding citizens and companies (who can then become victims of the former group). “Backdoors”, however phrased, are a terrible idea.

I loved Schneier’s latest book, by the way. You should read it.

Note #13422

Two small plastic ducks; one blue, one yellow.

Our youngest, aged 2, may have just came up with his first joke.

Yellow duck: Quack quack quack. Quack quack quack quack.

Blue duck: Shut up. I hate quacking.

×

Avengers Endgame: The Marvel Cinematic Universe explained

This is a repost promoting content originally published elsewhere. See more things Dan's reposted.

The Marvel Cinematic Universe in Chronological Order (almost)

Who’s for a rewatch of the entire Marvel Cinematic Universe, in the “correct” order, before Endgame? No?

The thinking behind this infographic (and in particular the shuffling of Ant-Man and the Wasp behind Infinity War) is like an even bigger, possibly-nerdier variant of the kind of thinking that lead to Star Wars – Machete Order.

Edge Blink and Progressive Web Apps

As I’ve previously mentioned (sadly), Microsoft Edge is to drop its own rendering engine EdgeHTML and replace it with Blink, Google’s one (more of my and others related sadness here, here, here, and here). Earlier this month, Microsoft made available the first prerelease versions of the browser, and I gave it a go.

Edge Canary 75.0.131.0 dev
At a glance, it looks exactly like you’d expect a Microsoft reskin of Chrome to look, right down to the harmonised version numbers.

All of the Chrome-like features you’d expect are there, including support for Chrome plugins, but Microsoft have also clearly worked to try to integrate as much as possible of the important features that they felt were distinct to Edge in there, too. For example, Edge Blink supports SmartScreen filtering and uses Microsoft accounts for sync, and Incognito is of course rebranded InPrivate.

But what really interested me was the approach that Edge Dev has taken with Progressive Web Apps.

Installing NonStopHammerTi.me as a standalone PWA in Edge
NonStopHammerTi.me might not be the best PWA in the world, but it’s the best one linked from this blog post.

Edge Dev may go further than any other mainstream browser in its efforts to make Progressive Web Apps visible to the user, putting a plus sign (and sometimes an extended install prompt) right in the address bar, rather than burying it deep in a menu. Once installed, Edge PWAs “just work” in exactly the way that PWAs ought to, providing a simple and powerful user experience. Unlike some browsers, which make installing PWAs on mobile devices far easier than on desktops, presumably in a misguided belief in the importance of mobile “app culture”, it doesn’t discriminate against desktop users. It’s a slick and simple user experience all over.

NonStopHammerTi.me running as a standalone PWA in Edge Dev.
Once installed, Edge immediately runs your new app (closing the tab it formerly occupied) and adds shortcut icons.

Feature support is stronger than it is for Progressive Web Apps delivered as standalone apps via the Windows Store, too, with the engine not falling over at the first sign of a modal dialog for example. Hopefully (as I support one of these hybrid apps!) these too will begin to be handled properly when Edge Dev eventually achieves mainstream availability.

Edge provides an option to open a page in its sites' associated PWA, if installed.
If you’ve got the “app” version installed, Edge provides a menu option to switch to that from any page on the conventional site (and cookies/state is retained across both).

But perhaps most-impressive is Edge Dev’s respect for the importance of URLs. If, having installed the progressive “app” version of a site you subsequently revisit any address within its scope, you can switch to the app version via a link in the menu. I’d rather have seen a nudge in the address bar, where the user might expect to see such things (based on that being where the original install icon was), but this is still a great feature… especially given that cookies and other state maintainers are shared between the browser, meaning that performing such a switch in a properly-made application will result in the user carrying on from almost exactly where they left off.

An Edge PWA showing its "Copy URL" feature.
Unlike virtually every other PWA engine, Edge Dev’s provides a “Copy URL” feature even to apps without address bars, which is a killer feature for sharability.

Similarly, and also uncommonly forward-thinking, Progressive Web Apps installed as standalone applications from Edge Dev enjoy a “copy URL” option in their menu, even if the app runs without an address bar (e.g. as a result of a "display": "standalone" directive in the manifest.json). This is a huge boost to sharability and is enormously (and unusually) respectful of the fact that addresses are the Web’s killer feature!  Furthermore, it respects the users’ choice to operate their “apps” in whatever way suits them best: in a browser (even a competing browser!), on their mobile device, or wherever. Well done, Microsoft!

I’m still very sad overall that Edge is becoming part of the Chromium family of browsers. But if the silver lining is that we get a pioneering and powerful new Progressive Web App engine then it can’t be all bad, can it?

× × × × ×

Dan Q found GCHDZH Cobblers! (Dorset)

This checkin to GCHDZH Cobblers! (Dorset) reflects a geocaching.com log entry. See more of Dan's cache logs.

Just visiting while dropping off my brother in law for his sponsored 500 mile “Lyme Regis to Limekilns on a Lime Bike” cycle, and thought I’d hit a couple of local caches before I set off back to Oxford. Great hiding place and a well maintained cache, thanks!

Dan Q found GC61PA7 In the Lyme light

This checkin to GC61PA7 In the Lyme light reflects a geocaching.com log entry. See more of Dan's cache logs.

While dropping off my partner’s brother and his friend on their 500 mile “Lyme Regis to Limekilns on a Lime Bike” sponsored cycle ride, I took the opportunity for a quick grab of this nicely hidden cache. Logbook rather wet, needs replacing. TFTC!