Mike Gehard

Biography

  • Deploying Cloud Foundry Microservices

    Deploying Cloud Foundry Microservices

    The buzz around the microservice way of architecting software systems is taking hold across the Internet. Many people are trying to figure out what this means for their deployment strategy and...

    Read More
  • Move Over Timecop…Hello ActiveSupport::Testing::TimeHelpers

    Move Over Timecop…Hello ActiveSupport::Testing::TimeHelpers

    Imagine this, you are testing a Rails application with RSpec and you have the need to freeze or travel through time in your specs. Your old trusted friend Timecop has served you well in the past...

    Read More
  • Testing Custom Form Builders in Rails

    Testing Custom Form Builders in Rails

    Rails gives you the ability to customize the output when using the form_for view helper in a view by using a custom form builder. This functionality is great if you want to change the default HTML...

    Read More
  • A Rubyist Learning Go – Testing HTTP

    A Rubyist Learning Go – Testing HTTP

    Welcome back to our semi-regularly scheduled program. This time around, we are going to take a look at how to write tests in Go, specifically those for http.Handler endpoints. If you are a Rails...

    Read More
  • A Rubyist Learning Go – Types and Interfaces

    A Rubyist Learning Go – Types and Interfaces

    While looking at the websocket library for Go, I came across the following code: func EchoServer(ws *websocket.Conn) { io.Copy(ws, ws) } http.Handle("/echo",...

    Read More
  • A Rubyist Learning Go – Building an HTTP server

    A Rubyist Learning Go – Building an HTTP server

    In our last installment, we learned how to pass in flags to our command line application using the flag library. This time around we are going build a simple, executable Hello World HTTP server....

    Read More
  • A Rubyist Learning Go – Command Line Flags

    A Rubyist Learning Go – Command Line Flags

    In our last installment, we learned how to write a basic Go command line program. Now, we want to tell the program who to greet instead of simply greeting the world. To accomplish this, we will...

    Read More
  • A Rubyist Learning Go – A basic Go program

    A Rubyist Learning Go – A basic Go program

    Starting July 1st, I am going to have the opportunity to step outside by development comfort zone and begin working on the Cloud Foundry logging system team. Why is it outside my comfort zone? The...

    Read More
  • Using Jasmine to test CoffeeScript in a Rails 3.1 App

    Using Jasmine to test CoffeeScript in a Rails 3.1 App

    Lately I've had the opportunity to use Jasmine to test drive a whole bunch of Javascript and am loving it. If you haven't had a chance to take Jasmine for a spin, I recommend you take some time...

    Read More
  • Waiting for jQuery Ajax calls to finish in Cucumber

    Waiting for jQuery Ajax calls to finish in Cucumber

    You may be asking yourself why you'd want to do this in the first place. Well here's why I would want to do it. We had some Webdriver based Cucumber tests that passed fine locally but kept...

    Read More
  • Mocking Fog when using it with Carrierwave

    Mocking Fog when using it with Carrierwave

    There is a new kid on the block when it comes to file attachments for Rails and it is called Carrierwave. Carrierwave gives you the ability to easily store attachments on S3 using another great...

    Read More
  • Making sure you implement the ActiveModel interface fully

    Making sure you implement the ActiveModel interface fully

    Rails 3 brings with it ActiveModel. ActiveModel give you a way to make non-db backed models look like db backed models to your views and controllers. See this post for a good explanation of what...

    Read More
  • Using Firebug with WebDriver in Capybara/Cucumber – New and Improved

    Using Firebug with WebDriver in Capybara/Cucumber – New and Improved

    Forget the steps I published earlier...just install the capybara-firebug gem and away you go. Thanks jfirebaugh!

    Read More
  • Testing OmniAuth based login via Cucumber

    Testing OmniAuth based login via Cucumber

    If you haven't looked at OmniAuth for authentication with sites like Google, Github and Facebook, then you should take a look. It is pretty killer. This morning we needed to write a Cucumber...

    Read More
  • Using Cucumber/Capybara with SauceLabs SauceOnDemand

    Using Cucumber/Capybara with SauceLabs SauceOnDemand

    SauceLabs is a cloud based way to test your site against different browsers. Up until now, they only supported the older Selenium RC based tests. For those of us using Capybara, we were out of...

    Read More
  • Riak Overview and Schema design posted

    Riak Overview and Schema design posted

    Our first tech talk from our Boulder office is now up. You can check it out here: http://pivotallabs.com/talks/121-riak-overview-and-schema-design

    Read More
  • Are Rails plugins still necessary?

    Are Rails plugins still necessary?

    Back in the day, plugins were an acceptable way to extend Rails because gems were hard to create and publish. It was easier to just put up a public repo and have people pull a plugin from...

    Read More
  • Rails3, Caypbara, Cucumber, FakeWeb…oh my….

    Rails3, Caypbara, Cucumber, FakeWeb…oh my….

    While helping client upgrade a Rails 2.3.10 site to Rails 3.0.1, I came across a very perplexing problem with our WebDriver based Cucumber tests that all worked fine under 2.3.10. We were...

    Read More
  • Interacting with AWS S3 in ruby…

    Interacting with AWS S3 in ruby…

    If you are looking for a ruby gem to interact with S3, you may want to choose the S3 gem over the AWS::S3 gem. The S3 gem seems to be under active development while the AWS::S3 gem gem seems to...

    Read More
  • Using Firebug with WebDriver in Capybara/Cucumber

    Using Firebug with WebDriver in Capybara/Cucumber

    Ever wanted to be able to debug an HTML page using the power of Firebug while running Cucumber/Capybara features/steps? Follow these simple steps and you can get it to work: 1) Create a new...

    Read More
  • loading
    Loading More...