Settings

Theme

Htmx 4.0, the first JavaScript library to release exclusively on the Game Boy

swag.htmx.org

218 points by rcy 8 hours ago · 77 comments

Reader

blister 4 hours ago

I've been using htmx for three years now, and it's completely unlocked new ways of building software for the web, especially if you use a server-side templating language.

But more importantly (as this "Game Boy" option reveals), the head honcho is really responsive with the items in the store. I had purchased a coffee mug a few years back and complained on Twitter that they need to sell larger mugs instead of only offering little tiny baby mugs that only hold ~8 ounces of liquid. The next day, he added giant 48-ounce monsters to the store and I've been drinking out of that mug every day since.

  • stevoski 31 minutes ago

    > I've been using htmx for three years now, and it's completely unlocked new ways of building software for the web, especially if you use a server-side templating language.

    Likewise. 3 or 4 years ago, I ripped out two-thirds of all the JS in my B2B SaaS by using htmx with server-side templating. So much simpler.

    The ethos of allowing a return to a simpler way of building a web app resonates with me.

  • sgt 2 hours ago

    Exactly, I just released another project made with htmx and it's almost like you can't beat that velocity.

  • scumdude 4 hours ago

    Tell me about it. I made a joke about the store selling 'Complexity Bad' onesies, and he started selling them later that day.

    https://x.com/scumitchell/status/1886825775560528069?s=20

    • inigyou 30 minutes ago

      This implies it's all dropshipped print-on-demand, of course. Which is fine if you're just considering it a donation incentive rather than a worthwhile product in its own right.

    • Induane an hour ago

      That's amazing!

rpdillon 5 hours ago

HTMX's whole vibe is amazing. It's good tech, kept simple, useful in gobs of situations, but doesn't take itself too seriously. I've used it in professional and side projects since intercooler.js, and still love it. Here's a crazy unicorn-laser-eyes mug[0] that evokes the vibes of NROL-39[1]. I adore it.

[0]: https://swag.htmx.org/collections/octohorse

[1]: https://en.wikipedia.org/wiki/USA-247

  • all2 an hour ago

    The nrol 39 mission patch is one of my favorites. You should find the authorizing docs for that patch and read the hand written notes. They're hilarious.

  • antihero 5 hours ago

    I was against it for ages but having have claude use it in a simple project and being frankly sick/bored of React, it seems nice.

    • Incipient 4 hours ago

      I personally find react overly engineered for my projects - vuejs (+quasar on top) is just great. Granted a little boring perhaps, but it just works, behaves as you'd expect, and doing anything just isn't that difficult.

      • bel8 4 hours ago

        Quasar is amazing. But I dislike their Material design components. Would be perfect otherwise.

        • no_wizard 2 hours ago

          Wish they would decouple styling from everything else.

          Have a default you can import? Absolutely, that makes sense

          But styling by default they you have to make complicated overrides for? That’s the part that gets me

aarondf 21 minutes ago

I was at Big Sky Dev Con when they unveiled the GameBoy game. I kid you not my jaw dropped. I thought it was some sort of like emulator gimmick until they said "everyone can take a physical cartridge home!"

One of the most delightful little swag stunts I've ever seen, and emblematic of the HTMX crew just how much they care about craft and delight in everything they do.

ballon_monkey an hour ago

I love HTMX and use it in a few projects, but its amusing how whats old is new again. .NET Framework / Web Forms had update panels to do partial rendering of web pages back in 2005. Outside of .NET developers it got a lot of hate. But to a certain extent HTMX is a super well refined and more capable version of update panels and more.

gen220 3 hours ago

Thank you to the HTMX-folks for keeping software fun! I've been a happy HTMX user and Grug essay forwarder since it first made the rounds here on HN. This was an instant purchase :)

throw2ih020 4 hours ago

HTMX is awesome. I've replaced several OSS web apps on my home server with HTMX + Go + PostgreSQL replacements. The results are lightweight, responsive, work great on desktop and mobile alike, all with the absolute minimum complexity required. The codebases are easy to understand and modify, and so far I'm going months between updates (mostly just minor bugfixes for my applications). I fully expec my mature apps will go years if not decades between required upgrades.

  • nicpottier 4 hours ago

    Are any of these open source? I've gone down the go/htmx/pg path lightly a few times and I haven't loved the feel of it, but maybe I'm doing it wrong. I think just server side templating just starts feeling icky in go so maybe I'm just missing a good pattern or library.

    • throw2ih020 3 hours ago

      I don't want to ID my account but they basically look like:

      - OpenAPI API spec and using https://github.com/oapi-codegen/oapi-codegen/ to generate the types, server interface, and client library

      - Standard library http package for the API server implementation

      - Standard library template/html package for generating the dynamic parts of the webpage content

      - Static web content is embedded within the Go binary (https://pkg.go.dev/embed) and served through server routes

      - api served from /api route, htmx webpage served from /

      - no ORM, mostly using standard library database/sql package for DB transactions, maybe reaching for a query builder library for more complex queries like complex search functionality

      - Local S3 compatible object store for dynamic binary data like user-uploaded images and video. Local filesystem can be fine for small scale stuff.

      For my home server I have authn/authz happening at the OS/infra layer, but if you need multitenancy you can pretty easily integrate an OAuth/OpenID authn/authz middleware for login with Google or whatever.

    • gavmor 3 hours ago

      I just started experimenting with GSX and GSXUI

      https://github.com/gsxhq/gsxui

      https://github.com/jackielii/structpages is what I might call a framework that GSX sits nicely in.

      Also one ai haven't tried: Templ.

      https://github.com/a-h/templ

    • yawaramin 2 hours ago

      I wrote specifically about this, see https://news.ycombinator.com/item?id=48915935

  • nasretdinov 3 hours ago

    <please don't take this too seriously>

    That's great but I believe it's still over-engineered. Unless it's a web site that can tolerate no downtime at all during schema updates, SQLite in WAL2 mode is more than enough. Moreover, in Postgres version upgrades can't be done without significant downtime (or setting up replication and performing a complex dance), so even that isn't so cut and dry.

    </ ... >

    • throw2ih020 3 hours ago

      For some of the simpler sites sqlite would have been fine, but I do need Postgres anyway for some other stuff on my server so the overall burden of standardizing on Postgres only is less than having to do tuning for two different databases. In particular sqlite has worse defaults due to backwards compatibility, so you have to do a lot of upfront config for every table and DB.

      Postgres version upgrades are basically painless, at my workplace our upgrades complete in so little time our users don't notice, and we have more data than probably 99.9999% of companies out there (mature company in aerospace industry).

      • nasretdinov 3 hours ago

        Well if you already have Postgres then yes, sounds fine. I don't really agree that SQLite needs tons of tweaking -- setting journal_mode to WAL/WAL2 is the only real thing worth doing, everything else I would consider optional.

        Version upgrades for SQLite are basically a no-op though, that's kinda one of the reasons why it's so great to run in production (and deployment a maintenance being mostly a no-op as well, apart from setting up backups I guess).

        I don't actually suggest that everyone should run their production on SQLite, but it's genuinely worth considering especially for small-ish projects.

        • throw2ih020 32 minutes ago

          Foreign key constraints, sync frequency, busy timeout, strict typing on tables, explicit types for integer primary keys, and a convention for storing dates and times are others I would want to do up front.

        • Induane 43 minutes ago

          I set it to enforce foreign key constraint as well.

    • inigyou 28 minutes ago

      Every time I start with sqlite I outgrow it in some way, so I start with postgres now.

    • ffsm8 3 hours ago

      From an engineering perspective, sqlite and PostgreSQL are equivalent.

      The difference is only in the deployment/maintenance.

      And considering the context he stated, zero downtime really doesn't seem like something he's worrying about.

    • sroerick 3 hours ago

      (Me not taking this seriously)

      I personally find Postgres WAY easier than SQLite simply because of the deployment story. I do a lot of hotfixes and dangerous stuff on personal projects, and having two databases complicates that tremendously. I like being able to run hot code on prod.

      For the record, this is not the same reason I like postgres for actual production code

      • nasretdinov 3 hours ago

        Sorry can you please clarify what you mean by having two databases? You can share the same SQLite between applications if you really want

        • sroerick 23 minutes ago

          Yeah, I mean I guess I could technically connect to the remote SQLite server on my production server. You're right. But I've never done that and that's just not the pattern people use on SQLite

        • kelnos 2 hours ago

          I think they mean that they actually do need Postgres for some of their projects, and it's easier to just use Postgres for everything, than to use Postgres for some things and SQLite for others.

          • nasretdinov an hour ago

            Yes, but on the other hand what I'm implying is that you might not actually need it :)

factorialboy 4 hours ago

Is it true that the person who authored the "Grug-brained developer" essay also created HTMX?

buildwrangler an hour ago

I made the switch to HTMX recently After 12+ years of building web apps with Javascript and its been nice. I always hated the build complexity of modern Javascript, so much tooling, dependencies and packages to get basic functionality.

wvbdmp 2 hours ago

I’m amazed at how cheap this is. How is this possible for what I’m assuming is a relatively low-volume physical product? I don’t suppose it’s produced on-demand, but also Carson Gross probably doesn’t have 1000 of these boxes at his home, or I would have seen the pics on twitter.

luciana1u 2 hours ago

next release ships on a Tamagotchi and if you don't feed it, it deletes your DOM

recursivedoubts 5 hours ago

hello all, we are releasing htmx 4.0 on the Game Boy and Gameboy Color (thank you rcy for submitting)

it is a real, honest-to-goodness mario-bros inspired GameBoy game with four levels over three biomes ending in a slop factory where you battle final boss warren buffering (an online character I beef with, we are friends)

if you beat him it unlocks the source code for htmx 4.0

game was written by Stephen Mitchell (aka scum) by hand, using GBStudio w/heavy customizations, hoping to get an essay by him up soon talking about the creation of the game

carts were produced w/the expertise of Jarason Banes who also did the cover design. Cover art is by Ash (https://www.fiverr.com/ae1996/) who also did the soft-cover art for https://hypermedia.systems

Hope you find it enjoyable if you get a copy and at least find it funny if you don't :)

  • chrismaltby 3 hours ago

    Oh hey, I made GB Studio, really cool to see it being used for this :) I've got some nice features in progress for the next version https://www.youtube.com/watch?v=q8UKwV1gJAI

    • scumdude 3 hours ago

      Sweet - thanks for your work on GB Studio, Chris. The music, sprite and palette tools were invaluable during development.

  • superdisk 3 hours ago

    Did you use the built in GB studio sound engine? If so that's my code :) Always enjoyable when it pops up in places like this. Looks like a fun project.

  • mitjam 3 hours ago

    Amazing, can’t wait to see the first unboxing / let’s play / review videos.

  • mvdwoord 3 hours ago

    Ordered... along with some other swag.

    Love HTMX, can't wait for my https://brickboy.xyz/ to arrive so I can get to work!

  • iamwil 4 hours ago

    Is it a real physical cartridge? How do you get the source code off the cartridge at the end? Or does it give you a passcode to a git repo or…like an NFT with access to the source?

  • WD-42 3 hours ago

    Wait but where do we get a gameboy?

  • asploder 4 hours ago

    This is too funny, how could I not?

  • Klonoar 4 hours ago

    How much did this cost to make/produce?

    • sroerick 4 hours ago

      Whatever it cost, he also gave out free copies at BSDC, what an unbelievably cool and nice thing to do

      • zogrodea 2 hours ago

        "Big Sky Dev Con", not "Better Software Conference" for those who were (like me) initially confused. :)

        Someone commented in the past few days that the most impressive demo they saw in a conference was LibreOffice running on Fil-C, and I agreed.

        However, this took the #1 spot from it (leaving that previous demo in #2) in my opinion. Very impressive, and nostalgic too.

        • sroerick 21 minutes ago

          I'll also say - scum gave a presentation which was actually very touching. "Love what you do, care deeply about your projects, be with your family". Combined with everything you already said - pretty awesome stuff

    • scumdude 4 hours ago

      Wait - you guys got paid?

hirvi74 3 hours ago

While I am not particularly a fan of HTMX, I do absolutely adore how Carson and the team always have such a great sense of humor with the project.

I used HTMX in a few projects, and the library worked well enough for what I needed, but I found it to be a bit too limiting compared to accomplishing the same task in Vanilla JS (my go-to).

dzonga 40 minutes ago

this is the counter culture we all live for.

well done to the htmx team.

felixrieseberg 3 hours ago

This is beautiful, the title alone gave me a good chuckle.

0gs 3 hours ago

htmx is so great. i feel like every week i discover some lovely way it helps things run more smoothly

all2 an hour ago

As a side note, anyone is welcome to add 'CEO of HTMX' to their LinkedIn profile.

...I may have done this.

dizhn 3 hours ago

There is one thing I don't like about htmx. It's that they like to use the HATEOAS acronym. It's a bad acronym in every conceivable way.

thrance 3 hours ago

The box and cartridge art feels... AI-generated. There's a significant lack of intentionality in e.g. the backgrounds or the details on the car. The letters on the sides of the cartridge feel wonky too.

If its's really the case, that would be sad for a game that is about fighting slop.

  • jbanes an hour ago

    I didn’t do the art, but I did do the graphic design/layout of the box. I can assure you there was no AI used on the box. (Well, except for the CRT effect on the screenshots. ChatGPT helped out there.) I did the work in PhotoPea using the artist’s original work as a base.

  • recursivedoubts an hour ago

    The cover art is by ash on fiverr. He also did the cover of hypermedia systems:

    https://hypermedia.systems

  • scumdude 2 hours ago

    recursivedoubts already mentioned the Cover art is by Ash and included a link to his credentials and portfolio.

inigyou 4 hours ago

Error: Forbidden

Your client does not have permission to get URL /en-cad/products/htmx-4-the-game from this server.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection