There was a problem uploading files to s3 through Paperclip with # characters in the name (s3 doesn’t like # characters). There’s a fix on Paperclip trunk, but that hasn’t been packaged into a gem. Perhaps the Paperclip people could be convinced to cut a release?
One team is seeing files on s3 disappear occasionally. They’re using v2 of the s3 api, where the s3 gem uses v1. The team has now turned on s3 logging (which is off by default) – which they recommend everyone turn on as a general good practice.
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.
git config push.default matching
Upgraded to git 1.6.3 yet? You should, and Jason Rudolph says why (and if you’re on a Mac, Rob Sanheim says how.)
Sadly, after you do upgrade, when you start doing “git push”, your console will start to be littered with the following oddly patronizing message:
warning: You did not specify any refspecs to push, and the current remote
warning: has not configured any push refspecs. The default action in this
warning: case is to push all matching refspecs, that is, all branches
warning: that exist both locally and remotely will be updated. This may
warning: not necessarily be what you want to happen.
warning:
warning: You can specify what action you want to take in this case, and
warning: avoid seeing this message again, by configuring 'push.default' to:
warning: 'nothing' : Do not push anything
warning: 'matching' : Push all matching branches (default)
warning: 'tracking' : Push the current branch to whatever it is tracking
warning: 'current' : Push the current branch
While I’m generally in favor of verbose warnings, this one is kind of bizarre. Essentially, it’s saying, “Warning! The command you just ran will continue to operate exactly as it did before!” Guys, telling us about new options is great but that’s what release notes are for.
Worse, they don’t provide keystroke-level instruction beyond the offhand gerund “configuring” on how to shush it. Here’s the result of my 8-minute speluking inside the output of “git help config”:
git config push.default matching
[Or, thanks to Alastair Brunton below
git config --global push.default matching
]
There, now, that wasn’t so hard after all, was it?
Press Reaction to the Palm Pre
As we’ve been working on applications for the Palm Pre, lots of people have been asking us a lot of questions, most of which we couldn’t really answer yet.
One of the big areas people asked about was what the phone was like. And we just weren’t allowed to say that much to date. But with the launch only two days away, the press has been given a look at the phone, and the response has been overwhelming. And I’m not talking about the Palm trade press, but folks who have been pretty hard to impress, including some big fans of Apple products for years, people like David Pogue, and Walter Mossberg.
So I thought I’d share with you some of the recent articles:
- David Pogue, in the New York Times:
Palm Pre, Elegant Contender - Walt Mossberg, in the Wall Street Journal:
Palm’s New Pre Takes On iPhone - Peter Svensson, The Associated Press
Review: Dazzling Palm software beats the iPhone - Engadget’s Joshua Toplosky:
Palm Pre Review
We’re excited to see such leading journalists in the tech space share our enthusiasm for this great new platform. We’re ready to build more great apps for the platform, too, so if you’re interested in how we can help, give us a shout.
NYC Ruby Happy Hour tonight at Outside.In.
It’s the first Wednesday of the month again, and that means it’s time for the Pivotal Labs/Outside.In monthly Ruby Happy Hour. It’s the first one since GoRuCo, so there’s even more to talk about than usual. (Thanks Josh, Francis, and everyone else who made this a great conference again this year.)

Where: Outside.in, 20 Jay St Suite 1019 (10th Fl), Brooklyn, NY
When: 7-9PM today, Wednesday June 3rd
Who: If you’re a developer who uses Ruby and would like to meet some other Ruby folks, toss around ideas, or just have a few beers, we welcome you with open arms!
There will be pizza, beer, and great discussions for everyone. More details on the Outside.In Blog, and please RSVP if you can, so we know how much pizza to get.
Pivotal Labs showcases at the NYC New Tech Meetup
Last night Pivotal participated in the first ever New Tech Meetup Showcase. The Showcase offered 60 NYC technology companies a chance to show off their wares to a large and enthusiastic crowd, and Pivots Mark Michael, Dan Podsedly, and Ian McFarland held down the Pivotal table, demoing Tracker and seeing what other companies had to offer. The New York New Tech Meetup is the biggest meetup in the world with over 10,000 members, and—this being Internet Week in NYC—many of them were out in force. After the Showcase the action moved to 700-person auditorium where 7 companies gave 5-minute live demos to a rapt house.
The meetup presenters were varied and impressive, running the gamut from human-powered search to some cool geoloco apps (one for social networking and another for 3D mobile iPhone wayfinding) to it-just-works in-browser live video-streaming and production apps, to the NY State Senate’s cutting edge use of social technology to make government more responsive and accountable. The Pivots-in-attendance were especially blown away by two in particular. Aviary is a suite of fully-powered in-browser content creation tools which does for Photoshop and Illustrator what Google Docs did for Microsoft Office: it makes them cheap, available to any computer with a net connection, and facilitates collaboration and sharing. The fact that these apps are fast enough and robust enough to compete with desktop software is pretty inspiring. The second super-uber-cool demo we saw is called MakerBot, a company that’s building and marketing and community-organizing a $750 open-source desktop 3D printer. The kit is open-source, so you don’t actually need to pay MakerBot to get all the parts, but sourcing them yourself is kind of a pain. MakerBot is making it easier for everyone to have and use and imagine a robot on your desk that can build anything you can imagine. Very inspiring stuff, and proof that there’s awe-inspiring cutting-edge tech on both coasts.
a Kanban fix
A Scrum team found they were doing too much context-switching, so they applied a dash of Kanban. It’s an interesting example of Kanban principles in action.
Using Kanban to Fix a Common Scrum Anti-pattern
We used the term Feature Flow to describe the goal of the team: to let features flow through the team without interruptions. Any feature that is in a state of waiting, or is simply taking more than a few days is analysed. It’s moved to done as quickly as possible by scrambling more team members. When we encounter features getting stuck, we don’t pick up more work, we try to find the root-cause of the stickiness and solve that. We increased the quality and capabilities of our build environment a few times for that very reason: to prevent future blockage in our flow of features.
When we introduced the ‘work-in-progress’ limit, we also temporarily stopped doing planning meetings, as our first target was getting the w.i.p. down to 8. The interesting side effect was, that we were working for a few weeks without the need for a planning session. So we stopped the fixed-date planning session and replaced it with an ad-hoc planning session whenever the ‘sprint-backlog’ was drying up. From our coarsely estimated product backlog our product owner introduced a couple of days worth of features each planning session. The great thing was that the priorities could change at the last moment, as long as the team hadn’t started working on a feature. As the Sprint planning meetings were always quite strenuous, the just-in-time one-hour planning sessions kept the teams energy at a constant.
Exploratory Testing, Live!
Elisabeth Hendrickson of Quality Tree Software demonstrates live exploratory testing on Pivotal’s own Tracker application.
Scaling a Rails App with Postgres
Pivots Josh Susser and Damon McCormick share their experiences scaling a Rails app with a Postgres backend. Learn optimization techniques and how Postgres differs from MySQL when tuning a Rails application.
GoGaRuCo Lightning Talks
Lightning talks emceed by Bosco So.
Presenters: Jeff Smick – Blather: simple XMPP; Tim Connor – Rack Middleware; Wolfram Arnold – Cache Money; Yehuda Katz – Moneta; Andy Delcambre – DataMapper adapters; Erik Michaels-Ober – Merb admin console; Mislav Marohnić – autotest and rspactor; Bryan Helmkamp – Rack::Bug; Pat Nakajima – Slidedown; Chris Lee – Floxee; Max Horbul – PiMP
Unison: A Relational Modeling Framework
This talk introduces two symbiotic libraries that leverage properties of the relational algebra to enable elegant client/server web applications. On the server, there’s Unison, with an API similar to ActiveRecord’s, but more general. In addition to has_many and friends, Unison adds relates_to_many and relates_to_one, allowing custom associations to be constructed through the composition of relational operators. For the browser there is June, which offers a JavaScript version of the same API, along with a relational object-store, through which clients can securely pull arbitrary datasets from a Unison-based server, treating it like a relational database. We’ll also explore the nexus of the relational model with event-driven programming and the actor model of concurrent computation.