pivotallabs.com Archives - 24 August 2013, Saturday

Many people new to building apps fall in love the moment they learn about the idea of a Minimum Viable Product. “It’s minimal! So there’s less risk. And it’s viable! So it’ll prove something!”. Unfortunately, it’s easy for the line of “minimum” or “viable” to slip. How can a team stay...

Yesterday I found another reason to love working with MDPress for creating presentations. MDPress is an open source tool that generates HTML presentations from Markdown content. It’s great for someone who works on the command line all day, and who enjoys the conveniences of version co...

Dan Podsedly manages Pivotal Tracker, Pivotal Labs’ award winning project management and collaboration software. Dan has been building large applications since the Smalltalk era, and has been a practitioner and coach of agile programming methods since the earliest days of Extreme Prog...

Related:

Design at Pivotal Labs has a lot to do with collaboration with in-house teams and local communities. Pivotal Labs took the opportunity to help host the San Francisco Product Design Guild last Saturday. The Product Design Guild is an event that reaches out to local Designers to come an...

San Francisco Events August Events August 1st - 31st, 2013 Tuesday August 13 eXtreme Tuesday Club An SF meeting each week to talk about eXtreme Programming, Test Driven Development and all sorts of geeky stuff. http://www.meetup.com/pivotal-labs-sf/events/132945852/ Tuesday August 20 ...

Related:

Triaging Accessibility Issues with Cameron Cundiff Tuesday, August 13, 2013 Cameron Cundiff discusses accessibility issues, how to triage them and how to fix them. Slides are also available . Watch live streaming video from pivotallabs at livestream.com Video starts at 6:40 0 Shares S...

During our migration to Rails 4 we heavily relied on our test suite. We experienced some unexpected behavior when running integration specs. There were multiple issues such as brittle tests and hanging tests. The main reason for all of these issues was the capybara-webkit gem. For the...

Related:

The subject of today’s post is inspired by moving (which I’m doing tomorrow). I’ve talked in the past about the theme of not putting features into your product unless they are absolutely critical. An extension of that is to observe your product in the wild and evaluate where you went ...

So, you’ve launched your MVP… congratulations! That’s a huge achievement, but don’t kid yourself – your v1 product is almost certainly not ready to scale into a real business. MVPs are, by definition, the minimal feature set you need to start learning with real users, and the speed at...

There are a number of different tools to implement search– there are dedicated fulltext datastores such as ElasticSearch and Apache Solr, plus conventional relational databases like PostgreSQL that have fulltext search support built-in. Of these, Solr is one of the more established op...

UPDATE: Thanks to fellow Pivots Alex Kwiatkowski and Rick Reilly, we found that inheriting from ActionController::Parameters didn’t work for update_attribtues . Alex explains some of the changes they made . In the mean time, check out my repo for the example, including a commit for th...

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 programmer, think of these handler endpoints as controller actions. Background Testing is ...

Related:

This is the first post in a series of blog articles that will teach you Cedar. The posts will walk you through test driven iPhone development to create a simple cooking app to save all your favorite recipes. You can download the completed code with Git commits for each major milestone...

I have been asked by at least a few people if I could tell them the best way to get started with programming and I have been slightly ashamed that I was unable to confidently answer that question. I got started in a way that was certainly not the most efficient one, and it really bugs...

In a typical Rails app, one ActiveRecord model tends to accumulate a lot of associations and related methods. This is usually the User class; e.g., the User has many posts, comments, contacts, projects, etc. It’s also common to have a few instance methods to filter these associations,...

Once upon a time, there was a client who struggled with the Agile process. It’s not that he wasn’t smart and curious, and it’s not that he didn’t want to build a great product in a domain he knew lots about, but he had a thorny problem: because he was successful, and because he was sm...

Related:

Imagine if someone flipped a switch on your project that broke your entire integration test suite with failures that surfaced critical, long standing bugs in production that render your site useless to many thousands of users. Hundreds of failures in CI, up on a monitor for everyone t...

Related:

The formulation represents the power of Ruby and the expressiveness of Rails. All seems fine and well. That is, until the code is executed. Suddenly, our snappy application grounds to a halt and our server log spits out a single warning over and over creating a wall of text, as if we ...

I had no clue how we were going to afford Branford Marsalis. I’m not sure who was the instigator, but there was consensus. The Contemporary Concerts team wanted Athens, Georgia, home to an R.E.M.- and/or NCAA- Division-I-football-crazed University of Georgia campus, to host the Sting ...

Although many think of Pivotal Labs as a Rails consulting firm, our broadening client base regularly comes to us with different technical stacks. Among these, Python and Django lead the pack. When Pivotal Labs begins work into any new environment, we need a base level of tooling to be...

Related:

might be the biggest win in choosing Markdown as a default. There’s little need to pick a new structure every time you take notes. Another big benefit of Markdown is that it works in plaintext, which means its future proof. When Microsoft Word Home Office Supreme 2016 breaks all your ...

Last year, an article was making the rounds proclaiming : If you see a UI walkthrough, they blew it Having been continually assaulted by shouting tutorials I was firmly in this camp. It makes sense at face value, since this is should be a good litmus test for simplicity and conveying ...

Rails 4 becomes much more opinionated about the Rails Asset Pipeline, and turns on fingerprinting for assets by default. Rather than fight the default, we copied the default asset-related settings into our application. In verifying our caching configuration, we noticed that our browse...

Whether you’re a lean startup or a mature business, having a clearly articulated product vision, which includes your target customer, problem / solution, and why you’re different, is key to success. Here’s a framework I often use when working with clients to develop a product vision. ...

GitHub Issues features are amazing. Ticket tracking is a very hard thing to deal with – a project needs to hear from its users in order to help with feedback and prioritization of work. That they provide the feature at all is awesome. But they’ve also done a great job of linking a giv...

You have a rails webapp, you’re doing TDD, you are always implementing the simplest thing that could possibly work. Well guess what, the simplest is not always the most performant. If you are always doing simplest thing you’ll not likely to face performance issues early in the product...

This is my second post on the trinity of test tools known as ‘test doubles’. The first covered stubs. This one is all about mocks, which are woefully misunderstood and loathed by many. If you want to know more about the history of mock objects, get a copy of GOOS . It’s my favourite r...

Related:

Every person have their own way of learning, for each one of us there is a method that works better. We have to try and understand the differences and that another person may be slower/faster to learn using a particular method. It is good to know which method works better for you, it ...

Someone just told you your code isn’t DRY, and you have no idea what they’re talking about. You’re fresh out of college, and you’re starting to fear that your Computer Science degree left you woefully unprepared for the challenge of real-world software engineering. “Look, it’s basical...

Over the next few blog posts I intend to bang a few more nails in the coffin of the widespread misunderstanding of stubs, mocks and spies. Many before me have had a crack at this (see Ben Moss’s post for discussion and links), and many of those blog posts and books helped me to unders...