Live data from Hacker News

Macaroni – a single HTML file messenger

github.com

11–20 of 93 posts

Re: Macaroni – a single HTML file messenger

#11
post #3

It just looks like a funny slop project if you read the English readme, but reading the Russian PHILOSOPHY.md [1] (auto-translated [2] if you don't read Russian) makes you realize that there's probably something more than "let's implement a messenger using git remote as a storage", knowing how popular messenger apps are getting blocked in Russia. [1]: https://github.com/vanyapr/makaroshki/blob/main/PHILOSOPHY.m... [2…

Here's the translated version I got (GH translate didn't work for me for some reason).

https://pastebin.com/raw/EPtJM5Dp

Re: Macaroni – a single HTML file messenger

#14
post #8

Earlier quoted context omitted.

And its why we cannot have nice things. This is likely a TOS violation of github.

That’s fair, although GitHub is just the default transport because it requires zero setup. The protocol itself isn’t tied to GitHub and works with any Git remote. If GitHub ever decided this wasn’t an acceptable use case, swapping the remote would be trivial.

Looking at the source I don't think that's true -- it's using GitHub specific APIs to read/write files. It's not standard git so any remote wouldn't work, and the mechanics are more akin to a key-value store than git really.

Not to say you couldn't add a generic git protocol to this, just that that's not being done here.

Re: Macaroni – a single HTML file messenger

#15
post #11
post #3

It just looks like a funny slop project if you read the English readme, but reading the Russian PHILOSOPHY.md [1] (auto-translated [2] if you don't read Russian) makes you realize that there's probably something more than "let's implement a messenger using git remote as a storage", knowing how popular messenger apps are getting blocked in Russia. [1]: https://github.com/vanyapr/makaroshki/blob/main/PHILOSOPHY.m... [2…

Here's the translated version I got (GH translate didn't work for me for some reason). https://pastebin.com/raw/EPtJM5Dp

Slightly better translation: https://markdownpastebin.com/?id=fb9680965f42433fb3a4c6bf7a0...

Re: Macaroni – a single HTML file messenger

#16

I wonder why this type of deployment is not more popular - pushing all resources inside a single HTML file, with a script tag, and inline resources as blobs.

You just described the Macaroni plugin system — plugins are literally appended as tags before the closing tag.

Re: Macaroni – a single HTML file messenger

#17
post #10
post #8

Earlier quoted context omitted.

And its why we cannot have nice things. This is likely a TOS violation of github.

I think it's pretty clear from the readme that this is a humorous proof of concept more so than anything someone should seriously use.

From the translated readme:

Macaroni Messenger is not a joke. It simply refuses to complicate solutions unnecessarily.

That's why some technical decisions might look like a joke.

Sometimes it really is a joke. But most of the time, it's just the simplest working option.

https://news.ycombinator.com/item?id=48487542

Re: Macaroni – a single HTML file messenger

#18
post #8

Earlier quoted context omitted.

And its why we cannot have nice things. This is likely a TOS violation of github.

That’s fair, although GitHub is just the default transport because it requires zero setup. The protocol itself isn’t tied to GitHub and works with any Git remote. If GitHub ever decided this wasn’t an acceptable use case, swapping the remote would be trivial.

> The protocol itself isn’t tied to GitHub and works with any Git remote.

> If GitHub ever decided this wasn’t an acceptable use case, swapping the remote would be trivial.

Nope.

From the README:

"GitHub is the only working write provider right now. GitLab, GitVerse, Gitea, Forgejo, and other git hosts are protocol targets for future adapters. Today they are not finished write adapters."

Re: Macaroni – a single HTML file messenger

#20

I wonder why this type of deployment is not more popular - pushing all resources inside a single HTML file, with a script tag, and inline resources as blobs.

I do this whenever possible. As a separate issue, I also aim for That might just be an aesthetic choice on my part, but I often find that I am able to implement all the features I need in surprisingly few lines of code. e.g. the first version of my LLM UI was 200 lines and quite usable for my purposes.

And my OpenClaw clone was 50 lines. Just a Telegram wrapper around Claude, but turns out that's all I needed.[0]

Also no dependencies, frameworks, libaries etc. Not a hard rule, but I find that they add negative value about 90% of the time, at least at my scale.

There are dozens of us! :)

[0] Of course, "Claude Code" isn't 50 lines. Except, it turns out you can replace it in about 50 lines. From the SWE-bench folks: https://minimal-agent.com/

To this I added the missing outer loop (so it's actually an agent a human can use) and vendored in a microscopic llm lib (yay no deps). https://gist.github.com/a-n-d-a-i/bd50aaa4bdb15f9a4cc8176ee3...

Post reply on HN