Cheap tricks for startups
Upcoming SlideShare
Loading in...5
×
 

Cheap tricks for startups

on

  • 4,228 views

My talk from Monki Gras 2013.

My talk from Monki Gras 2013.

Statistics

Views

Total Views
4,228
Views on SlideShare
3,446
Embed Views
782

Actions

Likes
9
Downloads
31
Comments
1

9 Embeds 782

http://lanyrd.com 742
http://eventifier.co 27
http://dev.lanyrd.org 5
https://twitter.com 3
http://fr.slideshare.net 1
http://de.slideshare.net 1
https://twimg0-a.akamaihd.net 1
http://feeds.feedburner.com 1
https://www.google.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Cheap tricks for startups Cheap tricks for startups Presentation Transcript

  • Lanyrd.comCheap tricks for Startups Simon Willison @simonw Monki Gras, 31st January 2013 http://lanyrd.com/sccqcy
  • Early-stagestartup engineering is different
  • What are the quickest tools tobuild that provide the most value? View slide
  • Cheap experimentation View slide
  • FEATURE_FLAGS = { new_maps: Uses MapBox rather than Google, login_picker: /signin/ page with picker, login_linkedin: Sign in with LinkedIn, # ...}
  • @login_required@flag_required(topic_tracking)def topic_track(request, slug): topic = get_object_or_404(Topic, slug=slug) # ... if user.has_flag(topic_enhancements): # ...
  • <div class="secondary"> {% flag topic_tracking %} <div class="icon-feature feature-topic"> <em class="title">Keep exploring</em> <p class="med"><a href="/topics/"> Browse and track events by&nbsp;topic</a></p> </div> {% flagactive topic_tracking %} BETA ONLY {% endflagactive %} {% endflag %} <!-- ... --></div>
  • Feature flags apply to individual users and/or user tags, e.g.alpha, beta, lanyrd-team
  • “preview” tag controlsflags available on private preview.lanyrd.com (for testing logged-out features)
  • Feature flags helpkeep trunk deployable
  • Cheap deployment
  • $ fab e:live deploy$ fab e:staging target:feature/linkedin deploy
  • Deployment should be... Easy Fast Cheap
  • Everyone deployson their first day!
  • Read only mode
  • MySQL PostgreSQLon EC2 on SoftLayer with no downtimehttp://lanyrd.com/blog/2012/lanyrds-big-move/
  • Cheap analytics
  • The History table
  • Internal metrics• created_at field on EVERY table, no exceptions • Makes building graphs of site growth trivial• updated_at useful but not essential
  • Our report system• Reports are arbitrary calculations• Run daily by cron• Backfill available on date-field based reports• Points are stored in the database• Site can graph any report• We can export any report to a spreadsheet
  • Cheap tricksFeature flagsRead only modeHistory tableDaily calculated reports http://lanyrd.com/sccqcy