Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    B

    Bram.us

    bram.us · Personal blog · on HN since 2014

    Bram Van Damme, a web developer, writes about new CSS and JavaScript features, browser changes, and YAML quirks.

    Visit blogRSSHN submissions
    Web DevelopmentProgramming
    What HN says

    HN links it for the YAML 'Norway problem' explainer and CSS feature previews; the author himself joins a thread to answer criticism of a CSS proposal.

    Stats for nerds
    47HN people shared it
    38linked in comments
    406story points
    Jun 2026last shared
    2019people per year2026

    Top posts on HN

    1. 1
      YAML: The Norway Problem (2022)
      5 people · 222 points · first shared 2023 · 164 comments on HN
    2. 2
      CSS Custom Functions are coming
      1 person · 96 points · first shared 2025 · 83 comments on HN
    3. 3
      Dark Mode Toggles Should Be a Browser Feature
      1 person · 17 points · first shared 2022 · 10 comments on HN
    4. 4
      The Future of CSS: Easy Light-Dark Mode Color Switching with Light-Dark()
      2 people · 15 points · first shared 2023 · Discussion on HN
    5. 5
      The Future of CSS: CSS Toggles
      1 person · 11 points · first shared 2022 · 4 comments on HN
    6. 6
      The Future of CSS: Cascade Layers (CSS Layer)
      3 people · 4 points · first shared 2021 · Discussion on HN
    7. 7
      Container Queries are coming to Chromium
      3 people · 4 points · first shared 2020 · Discussion on HN
    8. 8
      Move elements around the DOM while preserving their state with moveBefore
      1 person · 3 points · first shared 2025 · Discussion on HN
    9. 9
      A quick introduction to CSS scope
      2 people · 2 points · first shared 2023 · Discussion on HN
    10. 10
      JavaScript: What’s New in ECMAScript 2018 (ES2018)?
      2 people · 2 points · first shared 2018 · Discussion on HN

    What HN people wrote when they linked it

    • blotter_paperMay 2019

      Following the link in your readme to davywtf's twitter post, I saw this comment by dade:

      >I remember last year, and probably the year before that, and probably the year before that still, people continually rediscover CSS keylogging. Glad to see something more interesting this time. Good work.

      Following up on this, I found an article[0] claiming that it isn't really an issue since a pure CSS keylogger can only catch one character. It seems to me like your method of pseudo-refreshing the page by making old elements hidden and delivering new elements to replace them might be able to overcome this impediment, which would make your on-screen keyboard unnecessary; if I understand correctly, you could just keep capturing whatever the user types in a field, and deliver a new field that already has whatever they've typed already as the default value with autofocus on. Do I understand correctly? Is there something I'm missing, like autofocus not playing well with continuous chunks of data being delivered? I'm not saying you should put in the additional effort to do this for your beautiful-horrible-clusterfuck of a project, I'm just curious about the feasibility and thought you might already know the answer.

      [0]: https://www.bram.us/2018/02/21/css-keylogger-and-why-you-shouldnt-worry-about-it/

    • bramusOct 2023

      (Hi, author of the post/article here)

      > This solves one tiny aspect of the larger problem in a non-scalable way that will inevitably lead to bloat and inflexibility. It's a really a naive approach that hasn't taken into account design at scale, nor the future of where design is heading.

      Note that `light-dark()` isn’t the end goal here. As discussed within the CSS WG, the end goal is to have a generic function `schemed-value()` to give you what you want.

      I realize this wasn’t included in the post, so I’ve added a new section to the post with this information: https://www.bram.us/2023/10/09/the-future-of-css-easy-light-dark-mode-color-switching-with-light-dark/#schemed-value

      I hope this addresses your concern. If not, feel free to let me (or the CSS WG for that matter) know.

    • brigandishJan 2021

      As I read I wondered about the possibility of its abuse as a payload system, then I reached this linked post[1]:

      > What happens when you combine the fact that part after the : for CSS Custom Properties doesn’t need to be valid CSS with window.getComputedStyle()? You get a way of passing data – including Arrays, Objects, and even JSON – from CSS to JavaScript.

      The first article proposes the possibility of sending updated variables via a CDN, and the linked one shows a CSS variable being parsed as JSON and then executed by the Javascript engine.

      There's probably some fun and high jinks to be had there…

      [1] https://www.bram.us/2020/03/30/pass-data-from-css-to-javascript-with-css-variables/

    • jakelazaroffJun 2026

      This point of view always confuses me, because web developers already need to deal with platform differences. Especially if your app app also runs in a browser, like Slack and Discord — at that point, what issues do the differing system webviews cause that you don't need to deal with anyway just targeting browsers?

      It's also funny to me as someone who's been building websites for 20+ years at this point, because the platform differences used to be much, much worse. Coincidentally, I just saw this article, which makes the case nicely: https://www.bram.us/2026/06/21/do-websites-need-to-function-exactly-the-same-on-every-platform/

    • perardiNov 2022

      There is a lot of CSS now…but so many of the recent additions have been useful. Really useful. Like, solves real-world problems, easy to understand, on their way to being very well-supported.

      For example…

      …Container Queries. (https://www.smashingmagazine.com/2021/05/complete-guide-css-container-queries/)

      …Cascade Layers. (https://css-tricks.com/css-cascade-layers/#browser-support-and-fallbacks)

      …the :has() selector. (https://www.bram.us/2021/12/21/the-css-has-selector-is-way-more-than-a-parent-selector/)

    • moderationJun 2020

      Safari will likely be the last browser to support HTTP/3 as it will only be available in the unreleased MacOS 10.16. HTTP/3 is already in the other browsers with instructions on how to enable [0]. Firefox Nightly and Chrome Dev already support Draft 29 (which is Working Group Last Call [1].

      0. https://www.bram.us/2020/04/08/how-to-enable-http3-in-chrome-firefox-safari/

      1. https://mailarchive.ietf.org/arch/msg/quic/F7wvKGnA1FJasmaE35XIxsc2Tno/

    Related

    Lea Veroulea.verou.me121 people

    Today’s JavaScript, from an outsider’s perspective (2020)

    Lea Verou
    Personal · last shared 2026
    Chris Ferdinandigomakethings.com84 people

    SPAs Were a Mistake

    Chris Ferdinandi
    Personal · last shared 2026
    kizukizu.dev16 people

    Fit-to-Width Text

    kizu
    Personal · last shared 2026
    Tom Daletomdale.net44 people

    Web frameworks are transforming from runtime libraries into optimizing compilers

    Tom Dale
    Personal · last shared 2019
    Martin Tournoijarp242.net101 people

    YAML: probably not so great after all (2017)

    Martin Tournoij
    Personal · last shared 2026
    Jake Archibaldjakearchibald.com191 people

    I discovered a browser bug

    Jake Archibald
    Personal · last shared 2026
    WebKit Blogwebkit.org723 people

    Face ID and Touch ID for the Web

    WebKit Blog
    Company · last shared 2026
    Dev.Operadev.opera.com159 people

    CSS: It was twenty years ago today

    Dev.Opera
    Company · last shared 2024