I have spent a lot of time writing web applications from backend-to-front end (I am sure there is lot more to learn there), but I got bored and wanted to learn something I never learned(and wanted to).<p>I am talking about Concurrent Programming. I mostly work with Java but in order to learn Concurrency, I picked Erlang and I want to invest my time learning this language and do some projects to further strengthen my understanding.<p>I admit, that I love Erlang for the parts I read so far. I like syntax(its not verbose) and a very different approach to programming.<p>I want to ask what projects a beginner can work on related to Concurrent Programming Model. I am blank headed right now and need guidance.<p>Please enlighten me with your advices and experience. Books, resources, videos, etc all are very much welcomed here.<p>Thanks a lot in advance
Huh, I can't believe there haven't been _any_ replies on this. Sorry about that.<p>Here are a few ideas:<p>* Improve/extend the shoutcast server in Joe's book "Programming Erlang" (1st edition; I haven't read the 2nd edition)<p>* Make a simple dropbox tool to sync folders across machines<p>* Make a simple map/reduce tool to learn about that paradigm<p>* Build a chat server with web interface (this one is fairly common)<p>* Interested in VOIP? Try making something that can allow you to make VOIP calls between computers in your house<p>* Build a web server (also common enough to find lots of examples and tutorials)<p>* Twitter clone<p>* Log aggregator<p>* BitTorrent client<p>* Distributed hash table or NoSQL database<p>* Something to stream data (logs, newsfeeds, analytics) to or from multiple clients<p>* ....<p>I hope this helps :)<p>[ Edit: formatting is really hard on HN... :( ]