BOOM! What’s that? Oh just the crack from what was another round of epic lightning talks. This week may not have been heavy with code but it sure was heavy with a lot of great information about code, seeing opportunities, and capitalizing on the situation but there was still code, there’s always code. I love coding too much now that every week revolves around it in one form or the other. So lets get started.
Lightning talks! This week kicked off the Firehose Project’s 3rd round of lightning talks with me taking the helm as MC. For me it was a bit odd since I wasn’t giving a talk but instead was running them and that’s just an odd role for me because I enjoy giving talks and researching new ideas. On the other hand I got to step out of the line up and give other students the opportunity to pursue exploration and finding great things to talk about. I was not disappointed in anyway because HOT DAMN did the Firehose Students/Alumni bring their “A” game this time around. Each of these talks just get better and better, I’m loving it! I simply do not regret not giving a talk because of the quality that was presented and it was great. Like usual I road that high from the lightning talks for days. I just can’t get over how great the talks have become and how excited everyone is to give them. Not in my wildest dreams would I have thought that this would have had this kind of reception.
After the lightning talks I saw an upswing of enthusiasm and excitement for getting involved with participating in the open source projects. I got a few more people submit pull requests for the lightning talks app to handle some great improvements. It has been great seeing students getting involved with the open source projects and it has been fantastic for me to be able to see all the pull requests and coding styles. Coding seems to be just like fashion everyone has their own style, no matter how similar in appearance they may be there are always little nuances and that has been a pleasure to see. It has also been a learning experience for me. I’ve gotten pull requests to fix features that I never would’ve been exposed to before this and I think that learning from others is a very important part of building knowledge, skill, and experience. On top of all that the lightning talks app is starting to get well rounded and refined and that’s fantastic!
An important lesson that I learned was then when doing a code review and you pull it to your computer that you remember to do
db:rollback before deleting the branch from your machine. I suppose this would go for any time that you are working on a branch that requires a migration change, if you don’t rollback that migration will still be in your database, which will come back and bite you in the ass later, as it did me. I was reviewing a PR on my local environment and I forgot to do a db:rollback before deleting the branch, thus not carrying the migration file to master, I then went on to review another PR which didn’t have any issues so I merged it into master. Not realizing that the previous migration had still run but without keeping the migration file I pushed to Heroku. Then another student went to work on building out the feature that had previously had a migration file associated with it, he did AWESOME work so I immediately merged it to master after the review. However, when I pushed to Heroku it broke the app because that missing migration file and Heroku had no way of knowing to create that specific column in the table. Not running
db:rollback after code review broke the app after I had long forgotten that a migration was ran.
Which brings into Heroku. Since my mishap with the code reviews broke the Heroku app I had to troubleshoot what the hell was going on, not an easy task on Heroku. See I forgot about that migration file so when Heroku was erroring out it had not occurred to me that that could be a possible issue why, however, I knew it worked before my last commit to Heroku. So started trying to decipher Heroku’s excessive lack of error messages and watching the logs were of absolutely no use whatsoever. Now what? Google, then googled some more, and more and more, and then finally I stumbled across a post about
config.consider_all_requests_local option in the
config/environments/production.rb file. By default it is set as
false so what you can do is set this to
true and push to Heroku. Now when you do this what happens is that Heroku treats errors as they were happening in a local environment giving us back our traditional error messages, this is important and this is where I found what was going on with the app. It was breaking because it didn’t create the column because of the missing migration file. An hour later after accidentally dropping the database (I’ve spent enough time in IT that I made sure to backup the database before hand), having to recreate a functioning environment, blowing up some other files, working in Heroku’s console, and then finally recreating migration files to push to Heroku, it was working again. Now I know how I can get actually useful errors in Heroku and that is incredibly useful.
To wrap up the week I had the opportunity to give a phone interview for an apprenticeship in Chicago, something I’ve really been hoping to get the chance to participate in. The phone interview went great and my rep told me that they wanted to move ahead with the next stages before I even went through the first stage, which gave me an awesome boost of confidence. While I know better to not get my hopes up it is hard not to get excited when the person on the other end sounds extremely excited to move things forward. The interview went great and we’ve got a phone technical interview scheduled for Thursday which I’m super excited for.
This week was another great example of seeing the impact of putting forth a little extra effort can go a long way. Seeing the impact of the lightning talks and the open source projects have been such a rewarding opportunity and experience for me that I’m extremely excited to see where things go with it. It makes me want to work harder, give back more, and see everyone else’s excitement explode. It’s been yet another fantastic week of wonderful experiences. With two technical interviews in the coming week I’m sure to have another great week.