Example of DSL: https://github.com/liampulles/liampulles.github.io/blob/mast...
Blog post with more info, and my site: https://liampulles.com/moving-blog.html
---------------------
[1] www.lelanthran.com
The meta viewport tag disallows zooming/using your website. I had to switch to Desktop mode on my Android phone to be able to read half the content that was overflowing and not visible.
p.s. i'm working on a new wiki to replace my website with - something new, from the ground up.
git.j3s.sh/abyss - stay tuned
I wonder if they'll still be using a similar approach for the new site.- written in golang, one binary
- custom markup lang
- very short urls (https://j3s.sh/$pagename)
- pages are saved as text-files-written-to-disk with git autocommits (similar to mycorrhiza[0])
- "blocks" that process parts of pages differently - similar to edna[1]
- pages editable via web interface (rudimentary phone support)
- autolinks between pages
- simple picture upload interface (^V with a pic in clipboard will upload the pic + paste appropriate markup)
- single user system, intended as a personal knowledge base
this system will replace https://j3s.sh and https://abyss.j3s.sh eventually -- all old links will redirect to the new wiki. it's been quite an undertaking, but i think the end result will be worth it :3
1. You just want to serve static files from your blog? Install a webserver and knock yourself out in your editor, creating html and css (and maybe js) files.
2. You want to serve static files, with some dynamic crap stuffed inside here and there like the examples given in the article? Install the mod_php or equivalent for your webserver, and go mad with the editor.
3. You want fully generated content? Install one of the many backend frameworks in any language you want to use, and then go mad in your IDE.
What use-case does "one binary I wrote in Go" satisfy that isn't covered above? From everything I gleaned from the article, the PHP solution is even easier, while still technically being "one single binary".
EDIT: as an example of over-engineering, here is the authors code for a specific use-case:
func ipHandler(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "text/plain")
fmt.Fprintf(w, r.Header.Get("X-Forwarded-For")+"\n")
}
...
http.HandleFunc("/ip", ipHandler)
And here is the equivalent in PHP: header('Content-Type: text/plain');
echo $_SERVER['REMOTE_ADDR'];
In .NET land, one of the top reasons to go all-in with a single exe web server would be performance. Kestrel can be unbelievably fast if you remove all of the layers of indirection like IPC and hosted SQL. I've got dynamic HTML pages that render in <100uS and that includes managing session state and other queries into SQLite.
Concerns like accidentally showing up on the front page of HN or even petty DDOS attempts can be often be ignored when you are able to serve content this quickly.
The other major reason I like it is having everything in one type system and debugger experience. I can set a breakpoint anywhere and inspect everything.
(Points to a myriad of Go functions that do in eight or nine lines what other languages do in two)
For instance, PyTorch is simple until you have a __need__ (e.g., rfft/irfft with bfloat16) to drop to CUDA and, in so doing, break autograd and all kinds of other things. Now you need to write a Torch extension and handle Meta/Fake tensors and the like if you want it to work with torch.compile. A lot of the simplicity goes right out the window.
If you run into this a lot, then you're doing something sufficiently weird for the simpler solution to, well, not be simpler.
In the former case we have a single executable. We can now choose to statically compile all dependencies with musl.
We can also statically compile all the assets (HTML, images) into the binary.
Then you take your Docker image and build a FROM scratch image, copy in your binary and you've got a super-lightweight container.
[0] https://www.bugsink.com/blog/multi-process-docker-images/
You think people with accents do it on purpose?
How do you feel about people who talk to you in a fake accent for no reason whatsoever?
This looks like the same thing.
Affectation is one thing, but the behaviour you describe is as much cultural and contextual as it is affectation. Just like an accent.
Very very much not worth thinking about too hard, except for its anthropological implications. IMO, of course.
I also have extensive experience with static sites, starting from using just Apache Directory Listing (Footer, Header, SSI), to writing my own in Perl, Ruby on Rails, Go, and TypeScript, using frameworks like Astro, Next, or Zola. Apart from the Apache setup and some Perl scripts, all of them had one thing in common: I used Markdown because it is easy to transform into HTML, which means it is accessible.
My website is one binary - https://news.ycombinator.com/item?id=44345752 - June 2025 (1 comment)
My website is one binary (2022) - https://news.ycombinator.com/item?id=37964917 - Oct 2023 (168 comments)
My website is one binary - https://news.ycombinator.com/item?id=30937515 - April 2022 (67 comments)
Quitschquat•18h ago