pngwn
pngwn.at
pngwn
@pngwn.at
Penguin of great renown.

The penguin revolution is nigh, only the feathered and the tuxedoed will be spared.

Except for seagulls, they can get fucked.

https://pngwn.at
Hire Thomas!
I'm looking for my next opportunity in the front-end space 🌐

I've worked at some great companies: Hugging Face, V7, Appwrite, and Significa.

I've built NPM packages with 400k downloads/week, and am an avid open-source contributor.

Let me know if you want to work together!
November 25, 2025 at 1:45 AM
Watch as we launch Gradio 6!!!

www.youtube.com/watch?v=ohYB...
Gradio 6 Launch 🏎️🏁
YouTube video by HuggingFace
www.youtube.com
November 21, 2025 at 5:08 PM
If you haven’t heard Gradio are partnering with Anthropic to present a hackathon to celebrate MCPs 1st birthday!

We are giving over $3.8M in credits to participants thanks to: Anthropic, OpenAI, Google, elevenlabs, sambanova, modal, blaxel, llamaindex, nebius.

huggingface.co/MCP-1st-Birt...
MCP-1st-Birthday (MCP-1st-Birthday)
Gradio, AI Agents, MCP, Anthropic
huggingface.co
November 14, 2025 at 7:41 PM
One coffee shop trend that I see internationally that I don’t see in the US and the UK is tiny cookies served with the coffee.

Lots of places make their own too and are super delicious.

I think this should be a thing everywhere, it’s really fun.
November 9, 2025 at 10:53 AM
Reposted by pngwn
last chance to take the State of JS survey if you haven't already, it closes in a day or two

survey.devographics.com/en-US/survey...
State of JavaScript 2025
Take the State of JavaScript survey
survey.devographics.com
November 3, 2025 at 2:59 PM
Reposted by pngwn
another async feature: out-of-order rendering. this means a component can begin rendering children while it's awaiting data. demo stolen from @ryansolid.bsky.social — these components should render in 3 seconds, but they only take 1: svelte.dev/playground/2...
October 28, 2025 at 9:02 PM
The new @github.com explore page recommend the JavaScript language to me.

Never heard of it. Excited to dig in.
October 22, 2025 at 3:32 PM
Being annoying is my superpower.

This is a huge quality of life improvement though!
if you're ever confused about the origin of a state change in your @svelte.dev app, we just shipped a nice quality of life enhancement to the `$inspect(...)` rune (svelte.dev/docs/svelte/...) — it now automatically prints a stack trace. @pngwn.at goaded me into it
October 22, 2025 at 3:27 PM
A shame to see @patak.dev go but excited for what is next.

We owe a huge debt to Matias. His involvement has been instrumental not only in the success of Vite but also in nurturing the community.

patak is the best of us.
patak.dev patak @patak.dev · Oct 20
I'm taking some time, and I'll explore new paths later on, so I've left my position at Bolt. I'm very grateful they empowered me to work on Vite over the past years. Thanks a ton to everyone in the Vite ecosystem for the wonderful journey. Cheers to Vite's bright future and even more collaboration!
Update
Onto the next stage
patak.dev
October 20, 2025 at 11:26 AM
When writing parsers your tooling can never be good enough. But i'm pretty happy with this.
October 11, 2025 at 5:15 PM
The inevitable result of building a startup directly on top of OSS.
Just talked about Vite+ at @viteconf.org - check out more at viteplus.dev :)

More detailed announcement on Monday!
Vite+
The Unified Toolchain for the Web
viteplus.dev
October 10, 2025 at 9:21 AM
I just spent 4 hours having my mind expanded with an ATProto OAuth shaped crowbar thanks to the inimitable @ngerakines.me

I have a very tiny brain but after I have gone over the content some more I am excited to play!
October 8, 2025 at 4:19 PM
We are switching to trusted publishing on the gradio repo but with 68 npm packages and no API/ scope-level connections, i decide to write a playwright script to take care of it:

gist.github.com/pngwn/e7b844...
automating npm trusted publishing connection for many packages
automating npm trusted publishing connection for many packages - login.ts
gist.github.com
September 19, 2025 at 4:31 PM
You should go an read @43081j.com new article on why everything in the JS world is so messy. Written by the very person who is trying to tidy the mess.
September 9, 2025 at 2:08 PM
How to be a dick when people are doing their best to figure out how best to protect their users from a serious vulnerability.
September 9, 2025 at 2:19 AM
look ma, no spans!
September 7, 2025 at 2:32 PM
I don’t know how I feel about this topic in general or how you actually square it. I don’t really believe in ‘cultural authenticity’. That’s often just another layer of performance or narrative added after the fact but I do believe in preventing cultural loss.
pngwn.at pngwn @pngwn.at · Aug 31
Bali is a strange place, the challenges that have come with a massive tourist industry have been well documented, but my main feeling is that is has something of an identity crisis and can be something of a theme park.
August 31, 2025 at 12:23 PM
Bali is a strange place, the challenges that have come with a massive tourist industry have been well documented, but my main feeling is that is has something of an identity crisis and can be something of a theme park.
August 31, 2025 at 11:57 AM
Reposted by pngwn
OpenTelemetry tracing is live in SvelteKit! Huge s/o to @stracke.tech for all the help along the way. SvelteKit can now emit OTEL spans for all of its serverside constructs. It also provides an instrumentation file to easily set up trace exports. svelte.dev/blog/sveltek...
Introducing integrated observability in SvelteKit
SvelteKit apps can now emit OpenTelemetry traces and reliably set up observability instrumentation using instrumentation.server.ts
svelte.dev
August 18, 2025 at 8:50 PM
I enjoy creative use of language as much as the next person but “breastfeeding”…

Courtesy of GPT-5.
August 8, 2025 at 4:04 AM
OpenAI have released their new open source models!

One thing I really like about this release is that while they are only open weight, the model is not gated in any way (anyone can download it) and it has a permissive OSS license (apache 2).

Very refreshing.

huggingface.co/openai/gpt-o...
openai/gpt-oss-120b · Hugging Face
We’re on a journey to advance and democratize artificial intelligence through open source and open science.
huggingface.co
August 6, 2025 at 2:10 AM
One of the most soul destroying things about twitter was needing to finely craft your tweet thread (it had to be a thread) just to be visible to anyone.

We can debate the merits of bluesky but there is no denying the platform is more centred around actual users.
bsky.app Bluesky @bsky.app · Jul 30
PSA on links: On Bluesky, there’s no limit to the number of links you can share, and they will receive the same visibility as your other posts 💙
July 31, 2025 at 6:28 AM
pngwn.at
just a penguin with a dream
pngwn.at
July 28, 2025 at 9:42 PM
The future is now.
Your feedback matters 🙌

GitHub now remembers your tab width preferences everywhere - more choice, more flexibility, all thanks to your suggestions!

Our accessibility team is always turning your feedback into real improvements. Keep sharing - we love hearing from you! 💕

github.blog/changelog/20...
GitHub consistently maintains user-defined tab-width preferences - GitHub Changelog
What’s changed? Historically, users on GitHub have been able to set their preferred tab width for viewing code, but this preference was not reliably respected throughout the site. Inconsistent tab…
github.blog
July 28, 2025 at 7:06 PM
Turkey isn’t just cute cats begging for food. It is also cute dogs begging for food.
July 28, 2025 at 5:15 PM