Skip to content

Instantly share code, notes, and snippets.

- Interviews matter because our team matters
- You want to have a hand in who you have to work with
- You also want to demonstrate and practice one of the most
important skills in starting a business
- The quality of an early stage company is 100% the quality of it's
team, if you want to start a company, you want to be able to interview.
- An interview has two objectives:
- Learn about the candidate and their skills
- Make them want to work at HubSpot
16 @actions = new ContactActionsView {model: @model}
15 @actions.setElement @$el.find('.actions')
14 @actions.render()
13
12 @saveChanges = new SaveChangesView {modulesView: @modules, collection: @modulesModel}
11 @saveChanges.setElement @$el.find('.saveChanges')
10 @saveChanges.render()
9
8 @saveChanges.on 'show', =>
7 @actions.$el.hide()
presets = [
{
label: 'Gender',
options: ['Male', 'Female']
},
{
label: 'State',
options: ['AK', 'AS', ...
}
]
@zackbloom
zackbloom / gist:5912399
Created July 2, 2013 19:35
Working example of sentry cookie auth
from bs4 import BeautifulSoup
import requests
def get_csrf():
login = requests.get('https://app.getsentry.com/login/')
page = BeautifulSoup(login.text)
return [page.find(attrs={'name': 'csrfmiddlewaretoken'})['value'], login.cookies['sessionid']]
def get_session(csrf, session):
hubspot.require(['hubspot.lists.hapijs'], function(HapiJs){
$('.save-credentials').click(function(evt){
          evt.preventDefault();
          var credentials = {
            username: $('#credentials_username').val(),
            password: $('#credentials_password').val(),
            securityToken: $('#credentials_security_token').val()
          };
          Messenger()["do"]({
            progressMessage: 'Saving credentials ...',
@zackbloom
zackbloom / gist:6231590
Created August 14, 2013 14:30
Infrastructure

Libraries

Common Choices

The following libraries are in common use throughout HubSpot:

  • jQuery (1.9.2)
  • Q (0.9.2)
  • Jasmine/Sinon
  • Backbone (1.0.0)
mixins = {}
registerMixin = (name, mixin) -> mixins[name] = mixin
defaultMixins = ['event-janitor']
registerMixin 'event-janitor', EventJanitor
registerMixin 'remember-me', RememberMe
MixMaster = (mixins...) ->
out = _.clone defaultMixins
2013-10-02 00:16:58 [22272] [INFO] Worker exiting (pid: 22272)
2013-10-02 00:16:58 [22277] [INFO] Booting worker with pid: 22277
2013-10-02 00:16:59 [22277] [ERROR] Exception in worker process:
Traceback (most recent call last):
File "/usr/lib/python2.6/site-packages/gunicorn/arbiter.py", line 473, in spawn_worker
worker.init_process()
File "/usr/lib/python2.6/site-packages/gunicorn/workers/base.py", line 106, in init_process
self.run()
File "/usr/lib/python2.6/site-packages/gunicorn/workers/sync.py", line 62, in run
ret = select.select(self.sockets, [], self.PIPE, self.timeout)
This file has been truncated, but you can view the full file.
<pre style="font: 10px/5px monospace;"><span style="color: #c5a479;"></span><span style="color: #be9f71;">#</span><span style="color: #d6b191;">#</span><span style="color: #dcb898;">#</span><span style="color: #cfae9d;">#</span><span style="color: #c5a79a;">#</span><span style="color: #c8ab9c;">#</span><span style="color: #cbae9f;">#</span><span style="color: #caaf9f;">#</span><span style="color: #cab1a3;">#</span><span style="color: #c5b0a3;">#</span><span style="color: #c7b3a5;">#</span><span style="color: #cbb5a7;">#</span><span style="color: #cdb6a8;">#</span><span style="color: #cfb8a7;">#</span><span style="color: #d4baab;">#</span><span style="color: #d5bbad;">#</span><span style="color: #d8bcae;">#</span><span style="color: #d7bcac;">#</span><span style="color: #dabfae;">#</span><span style="color: #dbc0ab;">#</span><span style="color: #dac0ab;">#</span><span style="color: #dbc1b2;">#</span><span style="color: #ddc2b3;">#</span><span style="color: #dcc0b5;">#</span><span style="color: #ddc2b7;">#</spa
@zackbloom
zackbloom / instant-flat-ui.js
Created November 7, 2013 04:39
Run on any page to 'flatten'
var d = document.createElement('div');
d.innerHTML = '\
<style>\
*:not(.icon):not(i), *:not(.icon):not(i):after, *:not(.icon):not(i):before {\
box-shadow: none !important;\
text-shadow: none !important;\
background-image: none !important;\
}\
*:not(.icon):not(i) {\
border-color: transparent !important;\