             callback new Error("Bad status code #{response.statusCode} getting posts: #{body}")
           else
             results = JSON.parse(body)
+            now = Date.now()
+            console.log "#{now - start} (#{now - last}) to get posts"
+            last = now
             callback null, results.posts
       (posts, callback) ->
         downloadFullPost = (post, callback) ->

        else
          results = JSON.parse(body)
          token = results.access_token
          callback null
    (callback) ->
      web.get 'https://api.producthunt.com/v1/me', {Authorization: "Bearer #{token}"}, (err, response, body) ->

  ], callback

updateUserAgent = (client, user, agentID, weights, callback) ->

  assert.ok _.isObject(client), "#{client} is not an object"
  assert.ok _.isObject(user), "#{user} is not an object"
  assert.ok _.isString(agentID), "#{agentID} is not a string"
  assert.ok _.isObject(weights), "#{weights} is not an object"

  newAgent = makeAgent weights
  client.putAgent agentID, newAgent, callback

