Blog

Yet Another JavaScript Framework

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

It is impossible to answer all of these questions simply. They can, however, be framed by the ideological project of the web itself. The web was built to be open, both technologically as a decentralized network, and philosophically as a democratizing medium. These questions are tricky because the web belongs to no one, yet was built for everyone. Maintaining that spirit takes a lot of work, and requires sometimes slow, but always deliberate decisions about the trajectory of web technologies. We should be careful to consider the mountains of legacy code and libraries that will likely remain on the web for its entire existence. Not just because they are often built with the best of intentions, but because many have been woven into the fabric of the web. If we pull on any one thread too hard, we risk unraveling the whole thing.

A great story about how Firefox nearly broke tens of thousands of websites by following standards, and then didn’t. tl;dr: Javascript has a messy history.

Google AMP lowered our page speed, and there’s no choice but to use it – unlike kinds

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

We here at unlike kinds decided that we had to implement Google AMP. We have to be in the Top Stories section because otherwise we’re punted down the page and away from potential readers. We didn’t really want to; our site is already fast because we made it fast, largely with a combination of clever caching and minimal code. But hey, maybe AMP would speed things up. Maybe Google’s new future is bright.

It isn’t. According to Google’s own Page Speed Insights audit (which Google recommends to check your performance), the AMP version of articles got an average performance score of 87. The non-AMP versions? 95. (Note: I updated these numbers recently with an average after running the test 6 times per version.)

I’ve complained about AMP before plenty – starting here, for example – but it’s even harder to try to see the alleged “good sides” of the technology when it doesn’t even deliver the one thing it was supposed to. The Internet should be boycotting this shit, not drinking the Kool-Aid.

“You Me Her” Season 4 premiers, and other polyamory on TV

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

The “polyromantic comedy” series You Me Her opens its fourth season tonight (Tuesday April 9) at 10 on AT&T’s Audience Network. There is no other show like it on television.

Season 1 was about a troubled couple who, independently, fell for the same third person by way of comic flukes: a novelty gimmick. But creator/producer John Scott Shepherd soon realized that the show was onto something bigger. Season 2 began straight off with the three together in a serious, all-around polyamorous relationship, and things have grown from there.

Life, of course, hasn’t been easy for them. Tonight’s opening of Season 4 is titled “Triangular Peg, Meet Round World.” Season 5 is already scheduled for 2020.

Joy! I loved the first three seasons of You Me Her, admittedly while – during the first couple of seasons at least – simultaneously bemoaning how long it took the characters to learn lessons that my polycule(s) solved in far shorter order. I was originally watching it with Ruth and JTA but they lagged and I ran ahead, and I really enjoyed this first episode of season 4 too.

Enable Private DNS with 1.1.1.1 on Android 9 Pie

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

Recently, Google officially launched Android 9 Pie, which includes a slew of new features around digital well-being, security, and privacy. If you’ve poked around the network settings on your phone while on the beta or after updating, you may have noticed a new Private DNS Mode now supported by Android.

This new feature simplifies the process of configuring a custom secure DNS resolver on Android, meaning parties between your device and the websites you visit won’t be able to snoop on your DNS queries because they’ll be encrypted. The protocol behind this, TLS, is also responsible for the green lock icon you see in your address bar when visiting websites over HTTPS. The same technology is useful for encrypting DNS queries, ensuring they cannot be tampered with and are unintelligible to ISPs, mobile carriers, and any others in the network path between you and your DNS resolver. These new security protocols are called DNS over HTTPS, and DNS over TLS.

Bad: Android Pie makes it harder (than previous versions) to set a custom DNS server on a cellular data connection.

Good: Android Pie supports DNS-over-TLS, so that’s nice.

Word Ladder Solver

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

It’s likely that the first word ladder puzzles were created by none other than Lewis Carroll (Charles Lutwidge Dodgson), the talented British mathematician, and author of the Alice’s adventures. According to Carroll, he invented them on Christmas Day in 1877.

A word ladder puzzle consists of two end-cap words, and the goal is to derive a series of chain words that change one word to the other. At each stage, adjacent words on the ladder differ by the substitution of just one letter. Each chain word (or rung of the word ladder), also needs to be a valid word. Below is an example of turning TABLE into CROWN (this time, in nine steps):

TABLE → CABLE → CARLE → CARLS → CARPS → CORPS → COOPS → CROPS → CROWS → CROWN

In another example, it take four steps to turn WARM into COLD.

WARM → WARD → CARD → CORD → COLD

(As each letter of the two words in the last example is different, this is the minimum possible number of moves; each move changes one of the letters).

Word ladders are also sometimes referred to as doublets, word-links, paragrams, laddergrams or word golf.

Nice one! Nick Berry does something I’ve often considered doing but never found the time by “solving” word ladders and finding longer chains than might have ever been identified before.

Non Stop Hammer Ti.me

You know how sometimes I make a thing and, in hindsight, it doesn’t make much sense? And at best, all it can be said to do is to make the Internet more fun and weird?

Hammer Logo

I give you: NonStopHammerTi.me.

Things that make it awesome:

  • Well, the obvious.
  • Vanilla Javascript.
  • CSS animations timed to every-other-beat.
  • Using an SVG stroke-dasharray as a progress bar.
  • Progressively-enhanced; in the worst case you just get to download the audio.
  • PWA-enhanced; install it to your mobile!
  • Open source!
  • Decentralised (available via the peer-web at dat://nonstophammerti.me/ / dat://0a4a8a..00/)
  • Accessible to screen readers, keyboard navigators, partially-sighted users, just about anybody.
  • Compatible with digital signage at my workplace…
Digital signage showing NonStopHammerTi.me
My office aren’t sick of this… yet.

That is all.

×

The British-Irish Dialect Quiz

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

What is your name for the playground game in which one child chases the rest and anyone who is touched becomes the pursuer?

Pretty accurate for me, although my answers to some of the questions – representing the diversity of places around Great Britain that I’ve lived and some of the words I’ve picked up along the way – clearly threw it off from time to time!

Review of Exeter Gardens

This review of Exeter Gardens originally appeared on Google Maps. See more reviews by Dan.

Moderately well-tended but short walk between Oxford Road and Exeter Park, squeezed between Exeter Hall and The Key doctors practice. Nice decking and benches, but otherwise nothing to recommend it except as a route to the park itself.

Review of Grovelands Play Area

This review of Grovelands Play Area originally appeared on Google Maps. See more reviews by Dan.

Small play area with the bare essentials for keeping a small child distracted: swingset, roundabout, small climbing frame with slide. All metal equipment, so gets cold in the winter! Might as well make the extra walk to nearby Exeter Park!

Review of Exeter Park Play Area

This review of Exeter Park Play Area originally appeared on Google Maps. See more reviews by Dan.

Since the 2018 renovation of the play area and the surrounding park, this has gone from being a good to a great place to take small children. Play equipment includes a well-equipped sandpit, multiple climbing frames with monkey bars, firemans poles, and slides, “little ones” area with miniscule frames, musical instruments, see-saw, swings of various kinds including a large tyre swing, rope climbing frames, and a “racing” pair of ziplines. Exercise equipment is also available nearby, as are plenty of benches including picnic benches and a reasonable-sized (free) car park.

Review of Exeter Recreational Ground

This review of Exeter Recreational Ground originally appeared on Google Maps. See more reviews by Dan.

Excellent, conveniently central play area for Kidlington. Renovated in 2018 with new play and exercise equipment including trampolines, not one but two ziplines, and a wonderfully imaginatively-imagined sandpit, it’s equipped to keep little ones entertained for hours. There’s also a large field for sports/dog-walking, a community space, and an adequate amount of (free) car parking.

Review of Grovelands Superstore Handy Stores

This review of Grovelands Superstore Handy Stores originally appeared on Google Maps. See more reviews by Dan.

A surprisingly wide selection of goods available at just about any time you might need it, served by friendly staff. Plenty of parking if coming by car, conveniently just off the main road through Grovelands estate.

Codecademy vs. The BBC Micro

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

If you google “learn to code,” the first result you see is a link to Codecademy’s website. If there is a modern equivalent to the Computer Literacy Project, something with the same reach and similar aims, then it is Codecademy.

“Learn to code” is Codecademy’s tagline. I don’t think I’m the first person to point this out—in fact, I probably read this somewhere and I’m now ripping it off—but there’s something revealing about using the word “code” instead of “program.” It suggests that the important thing you are learning is how to decode the code, how to look at a screen’s worth of Python and not have your eyes glaze over. I can understand why to the average person this seems like the main hurdle to becoming a professional programmer. Professional programmers spend all day looking at computer monitors covered in gobbledygook, so, if I want to become a professional programmer, I better make sure I can decipher the gobbledygook. But dealing with syntax is not the most challenging part of being a programmer, and it quickly becomes almost irrelevant in the face of much bigger obstacles. Also, armed only with knowledge of a programming language’s syntax, you may be able to read code but you won’t be able to write code to solve a novel problem.

So very much this! I’ve sung a song many times about teaching people (and especially children) to code and bemoaned the barriers in the way of the next (and current!) generation of programmers, but a large part of it – in this country at least – seems to come down to this difference in attitude. Today, we’ve stopped encouraging people to try to learn to “use computers” (which was, for the microcomputer era, always semi-synonymous with programming owing to the terminal interface) and to “program”, but we’ve instead started talking about “learning to code”. And that’s problematic, because programming != coding!

I’m a big fan of understanding the fundamentals, and sometimes that means playing with things that aren’t computers: looms, recipe cards, board games, pencils and paper, algebra, envelopes… all of these things can be excellent tools for teaching programming but have nothing to do with learning coding.

Let’s stop teaching people to code and start teaching them to program, again, okay?