Sign in

Simon Ihmig

@simonihmig.bsky.social
204 followers 200 following 48 posts

Software Engineer @crowdstrike.com. Here for all things tech, Ember.js, politics, climate change & renewables.

PostsRepliesMedia
Simon Ihmig @simonihmig.bsky.social · 09/04/2026
It *might* have to do with lit re-exporting directives from lit-html as a transitive implicit dep. AFAICT would still be a bug of the vite plugin if it cannot handle that, so nothing wrong about it from lit perspective I think. Just a symptom of sharing not working correctly.
000
Simon Ihmig @simonihmig.bsky.social · 09/04/2026
No, you can explicitly declare shared deps to be treated as singletons. However, that was not working for me as described in this issue: github.com/module-feder... Which brought up the issue of lit in dev mode and lit-html in prod clashing, as the latter was not properly shared for some reason.
github.com
[Bug]: Cannot share lit properly · Issue #606 · module-federation/vite
Describe the bug Since upgrading from a much earlier version (1.8.0) to more recent ones (1.12.3, 1.13.5, also reproducible on latest 1.14.2) along side with core MF deps, we are having problems sh...
100
Simon Ihmig @simonihmig.bsky.social · 06/04/2026
New ResponsiveImage release is officially out of the shell! 🐣 🚀 Full support for @vite.dev v8 and @rolldown.rs optimization. ✨ Smoother DX: polished defaults and other ergonomics improvements 🍳 Dropped some eggs, breaking support for Node 20 and Ember < 6.4 responsive-image.dev
responsive-image.dev
ResponsiveImage - the JavaScript library for responsive images.
Responsive images made easy. Supporting multiple frameworks, WebP, AVIF, placeholders (LQIP), Image CDNs and much more.
030
Simon Ihmig @simonihmig.bsky.social · 01/03/2026
📣 responsive-image.dev now ships with a native Vue.js image component to render responsive images! Use it with the @vite.dev plugin (or webpack) to process local images in your @vuejs.org or @nuxt.com app, with support for modern formats, image transformations and LQIP, or load from image CDNs.
responsive-image.dev
ResponsiveImage - the JavaScript library for responsive images.
Responsive images made easy. Supporting multiple frameworks, WebP, AVIF, placeholders (LQIP), Image CDNs and much more.
060
Reposted by Simon Ihmig
EmberJS @emberjs.com · 26/10/2025
Hot off the press! 6.8 released with some big features 🎉 ⚡@vite.dev by default 🕚 Compatible with libraries from 8+ years ago* ✨ New APIs: renderComponent, additional reactive data structures 🤝 No more hbs by default (strict: true) Read more here: blog.emberjs.com/ember-releas...
blog.emberjs.com
Ember 6.8 Released
The Ember project is excited to announce the release of Ember v6.8. This is a standard minor release as part of the standard Ember Release Train process, but this release isn't...
14216
Simon Ihmig @simonihmig.bsky.social · 03/07/2025
Been a while since my last blog post, so I thought I'll write this one on the open source project I spent a fair amount of time on over the last year. Are you building web applications and want to deliver responsive images in an easy and efficient way? Then give this a read 👇 dev.to/simonihmig/i...
dev.to
Image delivery for modern web applications: Introducing ResponsiveImage
In the landscape of web development, images are often both a crucial visual element and a significant...
020
Simon Ihmig @simonihmig.bsky.social · 06/06/2025
New major release of responsive-image.dev is out! ⚛ image component for @react.dev ⏱️ supports the @fastly.com IO image CDN 🌍 supports auto-negotiation of image format by CDNs ✨ refactored LQIP (Thumb/BlurHash) simplifying runtime image components Shoutout to William Killerud for most of these! 🚀
responsive-image.dev
ResponsiveImage - the JavaScript library for responsive images.
Responsive images made easy. Supporting multiple frameworks, WebP, AVIF, placeholders (LQIP), Image CDNs and much more.
040
Reposted by Simon Ihmig
Chris Thoburn @runspired.com · 28/04/2025
👀 👀 👀 @warp-drive.io (formerly #emberdata) version 5.5-alpha.21 is compatible with any framework that works with a signals concept. Even multiple on one page sharing data. Pluggable reactivity ftw. Official #svelte/#vue/#preact/#lit integrations coming soon. ✨🌌 github.com/emberjs/data...
github.com
feat: unlock universal 🌌 by runspired · Pull Request #9968 · emberjs/data
🎉 With this PR, WarpDrive becomes usable by any signals-compatible framework or library. To do so still requires the following constraints: Use SchemaRecord in Polaris Mode only (no Legacy Mode) ...
1157
Reposted by Simon Ihmig
MadeWithSvelte @madewithsvelte.com · 26/04/2025
Render responsive images in your Svelte app with this library by @simonihmig.bsky.social 🖼️⚡️ - madewithsvelte.com/responsive-i...
021
Reposted by Simon Ihmig
Chris Manson @chris.manson.ie · 03/04/2025
I just released Embroider@v4 from the @mainmatter.com team dinner using release-plan This is the start of the @vite.dev era of @emberjs.com 🎉
A picture taken over my shoulder of me releasing Embroider@v4 from my phone while drinking a beer in a restaurant
3428
Reposted by Simon Ihmig
NullVoxPopuli @nullvoxpopuli.com · 01/04/2025
ChatGPT is savage. omg
0202
Simon Ihmig @simonihmig.bsky.social · 30/03/2025
And how you compose the two worlds together is a legit framework design choice. I can't see why JS-in-HTML should be semantically or logically better than HTML-in-JS tbh.
000
Simon Ihmig @simonihmig.bsky.social · 30/03/2025
All of Svelte is a superset of HTML, or just the templating part? I would say the latter? I am all for the template to be a superset of HTML (don't like JSX), but you need JS at least to glue things together. Most likely your app will host way more JS than HTML though.
110
Simon Ihmig @simonihmig.bsky.social · 30/03/2025
Interesting to see that us coming from a similar/same background, we also stumble over the same issues! 😅 Nice write-up!
020
Simon Ihmig @simonihmig.bsky.social · 30/03/2025
That wasn't my point though. Yes, you can define features like runes in tests, except for the most basic feature: components. You can't invoke the component under test in the way you would normally do. Also can't define components locally in your test to pass to higher order components.
000
Simon Ihmig @simonihmig.bsky.social · 30/03/2025
Not trying to hate on Svelte, I like it quite a bit! But I do feel they got this template vs. JS thing backwards.
120
Simon Ihmig @simonihmig.bsky.social · 30/03/2025
In Ember tests, you invoke the component just the same way as you do anywhere else. Because you can have <template> inside JS. Example: guides.emberjs.com/release/comp...
guides.emberjs.com
Template Tag Format - Components - Ember Guides
The template tag format is a powerful, new way to write components in Ember. It's a single-file format that combines the component's JavaScript and Glimmer template code. The <template> tag is used to...
130
Simon Ihmig @simonihmig.bsky.social · 30/03/2025
Besides the snipped argument, you see the limitations of "js inside template" also for tests. You need to pass props to the render function, invoking the component in a totally different way than you would do in app code. Just because you cannot have template code inside JS.
220
Simon Ihmig @simonihmig.bsky.social · 30/03/2025
I think modern Ember nailed it. Instead of .svelte being a template with an island of JS, Ember's .gjs is JS with an island of template. Or multiple. <template> is just a value, that you can direcly use when in scope (private internal components) or you export it. guides.emberjs.com/release/comp...
guides.emberjs.com
Template Tag Format - Components - Ember Guides
The template tag format is a powerful, new way to write components in Ember. It's a single-file format that combines the component's JavaScript and Glimmer template code. The <template> tag is used to...
370
Simon Ihmig @simonihmig.bsky.social · 30/03/2025
First time learning about snippets I was thinking this must be a workaround due to some architectural flaw/restriction. Why do you need the concept of "snippet", if you already have one of "component"? Only because Svelte syntactically doesn't allow you to define components inside components, right?
210
Simon Ihmig @simonihmig.bsky.social · 17/03/2025
This should have been its own post (not hidden in replies), and a blog post, and a talk! 😃👏
130
Simon Ihmig @simonihmig.bsky.social · 10/03/2025
Love the vibe!!! 💪😆
020
Simon Ihmig @simonihmig.bsky.social · 24/02/2025
Thanks, fixed it!
010
Simon Ihmig @simonihmig.bsky.social · 15/02/2025
Yeah, I agree.
000
Simon Ihmig @simonihmig.bsky.social · 14/02/2025
No, the dimensions are fixed. More details at evanw.github.io/thumbhash/ BlurHash does allow that though: blurha.sh
evanw.github.io
ThumbHash: A very compact representation of an image placeholder
110
Simon Ihmig @simonihmig.bsky.social · 14/02/2025
The algorithm is explained at evanw.github.io/thumbhash/ Not that I really understand it 😅
evanw.github.io
ThumbHash: A very compact representation of an image placeholder
010
Simon Ihmig @simonihmig.bsky.social · 13/02/2025
Kudos to @evanwallace.bsky.social for this beautiful piece! Find demo and docs for ThumbHash at evanw.github.io/thumbhash/ Docs for the responsive-image.dev integration at responsive-image.dev/usage/lqip#t...
evanw.github.io
ThumbHash: A very compact representation of an image placeholder
030
Simon Ihmig @simonihmig.bsky.social · 13/02/2025
Ever heard of ThumbHash? It's a great way to encode a blurry placeholder image into just a few bytes, 28 here. Like BlurHash but better visual quality! Available now in responsive-image.dev for @vite.dev or webpack plugins and image components for @emberjs.com @lit.dev @solidjs.com and @svelte.dev!
image depicting an aurora borealis in high resolutiona blurry placeholder encoded with ThumbHash
77212
Simon Ihmig @simonihmig.bsky.social · 29/01/2025
Good question! Unpic does not have its own image processing capabilities, it requires an image CDN. ResponsiveImage supports that, too (tho not all CDNs yet), but also processing local images in your repo, with its vite and webpack plugins. That's the main differentiator I think.
120
Simon Ihmig @simonihmig.bsky.social · 28/01/2025
The responsive-image.dev family got a new member! 🎉 👉 Use the new @svelte.dev image component in your Svelte/SvelteKit app to render responsive images, either with our @vite.dev plugin to process local images or with remote images from image CDNs, or both. responsive-image.dev
responsive-image.dev
ResponsiveImage - the JavaScript library for responsive images.
Responsive images made easy. Supporting multiple frameworks, WebP, AVIF, placeholders (LQIP), Image CDNs and much more.
1293
Simon Ihmig @simonihmig.bsky.social · 22/01/2025
Made it easy to make the same available to other frameworks using Vite: @lit.dev, @solidjs.com and soon @svelte.dev. Find the long version of that at responsive-image.dev/history
responsive-image.dev
History of the project | ResponsiveImage - the JavaScript library for responsive images.
Responsive images made easy. Supporting multiple frameworks, WebP, AVIF, placeholders (LQIP), Image CDNs and much more.
010
Simon Ihmig @simonihmig.bsky.social · 22/01/2025
I have a nice example for exactly that: ember-responsive-image provided both build-time and runtime aspects in a single v1 addon, but heavily tied into the 🥦 legacy build system. Nowadays the build part is a framework-agnostic @vite.dev or webpack plugin, and the component a light-weight v2 addon.
110
Simon Ihmig @simonihmig.bsky.social · 19/01/2025
Long thread, but it's Sunday, so give this a read! How evolution of the framework works, why it's getting descoped and why it's not dead.
010
Reposted by Simon Ihmig
George Takei @georgetakei.bsky.social · 11/01/2025
I fear there is deep truth here.
14255503713598
Simon Ihmig @simonihmig.bsky.social · 08/01/2025
nope, but please tell me if you have found one! 😅
010
Reposted by Simon Ihmig
Chris Krycho @chriskrycho.com · 08/01/2025
Has anyone built Bluesky tools yet for getting notified when someone mentions a given website or topic?
341
Simon Ihmig @simonihmig.bsky.social · 07/01/2025
HNY! Last year ended with my responsive-image.dev project getting launched, this year starts with adding @solidjs.com support! 🎉 Use the Solid native image component to render local images processed by the @vite.dev plugin or load remote images from image CDNs. Responsive images made easy. ✨
0193
Reposted by Simon Ihmig
EmberJS @emberjs.com · 19/12/2024
🎁 Ember v6 is released! Read about it here: blog.emberjs.com/ember-6-0-re...
02515
Reposted by Simon Ihmig
NullVoxPopuli @nullvoxpopuli.com · 13/12/2024
The RFC for the EmberJS v2 App Blueprint (Vite-based Embroider by default) is now in Final Comment Period! github.com/emberjs/r... This has been a massive collaborative team effort, and I'm super excited for this!
github.com
V2 App by NullVoxPopuli · Pull Request #977 · emberjs/rfcs
Rendered
0146
Simon Ihmig @simonihmig.bsky.social · 12/12/2024
Wait what? Slacking your coworker that "it's not working" is not enough???
120
Simon Ihmig @simonihmig.bsky.social · 12/12/2024
Yeah, sure. Will need a Vue-based image component and probably some glue code, but sounds doable. Makes especially sense since the docs are built with VitePress, so good to eat your own dog food! 🙂
010
Simon Ihmig @simonihmig.bsky.social · 11/12/2024
Thanks so much! But as so often, building on the shoulders of giants! 😏
010
Simon Ihmig @simonihmig.bsky.social · 11/12/2024
Last but not least, I have to thank a bunch of people for the (direct or indirect) contributions over time:
 Andreas Schacht @lovell.info @jonaskruckenberg.de Malte Ubl @industrialempathy.com @jakearchibald.com More at responsive-image.dev/credits
responsive-image.dev
Credit where credit is due... | ResponsiveImage
The multi-framework JavaScript library for responsive images.
140
Simon Ihmig @simonihmig.bsky.social · 11/12/2024
This project is actually not that new, but a successor to what was formerly known as ember-responsive-image. That was heavily tied into legacy Ember concepts 🥦, as such it had no future in the next-gen Polaris edition of Ember without a fundamental rewrite. More at responsive-image.dev/history
responsive-image.dev
History of the project | ResponsiveImage
The multi-framework JavaScript library for responsive images.
130
Simon Ihmig @simonihmig.bsky.social · 11/12/2024
📣 Just launched a (not so) new tasty project: responsive-image.dev. Ingredients: 🖼 Image component for @emberjs.com and @lit.dev (more to come)
 ⚙️ Process local images in @vite.dev or webpack, supporting WebP+AVIF and LQIP
 🌍 Load remote images from image CDNs like @netlify.com, Cloudinary or imgix
responsive-image.dev
ResponsiveImage
The multi-framework JavaScript library for responsive images.
4309
Simon Ihmig @simonihmig.bsky.social · 16/11/2024
Beautiful! I wonder, would renderComponent also pave the way to have component tests in a v2 addon, without a separate test-app?
100
Reposted by Simon Ihmig
Yehuda Katz (he/him) @wycats.bsky.social · 28/10/2024
Just published a quick writeup of impl work I've been doing lately for Polaris. TL;DR - Top-level `renderComponent` API - Runtime template compiler (for REPLs) - Component inspector fixes for GJS - `this.#private` syntax - hash and array literal syntax
buff.ly
Polaris: What I'm Working On
I've been spending my time doing a lot of long-overdue work on Ember, Glimmer and the Handlebars parser. I figured I'd post a quick list of the work.
1157
Simon Ihmig @simonihmig.bsky.social · 16/11/2024
It's my birthday today, and I already made myself a nice present: I just deleted my Twitter/X account! 💪😄🦋
5150
Simon Ihmig @simonihmig.bsky.social · 15/11/2024
another merit of "test first" 👍
020
Simon Ihmig @simonihmig.bsky.social · 14/11/2024
Just cut a new release of ember-stargate, your easy to use portal solution for @emberjs.com. Some dependency updates and other house keeping. Not too exciting, but required work. Just like in real life! 😅 But at least the opportunity to finally publish a v1.0.0 version! github.com/simonihmig/e...
github.com
Release Release 1.0.0 · simonihmig/ember-stargate
🚀 Enhancement #735 Update @glimmer/component to allow for v2 (@simonihmig) #710 Drop @ember/render-modifiers usage (@simonihmig) #708 Import TrackedMap from tracked-built-ins instead of tracked-ma...
0122