• Setting Up Default iTerm Windows

    When I first started at Traveler’s Haven, I used to spend 5 minutes every morning getting my window configuration set up. I needed one pane for navigating our API files and running the console, one for navigating our web files and running that console, one to run redis, one to run sidekiq, one to run memcached, one to run our API server, and one to run our web server. Each morning I would open iTerm,...

  • Testing Mailers in Rails

    I recently got an assignment at work to move the location of some of the mailings we send out so we could also create Event logs to go with each piece of mail. In doing this, I ended out creating a whole new EventMailer class that inherits from ActionMailer::Base. This is called from one of my model classes in the format of event.send_mail where send_mail determines what type of mail to send and calls the...

  • Learning Vim

    A few weeks ago, I decided to tackle the daunting challenge of learning Vim. As a new developer, learning Atom was fast and easy, but Vim is an entire paradigm shift. The idea of using letters instead of arrow keys to move around a document and mastering the different “modes” each present their own challenges. So how did I go about it? I first stumbled across the site Upcase by thoughtbot and gave in to...

  • Creating a Rails Template

    Every time I start a new Rails app I seem to forget at least one gem or configuration setting. I’m sure you’ve been there before too. Whether it’s setting the database up to use postgresql, remembering to add (and configure) database cleaner, or remembering to add capybara for easier testing, I always seem to forget something. I was pairing with a friend on Saturday who was showing me how to properly set up javascript testing...

  • Building the SHA-1 Digest Algorithm in Object-Oriented Ruby

    At the end of my first module at Turing, Jeff challenged me to complete a difficult coding challenge - building the SHA-1 digest algorithm from scratch using Ruby. I agreed, and proceeded to look up the SHA-1 specification from the National Institute of Standards and Technology. The secure hashing standard looks a lot like other engineering specifications I’m used to from previous jobs so the structure of the document was fairly familiar. However, a lot...

  • Switching to Fish

    I’ve been wondering for a while how some of the instructors get the cool autocomplete suggestions in their terminal window but have been completely unable to figure it out. I finally learned that it isn’t something you can do with bash, but that there’s a totally different shell called fish that has this functionality built in! I made the decision to switch over break thinking that it would be as easy as switching from Terminal...

  • Behind The Scenes

    We’ve been working with Sinatra the last two weeks and now that we’ve done some reading on Rails I understand why we took the approach we did. There has been some frustration among the class as to why we would spend so much time learning Sinatra if we may not use it again, but I think if we had jumped directly into Rails we wouldn’t have much understand of what is going on behind the...

  • Follow the Errors

    This week in module 2 we spent a lot of time creating errors in our code (on purpose) and then “following the errors” to fix them. We learned this technique in module 1 but I didn’t realize how useful and important it was until trying it on a very large set of complicated errors, some of which I hadn’t seen before. It certainly reinforced the reasons for doing Test Driven Development. I spent a lot...

  • Are You Comfortable?

    Author’s Note: This actually came from my other blog insomniac’s waking dream but I figure it might as well go here also. It’s easy to fall into a routine that’s comfortable. But when you’re trying to achieve something you haven’t done before, ‘comfortable’ is a feeling you should be wary of. It’s the opposite of pushing yourself, of testing your limits and finding your boundaries. It’s a way to let yourself think you’re moving forward...