HNHacker News
TopNewBestAskShowJobs

mb2100

118 karma · joined January 26, 2013

http://github.com/mb21

hacking on https://mastrojs.github.io

submissionscomments
mb2100··on The Future of CSS
There are JS libs (like Reactive Mastro [1]) that go well with writing otherwise vanilla HTML/CSS/JS, and there are libs (like React) where you're quickly sinking into a mud of abstractions and have to fight the reactivity runtime when you try to write vanilla JS.

[1]: https://mastrojs.github.io/reactive/

mb2100··on 5x faster Edge Functions: V8 isolates to Firecracker MicroVMs
That's weird, considering the guy who put the fetchable.org website up works at Netlify.
mb2100··on Updated Google Maps shows destruction of the city of Rafah
Not quite. Perhaps you were thinking of "ethnic cleansing" ?
mb2100··on Tailwind Labs is joining Shopify
Short answer: no, not necessary. Long answer: https://mastrojs.github.io/blog/2025-11-27-why-not-just-use-...
mb2100··on Ask HN: Who is hiring? (September 2026)
Is understanding Dutch (reading and listening) good enough?
mb2100··on The creator of Jujutsu has joined ERSC
They're not experienced with git, but still use the command-line? Interesting. Or would you think a jj GUI would help them?
mb2100··on “I just chose words carefully”
2. You must have never written Haskell.
mb2100··on Everyone should know SIMD
how do I do that? :-)
mb2100··on How I use HTMX with Go
Agreed, but uhtml-ssr looks a bit dated. If you want a html tagged template literal lib with no dependencies, see for example:

implementation: https://github.com/mastrojs/mastro/blob/main/src/core/html.t...

docs: https://mastrojs.github.io/docs/html-components/

mb2100··on Ask HN: What Are You Working On? (July 2026)
No dependencies. No build step. Just a simple web framework. Implemented in just ~800 lines of TypeScript.

https://mastrojs.github.io

mb2100··on My thoughts on the Bun Rust rewrite
Some people even like stinky!
mb2100··on 98% isn't much
This. Cannot believe it too so long for somebody to finally mention progressive enhancement.
mb2100··on Deno Desktop
> Backend and UI communication goes through in-process channels, not socket-based IPC

Are they running the frontend and backend in the same process? Sounds a bit dangerous security-wise?

mb2100··on Show HN: Gitdot – A better GitHub. Open-source, written in Rust
This. "No loading animations" works if you rely on the browser's loading indicators that all users will be familiar with.

@OP, if you're up for a rewrite of the frontend, happy to help you get started with https://mastrojs.github.io

mb2100··on How's Linear so fast? A technical breakdown
the achilles heel of SPAs everywhere.
mb2100··on How's Linear so fast? A technical breakdown
right? or give me GitHub issues before the React rewrite – at least they loaded fast...
mb2100··on [dead]
What AI is doing to the jobs of programmers feels very familiar to a lot of us frontend developers – because it has happened to us before.
mb2100··on Moving away from Tailwind, and learning to structure my CSS
Yeah, while you certainly can write semantic HTML with Tailwind, it absolutely doesn't encourage it. It's funny how Tailwind is conceptually going back to inline styles.

But sure, if you have <Title>, <Header> and <Button> components etc. instead of using HTML elements <h1>, <header>, <button> etc. directly, then why not stuff the CSS into the components as well? It all depends on whether you prefer to use components, HTML elements or a combination as your favourite abstraction.[0]

[0]: https://mastrojs.github.io/blog/2025-11-27-why-not-just-use-...

mb2100··on Ask HN: What are you working on? (May 2026)
Sounds similar to https://nightride.com ?
mb2100··on I’ve banned query strings
That's because Apache is basically what today's JS crowd would call a "file-based router", and then the app implements the actual routing in that index.php file. Just like early SPA stored the route in a hash. It's funny how history repeats itself.

I've gone back and forth on file-based vs programmatic routing. But each has pros and cons, so in the end I implemented both in Mastro: https://mastrojs.github.io/docs/routing/

mb2100··on Zig → Rust porting guide
What's the main motivation for considering Rust?

For what it's worth, in my last experience with Bun[0] I ran into a couple of bugs where it seemed Rust could have helped, e.g. using Bun.write

[0]: https://mastrojs.github.io/blog/2025-10-29-what-struggled-wi...)

mb2100··on TanStack Start Now Support React Server Components
Agree that TypeScript is nice, especially for sharing templates and types between server and client. But you can still use TypeScript on the server without sending it all to the client, and without a complex and insecure protocol like RSC. I’m working on making this as simple and dependency-free as possible: https://mastrojs.github.io
mb2100··on The End of Eleventy
That was exactly my experience as well, hence I created a "Minimal Astro": https://mastrojs.github.io
mb2100··on A simple web we own
Yeah, for that a git-based CMS like Sveltia is really nice.

And for people that actually want to learn a bit of HTML, CSS and JavaScript, Mastro JS is as simple a static site generator as I could make it.

mb2100··on Modern CSS Code Snippets: Stop writing CSS like it's 2015
if you're not using CSS modules, why would you import the css file into your javascript? But anyway, I think we agree. Feel free to read the linked blog post ;-)
mb2100··on Modern CSS Code Snippets: Stop writing CSS like it's 2015
button, .button { /* my button styles */ }
mb2100··on Modern CSS Code Snippets: Stop writing CSS like it's 2015
If everything in your code is a React component, I get why you would just want to write the styles right there.[0] Then again, why write `<Button>` if you could just write `<button>` and style it with standard CSS.

[0]: https://mastrojs.github.io/blog/2025-11-27-why-not-just-use-...

mb2100··on [dead]
In Unix, everything is a file. In Mastro, everything is an HTTP route. You use the standards-based Request/Response-API not only for writing your server, but also for static site and asset generation. And it's beautiful.
mb2100··on Android’s desktop interface leaks
Tell me you're nostalgic for Win95 without telling me...
mb2100··on The Overcomplexity of the Shadcn Radio Button
As company size grows, managers want to settle on a "standardized" tech stack that doesn't get in the way when they want to hire and fire people at will.

Nobody was ever fired for choosing React (or IBM). But everyone can get fired when they're working on a React app.

Page 1 of 4Next →