Close
Glad You're Ready. Let's Get Started!

Let us know how we can contact you.

Thank you!

We'll respond shortly.

Colin Shield

Posts By

LABS
Integration Testing in a Spring Project

We love testing here at Pivotal Labs. Every pair on every project at some point asks the question, “So how are we going to test this?” If our testing strategy includes access to a data layer then it is important to know the state of the data before our tests run.

Read more »

LABS
Managing multiple DBs in a Spring project

During our daily Rails development we use 2 local databases. The first a development DB that can be used to view the features we’re implementing. The other a test DB that is usually empty or possibly seeded with some fixtures. The test DB is used to run our test suite against.

Read more »

LABS
DB migrations in a Spring project

Having done a lot of work in Ruby on Rails over the years we at Pivotal Labs have become a little spoiled by some tools available to us. One of those tools is the ubiquitous database migration tool. When combined with Active Record’s DB abstraction we can very quickly write DB independent migrations to go along with our features.

Read more »

LABS
Spring Form Validation

This post is aimed at helping rails developers who are familiar with the patterns around Active Record model validations and simple form and are moving to the Spring world.

We can start with a simple Spring Model

package com.springapp.mvc; import javax.persistence.*; @Entity(name = "account") public class User { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; private String firstName; private String lastName; private String email; // getters and setters ...

Read more »

LABS
Database.yml files using Chef Server

I’ve been spending an awful lot of time lately deploying rails applications using chef server. I’ll be blogging some of the more interesting ways we’re using chef server. One of the most useful features of chef server is search. This allows you to write recipes that reference nodes in your stack that match particular roles.

Read more »

LABS
Standup Oct/19/2010: Cedar, a BDD Testing Framework for Objective C

Interesting Things

Cedar, a BDD Testing Framework for Rails", Saturday, October 23, 2010 11:00 AM!

LABS
Donkey & Goat Open House

Donkey & Goat Winery in Berkeley is having an open house Saturday March 20 2010. I'm personally a big fan of their wine. I'm enjoying a glass of their 2006 Syrah, The Recluse right now. Jared, one of the owners, has been kind enough to let us at Pivotal sample his wines on a few occasions. I'd heartily recommend going along to sample their wine, eat some food and learn about their wine making.

DONKEY & GOAT SPRING OPEN HOUSE PARTY SAT 3/20 1-5PM, AT THE WINERY IN BERKELEY 7 NEW WINES, EATS FROM BERKELEY'S SOON TO OPEN LOCANDA DA EVA AND THE MICHAEL LAMACCHIO TRIO, OUR FAVORITE BRAZILIAN JAZZ TRIO IS BACK! SAVE $10 WITH ADVANCE TICKETS

LABS
Standup 1/14 actionmailer content type issue

We were bitten by a Rails 2.3 bug related to ActionMailer today. It took us a good part of the day to hunt down due to the fact that it only happened in production and even then only occasionally. Basically ActionMailer occasionally sends your multipart emails as text/plain with html content.

Here's the ticket we found:

LABS
Standup 1/13 Successful completion with SQS Internal Error

The RightScale SQS gem returned an exception from SQS multiple times, including retries. Not an unusual event. This could have been caused by the SQS service being unavailable. However, the team noticed that despite the failure the message was actually successfully added to the queue and processed as normal.

ActiveSupport logger appears to open the default ruby logger and remove everything except the basic log message passed through. This is done for all subsequent uses of the logger. Perhaps this is done so that the log message could be passed to a syslog service which will add timestamps.

LABS
Standup Jan 12 2010 DateJS timestring parsing

Whilst trying to parse differently formatted date strings from rss feeds a pivot found that date.now is overridden by DateJS to return a new date. There was a suggestion, that later proved useful, to use google's rss reader to first clean up the different rss feeds to ensure that they all can be parsed in much the same way.