Every week that I get to spend time coding is a good week and I got the chance to do a lot of coding this week. From lightning talk app: learning helper methods and learning how to seed a database, contributing to open source, and getting my questions answered on 5by5 Ruby on Rails podcast. There was a lot of win for me this week and all the moments spent writing code made it a great week.
Starting things off in the week I dove into cleaning up the Firehose lightning talk app and make it function a little bit better. What I needed to do is figure out a way to have the app load up a bunch of database entries so that when people contribute to it they aren’t starting off with nothing in the database. Like the Firehose community site I wanted to create the lightning talks app to have that similar ideal of keeping the barrier to entry low enough that it wouldn’t be difficult to get students involved. It may not be a huge barrier but having to waste time creating database entries seemed like a hassle and other students had agreed. With that barrier identified I focused on reducing that barrier, that’s where seeding the database comes into play.
Seeding is the method of pre-building data so during the initial setup process it automatically creates those database entries. The result of seeding the lightning talks app is that it creates a dozen talk entries and 4 users (2 standard and 2 admin) which gives enough coverage to start working on edge cases or new features. Seeding of the database eliminates that manual barrier of having to spend your time manually entering data, it just lets you jump right in and get started. Not only was it valuable to students but it was a very valuable less for myself in learning how to manipulate the seeds.rb file
With the seeds in place I moved on to cleaning up the presentation of the application, the goal was to not display a section if there were no scheduled talks. I first started to look at this problem as a problem I could build out in the models, which realistically it could’ve been but I chose to figure out how helpers worked since I haven’t had much opportunity to work with them. Since what I was trying to do was 100% a views problem it solved this specific problem perfectly and it was a great opportunity to learn. It took me quite some time to figure out exactly how to get things to function correctly, spent primarily figuring out the right ActiveRecord query to use, but by the time I figured out the right query it was working great! Spending that extra time to figure out how the helpers work was valuable time spent muddling through frustrations. The whole thing has been scrapped because another student figured out an even simpler way of doing it by building scopes in the model which was another learning experience for me. I got two learning experiences for the price of one; win/win.
I’m a pretty big fan of listening to Ruby/Rails podcasts every week and it has been a focal point of my bike rides and commutes each week, this week was no different in that regard. One of my favorites, 5by5 Ruby on Rails, recently announced that they were thinking about accepting listener questions and then there was two weeks of radio silence. Curious when the next episode was I asked the two presenters on Twitter what was up and they told me they were recording that night, then they asked if I had any suggestions. Seeing this as an awesome opportunity to get my questions about next steps after bootcamp/college in getting jobs and contributing to the community, oh and shamelessly plugging myself, I quickly replied with some suggestions. Sean, one of the presenters, told me I should record some audio with my questions and submit them, I did. What do you know, my questions got featured on the 200th episode of Ruby on Rails. The guys had some awesome advice that really helped out alot and I even got my shameless plug! To me this was a pretty awesome achievement and found it incredibly rewarding and helpful.
Finally I’ve been talking with Paolo Perrotta about his Narjillos project that he presented at Madison+ Ruby. The project is an artificial life simulation that takes place in a virtual microscopic petri dish, it’s basically the process of how a simple organism can evolve and adapt over generations; simply put evolution simulation. I find genetics and evolution to be incredibly fascinating so I’ve been super excited to see this project evolve. When he announced an update yesterday I offered my assistance, wasn’t sure what I could help with because I’m not a Java developer but any way I could help since it’s just a fascinating project. We talked and I took a stab at setting up my environment to start running experiments. Like all the open source contributions that I work on I document my process very thoroughly and then that’s typically my first contribution to the project, documentation. As of this morning Paolo merged my documentation of the installation and setup processes into the master branch. For me this is a big win and in my little way I got to contribute to a project that I find extremely valuable and fascinating.
This week was pretty fantastic. I worked on some really cool projects, got my questions featured on one of my favorite podcasts, and expanded my knowledge of the Ruby/Rails ecosystem. I’d say last week was 100% win, then again anytime I get to spend the majority of my week on developing cool projects is a win for me. This coming week looks to be no different as well, I’ve got a feature or two planned for the lightning talks, a new app for one of my business clients I’ve been toying with, and hopefully some more open source contributions. Only way things would be better is if I was getting paid to develop applications but all good things come in due time.