Skip to content

Dan Q

    • Articles
    • Everything
    • Notes
    • Reposts (shares)
    • Checkins (geo*)
    • Videos
    • Reviews
    • Comics
    • Tags
    • Stats
    • Subscribe
    • Blogroll
  • About
    • Semi-standard "slash pages" you might like to explore:
    • /about
    • /blank
    • /blogroll
    • /colophon
    • /contact
    • /cv
    • /events
    • /license
    • /pfp
    • /postcards
    • /privacy
    • /salary
    • /shh
    • /slashes
    • /stats
    • /subscribe
    • /where
    • Hide posts of type:
    • Choose how Dan's dressed:
    • Hair
    • T-Shirt
  • Contact
  • Podcast

Tag: javascript

  • A peep behind the curtain: here's an animation illustrating how I had to learn to dissect/think about origami in order to make origami.danq.dev for my Weird Web October contribution today:

    • Note
    • posted 14 October, 2026
  • Promotional banner for 'Origami' by Dan Q, featuring a partially-folded paper model.

    Origami (Weird Web October)

    A (well-folded) love letter to the Weird World Wide Web: my entry for day 14 of Weird Web October is "Origami". Go play with virtual paper!

    Read more (200 words)

    • Article
    • 1 comment
    • posted 14 October, 2026
  • Parody of the 'home taping is killing music' posters, featuring a mouse whose right button is being clicked. It reads: right-clicking is part of the Web and it's great.

    Webpage Copy-Protection is Impossible (and that's great!)

    A friend of mine was inconvenienced by an over-eager bit of Web copy-protection JavaScript this week, and it reminded me that more-than-ever, these scripts are both harmful (to legitimate users) and pointless (ineffective at preventing downloading).

    Read more - about 5 minutes (1012 words)

    • Article
    • 4 comments
    • posted 13 October, 2026
  • ElenaJS (Progressive Web Components)

    Ariel Salminen shared a release candidate for her new microframework Elena last week, and I love it! It's entirely geared towards Progressive Web Components and seems to provide all the scaffolding you'd need with none of the cruft. Delightful!

    Read more - about 3 minutes (516 words)

    • Repost
    • of this original
    • posted 2 May, 2026
  • Reply to: let's write a blog post about CSS

    Dave's struggling to finish his blog post out CSS. I get the feeling... let me tell you about my blog post about pedestrian crossings.

    Read more (98 words)

    • Reply
    • 1 comment
    • posted 29 April, 2026
  • Today, an AI review tool used by my workplace reviewed some code that I wrote, and incorrectly claimed that it would introduce a bug because a global variable I created could "be available to multiple browser tabs" (that's not how browser JavaScript works).

    Just in case I was mistaken, I explained to the AI why I thought it was wrong, and asked it to explain itself.

    To do so, the LLM wrote a PR to propose adding some code to use our application's save mechanism to pass the data back, via the server, and to any other browser tab, thereby creating the problem that it claimed existed.

    This isn't even the most-efficient way to create this problem. localStorage would have been better.

    So in other words, today I watched an AI:
    (a) claim to have discovered a problem (that doesn't exist),
    (b) when challenged, attempt to create the problem (that wasn't needed), and
    (c) do so in a way that was suboptimal.

    Humans aren't perfect. A human could easily make one of these mistakes. Under some circumstances, a human might even have made two of these mistakes. But to make all three? That took an AI.

    What's the old saying? "To err is human, but to really foul things up you need a computer."

    • Note
    • 1 comment
    • posted 25 February, 2026
  • Death to the shadow DOM!

    I usually agree with Chris Ferdinandi, but he and I aren't entirely in accord about the Shadow DOM. He thinks it's useless. But I think it's MOSTLY useless.

    Read more (321 words)

    • Repost
    • of this original
    • posted 23 December, 2025
  • Dan sits at a cluttered desk reading a copy of DOCTYPE, a magazine with an aggressively 'cyberspace circa 1990' graphic design cover.

    DOCTYPE

    I received my copy of DOCTYPE magazine, a genuine 'type this program in and run it'-style programming magazine but for a modern world, and enjoyed writing, debugging, playing, and then considering refining Stuart Langridge's puzzle The Nine Pyramids.

    Read more (390 words)

    • Article
    • posted 25 November, 2025
  • Close-up photo of a computer with reset and turbo buttons.

    Beige Buttons

    When was the last time you saw a computer with a reset AND a turbo button? Bet it's been a while. But now, thanks to a stupid web component I made, you can see one on my website... or your own. What does it do? Nobody knows!

    Read more (307 words)

    • Article
    • 3 comments
    • posted 17 November, 2025
  • Developers just love to take what the Web gives them for free, throw it away, and replace it with something worse.

    Today's example, from Open Collective, is a dropdown box: standard functionality provided by the <select> element. Except they've replaced it with a JS component that, at some screen resolutions, "goes off the top" of the page... while simultaneously disabling the scrollbars so that you can't reach it. ๐Ÿคฆโ€โ™‚๏ธ

    Full image of Animation showing a dropdown menu for editing a personal profile on Open Collective. The dropdown menu is implemented using JavaScript, and has a bug that means that at some screen resolutions it goes off-screen and parts of it cannot be seen; because its appearance also disables the scrollbar, there's no way to get to the "missing" parts of the menu.
    Alt

    Animation showing a dropdown menu for editing a personal profile on Open Collective. The dropdown menu is implemented using JavaScript, and has a bug that means that at some screen resolutions it goes off-screen and parts of it cannot be seen; because its appearance also disables the scrollbar, there's no way to get to the "missing" parts of the menu.

    • Note
    • posted 21 September, 2025
  • Screenshot of PleaseFixThisSite.com, featuring all of the design sins described below.

    Please Fix This Site? Okay!

    PleaseFixThisSite.com is a funny web-based take on that XKCD comic about extorting graphic designers who hate your design choices. But you don't actually need to pay the extortionist to "fix" their site. Just have your userscript manager run a few lines of my code, and the effect is much the same.

    Read more (393 words)

    • Article
    • 2 comments
    • posted 18 July, 2025
  • Animated GIF showing Sublime Text editor flicking through six different languages, with equivalent code showing in each.

    I Wrote the Same Code Six Times!

    Could I rock an interview tech-test in a programming language I haven't touched in a decade? I wanted to know, so I found a tech-test... then solved it in six different programming languages in a single sitting.

    Read more - about 9 minutes (2125 words)

    • Article
    • 1 comment
    • posted 7 June, 2025
  • Outdoors, under blue skies and trees, Dan tosses his blue ponytail as he talks about a code snippet superimposed beneath him, showing a HTML video element with the first source (landscape.mp4) selected.

    Variable-aspect adaptive-bitrate video... in vanilla HTML?

    Thanks to recent browser enhancements, it's possible to show videos of different aspect ratios based on CSS media queries with no JavaScript dependencies. You can even combine it with adaptive bitrate streaming, even on static hosting. Let me show you how.

    Read more - about 6 minutes (1191 words)

    • Article
    • 1 comment
    • posted 30 April, 2025
  • Composite screenshots showing the Chrome performance metrics and Network download sizes for the React and Web Components versions of my traffic lights. LCP - React 0.06s, Web Components 0.04s. INP - React 16ms, Web Components 8ms. Transferred - React 62.3kb (compressed), 202kB (uncompressed), in 37ms, Web Components 5.2kB (compressed), 19.5kB (uncompressed), in 22ms.

    Deprecate React

    Just to reassure myself that I really can do all the things I say on my CV, I've been looking at tech tests that touch on each of them. I can definitely write React, for example... but... I might question the wisdom of a company that's exclusively recruiting for React skills in their front-end developers...

    Read more - about 6 minutes (1406 words)

    • Article
    • 6 comments
    • posted 26 April, 2025
  • Two red lines are perpendicular to one another, followed by horizontal lines in green, semitransparent red, red, green, and semitransparent green. Each are labelled with their axis in a 7-dimensional space, and with a clarifying tooltip.

    AI vs The Expert

    Inspired by an 11-year old comedy sketch, I asked a GenAI to solve an unsolvable programming problem... and (for at least some models) it failed in exactly the way I anticipated: claiming to be able to solve it and delivering code that just... didn't. What does this teach us about AI trustworthiness for problems that might be solvable, but for which the human operator doesn't have sufficient comprehension to verify?

    Read more - about 5 minutes (1160 words)

    • Article
    • with an accompanying podcast
    • 5 comments
    • posted 28 February, 2025

Posts navigation

Older posts

Get in Touch

I'd love to hear from you! Why not...

  • email me on blog@danq.me?
    (my spam filter is aggressive, so use a good subject line, i.e. not just "hello"; encrypt your email if you like)
  • say hi on Mastodon, where I'm @dan@danq.me?
  • send a letter or postcard to
    Dan Q, Unit 159610, PO Box 7169, Poole, BH15 9EL, UK
  • reach out some other way?
  • ยฉ Dan Q 1998-2026
  • Creative CommonsAttributionNon-Commercial except where stated (how to use)
  • powered by BloqClassicPressHTML5CSS3
  • privacy
  • Read articles, checkins, notes, reposts, and more...
  • @dan@danq.me
  • contact
  • subscribe
  • Dan Q
  • Creative Commons Attribution Non-Commercial license
  • ClassicPress
  • CSS is awesome
  • Created by a human, not by AI
  • LGBTQ+ pride flag (2018 progress variant)
  • Polyamory flag
  • Say no to Web3
  • Mastodon (it's like email... no, come back!)
  • Tested on Firefox
  • Best viewed on the Internet
  • PHP
  • Ruby
  • Debian
  • Caddy (webserver)
  • Find me on Melonland
  • Check out my GitHub
  • Three Rings - by volunteers, for volunteers, since 2002
  • I'm a fucking webmaster
  • Looks best at: any resolution!