Stride's own Travis VanderHoop is speaking at this year's Empire City Elixir Conference, also known as EMPEX. To learn more about his talk and what to expect from him at the conference, check out his interview with EMPEX on his thoughts on the event, Channels, Phoenix, and more!
From his front porch in Denver, with wind chimes tinkling in the breeze, Travis spoke with me about how he came to Elixir and Phoenix. At our May 20th conference, Travis will deliver his talk “Channels as Controllers (An Exercise in Refactoring).”
Travis VanderHoop: I work in Ruby. And because I work in Ruby professionally, it means I work in Rails professionally. I love Rails, but it’s imperfect. We’ve taken on a lot of patterns and behaviors that aren’t really extensible.
With Phoenix coming along, and Plug and Ecto, it feels to me like a redemption, of sorts, in the web framework space. Not to shit on Rails, I don’t want to do that, but I think there’s a huge opportunity to establish and reset some of these behavioral ruts we find ourselves in as developers: you do things in a way, and it works, and you stop recognizing it’s also a little bit painful sometimes. That’s why Phoenix, to me, is an opportunity for redemption.
TVH: You’ll love this one. I came to Elixir because three very talented engineers I was working with were talking about it one day — this would have been summer of 2015. These were people I really respected, so when they spoke so glowingly of it, my ears perked up. But I didn’t have time to learn a new language.
But over time, I just kept hearing people I respected referencing Elixir and Phoenix. I was living in New York City, and some of these same engineers told me about EMPEX  and said we should go — it’s right here in the city. So I took some of my professional development money and bought a ticket.
TVH: Yeah, it was my first real exposure. I enjoyed it. At that point I hadn’t read Programming Elixir or done Elixir koans or any of that. Attending the conference was mostly exploratory, like, what’s the deal with this Elixir thing?
After EMPEX I bought the Dave Thomas book and just worked through that and then went to Orlando for ElixirConf. I’ve been digging deeper and deeper ever since.
TVH: We get a bunch of professional development time, so I spent two weeks of this time developing a real-time remote retrospective app using Phoenix. At the end, I demoed it at a company meeting and invited other people to spend their time on it. So now, every week during our open source night, we have a group of five or six who consistently work on it. It’s open source. It’s not in production in the truest sense of the word, but it’s online, and we’ve been working on it pretty diligently since late December, early January.
TVH: The idea of a Channel being similar to a controller could start a flame war. There are a lot of similarities between the conventional controllers you think of and Phoenix Channels.
In developing this remote retro app, our Channel started taking on a lot of unrelated responsibilities. So I had to ask: what patterns are out there for keeping your Channels thin?
The patterns are not out there.
The really nice thing about open source is that it allows you to explore options and patterns that you think might be intelligent and right, and you can do so without any sort of deadline, because there’s no project manager asking when it’ll get done. I’m going to go into a few ways we can keep our Channels skinny and talk about the pros and cons of these approaches. I won’t claim it’s going to be salvation for anyone building real-time apps on Phoenix, but I hope to inspire people to explore options.
TVH: Thanks for telling me that, I did wonder if there was preferential treatment.
TVH: I may touch on Presence, because we are leveraging Presence, but who knows. I will say that — if you haven’t played with Presence — you should. After awhile, developing software can stop being fun; you get tired, jaded. But Presence made my eyes bulge when I got it working. Cool stuff.
TVH: I look forward to shaking your hand. Peace!
Thanks to Travis VanderHoop for taking the time to talk with me, and don’t forget to get your tickets to the Empire City Elixir Conference being held on May 20th, 2017 in Manhattan. See you there.
Want to see more events Stride is a part of? Check out our upcoming events and stay updated on the latest tech events!