Here we are once again for another web development week in review. Most of the week was comprised of building an app for the Firehose community lightning talks, meetups, visiting Hashrocket, diving into date_select, getting parameter errors, patching data through links, and battling migration issues. The more I dive into web development the more I get hooked, it’s all I want to do, it’s all I think about, and now cursedly it’s what I dream about. What I do know is that even when I hit frustrating roadblocks and hit errors that have little to no description of the problem (I’m look at you Heroku!), I’m still having fun.
The biggest thing that arced throughout the entire week was building the lightning talks sign up and submission web application. With demand and interest increasing for the Firehose Community LIghtning Talks it has started to become difficult keeping track of everyone and when they can give their talk. With there being a need and an ability I set out to build a simple CRUD app to keep track of the talks, topic interest, and speakers.
I’ve been doing my damnedest to build up our community and have been pushing open source contribution to students that are near the end of the program or are now officially alumni. With my own growing experience with open source lately and the difficulties that can be presented to getting started I decided I would build this with the same barriers to entry that many open source projects will have. Knowing that no one will contribute if they can’t understand what’s going on I’ve done my best to make it as clear as possible to setup the environment and get going. I’m hoping this will be another project that students can get their toes wet with open source.
With the app I’ve been learning some interesting things like patching database records via links and using
date_select to assigned specific dates to a database entry. Most of the hurdles this week have been figuring out how to make sure my database was being updated properly. It’s interesting to think how much we take for granted a simple button or link click and then when you need to build it you grow to appreciate that it’s not always easy. That’s been my experience this week, while it’s not incredibly difficult to build something like this I haven’t really had a need up until this point to venture down these avenues. I’ve certainly have gained a higher appreciation for the tiny buttons we push on a regular basis.
Oh the frustrating errors this week! Mainly in the last 24-48 hours I’ve been battling with non-descript errors and not even being alerted to there even being an error. Like I said I’ve been exploring the
date_select feature in rails and with that I need to be able to select a date to schedule a specific talk then submit it to the database. This all sounds fairly simple and after I figured out what the hell was going on it became quite simple, however, in the moment it quickly became incredibly frustrating. The problem that I was facing was an unpermitted error but I wasn’t getting any warnings, the only reason why I found out what was going on was because I was watching my logs in real time. Anytime I would submit my date I would get an unpermitted error but WHY! Taking a breather and stepping away after an embarrassingly long time of battling this issue, I came back and figured out what was going on and it was super simple. In my controller
speak_date (my column name for scheduling a talk date) was not one of the permitted parameters so everytime I tried to submit the data it would kick back with an unpermitted error. Hindsight it makes absolutely perfect sense that this is the reason why but in the moment I had no idea what was going on.
Oh but that wasn’t all in the errors front, enter Heroku. With joy and excitement that I finally figured out my scheduling issues I had enough for the night and pushed my stable version to Heroku. Thinking I was done, I just wanted to do a quick verification that everything was working, they weren’t. Heroku being the king of useless errors I had damn near nothing to go on to figure out why the hell it wasn’t linking through to my talks. Instead of getting a useful error I got the “We’re sorry something went wrong” error, thanks Heroku, like I couldn’t figure that one out on my own. So lets dive into the logs and see what is going on, awesome no errors besides the vague and crappy
status=500 error. That’s it, no more information to be given. After googling, running
db:migrate multiple times, and continuing to bang my head on desk I finally figured out what was going on. After looking in the console at my table columns I noticed that one of my columns was missing, I then looked back at my local environment and noticed that between branches somehow the migration file that I needed to add the specific column had disappeared. After another 30 minutes figuring out how the hell I can fix this issue I finally got things working properly and that app is now live! Ish.
It wasn’t all building an app and participating in a war of attrition with errors, I did venture down to Chicago for another meetup and got a chance to hang out at Hashrocket’s Chicago location! The meetup was great as per usual but the highlight of that trip was hanging out at Hashrocket. I got to see what it was like working at an amazing dev shop, got to watch their show and tell Fridays, and got to chat about cool tech. I was only there for a few hours but in those few hours I learned about some pretty interesting things like Markov Chains, Slackbots, and more hilariously when Markov Chains meet Slackbots. It was an excellent opportunity to check out a company that I’ve got a ton of respect for and I’m very much looking forward to the next time I get to come down and hang out.
With this week over, I’ve already got a ton of things that I’m looking to accomplish this next week. Keep building apps, keep building the community, and keep exploring new ideas (hopefully I’ll have a Markov Chain Slackbot running by this time next week). I’m sure I’ve said it before or maybe I continuously just repeat myself but I find it absolutely amazing how much I’m still loving being a web developer, it’s seriously all I think about these days and it’s been a blast! Just proves that sometimes the thing you thought you would hate doing turns out that it’s the thing that you were meant to do. Until next week, keep on coding!