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.
The remote server is able to determine whether you are fetching the script using curl/browser or piped directly into bash. I don't remember the magic by heart, but the blog post conclusion was essentially that you can't / shouldn't blindly trust which scripts you pipe straight into bash from the internet, because even if it looks correct in a browser, the script you might end up running could be different.
It's more of a "this is possible" than "this is a real concern", of course.
> The remote server is able to determine whether you are fetching the script using curl/browser or piped directly into bash
I think you must be mixing something up here. At least i would be very surprised to learn how pipes are that leaky over the wire. It would be very interesting. But i can't imagine how a remote would differentiate between curl and curl piped. And the article doesn't load unfortunately.
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
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.
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
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
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.
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.
> The goal of the lander is to get you to use the clubhouse. Not get you to become a contributor, or intrigued/turned away by their stack choice.
Yep! That’s the idea. When writing, think about what your users want to know. If there is some technical detail you want to clarify – show how it helps the user.
> use the same key across devices!
That’s easier for sure! But if I lose a device, revoking one key on every server/service is a PITA already, and reissuing and replacing it on every server and client is even more so. (Also, this wouldn’t work with HSM-backed key stores like https://github.com/maxgoedjen/secretive :-)
I don’t think anybody really cares, the reaction is because you praised some copy that was obviously written by an LLM and either not edited or barely edited.
├─ chill radio, classical, and guest stations
├─ the arcade (2048, sudoku, nonograms, solitaire)
├─ collaborative artboard
├─ daily challenges & streaks
├─ live chat
├─ share & discuss news
└─ multiplayer games (coming soon)
^This didn’t feel like LLM to me.
& for the category descriptions, I’m used to way more convoluted word-choice places like…here, lol, so that didn’t stand out to me the way it did for everyone else.
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.
If this affects you, make sure you connect with `ssh [pseudonymous name]@late.sh`.