As I get older and find myself constantly balancing life and work, I’ve really come to appreciate the people and products that make my life easier. As programmers we live in a unique world where our peers build fantastic products and then give them away. I’ve leveraged far more than I could possibly give back, so a simple thank you page for those doing yeoman’s work is the least I could do.
These are in no particular order and I’m not affiliated with any of these open source or paid projects. They’re just great!
Ruby on Rails
Some things just just make sense to your brain and Ruby on Rails is no exception. Thanks to @dhh and all the other devs who’ve contributed to that repo. I adore the project’s philosophy and am constantly amazed by its constant, stable march forward. Starting a project in Rails today is just as viable as it was when it was the new kid on the block.
Ruby is, by far, my favorite language. It’s an absolute joy to program in. I greatly appreciate the clear attempts the language makes to improve my experience as a writer of code. I love the lonely operator:
&. You must watch Matz’s explanation for that one. I have basically mandated that I will always have one Rails project live so that, even though I’m creating games now, I will always have a reason to come back and touch Ruby every once in a while.
I’ve followed @mdo and @fat since the early days of Bootstrap. The Bootstrap framework is just a hell of a project. I have no idea how many websites it’s been incorporated into, but the number must be staggering. I’ve used it for years and years and it’s the first thing that goes in when starting a new project. I’d be dead without it. Also, the documentation is almost as good as the framework itself.
This has little to do with my actual work, but it’s no less important. There are a lot of meal plan startups out there, but Cook Smarts fits our family the best. If you want to eat well and enjoy cooking while not being bothered with meal planning and grocery lists, then Cook Smarts is perfect for you. It’s also budget-friendly.
It’s also insane to me that, as I understand it, they’ve done all the leg work on their website themselves. Like, they just whipped out the web stuff on the side while they ran their core business. They make me feel lazy. Keep it going over there, Jess and company!
Michael Hartl and Rails Tutorial
We all have to start somewhere and for many people learning Rails it’s Michael Hartl’s Rails Tutorial. Learning Rails was a big step for me. At that time I was mostly cutting things up in Photoshop and writing CSS and HTML. Any backend work was passed off to colleagues who wrote PHP. I was interested in a framework like Rails because I needed the structure it provided. Hartl’s tutorial walked me through all of that structure in a clear and detailed manner. I finally feel like I’m okay when it comes to Ruby on Rails and a ton of credit goes to Hartl.
Oh, man. Remember gotoandlearn.com?! ActionScript 3 is still probably my most comfortable language behind Ruby, HTML and CSS. I learned all about object-oriented programming thanks to helpful people like Lee. I also always thought he had a cool job with Adobe. He got to espouse the virtues of Flash and, I will get flamed for saying this, Flash was great. Steve Jobs may have signed Flash’s death warrant, but there was no greater creative period on the web. People like Lee helped us all learn and create cool stuff.
Aaron Patterson aka @tenderlove
I’m pretty sure Aaron only lives a couple miles from me and I hope to bump into him someday. I am glad we Rubyists have him as a core contributor because he’s great. Follow him on Twitter for corny jokes and flat-faced cats. He also created Nokogiri, which I used extensively for years without ever even knowing he was the creator. I found out by listening to some random podcast someday.
Blender blows my mind. When I was in college getting a minor in Multimedia Design, I was convinced I was going to become a 3D artist. My excitement for the field was often tempered by how expensive 3D software was. It was thousands of dollars just for the software and that didn’t include a powerful machine you’d need to run it. Yet, there was Blender, just plugging along. Year after year, they kept taking swings at the giants of their industry. I’m not sure if you’ve booted it up lately, but it’s amazing.
They even inverted their mouse button choices as of 2.8 😉
Regex is banannas and Rubular helps me to figure it out. Simple. Great.
Another throwback. I don’t actually get to use this animation library much anymore, but it was instrumental back when I used to program for Flash. I put this little kick-ass library into thousands of digital banner ads and microsites. Just like Bootstrap, the documentation is simply phenomenal.
I honestly gave DevOps a shot, but it’s not for me. Capistrano, Puppet, Docker… blarg! I just want to
git push heroku master. Thanks Heroku for making it easy for me to get sites off the ground and not spend all day deploying and patching servers. You are magic.
I don’t come from a backend background, so I occasionally end up with some
n+1 queries. Bullet tells me I’m dumb and how to fix it. Thanks.
Can you roll your own auth? I’m pretty sure I can’t and I certainly wouldn’t do as good of a job as the folks who contributed to the Devise gem. It’s gone in nearly every Rails project I’ve ever done and I am eternally grateful for all the work they do.
I’m really new to Unity, but it feels very comfortable. I’ve built complex Flash applications in the past and had to build so many things that come built right into Unity. I think it’s great that I can get started for free as I learn. I’m sure I’ll have more to say in the future, but I still feel like a baby when I use it.
A lot of people have helped me over the years in ways I’m extremely grateful for. I’m constantly amazed how our community shares knowledge and experience with one another. It would probably freak most of the world out to learn that some of our most important digital infrastructure is built by self-taught nerds who learned by shooting the shit with each other and banging on stuff in production. But that’s the part I love.
So thanks to those that stood by while I tried my best to get things to work. Thanks for being forgiving when marketing email blasts went out to thousands of customers with a much, much, much lower price than was in the ad copy. Thanks for sharing keyboard shortcuts and other ways to do my job faster. I hope to pay all your kindness forward and share as much as I can as I continue learning.
University of Oregon
I have a lot to thank the University of Oregon for, but I’d like to specifically acknowledge one thing. I almost walked out of a class sophomore year because the professor of a course on design software opened by saying her course wasn’t going to focus on learning the software. Rather, she was going to focus on art concepts and fundamentals. She made a point of saying, by the time the course was done, Adobe will have changed half the buttons and introduced new ones. It’s just part of the process and we’d be required to keep up with it on our own.
At the time, this distinction frustrated me. I believed mastering the software itself was paramount. It would be some time before I began to grasp the philosophy emphasized in that course, but now I think about it daily. My original mindset was that of a budding guitarist who just wanted to learn how to play Free Bird while skipping over learning how to play scales, notes and chords. Believing that fundamentals matter has been one of the more important tenets of my career.
Last but not least, thanks to my wife, Melissa. Thanks for letting me hole up in front of a computer screen for weeks at a time to complete projects. Thanks for listening (or pretending to) to concepts and weird words that have no meaning to you. Thanks for letting me spend money on servers, computers, cameras, and other gadgets essential to a programmer’s life.
Having good teammates makes things so much easier and I can’t imagine where I’d be today without your help. Thank you.