Sign in

Johan Westling

@johanwestling.eurosky.social
47 followers 222 following 21 posts

Digital craftsman of design & code. Based in the Åland Islands 🇦🇽

PostsRepliesMedia
Reposted by Johan Westling
Dave Strock @davestrock.bsky.social · 28/09/2026
This is one of the biggest points. This concept is foreign even to most in the corporate world. They *think* they've done it, but as soon as you go to build them software to do "the task" you realize 80% of your work is helping them figure out how the task is *actually* accomplished.
5788
Reposted by Johan Westling
Scott Riley @scott.is · 28/09/2026
one thing that i've noticed has just gone away in The Age Of Shipping Six Thousand Fucking Pointless Features is the purposeful pessimism that helps you realise how your work could be used for harm. it was never popular, but now it's almost fucking impossible to get people to slow down and think.
1131
Reposted by Johan Westling
Suw @suw.bsky.social · 16/09/2026
Fucking hell. Facebook is now limiting the number of links that a page or professional profile can include in a post to TWO PER MONTH, unless you pay them $7.99 a month. Fucking assholes.
A warning pop-up from Facebook that says "you used 2 of your posts with links this month. With Meta One, continue sharing links in your posts and comments, plus other subscriber benefits".
3526868
Reposted by Johan Westling
ppk 🇪🇺 @quirksmode.org · 02/09/2026
Fifteen years ago I helped popularise the meta viewport width=device-width,initial-scale=1. Today I found out the second bit is no longer necessary. A retrospective. quirksmode.org/quirksblog/2...
quirksmode.org
initial-scale no longer needed
Fifteen years ago I helped popularise the meta viewport width=device-width,initial-scale=1. Today I found out the second bit is no longer necessary. A retrospective.
16021
Reposted by Johan Westling
Pooya Parsa @pi0.io · 18/08/2026
TIL Uint8Array.fromBase64 exists in browsers!
0132
Reposted by Johan Westling
Evan Greer @evangreer.bsky.social · 16/08/2026
there is no such thing as "age verification." All "age verification" is actually "identity verification." You can coat it in glitter and "privacy-preserving" wrapping paper. But in the end, mandating age verification means mandating surveillance be built into software and hardware. Period.
106138695603
Reposted by Johan Westling
Roderick Gadellaa @rgadellaa.bsky.social · 09/08/2026
We have a platform that anyone can access from anywhere, is open, interoperable, and has proven it can give native platforms a *serious* run for their money. But *somehow* everyone thinks "we need alternative app stores" instead of "we need to unleash the web on mobile". open-web-advocacy.org
open-web-advocacy.org
Open Web Advocacy
A group of software engineers from all over the world who have come together to advocate for the future of the open web
041
Reposted by Johan Westling
Firefox Nightly @firefoxnightly.bsky.social · 15/07/2026
Firefox now supports the text-box-trim and text-box-edge CSS properties, and the associated text-box shorthand. These properties allow you to control the leading space above and below text, enabling simpler and consistent vertical spacing and alignment. bugzilla.mozilla.org/show_bug.cgi...
bugzilla.mozilla.org
2050141 - [text-box-trim] Set layout.css.text-box.enabled for all users
RESOLVED (sajidanwar94) in Core - Layout: Block and Inline. Last updated 2026-07-15.
0418
Reposted by Johan Westling
Large Heydon Collider @heydonworks.com · 22/06/2026
The HTML cat is out of the Web Audio bag. I've finally released HYPERBLAM. It’s my system for sampling, processing, and sequencing sound and music directly in HTML. hyperblam.how
hyperblam.how
Hyperblam Docs Home
Documentation for HyperBlam. Make HTML make music.
720260
Reposted by Johan Westling
Patrick Brosset @patrickbrosset.com · 16/06/2026
🤔 What if browsers on iOS could use their own web rendering engines? What would, e.g., Blink look like on iOS? Spoiler: it would be awesome 😎 Check out @kylealden.bsky.social's fun perf and feature comparison between Safari and our prototype Blink-based browser: www.linkedin.com/pulse/test-d...
linkedin.com
Test Drive: Blink on iOS
The Edge web platform team has been contributing changes to Chromium to help build a prototype exploring what an iOS browser using Blink (via BrowserEngineKit) can achieve. Blink is the same open-sour...
22712
Reposted by Johan Westling
pilcrow @pilcrowonpaper.com · 03/06/2026
Announcing my auth book! A completely free online resource on implementing auth with fully-featured examples Over 10,000 words right now and I still have plenty of things to write about auth.pilcrowonpaper.com
Authentication methods
Sessions
Auth sessions
Email addresses
Passwords
Browser client-side storage
Cross-site request forgery (CSRF)
Argon2
Bcrypt
Email address verification codes
Email code authentication
Passkeys
Web Authentication API (WebAuthn)
WebAuthn authenticator data
WebAuthn CBOR encoding
WebAuthn client data
Passkey registration
Passkey authentication
Elliptic Curve Digitial Signature Algorithm (ECDSA)
RSA signature scheme
Edwards Curve Digital Signature Algorithm (EdDSA)
720941
Reposted by Johan Westling
Pavel @spavel.bsky.social · 23/05/2026
Love how every website now has a popup that tells you "our website is hot dogshit, download the app instead" And then the app is just an Electron wrapper around the same JS they could have put on the website if they didn't hate you personally
711915
Johan Westling @johanwestling.eurosky.social · 16/05/2026
Did some precision cut of trees today next to the plant beds. Had a good 3 cm margin for errors at worst 😅 no plant beds were hurt ✅
Happy wife sitting on a cut tree next to the plant beds in front of our house
020
Reposted by Johan Westling
Jim Nielsen @jim-nielsen.com · 04/05/2026
📝 Post-mortem on my "lots of little HTML pages" approach — still like it. The browser's most basic feature is following a link. Can I build a site’s interactions around just that? e.g. a "menu" is <a href="/menu/"> + CSS view transitions blog.jim-nielsen.com/2026/small-h...
blog.jim-nielsen.com
Reminder: You Can Stitch Together Lots of Little HTML Pages With Navigations For Interactions
Writing about the big beautiful mess that is making things for the world wide web.
86814
Reposted by Johan Westling
Jane Ori 💚 CSS Runner 👩‍💻 @janeori.propjockey.io · 29/04/2026
100% CSS repeat() function codepen.io/propjockey/p... Repeat anything, strings, sets of animation properties to help manage parallel array properties, calc() partials, polygon partials, shape partials, text-shadows, anything!
codepen.io
100% CSS repeat() function!
...
1184
Reposted by Johan Westling
Justin Fagnani @justinfagnani.com · 29/04/2026
Check this CSS --repeat() function out! The implementation is 👨‍🍳🤌!
152
Reposted by Johan Westling
Kayla Cinnamon ☕️ @kaylacinnamon.bsky.social · 29/04/2026
Want to learn how to use any model with GitHub Copilot? Check out my walkthrough of BYOK (bring your own key) using a local Ollama model, both in Copilot CLI and VS Code! youtu.be/bbIHmbZux8k
youtu.be
Use ANY AI Model with GitHub Copilot
YouTube video by Kayla Cinnamon ☕
141
Johan Westling @johanwestling.eurosky.social · 18/04/2026
If you see this, quote with a picture of you in glasses
000
Reposted by Johan Westling
jeremAIas @jeremias.codes · 15/04/2026
I am dealing with certain project, in certain mega popular framework and it makes me wanna quit programming and build a farm far away from civilization.
011
Reposted by Johan Westling
Pavel @spavel.bsky.social · 05/03/2026
This is a good principle for design in general: When users tell you there's a problem, they are usually right. When users tell you how to fix it, they are usually wrong. (bonus: if you replace "user" with "stakeholder" this still applies)
618030
Reposted by Johan Westling
Richard Gadsden @po8crg.gadsden.online · 17/02/2026
So is programming. Which is why "vibe coding" is bunk. You have to think through exactly what you want the program to do, and only writing the code will force you to actually think it through properly.
512531
Reposted by Johan Westling
Amir @amirsakhravi.bsky.social · 27/12/2025
shell autocompletions for your javascript cli tool. introducing tab:
38012
Reposted by Johan Westling
Dave Rupert @davatron5000.bsky.social · 20/12/2025
Can we get an “onafterpagecrash” event so companies can track how many times their apps fall over? Sheesh.
2171
Johan Westling @johanwestling.eurosky.social · 05/12/2025
Found out a way to create an alias for launching vscode directly in a devcontainer, a bit of initial work but worth it! gist.github.com/johanwestlin...
gist.github.com
VSCode - Launch in devcontainer
VSCode - Launch in devcontainer. GitHub Gist: instantly share code, notes, and snippets.
000
Reposted by Johan Westling
caztastrophe 🐦🦝🏳️‍🌈 @caztastrophe.gay · 31/10/2025
Yes, do make sure you at least have your final expenses covered. But also PLEASE name a specific adult beneficiary & remember to update it if things change. It's infinitely easier on your family this way. I pay life claims for a living & I'm speaking from experience.
285
Reposted by Johan Westling
Josh Collinsworth @collinsworth.dev · 28/08/2025
TIL a GoFundMe widget adds an *entire NextJS app* to the page. About 5MB of JavaScript—spread across almost 40 files—just to render a few lines of text and a link. (Yes, the widget has to make an API call to show the campaign's progress. But even given that, it's still absurdly over-engineered.)
Comparison of a page loading before and after adding one GoFundMe widget to the page. The number of requests goes from 12 to 64; transferred data goes from around 0.5 MB to 2.1MB; resources goes from 642kb to 5.8MB; and the finish time goes from 0.18 seconds to 1.14 seconds.
910517
Reposted by Johan Westling
eahrend.dev @eahrend.dev · 16/08/2025
Is this kubernetes networking?
131
Reposted by Johan Westling
Gergely Orosz @gergely.pragmaticengineer.com · 27/06/2025
People outside tech starting to realize how quality software and typing/generating code fast are not correlated
14965204
Reposted by Johan Westling
Nathan Knowler @knowler.dev · 24/06/2025
I was laid-off and am looking for a new role. Working were design meets code is my jam. I am skilled at building accessible design system components, working with Web Components APIs, and creating scalable CSS architecture. I work remotely from my home in Manitoba, Canada. 🇨🇦 Shares appreciated!
512484
Reposted by Johan Westling
VoidZero @voidzero.dev · 30/05/2025
Today we are excited to announce Rolldown-Vite: a technical preview of the version of @vite.dev entirely powered by the Rust stack we built over the past year (Oxc + @rolldown.rs) voidzero.dev/posts/announ...
voidzero.dev
Announcing Rolldown-Vite
We are building the next generation of JavaScript tooling
331772
Reposted by Johan Westling
bryn ☼ @bryn.codes · 05/05/2025
if i have to hand-hold you through using semantic HTML you are not a Web Developer and certainly not a Full Stack Engineer and your six figures should be revoked.
2509
Reposted by Johan Westling
Hasani Rogers @deificartsllc.bsky.social · 24/04/2025
Using slots to compose components with web components is more enjoyable than React's children.
1303
Reposted by Johan Westling
Ricky @ricky.fm · 23/04/2025
"commits messages should be meaningful" me, a professional:
screenshot of github with 18 consecutive "wip" commits
18948
Reposted by Johan Westling
Alex Russell @infrequently.org · 22/04/2025
"Why is CSS-in-JS terrible for performance?" is a great interview question, actually.
10312
Reposted by Johan Westling
Ana Tudor @anatudor.bsky.social · 29/03/2025
Because I keep seeing `position: absolute` + lots of of offset + size + transform + sometimes even margin properties to stack + middle align the stacked items... you can easily do it with 3 #CSS properties!
.container { display: grid }

.stack-item {
  /* stack all items in the same 1 cell grid area 
   * at the intersection between row 1 & column 1 */
  grid-area: 1/ 1;
  /* place all items in the middle of this cell 
   * along both axes, both vertically & horizontally */
  place-self: center
}
113713
Reposted by Johan Westling
Mia [data-css=poetic] @miriam.codes · 26/03/2025
Working on a post to explain the logical shorthand proposals in more detail. Meanwhile, I setup space in my public notebook (where you can follow along), and looked into a question from @johanwestling.bsky.social: Why `inline-size` but `padding-inline`? #CSS css.oddbird.net/logical/rese...
css.oddbird.net
Logical shorthand notes & side quests
1105
Reposted by Johan Westling
Mike Ginn @shutupmikeginn.bsky.social · 08/03/2025
its amazing how chatgpt knows everything about subjects I know nothing about, but is wrong like 40% of the time in things im an expert on. not going to think about this any further
126187644575
Reposted by Johan Westling
Dan Hon @danhon.com · 02/03/2025
You should know that a big part of 18F's work was to make sure multi-million to multi-*hundreds*-of-millions dollar contracts at fed *and* state level didn't go to shitty enterprise IT consultancies that *repeatedly* delivered tech that didn't work, was late, or didn't even do what it needed to
5846351190
Reposted by Johan Westling
Laurie Voss @seldo.com · 12/02/2025
It has been nearly 15 years since Siri was introduced and I still never, ever want to talk out loud to my computer. Am I alone in this? Is yapping at your computer a popular interaction mode?
5719110
Reposted by Johan Westling
Scott Hanselman 🌮 @scott.hanselman.com · 24/12/2024
Hey #dotnet folks if you’re using a CI/CD double check your resource URLs. A CDN has gone bankrupt and may cease operations in the next month. We are working to make transparent fixes but you can be proactive github.com/dotnet/core/...
github.com
Critical: .NET install domains and URLs are changing · Issue #9671 · dotnet/core
Some .NET binaries and installers are hosted on Azure Content Delivery Network (CDN) domains that end in .azureedge.net. These domains are hosted by edg.io, which will soon cease operations due to ...
12308164
Reposted by Johan Westling
Adam Argyle @nerdy.dev · 28/12/2024
need product differentiation? overhire a #CSS front-end team and ask them to: - polish whatever - add delight wherever and watch as your product becomes smooth and buttery while everyone else's gather dust and crust UI is a huge space offering differentiation via quality
3565692
Reposted by Johan Westling
Jason Miller @developit.dev · 18/12/2024
why does nobody understand event delegation anymore? this is the most basic web thing and every day I see code going to absurd lengths to bind/unbind event handlers for bubbling events on large sets of DOM elements. Use a global event handler, they were literally designed for this.
8675
Reposted by Johan Westling
Sara Soueidan @sarasoueidan.com · 18/12/2024
I've stayed away from CSS frameworks for my entire career for one reason: the few times I used a framework, I spent more time refactoring the code from the framework than I did writing that code from scratch. I suspect AI-generated code will be similar, especially for user-centered UI (e.g #a11y).
5192
Reposted by Johan Westling
Rachel Andrew @rachelandrew.co.uk · 31/10/2024
For years, I've been hoping for more of the paged media specs to come to browsers. In the next version of Chrome (131, now in beta) the ability to create your own header and footer content for printed content is here! Find out more in this post.
developer.chrome.com
Add content to the margins of web pages when printed using CSS  |  Blog  |  Chrome for Developers
Create custom headers and footers when printing webpages.
45215
Johan Westling @johanwestling.eurosky.social · 01/12/2024
This is a very useful feature for testing that require an app for authentication!
010
Reposted by Johan Westling
Brad Frost @bradfrost.com · 30/11/2024
HAPPY BLUE BEANIE DAY! The Web Standards movement embodied the idealistic, collaborative, organic, and can-do ethos of the web. That is the spirit I continually strive to embody. I owe so much to @zeldman.bsky.social, and it's an honor to call him a friend. Thanks, Jeffrey! #BlueBeanieDay
Brad Smiling wearing a blue beanie hat.
1818
Reposted by Johan Westling
Sara Joy ☠️ @sjoy.lol · 30/11/2024
Happy #BlueBeanieDay! Because the web is for *everyone*
A selfie of Sara wearing a blue knitted beanie and smiling.
1211
Reposted by Johan Westling
Wes Bos @wesbos.com · 28/11/2024
Bugs in Safari make me sad, bugs in old Safari make me mad. Here is how to run any version of Safari, on Mac or Windows, for free! 👇🏻
4916
Reposted by Johan Westling
Prufrock451 @prufrock451.bsky.social · 23/09/2023
Fuck this hustle-culture bullshit. When I’m a skeleton I’m not doing a goddamn thing
6362871949