Show HN: HN Chat – Minimal Hacker News Chat with User Verification
hnchat.com
hnchat.com
'#' + username.md5().take(6).join('')
I did it for a chat I once built, users liked it, and it helps you keep track of who said what. Though I added some styling to keep it legible, like a 30% white blend, a stroke, and a drop shadow.https://dl.dropboxusercontent.com/spa/quq37nq1583x0lf/xf17fn... (not the best example since everyone happened to be shades of green)
Sometimes it rolls a yahtzee and the three people talking all have the same color and the same length of chars in their name.
I figure that even if the people talking luck out and have a shade of green like in my screenshot, it's still better than if they all fell into the identical green bucket.
https://github.com/Zarel/Pokemon-Showdown-Client/blob/434322...
A naive HSL implementation will lead to very light yellows/cyans and very dark blues. PS corrects for this by manually darkening yellows/cyans and lightening blues.
A better solution might be to use a color model based on perceived luminance, like one discussed here: https://news.ycombinator.com/item?id=11437794
https://gist.github.com/0x263b/2bdd90886c2036a1ad5bcf06d6e6f...
Maybe there is some scope for taking distinctive glyphicons from a project like Bootstrap and displaying it next to the username. And combine this with your color scheme, I think it might become easier to keep track of threads. Although, some people may not like the icon associated to them.
I take a long sequence of random numbers, using only digits 1-8, like
29834572498741387972573179875938893507418675309
Let's say that goes on for 105 places. Each user then gets an auto-increment ID that I mod 100 (divide by 100 and take the remainder) and add one. I start at that index of the long sequence of digits, and take six characters. If your ID was 112, mod 100 would be 12, plus 1 is 13. Starting at the 13th character, I take six characters: 413879. Then prefix with # - #413879 - and you have a pseudo-random hex code, with neighboring colors being pleasantly visually related.If it's a dark background, I use letters A-F instead.
If the contrast is insufficient, I'll change a character in the sequence here and there, but it's a lot faster than calculating a new color for everyone, and while everyone doesn't get a unique color, my opinion is that color isn't what makes them unique, it's their username; the color is an extra hint for those able to see it.
EDIT: I called this, when I came up with it a very long time ago, the "sliding doors" technique. I'm sure I'm not the first to do something like that, and it was before the similarly named (abut unrelated, functionally) image replacement trick was popular.
Its nice though, I like the profile key integration.
I just don't see the usability cause I already have multiple messaging/chatroom services.
Step 2. ????
Step 3. Profit
We are an international bunch of tech entrepreneurs and the channel is usually pretty active.
I doubt it. I see less and less developers using IRC outside of quick help and instead using Slack.
A lot of languages and techs have both a Slack and IRC... it's hard to know which one's more active sometimes which is annoying.
Elixir (language), Ember (JavaScript framework), Elm (language) all have more active Slacks than IRCs. Facebook's React moved from Slack to Discord, and the community has never cared for or used their IRC channel.
There's still fairly active IRCs like the JavaScript, Go, Clojure (I think), and the Node ones, but they're becoming the exception.
I think IRC is popular in your group of developers and interests, but for many people it's somehow considered ancient. On an interview I once mentioned IRC and the interviewer (in his 40s) was surprised it was still a thing.
Then again, look at the stacks you're looking at: they're all relatively new, and most of them are frontend, and thus more likely to jump on the new shiny. ##c on freenode has >1k users as I write this. Although that's probably also an outlier.
Personally, I'm hoping that Matrix becomes the new standard, if we ever get one beyond IRC. IRC is showing its age, and Matrix seems to be the most practical and levelheaded group doing work on the problem.
As for Slack, I'm pretty lukewarm on it, and kinda prefer IRC.
Meanwhile, Elm's Slack channel has more regulars than #node.js.
IRC is kept alive by a small holdout. I'm one of those people, but it's no mystery to me why nobody else uses it when I'm paying irccloud.com or running weechat-ncurses on a VPS just for basic features everyone expects from a communication tool.
[1] I'm curious as to whether that IRC channel is the only "blessed" Rust chat out there. The problem with other languages is that the community makes a Slack for them even though there's an IRC channel for them already and most new users start only going to the Slack.
I've also heard of quite a few very active JavaScript Freenode channels, though Slack does have a lot of inroads there depending on which particular segment of the community you're into.
And each person needs to care enough about IRC (e.g. run a VPS) to receive pings or messages while they are away and to see the message history when they return.
Maybe IRC is "plenty popular" which apparently means popular enough to find someone willing to shoot the shit with you if you're in one of its largest channels. But that's a far cry from "IRC is everywhere".
I use IRC every day. I'm just not left scratching my head when I find out that yet another ecosystem chose Slack/Discord over IRC. It blew me away when I saw how active Elm's Slack was while #elm is dead. But that's pretty much how it is with every community I'm part of with a Slack channel.
Sometimes people here suggest "maybe IRC is just for developers", but you can't even format a code block on IRC. :)
People liking IRC is a reasonable conclusion to draw.
Mine happens to be Facebook Messenger.
You are mistaken: FBM supports multi-way communication. For work, I use Messenger almost exclusively. For personal stuff, some combination of Messenger, Google Chat, and SMS/MMS. I do log on to IRC once in a while, mainly Freenode, but it's far from "primary".
Why does the "average" person ever need weak identity communication? I mean, I'm glad it exists and it has a niche, but why would you expect that to be someone's main way of interacting with people?
Anyways, there is an issue with FBM's multi-way: It's designed as an invite only system: you have a list of people you want to talk to multi-way, and you talk to them. This is fine in certain contexts, but in other contexts, the "room" abstraction used by IRC is more effective, as it allows you to have conversations with a strictly defined topic, but not strictly defined participants, the opposite of FBM. FBM's system is fine for small-scale multi-way communication between known parties, but that's not what people use IRC for.
Nice, I'll login later and check it out!
I'm making a website tool to convert website to Android apps, so was using this as a test.
If anyone got an x86 android device, I also generated x86 version of the app: http://forty7.org/tmp/hnapp/hnchat.app.x86.apk
Forbidden (403)
CSRF verification failed. Request aborted.
You are seeing this message because this HTTPS site requires
a 'Referer header' to be sent by your Web browser, but none
was sent. This header is required for security reasons, to
ensure that your browser is not being hijacked by third parties.
Erm...I thought it should be vulnerable to 1. find hash on victim's profile, 2. login using the hash + username
But it seems the hash is never actually submitted to the server, neither through the login form nor later on by cookie. That is good news! The implied hurdle is that you'll need to update the hash on each login.
The "Login to chat" should link to the login page.
- maybe some way to have minimum karma to join, or at least a way to only see messages according to certain metrics, eg acct age, karma, avg post karma -- or else have those users in different colors, including being invisible
- ability to block people
- message replying
- toggle message storage, either for user or admin
- pausing
- users can make comments in another user's chat profile, with ability for underlying user to reply
- highlight another user's conversation, or have different conversations in different colors
- this might actually work for instagram, where any user can keep a chatspace for their followers - perhaps a new url is provided upon each new photo, that way the users have to view the underlying instagram account, and the chatspace is cleared regularly (GramChat.)
Sorry, for dumb question.
btw, care to share the tech stack this is using?
What's it written in and can I host something similar myself?
-webkit-overflow-scrolling: touch;Smart idea to verify users