         else
           results = JSON.parse(body)
           user = results.user
-          now = Date.now()
-          console.log "#{now - start} (#{now - last}) to get user"
-          last = now
           callback null
     (callback) ->
       User.get user.id, (err, got) ->

      next err
    else

      now = Date.now()
      console.log "#{now - start} (#{now - last}) to get user token"
      last = now

      req.session.userID = user.id

      setImmediate ->

              "Accept": JSON_TYPE
              "Authorization": "Bearer #{token}"
            url = "https://api.producthunt.com/v1/posts/#{id}"
            cacheGet url, token, headers, (err, body) ->
              if err
                callback err
              else
                results = JSON.parse(body)
                callback null, results.post
          getPostsForDay = (day, callback) ->
            async.waterfall [
              (callback) ->
                getPostIDs req.clientOnlyToken, day, (err, ids) ->
                  if err
                    callback err
                  else
                    callback null, ids
              (ids, callback) ->
                async.map ids, downloadFullPost, (err, posts) ->
                  if err
                    callback err
                  else
                    posts = _.filter posts, (post) ->
                      !(votedFor(req.user, post) || commentedOn(req.user, post))
                    callback null, posts
            ], callback
          gpfdmstart = Date.now()
          async.map days, getPostsForDay, (err, postses) ->
            if err
              callback err
            else
              posts = _.flatten postses
              console.log "#{Date.now() - gpfdmstart} to retrieve #{posts.length} posts"
              callback null, posts
      ], callback
    (results, callback) ->
