First, some background.
Tilex, our Phoenix port of Today I Learned, is coming really well. After a personal hiatus for RailsConf prep, I'm back full-swing. My coworkers have really been bringing quality commits as well, and I feel we are very close to a successful port.
This experiment, for me, began with a desire for knowledge. What does a CMS look like in Elixir and Phoenix? Would it be harder to write and maintain? What would be the tradeoffs? Would Elixir's legendary fault-tolerance and concurrency matter for a glorified CRUD application?
Since the initial commit, the mission has evolved. We are close to a real port, with feature parity. We've learned a ton, taken some hex packages to the woodshed, and honed our Elixir aesthetics as a team. It's been a great experience.
We have story-carded the remaining MVP features in our Github project. When all unstarted tasks have been accepted, we'll be moving to a soft launch. Like the original TIL, I plan to transfer the DNS without fanfare. We'll flip the switch, generate some content, and see how long it takes for something to break. The original TIL launch was pretty cowboy, so we have to honor that tradition.
I'm thrilled with our progress. Hashrocket has been craving a real Elixir project to maintain, and we almost have it. The difference between reading a book about a language and maintaining an open-source project in that language is gigantic. More than a few people on our team are excited by that responsibility.
I love writing Elixir. I tried to sum up why I was learning Elixir a while back, and my feelings have continued to evolve. Elixir stole some of the great ideas from Ruby, built it on top of a rock-solid foundation in Erlang, and mixed in the fantastic functional programming paradigm. As a native Rubyist, programming in a precompiled language has been a joy; the compiler eliminates entire classes of bugs ahead of time. And I enjoy doing something novel, being pushed to think outside my comfort zone.
Look for an announcement soon in the Hashrocket Blog.← Binary to Decimal Conversion in Ruby :: Work Small →