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

Cheap tricks for startups

on

  • 4,165 views

My talk from Monki Gras 2013.

My talk from Monki Gras 2013.

Statistics

Views

Total Views
4,165
Views on SlideShare
3,386
Embed Views
779

Actions

Likes
9
Downloads
30
Comments
1

9 Embeds 779

http://lanyrd.com 739
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

11 of 1

  • 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?
    • Cheap experimentation
    • 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