I would prefer the connection instructions made clear that the default SSH username would be used to set up my username on the platform and display that to other users without initially seeking my consent. On $machine[work], I don't get to pick that $USER is my full name.
If this affects you, make sure you connect with `ssh [pseudonymous name]@late.sh`.
I know that. Just because SSH automatically sends my local $USER doesn't mean they have to report the value received in the SSH username automatically on the game platform to other users, without first having prompted me "your username has been reported as <greengreengrass>. Is it okay to show this?".
A simple flag in my user profile in the platform to say whether I've said that's okay or not.
Or instructions to advise people to choose their username /before/ first connect. These are reasonable, privacy-preserving things to call out in a good and user-friendly design.
# privacy
we store your key fingerprint, not the full public key.
no IP logging. no tracking. no analytics.
chat messages and game scores are stored in
postgres, tied only to your fingerprint.
don't trust us? use a throwaway key:
$ ssh-keygen -t ed25519 -f ~/.ssh/late_throwaway && ssh -o IdentitiesOnly=yes -i ~/.ssh/late_throwaway late.sh
generates a disposable key — zero risk, full experience
Wow, this got flagged immediately. Must have triggered some automated thing. Sorry!
This is a really cool idea, and very appealing. Also very nice that it looks usable with just an SSH client. It would be useful if it was explained what the companion client is for?
Another small personal gripe: I think you should either remove the 1 line copy/paste sh install on the homepage, or add a link to a git repo on the homepage. I know it's possible to view the sh by visiting it, but a raw text file doesn't give any info about contributors or development process. Current form of no git repo and copy/paste bash pipe on homepage feels like a dark pattern.
Not to mention that a webserver can be configured to show one sh file when a regular browser visits and another when curl etc. gets it. Show one thing, install another.
This is helpful to know, but also pretty general security practice. If you are auditing an artifact, only use that audited artifact after, don't assume that a network endpoint can never change what it serves. If you must use a newly downloaded artifact, verify it matches whatever you audited by comparing some sort of hash or derived value.
You don't have to change it just because one person complained. I personally like the "copy and paste curl command" to install something and I'm sure many others do as well. It's very convenient, and I can inspect the file myself if I'm that paranoid about it.
Sorry, it wasn't meant to come across as a complaint with copy and paste curl command, I agree with you it's convenient and I generally like it.
However, the sort of tools that generally provide it also generally have a GitHub link nearby to encourage reading/writing the source. That too is convenient and I generally like it. Seemed like a fair suggestion.
Is this really not a mostly “solved” problem using assistive browser (or OS-level) settings/extensions that apply high-contrast/large type consistently across all sites/apps? Is it necessary to performatively sacrifice aesthetics to signal to everyone else you’re especially sensitive to these needs?
At what point is it enough? If they use high contrast, large fonts, and translations for every language—including Swahili’s default Kiunjuga dialect, but fail to include the Kimvita, Kiamu, Kingwana, Chimiini, Bajuni, AND Comorian dialects, will they be accosted for saying “f off” to everyone speaking Swahili outside of Zanzibar?
> Is this really not a mostly “solved” problem using assistive browser (or OS-level) ...
> ... performatively sacrifice aesthetics ...
One doesn't need to sacrifice aesthetics to make the design legible to an average user.
> At what point is it enough?
It depends on who your audience is. The more people you want to reach, the more you need to cater to everyone's needs. There are fundamental anti-patterns to avoid like writing with a dark font on a dark background.
I generally agree with the first point. As to the second, this is clearly designed for people who will have the technical know-how to facilitate custom CSS, browser extensions, reader modes, and other assistive technology.
Considering its branding is entirely centered on late night socialization, I feel low-contrast dark mode is precisely the aesthetic that fits its identity.
> people who will have the technical know-how to facilitate custom CSS
I think anyone with access to an LLM doesn't necessarily need the technical know-how. They can just ask as an extra step for a design check including text contrast.
> I feel low-contrast dark mode is precisely the aesthetic
Super cool and seems to have a depth of historical knowledge
I’m shocked to see that LORD can’t be used because of licensing. Legally I know that’s how it is, but it Just Feels Wrong(tm) that a popular game based on 9600baud phone modems is encumbered in the era of fibre, wifi, and smartphones
Did I miss something? Aren't public key are supposed to be public?
To be clear, that's an honest question, not sarcasm of anything. I only assume I don't know about some corner case with SSH or something? Because we have those on our websites, they are supposed to be used to verify signatures, etc. How is publishing them bad?
It's up to you to decide if it's okay that you send a server provider (in this case late.sh) a bunch of your public keys which he could for example use to probe other servers to see if you have access to them.
Based on what another user said, you might want to modify the above command to use throwawayUsername@late.sh instead if you are going the throwaway route to be more certain you aren't leaking your OS username.
Okay, but why is that something to be concerned about? How would one be able to probe to see if a server recognizes a public key? Why does that matter?
If I have your public key I could probe a server to see if it recognizes that public key. Which would tell me information you might not want to be leaked.
I think what the other comment is getting at is that you're essentially leaving footprints behind on various servers and that information could be used to narrow down who you are, where you work, etc. For example, if you used the same key pair for a work machine at the big social media site example.com as you did late.sh, they could probe example.com's machine and see that you'd been there.
yeah I was gonna say, it's very difficult to read on an eink display. And while we're at it, I believe my phone is set to reduced animations, which I believe is a preference that's exposed to websites, the experience would be much better without so much blinking going on.
Don’t forget to include translations to all 190+ languages, and their various dialects. Otherwise, you obv. don’t care about being inclusive to Sentinelese users. /s
Your dark mode choice for your late night chat is appropriate, and good branding. If someone’s technically literate enough to engage with an SSH-based social network, then they should be capable of injecting user scripts, custom CSS, and/or deploying assistive browser extensions, OS settings, and screen readers.
If this were a website about cataract treatments or a Metamucil landing page, then it would be a bad design.
The whole brand identity is “late”, as in late night, as in all the lights are off and I don’t want my screen to blind me. I feel like this is a perfectly appropriate sort of theme, but maybe that’s just my inner 20-year old impugning my inner 70-year old?
Vibe coded slop has the same patterns of black-on-black and grey-on-grey illegible text. Mix that with piss poor monospace, small-size fonts and you have to squint to read each letter
Still plenty of thriving communities on IRC, particularly on Libera but elsewhere too. Similar to HN, it's one of the few remaining places on the internet you can hope to have a decent conversation.
I would say the design is the most human thing about this page. (It has its charm somehow, even if it’s obviously “flavour of the week LLM design”. Also, I don’t think an LLM would choose colours so poorly unless nudged in that direction – accidentally, I suppose.)
If you think (or care), that the LLM wrote all of the subheaders, the category names etc, then you might be spending too much time focused on the wrong thing.
I don’t really care. I’m just... disappointed a bit? It seems like a cool project, but those “concise sentences” don’t make it easier to learn about it.
no passwords. no OAuth. no accounts.
your ssh key is your identity.
chats, scores, and streaks are tied to your public key fingerprint. same key, same data.
No accounts? How is that possible? You literally store my data! Is that not an account?
And what the fuck is OAuth? (Okay, this clearly is oriented at developers, but on its own the sentence just doesn’t make sense. For me as a user, what pain is removed by not having a “Sign in with GitHub” button? Why should I care?)
How about you tell me why you decided to do it that way:
all your data – chats, scores, streaks – is tied to your ssh public key.
no need to come up with a password or verify your email – just ssh in.
It took me a couple of minutes to write this, sure, but at least it now makes sense. And it’s more concise, no? (It still sounds llm-y to me, but whatever.)
Now, for bonus points, there’s two obvious questions to answer:
• what do I do if I lose my SSH key?
• what do I do if I use more than one device?
(The obvious answers are “you can add other SSH keys in your account settings” and “you can add other SSH keys in your account settings”.)
---
Okay, one more, and then I need to go grab a beer.
a read-only peek at the TUI in your browser.
tab around, see what's inside.
no typing, no chat, no games — just a window
into a shared demo session.
for the real thing, `ssh late.sh`.
Concise?
a read-only preview of late.sh in your browser.
poke around and see what's inside. `ssh late.sh` when you’re ready to chat and play.
There's maybe 100 words on the page. It would have taken someone 5 minutes to type that out. But apparently the creator didn't even care enough to do that.
See thats the difference, i don't core personally. Its a page to tell you to connect to the ssh server (or install their script). Why does it have to be a philosophical masterpiece? Its just word on a page saying click here, better looking then the majority of the SEO garbage that has plagued the internet for the last 15 year thanks to google and friends.
It's possible to login and interact and use late.sh with just your SSH client - there's no need to download or run custom code. But you that did make me realise that they don't have a github link on that page anywhere.
Your tone in this comment is a bit out of place on HN. Why are you here if you think it's 1M dummies?
i had a quite good experience generating a key/username on my local machine and ssh'ing in.
lot of vitriol in the comments. looks like a spectacularly put together BBS, to me. the tools are open-source and have some really fun looking value add, but no, i haven't ran them.
I would prefer the connection instructions made clear that the default SSH username would be used to set up my username on the platform and display that to other users without initially seeking my consent. On $machine[work], I don't get to pick that $USER is my full name.
If this affects you, make sure you connect with `ssh [pseudonymous name]@late.sh`.
> without initially seeking my consent
That's just how SSH works. If you want to be pseudonymous, you should also generate a new key pair.
> That's just how SSH works
I know that. Just because SSH automatically sends my local $USER doesn't mean they have to report the value received in the SSH username automatically on the game platform to other users, without first having prompted me "your username has been reported as <greengreengrass>. Is it okay to show this?".
A simple flag in my user profile in the platform to say whether I've said that's okay or not.
Or instructions to advise people to choose their username /before/ first connect. These are reasonable, privacy-preserving things to call out in a good and user-friendly design.
They do make it clear...
Wow, this got flagged immediately. Must have triggered some automated thing. Sorry!This is a really cool idea, and very appealing. Also very nice that it looks usable with just an SSH client. It would be useful if it was explained what the companion client is for?
Another small personal gripe: I think you should either remove the 1 line copy/paste sh install on the homepage, or add a link to a git repo on the homepage. I know it's possible to view the sh by visiting it, but a raw text file doesn't give any info about contributors or development process. Current form of no git repo and copy/paste bash pipe on homepage feels like a dark pattern.
Not to mention that a webserver can be configured to show one sh file when a regular browser visits and another when curl etc. gets it. Show one thing, install another.
So download it with curl and read it first before executing it from your local disk.
read it ? we dont do what kind of stuff here, i got my army of reader agents.
Except you can't really be sure, still: http://web.archive.org/web/20250622061208/https://www.idontp...
This is helpful to know, but also pretty general security practice. If you are auditing an artifact, only use that audited artifact after, don't assume that a network endpoint can never change what it serves. If you must use a newly downloaded artifact, verify it matches whatever you audited by comparing some sort of hash or derived value.
noted, good feedback :) will change it later, thanks!
You don't have to change it just because one person complained. I personally like the "copy and paste curl command" to install something and I'm sure many others do as well. It's very convenient, and I can inspect the file myself if I'm that paranoid about it.
Sorry, it wasn't meant to come across as a complaint with copy and paste curl command, I agree with you it's convenient and I generally like it.
However, the sort of tools that generally provide it also generally have a GitHub link nearby to encourage reading/writing the source. That too is convenient and I generally like it. Seemed like a fair suggestion.
Also for all these kind of ssh stuff. Please include server finger print so others verify.
Is this your server fingerprint?
ED25519 key fingerprint is SHA256:Tc7aeaaQulKJeF3C/zd2BKvq/KgaQTHyMPNa3s9K+aE.
Really reminds me of https://tilde.town
For those who don't know just discovered you can change your theme!
Ctrl + O -> Move down to your theme. Helps with the default one being a bit chaotic
Thanks for whoever made this. This is rad and gives me hope for the old internet vibes.
This is amazing! Even real icecast with irc <3 Even my fav game 2048, even with real LLM :D
Fantastic job mati!
Thank you :)
This is like habbo hotel but for terminal nerds, amazing.
Totally! Or Club Penguin
Reading this is like reading "this is like WiFi but for RJ11 nerds" while holding a dialup modem.
Pay no need to other comments over here, this is awesome. I showed this to my co-workers, they all love it.
shameless self plug for a similar ssh experience, but for baseball: https://mlbt.sh
I built it with the same stack and around the same time as late.sh, which I used for some inspiration.
also, mlbt can be run locally as a TUI.
OK, which one of yous tried to `sudo apt install bobs and vageen`?? xD
I loved the text contrast on the landing page. Grey text on a dark background.
Yeah, it is a very nice way of saying “f off” if you’re poor, whatever with your display (low res mobile) or eyesight.
Is this really not a mostly “solved” problem using assistive browser (or OS-level) settings/extensions that apply high-contrast/large type consistently across all sites/apps? Is it necessary to performatively sacrifice aesthetics to signal to everyone else you’re especially sensitive to these needs?
At what point is it enough? If they use high contrast, large fonts, and translations for every language—including Swahili’s default Kiunjuga dialect, but fail to include the Kimvita, Kiamu, Kingwana, Chimiini, Bajuni, AND Comorian dialects, will they be accosted for saying “f off” to everyone speaking Swahili outside of Zanzibar?
> Is this really not a mostly “solved” problem using assistive browser (or OS-level) ... > ... performatively sacrifice aesthetics ...
One doesn't need to sacrifice aesthetics to make the design legible to an average user.
> At what point is it enough?
It depends on who your audience is. The more people you want to reach, the more you need to cater to everyone's needs. There are fundamental anti-patterns to avoid like writing with a dark font on a dark background.
I generally agree with the first point. As to the second, this is clearly designed for people who will have the technical know-how to facilitate custom CSS, browser extensions, reader modes, and other assistive technology.
Considering its branding is entirely centered on late night socialization, I feel low-contrast dark mode is precisely the aesthetic that fits its identity.
> people who will have the technical know-how to facilitate custom CSS
I think anyone with access to an LLM doesn't necessarily need the technical know-how. They can just ask as an extra step for a design check including text contrast.
> I feel low-contrast dark mode is precisely the aesthetic
Agreed, and I like it too, if legible.
For anyone looking for a safer way to evaluate this (like myself), feel free to use my safer ssh connection script[0].
[0] https://gist.github.com/dangeranger/4a00ae6bed3a733161ffa3a5...
That is a modern BBS! I love the idea. Though I guess most people these days don't know what a BBS is, if you don't, look it up.
I'm wondering how many ssh'd into this with the agent forwarding on?
Super cool and seems to have a depth of historical knowledge
I’m shocked to see that LORD can’t be used because of licensing. Legally I know that’s how it is, but it Just Feels Wrong(tm) that a popular game based on 9600baud phone modems is encumbered in the era of fibre, wifi, and smartphones
Similar to DevZat: https://github.com/quackduck/devzat
"your ssh key is your identity."
"don't trust us? use a throwaway key"
Reminder to be cautious about leaking public keys.
Once you leak your public key it could be used to check if another server recognizes that leaked public key.
Did I miss something? Aren't public key are supposed to be public?
To be clear, that's an honest question, not sarcasm of anything. I only assume I don't know about some corner case with SSH or something? Because we have those on our websites, they are supposed to be used to verify signatures, etc. How is publishing them bad?
It's just something everyone should be aware of.
It's up to you to decide if it's okay that you send a server provider (in this case late.sh) a bunch of your public keys which he could for example use to probe other servers to see if you have access to them.
Everyone has different opsec.
The site does include a way to use a throwaway key and IIRC it was there last night too.
Based on what another user said, you might want to modify the above command to use throwawayUsername@late.sh instead if you are going the throwaway route to be more certain you aren't leaking your OS username.Surely you shouldn't be leaking your username. I could use it to see if another server recognised 'h43z'....
OpenSSH server is designed not to reveal whether a username exists.
What?
By default SSH leaks all of the below public keys (if they exist) + all public keys in your ssh-agent to a server you connect to.
running `ssh late.sh` would do exactly that.At the very bottom of the website they give you a command that would not leak your public keys.
`ssh-keygen -t ed25519 -f ~/.ssh/late_throwaway && ssh -o IdentitiesOnly=yes -i ~/.ssh/late_throwaway late.sh`
this would only send the late_throwaway public key
Okay, but why is that something to be concerned about? How would one be able to probe to see if a server recognizes a public key? Why does that matter?
so, i used my public key. can someone please tell me what i should be worried about now?
Github has public keys available, so the server owner could compare the key you sent to those - and that would identify your github username.
Whether that's a concern or not is an open question, of course.
If I have your public key I could probe a server to see if it recognizes that public key. Which would tell me information you might not want to be leaked.
Could you explain how/why that would be an issue? I still don't understand. Isn't the nature of public keys meant to be that they're public?
I think what the other comment is getting at is that you're essentially leaving footprints behind on various servers and that information could be used to narrow down who you are, where you work, etc. For example, if you used the same key pair for a work machine at the big social media site example.com as you did late.sh, they could probe example.com's machine and see that you'd been there.
All your base are belong to us. We recommend rotating keys more often than never.
l33t h4xx0r5
[dead]
Is this just IRC
More of a BBS, I'd argue. Replace dialing with a modem with SSH, and otherwise the analogy holds decentky well.
Fix for ChromeOS Linux: https://chatgpt.com/share/6a60b174-7b14-83ea-83d4-bdf4dc8ccc...
I've never seen such a lame landing page for such a FREAKING COOL project. It's like a reverse trojan horse.
Anyway, with that critique aside, this is the coolest thing I've seen all quarter.
NEW web design with better contrast incoming! :D Thank you for the feedback :)
yeah I was gonna say, it's very difficult to read on an eink display. And while we're at it, I believe my phone is set to reduced animations, which I believe is a preference that's exposed to websites, the experience would be much better without so much blinking going on.
There’s a single green box blinking at the top. If that’s too much for your e-ink display to handle, I think the problem is your display.
Don’t forget to include translations to all 190+ languages, and their various dialects. Otherwise, you obv. don’t care about being inclusive to Sentinelese users. /s
Your dark mode choice for your late night chat is appropriate, and good branding. If someone’s technically literate enough to engage with an SSH-based social network, then they should be capable of injecting user scripts, custom CSS, and/or deploying assistive browser extensions, OS settings, and screen readers.
If this were a website about cataract treatments or a Metamucil landing page, then it would be a bad design.
Design is illegible. Needs more contrast between text and background. I'm not even vision impaired and I was squinting immediately.
Even 15 years ago this was such a big problem that someone tried to start a rebellion: https://contrastrebellion.com/
Haha, nice website, with the greyed-out comments on HN featured among the offending examples. :)
The whole brand identity is “late”, as in late night, as in all the lights are off and I don’t want my screen to blind me. I feel like this is a perfectly appropriate sort of theme, but maybe that’s just my inner 20-year old impugning my inner 70-year old?
So much modern GUI design is really poor for those a bit older where contrast is important.
The accessibility checker in Chrome/Firefox devtools would immediately flag this.
there are many many themes. some high contrast ones
Hmm maybe the tool has but the design of the website made me squint as well.
Me, too. For me, it was easier without the DarkReader plugin enabled than with it (which is kind of common), but it wasn't great to see either way.
Vibe coded slop has the same patterns of black-on-black and grey-on-grey illegible text. Mix that with piss poor monospace, small-size fonts and you have to squint to read each letter
I'm, by contrast, an able bodied person with functioning eyes and had no issues.
You might not have the average display.
But, can you reason more about your intent with the tone of your comment?
love this!
was panning to add similar things into my own macOS[1] ssh app with persistent SSH server.
[1] https://popssh.com
Good work, thanks!
Looks neat, bookmarked and want to check it out!
Nice! I was just thinking about how much I love installing binaries instead of going to a website
Good thing you don't have to install anything to run `ssh late.sh` and check this out
this is amazing, great idea
why not just use irc?
can you listen to music, play sudoku/nanograms/tetris, do live artboard, jump into NetHack/DCSS/dopewars/LOGD insdie IRC?
Which servers are still alive?
Still plenty of thriving communities on IRC, particularly on Libera but elsewhere too. Similar to HN, it's one of the few remaining places on the internet you can hope to have a decent conversation.
Rizon, hackint, and Libera, among others
nobody has mIRC/ircii installed by default
everyone has ssh installed by default
I really love this!
Pretty cool ngl.
Ever see something new, and just know it’s going to survive?
Your site copy is great to the last drop.
Great submission.
> Your site copy is great to the last drop.
It is? It’s just the usual LLM.
The design = “flavor of the week LLM”,
but someone still has to proof and tweak generated copy.
Someone cared about this page.
No X. No Y. A is your B.
We do G, not H. C, D, E — plus an optional F.
No I, no J, no K — just an L into a W.
I would say the design is the most human thing about this page. (It has its charm somehow, even if it’s obviously “flavour of the week LLM design”. Also, I don’t think an LLM would choose colours so poorly unless nudged in that direction – accidentally, I suppose.)
Oh no, concise sentences.
Must be an inappropriate use of the robot!
Kind of exhausting.
If you think (or care), that the LLM wrote all of the subheaders, the category names etc, then you might be spending too much time focused on the wrong thing.
I don’t really care. I’m just... disappointed a bit? It seems like a cool project, but those “concise sentences” don’t make it easier to learn about it.
No accounts? How is that possible? You literally store my data! Is that not an account?And what the fuck is OAuth? (Okay, this clearly is oriented at developers, but on its own the sentence just doesn’t make sense. For me as a user, what pain is removed by not having a “Sign in with GitHub” button? Why should I care?)
How about you tell me why you decided to do it that way:
It took me a couple of minutes to write this, sure, but at least it now makes sense. And it’s more concise, no? (It still sounds llm-y to me, but whatever.)Now, for bonus points, there’s two obvious questions to answer:
• what do I do if I lose my SSH key?
• what do I do if I use more than one device?
(The obvious answers are “you can add other SSH keys in your account settings” and “you can add other SSH keys in your account settings”.)
---
Okay, one more, and then I need to go grab a beer.
Concise?There's maybe 100 words on the page. It would have taken someone 5 minutes to type that out. But apparently the creator didn't even care enough to do that.
See thats the difference, i don't core personally. Its a page to tell you to connect to the ssh server (or install their script). Why does it have to be a philosophical masterpiece? Its just word on a page saying click here, better looking then the majority of the SEO garbage that has plagued the internet for the last 15 year thanks to google and friends.
You might be projecting . All the docs in the app looks like the usual wall-of-text that was autogenerated .
Yeah, no. Not enough to make the page not look and sound like straight from an LLM.
Also not enough to make the text even a slight bit more readable. I have perfect eyes and am still struggling to focus on the headlines.
Lol
this is amazing
And... Cue 1M dummies here running that code without even looking at it, SMH.
It's possible to login and interact and use late.sh with just your SSH client - there's no need to download or run custom code. But you that did make me realise that they don't have a github link on that page anywhere.
Your tone in this comment is a bit out of place on HN. Why are you here if you think it's 1M dummies?
The people why ran that line without knowing what it does are dummies. And yes maybe not 1M but there were a lot of them.
the line `ssh late.sh`?
he's talking about blindy executing a bash script with curl curl install.sh | bash which is indeed a very bad habit
does not mean he should talk that way about people who have less knownledge
That's not one of my pronouns you jerk.
i had a quite good experience generating a key/username on my local machine and ssh'ing in.
lot of vitriol in the comments. looks like a spectacularly put together BBS, to me. the tools are open-source and have some really fun looking value add, but no, i haven't ran them.
[dead]
[dead]
[dead]
A CLI tool that's not grep-able is a GUI disguised as TUI.
Did it ever claim it was a CLI?
title literally says "command line".
Under every link to download the CLI. The ones hosted on the cli subdomain
yes, and... ?
Let the man not enjoy it in peace.