A year in the making, almost completely rewritten, I can't bear to hold it back any longer: today I release the new BeerRiot. Here's a synopsis of the changes for you:
Old Tech | New Tech |
---|---|
Erlyweb (Yaws) | Webmachine (Mochiweb) |
Erlydb + MySQL | Hand-coded models + Mnesia + Apache Solr |
ErlTL | jQuery |
I'll probably write a blog post about each of those rows sometime in the near future. It should be said though, the my motivation in this rewrite was not to abandon Erlyweb. Rather each piece was a deliberate attempt to get practice on something we were using at work. Erlyweb's great, but Webmachine has a different feel. MySQL can store data fine, but it's quite different from the key-value store I hack against all day. ErlTL's pretty nice as templating languages go, but I needed more DOM experience.
Luckily, the new technologies are also very nice. Webmachine forces you to become more familiar with the ins and outs of HTTP, but after writing a few resources, it becomes natural and quick to create new ones. Storing data in Erlang format in Mnesia is heavenly, and Solr has drastically improved search functionality. jQuery makes JavaScript in the browser far less painful.
In doing this rewrite, it's been a real eye-opener to dig back through my early Erlang code. It wasn't terrible, but having worked with other serious Erlang hackers all year, I notice the difference in the code I write now. The site should be much more stable now - Local/maps may even stay up for more than an hour. ;)
In that vein, though, I request that you not judge the JS running the site too harshly just yet. Just like my early Erlang was ugly, I can now tell that my early JS was ugly as well. That will be getting some cleanup soon, but I just couldn't stand delaying the release for it.
So, go poke it and let me know what you think!
Categories: Development Erlang ErlyWeb
Post Copyright © 2009 Bryan Fink