Hacker News new | past | comments | ask | show | jobs | submit login
Hack.chat – A minimal, distraction-free chat application (github.com/andrewbelt)
183 points by habi on July 10, 2015 | hide | past | favorite | 68 comments



I also made a chat app, it's like the exact opposite of this, its totally distracting http://quatshy.com


Once you get past how hard it is to find the thread of conversation, this thing is awesome.

It is basically like chatting accompanied by automatically selected reaction GIFS. If it were converted to a forum of some sort, you'd basically have an even lower-effort 4chan.


Spot on. "This is like /b/ but realtime" was something I saw chatted in there...


Well, I have been using your app for about 20 minutes now, and it sure does what it is supposed to do. The most annoying thing I have used in a long time!


Wow, this is probably the future, but for an old guy like me its horrible.


It's fun for a while, but boy do I hope this chat is not the future.


young guy here, can confirm this is not the future we want.


How young? I'm 24 and I think this is the best thing ever


Maybe it's not about age, but class?


Am I allowed to say "Ouch" on HN? Probably not, but "Ouch".


Why? Could you reason about that?


This is kinda the coolest thing in the world, I've always wanted automated gif emotions!


Jumping on the bandwagon by saying I helped make another distracting gif thing that scrapes Twitter instead: http://www.gifpeek.com/


Welcome to the bandwagon, enjoy your ride.

http://media2.giphy.com/media/XiaRQAeLCR8Y0/200.gif?_=143656...


The admin password in the config is the password on the live server FYI ;-).


Sorry guys. The problem was solved by a server restart. I had uploaded the default config.json file from the public Github (https://github.com/AndrewBelt/hack.chat/blob/master/config.j...), realized my error and changed it, but forgot to restart the server.

Regardless of how modern your encryption is, human error will always "fix" that.


The apparent lack of any sort of security practices by the code author should be a signal to the clients of pawnmail [1] that they should find another hosting provider.

[1] - https://pawnmail.com/


It's pretty rational for a proof-of-concept in something as innocuous as chat software to completely ignore security. That doesn't mean the author wouldn't spend time on it for his actual business, the one that generates actual money.

Most people pay attention to the requirements of their specific problem when designing software.


Ehhhh, I don't know... I have lots of proof of concept code that isn't very secure, but have production code that is... Just because a proof of concept isn't crazily secure, doesn't mean that his production stuff is lacking too.


I don't think that's a fair suggestion to make based on a minimal POC.


The author doesn't mention hack.chat as a PoC anywhere. Additionally, it's in the same “Projects” section as pawnmail on his website [1]. So yeah, that's not a PoC in my book.

[1] - http://andrewbelt.name/


I posted MapChat (idoco.github.io/map-chat) three weeks ago at about the same time of the day and also got tons of traffic from HN.

HN crowd was brutal, and I wasn't really ready for that. People were trying to crash it in so many ways. But the overall experience was really fun :) and I also got some very valuable feedback.


We had the same experience launching a chat on HN last week. Some valuable feedback, but some pretty brutal comments as well, and lots of (failed) crash attemps.


I would understand a markdown format for chat, because it's easy, short and fun. What made you use something as powerful as LaTeX? With great power comes great responsibility, right?


Why would anyone want Markdown in a chat window? No one is sending document-length chat messages with text formatting. That's what email is for. On the rare occasions you want italics or bullets in a chat, you can get close enough with ASCII if whitespace is preserved.

The purpose of the LaTeX support is being able to communicate Mathematics with ease. Markdown is useless for that. And it's hugely useful e.g., when tutoring or holding office hours via chat (or even via Skype -- just typing the formula is usually easier than writing it on a piece of paper or aiming the camera at a whiteboard).


Your second paragraph is a perfect response and answers my question. Thanks. No need to feel defensive, though. Some people really come here with the ability to learn something new. ;-)


The LaTeX support is a brilliant move. The world is full of chat systems, so you need to have a unique feature, and this is a great feature for a particular user group.


Why not? At some point in time someone probably said why do you want a smiley face in a chat window? Now there are lots of "emoji" symbols. Pandoc uses markdown with inline latex, it gives you multiple ways of typing things and it's less verbose to type. Instead of using an equation array in latex, use a numbered markdown list with latex formulae. Skype has it's annoyances too, ever tried to actually communicate "(B)", you get a great beer symbol you likely didn't intend to write.


A subset of markdown is good in my eyes. To avoid the smiley case, just format and display everything including the formatting characters. Similar to how irssi treats _lines like this_, it will underline all of the characters inbetween while preserving the outer '_' characters.


Or allow user filters priority on formatting so you can modify the behavior on your own (I guess you already could with greasemonkey or some other plugin). Even with just a toggle for disabling markdown/latex would let you copy and paste the latex code out to get unformatted text.


> Instead of using an equation array in latex, use a numbered markdown list with latex formulae

That's a plausible benefit if you're editing a document where nice-looking numbering matters (e.g., an email). In chat, if I have multiple equations, I can just do something like:

1. $equation here$

2. $equation here$

I prefer chat to do as little formatting as possible while still providing a way to write Math. Otherwise you end up with unintended formatting, which is hugely annoying (a la (B) in Skype).

> Skype has it's annoyances too, ever tried to actually communicate "(B)", you get a great beer symbol you likely didn't intend to write.

Yeah, but it doesn't change the (B) on the white board I have the camera pointed at, which is the way everyone communicates mathematics via skpy.


I guess my point is that 1. $equation here$ is exactly the markdown for a numbered list and it will give you somewhat nicer formatting/alignment that stands out if you have to scroll back up. Chat is already in the process of changing, look at slack[1]. The whole idea of markdown is that you don't have to do a lot of formatting.

I agree with the unintended formatting but having all of latex can give you unintended formatting too. IMO markdown doesn't have that much formatting. Markdown could be abused but then again look how the latex is being abused on the site already, people put $$\huge ...$$.

Is it ideal to be writing on a whiteboard to communicate your math? From a teaching/tutoring perspective, unless the video is being recorded, you lose the history. Email is nice but it requires a (possibly) long waiting time for a response comparatively.

[1] https://slack.com


LaTeX is for presenting mathematical equations, Markdown is for rich text formatting of natural language. There's nothing particularly wrong with Markdown, but it's not really essential for functional chat either. Conversely, chat programs that don't have LaTeX support are useless to me (and a lot of other people).

Markdown "replaces" the parts of LaTeX related to document formatting, but that's precisely the fragment of LaTeX that doesn't hugely matter in the context of chat. Markdown doesn't replace the parts of LaTeX related to Mathematical typesetting, which is the fragment of LaTeX that does hugely matter in the context of chat.

I think the fundamental confusion in Markdown "vs." LaTeX discussions stems from the fact that LaTeX is a system for type setting mathematics, where the emphasis is on the Mathematics part. But people who haven't typeset a lot of Mathematics don't get what the fuss is about.

> Is it ideal to be writing on a whiteboard to communicate your math?

No, it's aweful! Which is why chat client LaTeX support is so much better than the Skype video chat hack, and also why Markdown isn't a replacement for LaTeX.


Not OP, but I would argue that mathematicians and physics folks deserve great tools too.


Yeah look, I haven't experienced the problem, therefore I wonder about the solution. Learning about the problem it solves (i.e., sending formulas to friends for homeworks etc) allows me to understand it. It's quite hard to see problems you haven't had yourself, if you only see the solution, right?

I see an "Answer: 42" but what was the question?


Yes, when I was student I used sometimes to include maths formulas in chats with my friends. Something like this would have been quite helpful.


Somebody seems to have found a way to constantly broadcast system messages and is flooding chat.

I really like how simple it is. I do like how it works similar to Mozilla Hello. Just give somebody a link, and they can join.

Also, I'm getting a cert error. Identity cannot be verified.


I really like how server.js is setup. Very straight-forward and I would imagine adding features would be pretty easy to build in.

edit: things like storing which rooms users are chatting in using Redis so that you can run multiple instances and balance them. Or persisting the messages to a DB. Or adding processes to download images/bring in website snippets when urls are posted (like Slack).


Me too; I really like the POLICE handler too, that makes a lot of sense. Awesome project!



This is a cool project. Recently, I have had to teach a High School kid some basic science using Whatsapp and found it lacking. Searching on the app stores for a messaging app with Latex support yielded nothing. Already gearing up to roll up my sleeves and build one.


There is a LaTeX bot in Telegram, my mathematician friends use that in their group chats.


nice work, here is a brief feature request list

* when a formula is copied, the latex should be copied

* support for \begin{align}


It looks hack.chat is using KaTeX under the hood. We recently added support for environments, but haven't implemented {align} yet. If anyone's interest in helping please see https://github.com/Khan/KaTeX/issues/61.


The thing is not my project, I just stumbled over it and submitted it to HN. You might want to add those to a GitHub issue.


There was a time when telechat (chat over telnet, mid-late 90s early 00s) was a pretty cool niche chat medium. I really miss it.

It allowed more customization and control than IRC for the host, and a bunch of small communities popped up around them.


Good work. The minimal design is an example of less design == good design.


Interesting. Was working on something similar but more focused on streams with no identity. http://malten.me/


Great stuff!

Some feature request: a) allow ignoring users b) allow UTF-8 in usernames


Would be nice if an error is thrown when the LaTeX can't be parsed instead of just printing whatever TeX-foo you've written down.

Also, I'd like to see Tikz and pgfplots support :)


A distraction-free chat application seems like an oxymoron...


the KaTeX doesn't seem to render on mine: http://i.imgur.com/5GMaIAq.png

Personally I had never heard of KaTeX - since Khan Academy didn't consider MathJax fast enough they optimized it https://khan.github.io/KaTeX/


Try refreshing that page. That's an old copy, and it's trying to merge with the new Javascript.


this is just the test page from http://127.0.0.1:8080 without any modification

additionally http://127.0.0.1:8080/?random leads to a page that says "server disconnected"


Somebody could write a CLI based client for this. That would be awesome and it looks like it would be very straight forward, too.


Why not just use IRC instead?


Seems to work pretty well after messing about on ?HN, lotsa people testing bad LaTeX though.


Parsing usernames in LaTeX could lead to abuse/annoyance. Very cool project.


Why are so many people trying to make an IRC-like app right now?


Probably because Slack has been valued at over $2.5 billion, when it seems (to many people) to be not much more complex than IRC. It is easy to argue that Slack provides value in other ways, but there is definitely a high "hey, I can make that!" factor for many using the tool.


I've thought about this since I first used Slack and decided that they are pretty much (early) Apple (Slack) to Microsoft (IRC), both do broadly the same thing but a tight focus on design (and been fashionable, lets be fair) puts Slack over the top.

That said I still use IRC and will likely do so in the future, lots of open source clients, you can run your own server and you aren't putting your entire history in the hands of a private entity (I'm not the majority).

Also while many of us could create something like Slack the real devil is in the details, getting the UI to the requisite standard, the UX nailed down etc is a lot of work - possibly more than the guts of the clone as you could pull in a bunch of extant systems for that.


> "POLICE.arrest(getAddress(badClient))"

If only


Can we have some way to block people?


someone ban :^[()D]


I just love how minimal and easy it is. No more waiting for a monolithic javascript front end to load or a "loading pleast wait", no glossy buttons or emoticons or avatars or github sign ins.

It even has IP flood detection by default! Multiple line protection should prevent the flood of ascii penis art and other obscenities.


awesomeeeee


Nice, but I bet nobody is currently able to write there a proof for

  $\Re(s) = \frac{1}{2}$ for all s where $\zeta(s) = 0$ and $0 < \Re(s) < 1$
.. I mean, where zeta is the Riemann's one :)


don't be sad. how can one appreciate your comment, if he can't even recognize the meaning of the formulae at the hackchat homepage?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: