Rapleaf is an aggregation service for personalization data. Manish Shah describes how they help companies gain insight into customers, engage them more meaningfully, and deliver timely messages. They also help consumers understand their online footprint.
Community
HQ
Explore Blog posts about everything we are up to, Tech Talk videos covering a huge range of timely topics and Event listings to keep you current on happenings at the Labs.
New Tech Talk: Model Driven Infrastructure with Puppet
Luke Kanies, Founder and CEO of Puppet Labs and Puppet’s original author, talks about how Puppet relies on modeling and why. He discusses the trade-offs that come with a modeled approach, delving into what models exist, how they interact, and how that benefits the developer, integrator, and, most importantly, the sysadmin. Puppet’s declarative language is a key part of its model so special attention is given to why they’ve built a declarative specification language, including plans for the future and why no one will be replacing it with pure Ruby any time soon. Luke also discusses Puppet’s resource types, the directed acyclic graph at the heart of the transactional system, and how Puppet can make guarantees about simulation mode, auditing, and logging.
See all our talks at http://pivotallabs.com/talks
Standup 2011-03-01: Spork! Spork! Spork!
Ask for Help
“Has anyone else had their Selenium tests break after upgrading from rails 2.3.8 to 2.3.11?”
One team was using Rack 1.1.0, Mongrel 1.1.5 and Rails 2.3.8. When they upgraded to Rails 2.3.11, their Selenium tests started failing. After some investigation they found this commit which they used to create a monkeypatch for Rack 1.1.0:
# Back-porting this patch: https://github.com/rack/rack/commit/f6f3c60938ea3b08f3292a2480e6753c293584e5
module Rack
module Utils
class HeaderHash < Hash
def [](k)
super(@names[k]) if @names[k]
super(@names[k.downcase])
end
end
end
end
Anyone have a better solution?
“Slower test suite with Spork?”
Spork can speed up the start-up time of your test suite, but has anyone seen it slow down the overall test run? One Pivot was seeing a 10% slowdown in overall suite speed.
Interesting Things
- Postgres can write a lot of stuff to your logs. You can quiet it down with the silent-postgres gem and by adding min_messages to database.yml
- RubyMine 3.1 has support for Spork!
Standup 2011-02-28: The Cowbell Isn't Going To Ring Itself
Ask for Help
“jQuery throwing a syntax error when using
is("[data-foo]")?”
Has anyone seen jQuery throw a syntax error when passing a data- attribute name to the is() function? This code often works, but started throwing a syntax error after some markup was removed and then re-inserted into the DOM:
$("#foo").attr("data-bar") = 5;
$("#foo").is("[data-bar]");
Interesting Things
- Rails 3.0.5 has been released.
- The Nordic Ruby Conference call for proposals ends today, so hurry up and submit.
- Rails Conf 2011, which is being held in my hometown of Bal-ti-more, just announced its keynote speakers. Check them out.
Public projects directory and feed coming to Tracker
We’re launching a new public projects directory in Pivotal Tracker this Friday. If you own or use public projects in Tracker, continue reading, as these projects are about to get much easier to discover.
This new directory, linked to from the Pivotal Tracker front page, will show a featured public project at the top, a list of the most active projects, and a live feed of all public project activity. The directory will also allow you to search for public projects by name, project description, or project member name.

What are public projects?
Public projects are just like other projects in Tracker, but they can be viewed by anyone. If you’re using Tracker to manage and collaborate around an open source project, for example, a public project gives you a great way to increase visibility into your efforts, and give the world a live view of progress and priorities. Best of all, public projects are completely free, with an unlimited number of collaborators!
How can I tell if my project is public?
When you’re in a project that’s public, you’ll see (Public) at the end of the project name. You can also see which of your projects are public on the View All Projects page – there is an indicator next to the name of each project that is public.
![]()
How do I change my project to be public or private?
By default, all projects in Pivotal Tracker are private, and visible only to the people that you explicitly invite as members. To allow anyone to view your project, even people who are not signed in to Tracker, you can make your project public. To do that, or to make a public project private again, visit the Settings page for your project, and change the Public Access option.
![]()
There are many active public projects in Pivotal Tracker already! This new directory will allow you to explore them, and see what everyone else in the open source community is up to. We’ll be featuring a few projects at a time at the top of the page in this new directory, let us know if you’d like us to feature your project!
EC2 AMI Building Adeventures
As rails developers we’re often presented with the task of finding the right ops solution for clients. While Heroku has turned out to be a great answer for many of our clients, there are others who don’t fit in the (very well made) fixed size box that Heroku has built.
For these projects, the best answer we’ve found is going the devops route using chef solo. The first problem encountered is “how do I bootstrap my servers”, which by its very nature is a hard problem that requires a fairly through understanding of both your projects needs, operations and chef. The best answer has been to ignore bootstrapping at the beginning, and use chef to document/automate what’s really different about your app.
Getting from servers being a bunch-o-magic-bits to a 15 minute bootstrapping followed by a chef run is where most of the value of automated configuration is.
However, this answer doesn’t satisfy the primal urge to automate everything. To that end, I’m embarking on a side project of bootstrapping a rails server from scratch with chef solo. My hope is that it will be useful as a starting point for rails projects looking to automate their infrastructure. I turned over some turtles, and found the stack ended when I had to chose which AMI to boot up on EC2.
I chose Centos in hopes of leveraging the knowledge of operations experts, and went looking for a basic AMI. There are thousands out there, but what I really wanted was something fully documented in code. Amazon provides “standard” images which are centos based, but they’re too much of a collection of “magic bits” for my tastes. Rightscale is nice enough to give out their scripts, and I’ve adapted them (by way of Nicky Peeters ) to build the barest of bare centos AMIs.
The biggest hurdle was getting a 32 bit AMI that was as close as possible to a 64 bit AMI. I had the urge to standardize on the 64bit only, but the price difference is fairly substantial.
I figured this was a one afternoon project, but it turned into a full two weekend project as I learned many things about EC2, Centos and Linux.
Lessons learned or relearned:
EC2 requires different /etc/fstab’s for different instance types.
EC2 does not use the AMI’s installed kernel by default, and which one you pick is important. If your centos install hangs at “Creating /dev”, this is probably the reason. PV-Grub looks interesting, but I didn’t want to add another moving part yet.
A special ldconfig is necessary on 32bit servers, but seems to break 64bit servers. If you’re seeing linker errors durring the boot up process, this might be the problem.
The version of yum used to create the image is important – using the yum provided with an earlier 5.x point release did not yield a bootable 5.5 Centos image.
The version of amazon’s AMI building tools is important. The –kernel option is not available in older versions of the bundle command, which didn’t turn out to be necessary but did cause problems. There may have been another reason which currently escapes my memory. The script now installs them at the beginning of the run.
/dev/ptmx needs to be created by hand on 64bit servers, but is unnecessary or already created on 32bit servers. /dev/ptmx provides psudo terminals for SSH – you can’t get into your server 64bit server without creating one.
Further questions:
Is everything above really true? Is there anything that can be left out or simplified?
How do I make a matching vagrant box from the same script?
EBS Backed AMIs seem to be better in many ways. Can the same script be pointed at an EBS volume?
As this is my first pass, I’m not sharing prebuilt AMI’s yet as they’re likely to change fairly rapidly.
The script is available on github.
Standup 2/24/2001-2/25/2001
Ask for Help
“bundle install seems very slow everytime, but bundle check seems fast. Why doesn’t bundle install use bundle check before doing its thing?”
Consensus was that this seemed like a good idea.
“When setting up a cc.rb box, the box could not connect to Github, yielding the ‘You don’t exist, go away!’ message. How do we fix this situation? We can get to github through the command line without any issues.”
- One thing to check is your protocol. The git protocol is closest to SSH and obeys most of the settings SSH does.
- Also check your agent forwarding settings. Is your box explicitly doing everything that it should?
“In Rails 2.3, we tried mocking a has_one association. However, it looks like the association isn’t mocking. Why?”
Rails 2.3 associations have a proxy object that delegate to lower level objects. This proxy isn’t mockable, but the target (proxy_target) is.
“What is the current best of breed passenger config beyond what you get from the passenger site?”
Recommendations were given for mod_speed.
“What are some easy ways to implement CSS spriting on my site?”
For a quick definition of CSS sprites, look here. Recommendations included Compass/SASS.
Interesting Things
- jQuery 1.5.1 is out! It is the first jQuery that explicitly supports IE 9, so it’s recommended for next generation web site development.
SocialStay Seeks Sr. Software Developer in Santa Barbara, CA
At Pivotal Labs, one of the services we provide our clients is helping them interview and hire. Pivotal Labs and our clients place a strong emphasis on Agile development and its many aspects: Pair Programming, Test-Driven Development, rapid iterations, and frequent refactoring.
SocialStay, is looking for Rails and Mobile developers to join their team in Santa Barbara, CA. The full job posting follows.
Do you like working on the cutting edge? Do you find yourself torn between web and mobile development? Do you write tests in your sleep, eat ruby for breakfast and live to refactor? Then SocialStay just might be the place for you!
SocialStay is a funded startup located in beautiful Santa Barbara, CA. Our founders are experienced entrepreneurs with a history of success. Our platform is right at the intersection of everything cutting edge in the technology space — We’re developing a web application in Ruby on Rails to configure and generate mobile applications for iPhone, Android and Blackberry. Our first target market is the hospitality industry and they’ve been signing up like crazy just to get their hands on our tech.
We’re forming a core local team of ninja-like, rockstar-ish, pirate-esque developers in Santa Barbara, CA.
Requirements
- Strong Computer Science Background You haven’t worked with our technology because we’re inventing it. Number one requirement is a strong CS background and the ability to adapt.
- Experience With Agile Development Or a strong curiosity / desire to learn. We do serious agile: test driven development, continuous integration, weekly sprints, aggressive refactoring and a heap of collaboration. Best part — developers define the process from day 1.
- Experience Building Web Applications -OR- Building Hardcore Mobile Apps If you’re a badass at one and have always been curious about the other, this is a great opportunity for you! By Hardcore Mobile Apps, we mean apps that have a server component.
Technology Stack
- Ruby on Rails 3
- Javascript (both for web and mobile app development)
- jQuery
- Appcelerator
- Mobile Platforms (iPhone, Android, Blackberry)
- Git
- EngineYard
- MySql
Compensation
- Bay Area Competitive Salary + Stock Options
We’re big believers in kicking ass at our jobs and having fun while doing it. This is your chance to get in early at Santa Barbara’s next big tech company.
If you’re a talented and enthusiastic developer looking for a brand new challenge, drop us a line: jobs@socialstay.com
Standup 2/23/2011 – mocking AJAX for jQuery 1.5
Ask for Help
“When I tried to clear cookies on IE8, the cookies stuck around anyway. I was only able to delete them through the developer toolbar. What’s going on?”
The consensus theory was that the developer toolbar might be affecting IE8′s cookie behavior (IE8 is not known for its robust extensions). More investigation seems in order.
Interesting Things
- After upgrading to Bundler 1.0.10/Rubygems 1.5.2, build time on one of our projects shrank by 2 minutes. Hurrah for caching!
- jQuery 1.5 changed its AJAX implementation, causing us to upgrade our mock Jasmine library. Our jQuery 1.5 fork is here.
ModCloth.com Seeks Ruby Engineers in San Francisco
At Pivotal Labs, one of the services we provide our clients is helping them interview and hire. Pivotal Labs and our clients place a strong emphasis on Agile development and its many aspects: Pair Programming, Test-Driven Development, rapid iterations, and frequent refactoring.
Modcloth.com, rated the 2nd fasted growing retail company in the nation by Inc. Magazine, is a distributor of independent designer fashion and décor. ModCloth.com is looking for Ruby on Rails developers to join their team in San Francisco. The full job posting follows.
Our San Francisco office is looking for Software Engineers ideally proficient in Ruby and Rails. Our team utilizes agile practices, paired programming, and test-driven development to build new exciting features for our rapidly growing site that attracts over one million unique visitors every month! We strive for a healthy work/life balance, play ping-pong during breaks, and are always looking to learn something new.
Please visit our Career Page to apply and be sure to include a cover letter letting us know why you can’t wait to join the ModCloth Engineering team.
Are you an expert Java Developer without production Ruby experience? That’s okay! We’re interested in speaking with you too.