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
  • Contact
    • Press Room
    • Press Releases
    • In The News
    • Press Kit
  • All
  • Labs
  • Standup
  • Tracker

Monthly Archives: September 2012

Dimitri Roche

[Standup][NY] 09/06/12: PG 9.2 to include JSON data type!

Dimitri Roche
Thursday, September 6, 2012

Interestings

  • Postgres 9.2 to include native JSON data type

Postgres 9.2 will include a native JSON datatype. In addition to verifying that the data stored in the field is valid JSON, there’s also a couple of SQL functions that could be handy (array_to_json, and row_to_json).

There’s a promising pull request for ActiveRecord to support the new json data type.

  • Show gem license on rubygems.org

Our open source developers this week have submitted a pull request to rubygems.org to display a gem’s license on the gem version’s page.

Make sure you add a license to your gemspecs!

Gem::Specification.new do |s|
  s.license = "MIT"
  #....
end

or…

Gem::Specification.new do |s|
  s.licenses = ["MIT", "BSD"]
  #....
end

Pull request: https://github.com/rubygems/rubygems.org/pull/458

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Ross Hale

Standup SF 09/06/12: Clusters are clusters

Ross Hale
Thursday, September 6, 2012

Helps

  • Recommended MySQL master-slave gem?

We want to set up our database in a master-slave setup and would like to know what gem is currently recommended.

Answer according to Palermo: Don’t use MySQL master-slave

  • Experiences running Redis in Master/Slave setup?

Our client wants to run Redis with a Master/Slave setup. Has anyone ever done this? What experiences did you make?

Answer according to Davis:
There are 2 options, Redis Cluster which is complete vaporware and Redis Sentinel which is recently released. TLDR: Redis Sentinel

Interestings

  • Google offers MySQL cloudy cloud

MySQL in the Google Cloud – Now you can use Google App Engine without being stuck with a key-value data store.

https://developers.google.com/cloud-sql/

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Dan Podsedly

More trouble with the CDN

Dan Podsedly
Thursday, September 6, 2012

We’re getting more reports this morning from customers who are unable to load Pivotal Tracker images/css. We were optimistic that this was resolved by CDNetworks yesterday afternoon, but clearly that seems to not be the case.

We’re escalating this issue to the highest possible level, while at the same time working to set up a different CDN, as well as testing the effects of disabling the CDN completely, at least as a temporary workaround. Please bear with us, this is a top priority for our engineering team.

Please follow @pivotaltracker for the latest updates.

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Dan Podsedly

Updated Accounts, My Projects, and Profile pages

Dan Podsedly
Wednesday, September 5, 2012

We’ve made a few UI changes that make it easier to navigate the world of Pivotal Tracker accounts, update your profile and preferences, and work with all of your projects.

Navigation Links

We’ve moved all of the more administrative navigation links to a new dropdown in the top right corner. This is where you’ll find links to your Profile (where you can do things like change your password, update email preferences, etc) as well as to the new Accounts page, and Sign Out. If you’re using Tracker’s simple time tracking functionality, you’ll find the Time link here as well.

New Accounts Page

First, what exactly is an account, versus a user login? Let’s ask the Tracker FAQ:

Accounts in Tracker are separate things from personal user logins. A user’s login is always associated with an individual–their email address, an optional username and their private password. That login can own or be a member of one or more accounts, and accounts are, effectively, containers for projects.

Accounts allow you to group projects. For example, you might create, or be a member of, an account for your company projects, and have a separate one for your personal work. Every project belongs to an account. You can create as many accounts as you’d like….(read more).

The new accounts page, accessible via the Accounts link the new dropdown in the top right corner of the page, shows you all of the accounts that you are associated with, along with projects in the accounts that you have access to.

For each account, you can see what subscription plan it’s on, as well as how many private projects and collaborators there are in the account. Accounts on this page are grouped as follows:

Accounts that you own – these are accounts that you own, including the one automatically created for you when you signed up for Tracker.

Accounts that you administer – these are accounts that someone else owns, but added you as an administrator to (more on roles here).

Accounts you’re a member of – if you’re a member of projects in someone else’s account, or your company’s account, you’ll see that account listed here, and you can see who owns and administers it (hover over the admins link to see those). The owner or administrator of these accounts may have given you permission to create projects, in which case you’ll see a Create Project button.

Clicking on the Manage Account button for an account that you own or administer allows you to see and change the subscription plan (if you’re the owner), change settings, work with account members, etc.

All Projects Page

Previously, projects were grouped by account here, but that made finding the right project(s) hard sometimes. That account grouping is now on the Accounts page, when you need to think about how projects are organized administratively, and the Projects page becomes a simple list of all active projects that you are a member of.

By default, projects are shown in most recently accessed order, so the ones you work with the most should always appear near the top. You can change the sort order to show projects in alphabetical order, by account, or by created date (newest first).

Hover over the cogwheel for various actions including changing project settings, archiving, and deleting.

Clicking the “Show archived projects” checkbox at the top of the page will do, well, just that – show all archived projects.

Creating projects can be done on this page, via the big button, or anywhere else now via the new Create Project option in the Projects drop-down at the top.

Updated Profile Page

There aren’t any functional changes here, but your Profile page looks a bit better now, and allows you to make changes to individual sections without having to scroll up and down to get to the save button.

We hope these changes make it at least a little bit easier to do the more administrative things in Tracker and stay organized. We’d love your feedback on what else we can do, and if you need any help at all, just visit our help and support page.

Stay tuned for what else we’re up to, and what you can expect over the next few months!

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Dan Podsedly

Update on today’s CDN issues

Dan Podsedly
Wednesday, September 5, 2012

At around 3pm Pacific today, we finally received word from our CDN provider that traffic had been rerouted around the “node” causing today’s problems for users in certain locations (manifesting as slow or failed loads of images and stylesheets). The change may have taken some time to propagate to everyone, but at this point the issue should be resolved.

If you’re still seeing any problems connecting to Tracker, or loading images/stylesheets, please let us know by email.

Unfortunately, this was the second CDN issue in less than a week, and we are less than happy with the length of time the problem took to get resolved. We have started to investigate other solutions/providers, and will likely be making changes to how Tracker static content is distributed within days.

Please accept our apologies, we’ll do our best to make sure this doesn’t happen again.

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Dan Podsedly

Problems with our CDN

Dan Podsedly
Wednesday, September 5, 2012

As some of you have (painfully) noticed, we’ve been having problems with our CDN (content distribution network), causing slow or failing loads of certain Tracker “assets” including images and style sheets. This is affecting users in certain locations only – over the weekend it was South America and certain US cities, while this morning it seems to be mostly the east coast and parts of Canada.

We’re terribly sorry about this, and know how disruptive not being able to get to your projects can be. Our hosting provider is on top of this, and has escalated this to the highest level with the CDN vendor. The issue appears to be related to network congestion in a particular CDN ‘node’, they are working to replace it and route traffic around it, temporarily.

Also, we’re actively looking at moving to a different CDN provider, and/or eliminating the need for CDN use by reducing the number of images/etc that need to be loaded in the app.

We’ll post updates as we get them via Twitter, please follow @pivotaltracker to get the latest.

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Austin Vance

[Standup][Boulder] 9/5/12 – Don’t judge before you typecast

Austin Vance
Wednesday, September 5, 2012

Helps

  • What is the fastest way to use a calculated column in a where clause with postgres?
SELECT (column1 + column2) AS super_column WHERE super_column > 1

Solutions:

  • use a sub query in the FROM
  • duplicate the logic for the calculated column

Like Woah

  • _before_type_cast lets you get to attributes of a model before they are type cast, useful for validations and calculations.
  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Paul Meskers

[Standup][NY] 09/05/12: Github drinks in Brooklyn

Paul Meskers
Wednesday, September 5, 2012

Interestings

  • Github Drinkup in Brooklyn

    • Github Brooklyn Drinkup *

Join @luckiestmonkey, @steveward, and @juliamae tomorrow night for drinks and great conversation on GitHub’s tab.

  • When? *
    Wednesday, September 5th at 8pm.

  • Where? *

674 Manhattan Ave.
Brooklyn, New York
(347) 457-5448

Events

  • Wednesday: Agile Experience Design Meetup
  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Ross Hale

[Standup][SF] 09/05/12: Better Late Than Never

Ross Hale
Tuesday, September 4, 2012

(Title: 09/05/12: Better Late Than Never)

New faces

  • Daniel Onggunhao – new intern from Stanford
  • Aaron Levine – New Pivot

Helps

  • If you haven’t yet, please respond to blogging survey

About 27 responses so far – even if you aren’t interested in reading or writing blogs, that’s still good to know, so please respond.

Events

  • Code for America tonight

During the usual pair exchange we’ll have two great projects for you to help out on! For Open Counter, see Vinicius, for Open 311 see Matt Royal

  • Pair eXchange

Come and pair on personal or open source projects! Refreshments provided. Pivots only.

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Mark Rushakoff

How I remember the difference between Function.call and Function.apply

Mark Rushakoff
Tuesday, September 4, 2012

In Javascript, when you use a function as a first-class-object, you can call the function directly without any special context:

 function execute(func) {
     func();
 }

where the context is the value of this in the function when it’s executed.

If you’re not invoking the function with any arguments, it doesn’t really matter whether you use .apply or .call:

function execute(func, context) {
    // these two statements have the same effect
    func.call(context);
    func.apply(context);
}

But as soon as you need to pass arguments…

 function executeWith123(func, context) {
    // these two statements also have the same effect
    func.call(context, 1, 2, 3);
    func.apply(context, [1, 2, 3]);
 }

The difference is that with call, you can write as many arguments as you need, which is handy when you know exactly which and how many arguments you’re passing. With apply, it’s easier to use a variable number of arguments.

I used to have to always look up the difference between call and apply, until I realized:

Function.apply takes an array: A is for Apply and Array.

I hope that saves you the pain of looking up the documentation or guessing and picking the wrong one next time.

  • 0 Shares
  • Share on Facebook
  • Share on Twitter

Topics

  • agile (778)
  • rails (113)
  • testing (86)
  • ruby (83)
  • ruby on rails (70)
  • jobs (62)
  • javascript (54)
  • techtalk (44)
  • rspec (38)
  • activerecord (29)
  • productivity (29)
  • gogaruco (29)
  • ironblogger (29)
  • git (28)
  • nyc (27)
  • rubymine (25)
  • mobile (22)
  • bloggerdome (20)
  • cucumber (20)
  • process (19)
  • pivotal tracker (19)
  • jasmine (19)
  • design (18)
  • ios (18)
  • webos (17)
  • objective-c (17)
  • android (16)
  • palm (16)
  • "soft" ware (16)
  • fun (15)
  • tracker ecosystem (15)
  • ci (15)
  • cedar (15)
  • rails3 (14)
  • performance (14)
  • bdd (14)
  • gem (13)
  • selenium (12)
  • css (12)
  • goruco (12)
  • bundler (12)
  • tdd (12)
  • meetup (11)
  • railsconf (11)
  • nyc-standup (11)
  • capybara (10)
  • mac (10)
  • mojo (10)
  • chef (10)
  • rubygems (9)
Subscribe to Community Feed
  1. ←
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8. →
  • About
  • Case Studies
  • Team
  • Community
  • Careers
  • 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 >