Today was my first visit to a different Pivotal office. I’m on personal travel in Los Angeles at the moment, so I spent the day today working out of Pivotal’s Santa Monica location. I was delighted to find that people … Read more
I’ve often been in situations where people see user stories in Pivotal Tracker as just a punch list of to-dos, line items for snippets of code we can write that does one little thing in a product owner’s head. Even … Read more
Years ago in college, I took part in “The Game”: a 24-long scavenger hunt, driving all over the Bay Area, decoding clues that would lead us to the next location, each clue nerdier than the next. If we ever got … Read more
When it comes to user metrics, what should you log when you don’t know what to log?
When you’re first getting an MVP site off the ground, you don’t know quite what you might want to track. And might … Read more
I took a day off of work recently, and learned more about what I was working on than in several months of coding.
My current Pivotal client project is CaseCommons, using web technology to modernize child welfare and foster care … Read more
I gave a talk the other day at the Flatiron School here in NY, and had a great follow-up discussion over email with one of the students, including a number of questions about Pivotal. She and I decided to open … Read more
GORUCO outdid itself this year. Always the annual networking and social high point of the NYC Ruby Community, this year's talks and events exceeded my already high expectations. Here's a recap of some of the goings on:
Friday night, we warmed up with the GORUCO pre-party here at Pivotal Labs. Those who braved the thunderstorms to get here that night were treated to piles of chicken wings, bartenders serving directly from the Pivotal beer fridge where we all usually just help ourselves, a full open bar and some delightful Ruby-flavored conversation. I spoke with someone who had come all the way from India just to come to GORUCO, as well some of the Hungry Academy folks, up here from D.C. as a prize for winning a contest. The lights were turned on by 11pm so we could all be in good form for the long Saturday ahead of us.
Dr. Nic 'DrNic' Williams started us off in the morning with a talk about deployment. A key theme that stuck in my mind was to consider how the tools we use affect our thinking. For example, that's why we don't build enterprise on-prem versions of our apps.
Matt Wynne was next with his talk on Hexagonal Rails. He guided the way towards breaking down large interconnected Rails apps into modular, easily testable, maintainable components, making many references to Ruby's SmallTalk roots. Having recently worked on an app with a test suite that took over an hour to run, I clearly felt the pain he was describing and look forward to implementing his recommendations in upcoming projects.
All that was much food for thought and conversations over lunch. BBQ meat, tortillas and chips, and guacamole were all piled high with the food we got from the aptly named Mexicue. The line snaked through several rooms but moved quick, and while waiting we had a good chat about TDD in startups.
Justin Leitgeb had the first full-length talk of the afternoon, all about sensible testing practices, and walked us through a good mnemonic acronym to keep in mind as we write our tests. What's not to love about CUPID: C: Consistent Distance (Integration? Don't stub. Unit? Don't integrate.) U: Unstubbed. Don't stub anything that isn't yours P: Pyramidal (the most unit tests at the bottom of the pyramid, some integrated subset tests in the middle, and just a few end to end tests at the top) I: Idempotent (Always run specs with --random and kiss test pollution goodbye) D: Distinct. His talk had many quotable quotes. My favorite was: 'In a project that I worked on, one single bug caused 124 tests to fail. I was so perplexed I didn't know which bridge to jump from.'
David Chelimsky's presentation reminded us that while DRY stands for Don't Repeat Yourself, it really means 'Don't Repeat Yourself' unless that doesn't make sense. For example, if you reduce duplication but that creates a new dependency, that increases coupling of things that shouldn't be coupled and reduces the quality of your code. He also showed a great example where a Rails route file was de-duplicated completely, leaving a completely unreadable mess of CONST1 + CONST2 + CONST3 code on every line.
Jim Weirich gave the last presentation of the day, opening our eyes to the power of what Rake can do for us. For example, Rake has a lot of native support centered around file lists. He showed an example where he kept a set of images in one directory and had Rake create thumbnails for those images in another directory. Rake notices when a file hasn't changed, so running it a second time skips the thumbnails it's already built.
Once the presentations were done, the GORUCO staff donned their sailor hats and we all headed over to Pier 40 to get on board our yacht cruise. Hungry devs and their significant others were talking about the best algorithm to most quickly make their way through the meat, salad, and pasta serving stations on the boat's 3 floors. The 210' vessel was brand new; the staff told us we were the first to spill our drinks on the carpet! The top-shelf open bar was well-provisioned and it's not surprising that when the very eclectic soundtrack started playing Adele's 'Someone Like You', a large group got an early start to the evening's karaoke by screaming it at the top of their lungs. I saw the video, but it was deemed too hot for this blog post.
We had great conversations on that boat, technical and otherwise. I spent a bunch of time hanging out with a large group of dev leads from NYC's hottest startups. One guy was telling me about a day-long pairing exercise that can expand our horizons. Can't wait to try it!
The boat ride ended with a pass by the Statue of Liberty, directly below a huge fireworks display. The warm night and close view was perfection.
After we returned to Pier 40 and disembarked, many folks headed over to Karaoke Cave in the Village to sing until the wee hours. I couldn't make it, but I heard that it was very fun and memorable. So much so that the people I spoke with couldn't remember some of it! But apparently, Dr. Nic can really hold a tune.
Thanks again to the GORUCO organizers for putting together such a great event. Looking forward to next year!