
Hack.chat – A minimal, distraction-free chat application - habi
https://github.com/AndrewBelt/hack.chat
======
jetpm
I also made a chat app, it's like the exact opposite of this, its totally
distracting [http://quatshy.com](http://quatshy.com)

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

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

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

~~~
Retra
Maybe it's not about age, but class?

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

~~~
nunull
Why? Could you reason about that?

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

~~~
q3k
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/](https://pawnmail.com/)

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

~~~
q3k
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/](http://andrewbelt.name/)

------
idoco
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.

~~~
vhf
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.

------
erikb
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?

~~~
nmrm2
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).

~~~
blueblob
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.

~~~
lfowles
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.

~~~
blueblob
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.

------
ixwt
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.

------
emehrkay
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).

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

------
snehesht
[https://hack.chat/?HN](https://hack.chat/?HN)

------
stann
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.

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

------
waynenilsen
nice work, here is a brief feature request list

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

* support for \begin{align}

~~~
kevinb7
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](https://github.com/Khan/KaTeX/issues/61).

------
codezero
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.

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

------
chuhnk
Interesting. Was working on something similar but more focused on streams with
no identity. [http://malten.me/](http://malten.me/)

------
Tepix
Great stuff!

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

------
QuantumRoar
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 :)

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

------
mrcactu5
the KaTeX doesn't seem to render on mine:
[http://i.imgur.com/5GMaIAq.png](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/](https://khan.github.io/KaTeX/)

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

~~~
mrcactu5
this is just the test page from [http://127.0.0.1:8080](http://127.0.0.1:8080)
without any modification

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

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

~~~
q3k
Why not just use IRC instead?

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

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

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

~~~
organsnyder
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.

~~~
noir_lord
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.

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

If only

------
Aeolun
Can we have some way to block people?

------
maxerize
someone ban :^[()D]

------
curiousjorge
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.

------
vfvf
awesomeeeee

------
mykhal
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 :)

~~~
natsci
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?

