In today's episode, we discuss once again the concept of turbulence and fortitude. Today's episode is brought to you by Linode. Linode Provides superfast SSD based Linux servers in the cloud starting at $5 a month. Linode is offering Developer Tea listeners $20 worth of credit if you use the code DEVELOPERTEA2017 at checkout. Head over to spec.fm/linode to learn more about what Linode has to offer to Developer Tea listeners .
In today's episode, we discuss once again the concept of turbulence and fortitude.
Today's episode is brought to you by Linode. Linode Provides superfast SSD based Linux servers in the cloud starting at $5 a month. Linode is offering Developer Tea listeners $20 worth of credit if you use the code DEVELOPERTEA2017 at checkout. Head over to spec.fm/linode to learn more about what Linode has to offer to Developer Tea listeners .
Hey folks, you are listening to a re-aired episode of Developer Tea. If you don't want to miss out on future episodes, make sure you subscribe in whatever podcasting app you use. Just a reminder, we are doing these re-airs, a couple of re-airs, we're missing a few episodes because my son was born just a few weeks ago and so I'm taking some time to be a little bit closer to family and spend some time with him in the earliest weeks of his life. So you're going to hear maybe some things that sound a little bit out of date or maybe some references to links that may not be available anymore. Just a heads up, but the content is still intact. It should still be totally applicable to your situation, help you level up as a developer in your career. Thank you so much for listening to today's episode of Developer Tea. Let's get into the episode. But first, a quick update to this episode. Since this episode aired, I actually have earned my pilot's license. And of course, I've been able to do a lot of things in the past year. I've become a father myself. So this episode is even more meaningful now than it ever has been before. Let's get into today's re-aired episode, Turbulence. When I was young, my dad would take me and the rest of our family flying. He was the pilot. Dad has had a private pilot's license for longer than I've been alive. Now, you may expect that this is a child's dream scenario, getting to fly pretty much anytime they wanted to. But the thing was, I was incredibly sensitive to turbulence. And I get pretty sick and perhaps more importantly, easily frightened when we would fly. This was especially true whenever we flew over mountainous regions. One day, dad explained to me how as the airplane moved through the air, the air kind of treated the airplane like a river treats a stick that's floating downstream. If that river has a rock in it, the water flowing over the rock might rise a bit, then fall back down, go to the left or the right. Fitting to the concept of a plane, the air kind of treats the airplane like a stick. Now, he taught me this not because it would change the experience of the turbulence or somehow fix my intolerance, but instead it would change the way I thought about the turbulence. Now, today I want to talk to you about turbulence, but as it relates to programming languages and practices and perhaps even can be applied more broadly to some of your life experiences. I experienced this today. As I was working with a developer, we happened upon a problem. with a front-end view we were working on. We tried pushing some items into a set of arrays in the view, and we kept on hitting errors. We couldn't, for example, modify an array that was nested inside of another array. And instead, we had to modify the top-level array, and it got messy really fast. Anyway, the particulars aren't necessarily important. After about 30 minutes of Googling and fixing one thing just to break another, we realized something profound, that if we did this particular data transformation elsewhere, more specifically, if we had done it not in our view, we could have been done practically moments after we started. It struck me shortly after that this wasn't a mistake in the design of the language. Instead, this was part of the design of this particular language, a view-templating syntax, to be exact, that disallowed us from manipulating data to a significant extent. Now, why would a language be designed to be harder to use? We'll discuss just that right after we talk about today's sponsor, Linode. Today's episode is sponsored by the excellent service Linode. Linode has eight data centers. Their plans start at $10 a month, and you're basically getting Linux in the cloud. You get a server running in under a minute. They have hourly billing with a monthly cap on all of their plans and add-on services. They have virtual machines for full control. You can run Docker containers. You can have encrypted disks. Basically, whatever you want, you can do with Linode. They have native SSD storage, by the way. This is super fast storage on a 40-gigabit internal network, and they run on Intel E5 processors. There's a seven-day money-back guarantee, and you can get $20 of credit by using the code DEVELOPERTEA2017. Thanks again to Linode for sponsoring today's episode of Developer T. So we left off talking about the experience I had at work today, the front-end templating language that wouldn't allow me to manipulate arrays of data, which I was working with. And this kind of thing happens a lot, doesn't it? You expect a language or a tool or perhaps even a person to behave a particular way, and it or they simply won't cooperate. This could be a major point of frustration if you let it be. Or you can recognize that usually things are the way they are for a purpose, or at the very least, they are the way they are for a reason. In my particular case, with a front-end templating language, what do you think the reason or purpose was for this seeming lack of features? Perhaps the syntax was incomplete or somehow designed poorly, but there's a deeper, more meaningful possibility here that we haven't explored. Perhaps the designer of the syntax is encouraging me through the design of the syntax. He's encouraging me, the developer, to use the templating language in the way it was intended to be used. If you've worked in structures, like MVC, you've likely heard the advice of separating your logic and your data from your view. As my coworker and I sat looking at the code, we realized that we were in some serious turbulence. I took a step back and asked, maybe this is how this is supposed to be. And so the code was rewritten, and we floated down the river, moving through that turbulence and back onto our original course. We could accomplish what we wanted to accomplish because we responded to the turbulence, not by pushing against it, but by letting it guide us. I encourage you, as you encounter things that push back against you, as you encounter turbulence, be it from code or from anything else, then instead of struggling against it, first ask the most important questions you can ask when you encounter a problem. Specifically, ask the question, why? It's very easy to assume that we know the answer to that question. As a young child, I assumed that, that turbulence ultimately meant something bad was happening. That that was the why of the turbulence. It was only after I understood, thanks to my dad's help, that turbulence was there for a reason, that I could think differently, and ultimately react to that turbulence with calmness. I hope you've enjoyed this episode of Developer Tea and this quick discussion about turbulence and about allowing turbulence to guide you rather than you fighting against that turbulence. Today's episode is about turbulence. This episode is sponsored by the excellent service Linode. You can get $20 of credit by using the code DEVELOPERTEA2017 at checkout. Thanks again to Linode for sponsoring today's episode of Developer Tea. And thank you for listening to Developer Tea. If you're enjoying the show, make sure you subscribe in whatever podcasting app you use. Pretty much any podcasting app allows you to subscribe. And by the way, the Apple TV just now launched their podcasting app in the latest update to the Apple TV, so make sure you subscribe there. Thank you so much for listening. Until next time, enjoy your tea.