Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Cheap tricks for startups
Search
Simon Willison
January 31, 2013
Technology
2
110
Cheap tricks for startups
My talk from Monki Gras 2013 -
Simon Willison
January 31, 2013
Tweet
Share
More Decks by Simon Willison
See All by Simon Willison
Massively increase your productivity on personal projects with comprehensive documentation and automated tests
simon
0
2.2k
Datasette (CSVConf 2019)
simon
0
210
Instant serverless APIs, powered by SQLite
simon
1
1.7k
Datasette
simon
1
550
The denormalized query engine design pattern
simon
2
1.1k
Exploring complex data with Elasticsearch and Python
simon
1
700
Django Origins (and some things I have built with Django)
simon
1
170
Monitoring and Introspecting Django
simon
2
3.3k
Feature Flags
simon
3
3.6k
Other Decks in Technology
See All in Technology
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
5
38k
OPENLOGI Company Profile for engineer
hr01
1
2.1k
Cloudflare WorkersがPythonに対応したので試してみた
miura55
0
190
#phpconkagawa レガシーコードにもオブザーバビリティを 〜少しずつ始めるサービス監視〜
yamato_sorariku
0
520
エムスリーQAチーム紹介資料 / Introduction of M3 QA Team
m3_engineering
1
310
RubyKaigi 2024 - Make Your Own Regex Engine!
makenowjust
0
110
シンプルなHITL機械学習と様々なタスクにおけるHITL機械学習
naohachi89
0
310
汎用ポリシー言語Rego + OPAと認可・検証事例の紹介 / Introduction Rego & OPA for authorization and validation
mizutani
1
120
SWC Transformerから見るTypeScript関数記述ベストプラクティス
fujiyamaorange
1
170
TDD - Test Driven Drupal
opdavies
0
3k
データ基盤を支える技術
chanyou0311
5
2.9k
20240509 CloudWatch でいろいろなものを監視してみよう
masaruogura
1
110
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
188
16k
Being A Developer After 40
akosma
67
580k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
What the flash - Photography Introduction
edds
64
11k
4 Signs Your Business is Dying
shpigford
176
21k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
Bash Introduction
62gerente
605
210k
Why Our Code Smells
bkeepers
PRO
331
56k
Side Projects
sachag
451
41k
Designing with Data
zakiwarfel
96
4.8k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
0
120
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
21
1.6k
Transcript
Cheap tricks for Startups Lanyrd.com Simon Willison @simonw Monki Gras,
31st January 2013 http://lanyrd.com/sccqcy
Early-stage startup engineering is different
What are the quickest tools to build 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 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 controls flags available on private preview.lanyrd.com (for testing
logged-out features)
Feature flags help keep trunk deployable
Cheap deployment
$ fab e:live deploy $ fab e:staging target:feature/linkedin deploy
None
None
Deployment should be... Easy Fast Cheap
Everyone deploys on their first day!
Read only mode
MySQL on EC2 PostgreSQL on SoftLayer with no downtime http://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
None
Cheap tricks Feature flags Read only mode History table Daily
calculated reports http://lanyrd.com/sccqcy
None
None