EMDR Map Sheds its Snake Skin

Tuesday, April 16 2013

As a fun exercise, I set out to re-write the WebSocket server behind EMDR Map in GoLang.

The Python version

The initial version of the WebSocket server powering the map was developed with Python, gevent-websockets, and ZeroMQ. While the original Python version was pretty simple, it was much heavier on memory and didn’t free resources very quickly after disconnections. My biggest gripe was that I wasn’t entirely happy with how the Greenlets interacted with one another. Time to needlessly re-invent the wheel for fun and profit!

The GoLang version

After cobbling something together, I found that some resources were saved, but nothing earth-shattering. More importantly, I feel that the channels and goroutines pattern makes a lot more sense for this particular project than my coroutines and internal ZeroMQ sockets.

I apologize for the lack of build instructions or documentation of any sort, but such is the norm for my experiments like this!