Skip to content
  • Home
  • Articles
  • Screencasts
  • Projects
  • About
  • Resources
  • Screencasts
  • Today I learned
  • Things I use
  • Talks
  • Newsletter
  • Home Home
  • Articles Articles
  • Screencasts Screencasts
  • Projects Projects
  • About About
  • Other Stuff
    • Blogroll People blogging great stuff.
    • Resources Bookmarks I want to keep for later.
    • Show some love Support my blog and newsletter.
    • Talks Talks I've given at conferences.
    • Things I use My hardware and software setup.
    • Today I learned 246 #TIL posts.
  • Newsletter
Stefan on LinkedIn Stefan on Mastodon Stefan on Bluesky RSS

Projects

Push all the things...
  • browsers.fyi
    ⭐ 37

    browsers.fyi

    • Tools
    • Web
  • tiny-teachers.dev
    ⭐ 19

    tiny-teachers.dev

    • Tools
  • extract-media
    ⭐ 8

    extract-media

    • Bash
    • Tools
  • caniuse-embed-element
    ⭐ 12

    caniuse-embed-element

    • JavaScript
    • HTML
  • A GraphQL Playground Contentful App
    ⭐

    A GraphQL Playground Contentful App

    • Contentful
    • GraphQL
  • web-vitals-element
    ⭐ 184

    web-vitals-element

    • HTML
    • JavaScript
  • tiny-helpers.dev
    ⭐ 986

    tiny-helpers.dev

    • Tools
  • CSS Scroll shadows
    ⭐ 156

    CSS Scroll shadows

    • CSS
    • Serverless
  • Random MDN
    ⭐

    Random MDN

    • Serverless
  • Netlify Menubar
    ⭐ 152

    Netlify Menubar

    • Electron

Other stuff

Topics

  • JavaScript (128 posts)
  • CSS (99 posts)
  • Tools (59 posts)
  • HTML (54 posts)
  • Bash (44 posts)
  • NodeJS (38 posts)
  • Accessibility (35 posts)
  • Web (29 posts)
  • git (23 posts)
  • Performance (20 posts)
  • VSCode (19 posts)

Random Web Dev Learnings

  • Duplicated CSS @keyframes properties are valid
  • "Hard CSS gradients" can be shortened to not include redundant values
  • The CSS "content" property accepts alternative text
  • How to load images in a spreadsheet
  • The CSS attribute selector has a case-insensitive mode
  • Forms without an accessible name are not exposed as ARIA landmarks

Popular articles

  • Stringly Typed
  • How to animate an element's height with CSS grid
  • How to import JSON files in ES modules (Node.js)

Recently updated resources

  • Staying up to date
  • Writing good docs, blogs and technical articles
  • Public speaking

stefanjudis.com © 2025 by Stefan Judis is licensed under CC BY-NC-SA 4.0

All rights reserved and content created without AI.

♥️