Pivotal Labs

Main menu

Skip to primary content
Skip to secondary content
  • About
  • Case Studies
  • Team
    • Executives
    • Locations
      • San Francisco (HQ)
      • Boston
      • Boulder
      • Denver
      • London
      • Los Angeles
      • New York
  • Community
    • Blogs
    • Tech Talks
    • Events
  • Careers
    • Lifestyle
    • Principles & Practices
    • Benefits
    • FAQ
    • Apply
  • Tools
  • Contact
    • Press Room
    • Press Releases
    • In The News
    • Press Kit
  • All
  • Labs
  • Standup
  • Tracker
Pivotal Labs

Standup 2008-01-09

Pivotal Labs
Wednesday, January 9, 2008

Desert Fixes

Desert has been upgraded to work with Rails 2, solving problems with ActionMailer templates and Rails load paths.

Nested Describes in RSpec

A reminder: RSpec supports nested describe blocks. This can be useful for sharing setup and also for organization (one describe per method being tested, with multiple it blocks). Some people reported that there are some issues when using nested describe blocks with fixture scenarios. There was also a report of some flakiness around a single it block being run more than once.

Yay NetBeans

One of our projects has reported that they have been using NetBeans and are happy with it.

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Joe Moore

Standup 01/04/2007

Joe Moore
Friday, January 4, 2008

Interesting Things

  • IE Fun: when building a DOM tree by hand (such as in Javascript), don’t forget to add <tbody> tags in your tables! These are required in Internet Explorer 6 and 7. The tables will not appear without them.
  • Pivot Erik wrote a post about firing mouse events in tests using Yahoo’s YUI Javascript library. Check it out!
  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Joe Moore

Standup 01/03/2007

Joe Moore
Thursday, January 3, 2008

Interesting Things

  • As a follow-up to yesterday’s “As for Help” regarding geo-spatial algorithms, one developer implemented MySQL’s geo-spatial code with great success. One caveat: the table must be an MyISAM rather than InnoDB in order to get the indexes, and thus speed benefits. Wes suggested this helpful link.
  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Joe Moore

Standup 01/02/2008

Joe Moore
Wednesday, January 2, 2008

Interesting Things

  • Rails tweaking: test startup times can be very slow due to Fixture loading, especially for HABTM. We monkey-patched the Fixture-loading code that handles HABTM, resulting in a test suite performance increase of 300% for one project! We’ll submit the patch to Rails core and keep you posted.

Ask for Help

  • “Does anyone know an efficient algorithm for detecting overlapping rectangles made of up latitudes/longitudes… in SQL?”
    Or, in other words, detecting if two selections on a map overlap. The latitudes and longitudes are stored in a MySQL database. MySQL has some GIS features that we’ll explore.
  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Pivotal Labs

Standup 12/28/2007

Pivotal Labs
Friday, December 28, 2007

Interesting Things

  • Rails Bug: Test::Unit seems to be broken in Rails 2.0.2 when using multiple levels of test classes (i.e. inheritance). Trunk is fixed, so Rails 2.0.3 will be fine.
  • Chad wrote a small utility for checking/comparing Rails versions which wraps the version checking part of rubygems. This, of course, requires that your Rails project uses at least one gem… that’s a pretty good bet.

    The basic technique:

    have = Rails::VERSION::STRING
    requirement = '=1.99.1'
    Gem::Version::Requirement.new([requirement]).satisfied_by?(Gem::Version.new(have))
    
  • One pivot is having trouble finding a rogue puts statement in a gem somewhere. The suggestion comes a bit late in this case, but adding some breadcrumbs may help next time:

    puts "#{__FILE__}:#{__LINE__} find me!"
    

Ask for Help

  • Does anyone have details regarding Google Maps API developer permissions? Localhost-to-localhost requests work fine, but we need to test things between machines (actually, a virtual machine client and virtual machine host).
  • 0 Shares
  • Share on Facebook
  • Share on Twitter

Alexisms

Alex Chaffee
Wednesday, December 26, 2007

Sayings I use, only some of which are actually originally attributable to me. Anyone with research on a saying’s provenance, feel free to comment. This page, unlike a normal blog entry, will be updated as needed with stuff I find myself saying with air quotes.

A comment is a lie waiting to happen.

“Legacy” means any program that people are actually using.

(Feathers: “Legacy” means “no tests.”)

If you try hard enough, you can make anything fail.

There’s no such thing as human error. (Only system error.)

If you pay attention to something, it gets better.

It’s always a people problem. (Jerry Weinberg)

You can see a lot by looking. (Yogi Berra)

Yogi wrote a book called “You Can Observe A Lot By Watching” but I prefer to think he was misquoting himself.

Language Log has a take on this quote: She was seeing at me

Object-Oriented Programming is like teenage sex: everyone says they’re doing it; few actually are; and those who are rarely know what they’re doing. (Anonymous, via Misko)

Here’s a simple test for whether you’re doing it right: Is your data in the same class as the methods accessing it? Oh, really? Check again.

Double negatives are not unconfusing.

Encapsulation means putting similar things together, and keeping dissimilar things apart.

Of course, the trick of design is knowing along what axes to group or differentiate items. One rule of thumb that has served me well since the days of Gamelan — when we were sorting dozens of incoming applets per day into categories — is:

Don’t look at the item and think, “What category does this item belong in? Look at the category and think, “If I were looking for items in this category, would I want to find this item?”

In other words, make your API fit the mindset of the user, not that of the provider.

Conway’s Law: “Any piece of software reflects the organizational structure that produced it.”

Or, “The structure of the code reflects the structure of the coders.”

Read the error message.

  • 0 Shares
  • Share on Facebook
  • Share on Twitter

Scrum Diagram

Alex Chaffee
Wednesday, December 26, 2007

Good Scrum diagram. Suitable for XP too (replace “sprint” with “iteration” and “daily scrum” with “daily standup”).

Courtesy of Mountain Goat Software

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Joe Moore

Standup 12/21/2007

Joe Moore
Saturday, December 22, 2007

Interesting Things

  • Josh read Coda Hale’s interesting blog post about test driving (or rather, RSpec driving) his rake tasks:

    I love RSpec, and lately I’ve been making the transition from test-friendly development to full-on spec-driven development… I was working on a project recently which boiled down to “run these tasks in this order,” which is a natural fit for Rake.

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Joe Moore

Standup 12/20/2007

Joe Moore
Friday, December 21, 2007

Interesting Things

  • Video Lunch: Once in a while, you just want to see something cool. So on days when nothing else is going on, we show interesting videos during lunch, such as TED Talks or Videos from the Googleplex. Today, we’ll watch these:
    • TED Talks: Blaise Aguera y Arcas: Jaw-dropping Photosynth demo
    • TED Talks: Aubrey de Grey: Why we age and how we can avoid it
  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Joe Moore

Standup 12/19/2007

Joe Moore
Wednesday, December 19, 2007

Interesting Things

  • Rails Bug: composed_of seems to be broken, at least in Rails 1.99. The :mappings parameter states that it can take an array of symbol-pairs, but symbols do not work — only strings work. Example:
    Does not work:
composed_of :name
            :class_name => Name
            :mapping => [
                [:first_name, :first], # :symbol, :symbol does not work!
                [:last_name,  :last]  # :symbol, :symbol does not work!
            ]

Works!

composed_of :name
            :class_name => Name
            :mapping => [
                ['first_name', 'first'], # 'string', 'string' works!
                ['last_name',  'last']  # 'string', 'string' works!
            ]
  • Ruby ain’t Java! A recent Java-convert ran into the following: when calling a private instance method, you must not indicate self.private_method, but instead call private_method. Example:
Class PrivateCaller
    def call_private_here
        puts private_method        #=> works!
        puts self.private_method  #=> self?  uh oh!
    end

    private

    def private_method
        '*** You Called? ***'
    end
end

>> priv = PrivateCaller.new
=> #<privatecaller:0x14ec39c>
>> priv.call_private_here
*** You Called? ***
NoMethodError: private method `private_method' called for #</privatecaller:0x14ec39c><privatecaller:0x14ec39c>
        from (irb):4:in `private_caller'
        from (irb):23
        from :0
</privatecaller:0x14ec39c>
  • TextMate’s Ruby on Rails bundle does not work correctly with Rails 2.0.
  • RubyGems 0.95 is not compatable with geminstaller, written and maintained by our own Chad Woolley. Chad and the Gems folks are already on the case.
  • 0 Shares
  • Share on Facebook
  • Share on Twitter

Topics

  • agile (783)
  • rails (117)
  • testing (90)
  • ruby (86)
  • ruby on rails (71)
  • jobs (62)
  • javascript (59)
  • techtalk (44)
  • ironblogger (42)
  • rspec (39)
  • bloggerdome (34)
  • productivity (34)
  • activerecord (30)
  • rubymine (30)
  • git (29)
  • gogaruco (29)
  • nyc (27)
  • design (24)
  • mobile (23)
  • pivotal tracker (22)
  • process (21)
  • cucumber (21)
  • jasmine (19)
  • ios (18)
  • tracker ecosystem (17)
  • webos (17)
  • objective-c (17)
  • fun (16)
  • android (16)
  • palm (16)
  • ci (16)
  • "soft" ware (16)
  • bdd (15)
  • tdd (15)
  • cedar (15)
  • rails3 (14)
  • performance (14)
  • css (14)
  • gem (13)
  • mouse-free development (12)
  • selenium (12)
  • goruco (12)
  • bundler (12)
  • api (12)
  • keyboard (11)
  • meetup (11)
  • railsconf (11)
  • nyc-standup (11)
  • capybara (10)
  • mac (10)
Subscribe to agile Feed
  1. ←
  2. 1
  3. ...
  4. 66
  5. 67
  6. 68
  7. 69
  8. 70
  9. 71
  10. 72
  11. ...
  12. 79
  13. →
  • About
  • Case Studies
  • Team
  • Community
  • Careers
  • Tools
  • Contact
  • Labs
  • Events

Contact Us

contact@pivotallabs.com
+1 415-77-PIVOT
TwitterLinkedInFacebook

Pivotal Tracker

Tracker is the award-winning agile project management tool that enables real-time collaboration around a shared, prioritized backlog.
Visit pivotaltracker.com >