frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Do not download the app, use the website

https://idiallo.com/blog/dont-download-apps
799•foxfired•10h ago•446 comments

Open Sauce is a confoundingly brilliant Bay Area event

https://www.jeffgeerling.com/blog/2025/open-sauce-confoundingly-brilliant-bay-area-event
88•rbanffy•2d ago•25 comments

Turn any diagram image into an editable Draw.io file. No more redrawing

https://imagetodrawio.com/
31•matthewshere•2h ago•8 comments

CCTV Footage Captures the First-Ever Video of an Earthquake Fault in Motion

https://www.smithsonianmag.com/smart-news/cctv-footage-captures-the-first-ever-video-of-an-earthquake-fault-in-motion-shining-a-rare-light-on-seismic-dynamics-180987034/
108•chrononaut•5h ago•19 comments

It's time for modern CSS to kill the SPA

https://www.jonoalderson.com/conjecture/its-time-for-modern-css-to-kill-the-spa/
439•tambourine_man•11h ago•250 comments

Show HN: Auto Favicon MCP Server

https://github.com/dh1011/auto-favicon-mcp
7•dh1011•1h ago•0 comments

Users claim Discord's age verification can be tricked with video game characters

https://www.thepinknews.com/2025/07/25/discord-video-game-characters-age-verification-checks-uk-online-safety-act/
35•mediumdeviation•4h ago•20 comments

Simon Tatham's Portable Puzzle Collection

https://www.chiark.greenend.org.uk/~sgtatham/puzzles/
10•sogen•1h ago•2 comments

It's a DE9, not a DB9 (but we know what you mean)

https://news.sparkfun.com/14298
378•jgrahamc•19h ago•244 comments

Never write your own date parsing library

https://www.zachleat.com/web/adventures-in-date-parsing/
174•ulrischa•15h ago•226 comments

Windsurf employee #2: I was given a payout of only 1% what my shares where worth

https://twitter.com/premqnair/status/1948420769945682413
545•rfurmani•1d ago•366 comments

Vanilla JavaScript support for Tailwind Plus

https://tailwindcss.com/blog/vanilla-js-support-for-tailwind-plus
244•ulrischa•14h ago•116 comments

Why MIT switched from Scheme to Python (2009)

https://www.wisdomandwonder.com/link/2110/why-mit-switched-from-scheme-to-python
217•borski•16h ago•186 comments

Efficient Computer's Electron E1 CPU – 100x more efficient than Arm?

https://morethanmoore.substack.com/p/efficient-computers-electron-e1-cpu
196•rpiguy•16h ago•69 comments

Animated Cursors

https://tattoy.sh/news/animated-cursors/
177•speckx•14h ago•39 comments

Experimental surgery performed by AI-driven surgical robot

https://arstechnica.com/science/2025/07/experimental-surgery-performed-by-ai-driven-surgical-robot/
91•horseradish•12h ago•94 comments

The Rise and Fall of the Hanseatic League

https://worksinprogress.co/issue/the-rise-and-fall-of-the-hanseatic-league/
3•loeber•3d ago•0 comments

Why I Do Programming

https://esafev.com/notes/why-i-do-programming/
9•artmare•2h ago•3 comments

Steam, Itch.io are pulling ‘porn’ games. Critics say it's a slippery slope

https://www.wired.com/story/steam-itchio-are-pulling-porn-games-censorship/
478•6d6b73•16h ago•629 comments

The future is not self-hosted

https://www.drewlyton.com/story/the-future-is-not-self-hosted/
303•drew_lytle•20h ago•283 comments

What is X-Forwarded-For and when can you trust it? (2024)

https://httptoolkit.com/blog/what-is-x-forwarded-for/
22•ayoisaiah•2d ago•5 comments

Developing our position on AI

https://www.recurse.com/blog/191-developing-our-position-on-ai
206•jakelazaroff•2d ago•65 comments

A Union Pacific-Norfolk Southern combination would redraw the railroad map

https://www.trains.com/trn/news-reviews/news-wire/a-union-pacific-norfolk-southern-combination-would-redraw-the-railroad-map/
52•throw0101c•11h ago•81 comments

CO2 Battery

https://energydome.com/co2-battery/
125•xnx•16h ago•112 comments

Women dating safety app 'Tea' breached, users' IDs posted to 4chan

https://www.404media.co/women-dating-safety-app-tea-breached-users-ids-posted-to-4chan/
416•gloxkiqcza•17h ago•530 comments

Programming vehicles in games

https://wassimulator.com/blog/programming/programming_vehicles_in_games.html
263•Bogdanp•17h ago•59 comments

Researchers value null results, but struggle to publish them

https://www.nature.com/articles/d41586-025-02312-4
111•Bluestein•2d ago•41 comments

Generic Containers in C: Vec

https://uecker.codeberg.page/2025-07-20.html
20•uecker•3d ago•15 comments

Steve Jobs' cabinet

https://perfectdays23.substack.com/p/steve-jobs-cabinet
74•padraigf•3d ago•62 comments

Show HN: Apple Health MCP Server

https://github.com/neiltron/apple-health-mcp
174•_neil•2d ago•35 comments
Open in hackernews

My website is one binary (2022)

https://j3s.sh/thought/my-website-is-one-binary.html
49•smartmic•21h ago

Comments

Quitschquat•18h ago
I do this with CLOG, save-lisp-and-die
liampulles•18h ago
I wrote a Go program to generate my blog (which is just a static site hosted on Github pages). I made it so that I could write blog posts with a "widget builder" DSL, which is a good compromise for me between customizabiity for individual pages vs being able to write 95% of everything with markdown.

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

lelanthran•18h ago
My blog[1] is also generated from nothing but markdown, but I leaned on pandoc heavily for this: https://gist.github.com/lelanthran/2634fc2508c93a437ba5ca511...

---------------------

[1] www.lelanthran.com

yboris•17h ago
Awesome! I'm curious if you considered Hugo and if yes, why you preferred to build your own Go website generator :)
cookiengineer•12h ago
Just FYI:

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.

paranoidxprod•18h ago
From one of these user's most recent posts here https://j3s.sh/thought/blogs-rot-wikis-wait.html:

  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.
j3s•17h ago
it's still in the works, but here's the plan:

- 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

[0]: https://github.com/bouncepaw/mycorrhiza

[1]: https://edna.arslexis.io

lelanthran•15h ago
See my comment upthread; I'm very curious why PHP would not have worked for you.
j3s•13h ago
because i don't enjoy working with PHP
lelanthran•18h ago
I'm not seeing the point here, TBH. What use-case does this author's single-binary satisfy?

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'];
malwrar•17h ago
Easier to deploy? No need for packaging everything or installing runtime stuff, just copy one file on your server and run it.
indigodaddy•17h ago
Redbean is another good candidate for accomplishing this.
dlachausse•15h ago
I think a lot of younger developers don't realize that there was a time where you simply FTPed your files up to a directory on a web server. If you wanted to live dangerously, you could even edit them live on the server through a shell account.
hkon•17h ago
sigh
Veen•17h ago
It solves the author's use case, which the article explains at some length.
bob1029•17h ago
> What use-case does "one binary I wrote in Go" satisfy that isn't covered above?

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.

jbreckmckye•16h ago
But Go is so simple!

(Points to a myriad of Go functions that do in eight or nine lines what other languages do in two)

acuozzo•15h ago
I'm not defending Go here, but simplicity can also be used to describe not having to incur the cost of (often leaky) abstractions when things go wrong under the hood or when you need to do something different from the intended use-case(s).

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.

dlachausse•15h ago
I think a lot of it is just for the author's own fun, enjoyment, and amusement. Also, golang is probably their favorite hammer. It's not efficient for me to smoke a brisket myself or make furniture by woodworking, but I enjoy it. Not everything has to have any more purpose than that.
j3s•13h ago
bingo. i'm not trying to claim that everyone should do this in go -- it's just a language that i like to use. by all means, use ruby, or PHP, or Elixir, or whatever else you like!
throwmeaway222•17h ago
So I guess one docker image is also one binary...
j3s•17h ago
i have some thoughts about this >:) https://abyss.j3s.sh/hypha/docker
OptionOfT•17h ago
A Docker container can launch a single process or multiple processes [0] (please don't do this, use docker as the separation & health checker).

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/

xandrius•17h ago
Anytime I see someone writing without any capital letters, I stop and close the page. I understood that they care more about themselves (the writer) than the reader, so I let them write without my reading, as they signaled they don't care about it. Respectable.
imperialdrive•17h ago
it is likely an informal, stylistic choice, nbd honestly
quesera•16h ago
How do you feel about people who speak with accents?
lelanthran•13h ago
> How do you feel about people who speak with accents?

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.

quesera•12h ago
Looks like it, but it often is not.

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.

fragmede•16h ago
good to know. so now you've closed this page now and gotten back to work? i wonder where else you read things on the internet
simpaticoder•16h ago
I believe that similar concerns/aesthetics drove the development of https://redbean.dev/
indigodaddy•16h ago
This is actually a great post. Love the idea of single binary and low dependencies to keep things as lean as possible.
usixk•16h ago
Pleasantly surprised how jovial this post was. Thanks!
sha16•16h ago
I was using Python's Pelican static site generator for some time until I wanted to further customize the template fragments of a theme. Started running into issues and even helped fix a bug with the build command. Eventually I couldn't be bothered and wrote my own static site, except with Nextjs instead of plain HTML. Didn't take long and I don't have to mess around with awkward jinja templates anymore.
vunderba•16h ago
Similarly I started out with Pelican but eventually needed more fine control over the site using MDX/etc. so I migrated my site over to Astro and have been pretty happy with it.
daitangio•16h ago
Yes hugo+template+isso (my Giorgi.com setup) has some hidden dependencies but you can get a fancy site in very little time. A dynamic web site is exciting to design, but require a lot of effort… I suggest to use Python Django: it has a tutorial for a blog!
exiguus•16h ago
I like the idea, but I don't like that the result is not accessible. For example, there are no headlines, lists, or paragraphs—just a huge pre, or if you remove the 'thoughtbody' class from the p element, you can see how well a screen reader can read it.

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.

j3s•15h ago
agreed, accessibility is something i'm hoping to fix with my wiki rewrite! that and phone formatting x_x
exiguus•14h ago
I really like the (let's call it) ‘ASCII look’. I would be delighted if you could share an update with the mobile-ready/accessible version.
minroot•16h ago
It's true, static sites are low energy.
Twey•14h ago
Rather than a compiled blob generated from a language propped up by Google (a company famed for killing beloved projects) that is compiled and therefore unmodifiable and unrecoverable if the source or toolchain is lost, it feels like these goals would have been better served by writing it as some POSIX-compatible sh scripts, or even a (pre-packaged/no-build) JavaScript bundle — we've been trying to kill that thing for decades, and it's still kicking!
dang•12h ago
Related:

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)