Show HN: Goatee – Redis, WebSocket notifications in Go (github.com)
Hey guys and gals! I'm learning Go at the moment and LOVING it. I was hoping to get constructive feedback on a project I'm working on - goatee - which is a notification server that utilizes Redis pub/sub and WebSockets. It's fairly bare-bones at the moment but I'm hoping to add in a lot more features as time goes on such as queueing and WebSocket channel subscriptions (via Go Socketio possibly).
29 comments
[ 0.22 ms ] story [ 62.9 ms ] threadI have an unreleased template system, also written in Go, named goatee.
I choose it because I thought it was a nice riff on moustache.
A goatee is a style of facial hair.
With dogecoins being all the craze this days, I wouldn't even be much surprised...
https://github.com/sauerbraten/jsonconf
1. No code, just vaporware.
2. Some code, no to few tests, very little documentation.
3. Well written code, lots of tests, lots of documentation.
The first is annoying. The second sometimes contains interesting snippets if you're willing to dig. I read the code but am unlikely to use it. The last kind, when I find it, is gold. I use it, read the code, and refer back to it.
I have a theory that these kinds of code correspond to intent. Some people want to get something out (sometimes just words) and others want to provide something useful.
My zen koan is: if it were not for the chaff, you might not have wheat.
It's not so well documented but it's practically the same except that it uses ServerSentEvents on the client and has buffers so no message is ever dropped. Each messages contains the payload, a TTL and a channel size. The TTL is used to expire a channel automatically and the channel size can be used for example to create 1-deep channels for updating values like progress.
SSE is HTTP-compatible, so for example works on mobile networks that force port 80 to go through "transparent" WebSocket-disconnecting HTTP proxy.
Additionally you get Flash-free polyfills for IE7+ and automatic reconnection on error built into browsers.