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
130
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
Big Opportunities in Small Data
simon
0
450
Massively increase your productivity on personal projects with comprehensive documentation and automated tests
simon
1
2.8k
Datasette (CSVConf 2019)
simon
1
330
Instant serverless APIs, powered by SQLite
simon
1
1.7k
Datasette
simon
1
800
The denormalized query engine design pattern
simon
2
2k
Exploring complex data with Elasticsearch and Python
simon
1
820
Django Origins (and some things I have built with Django)
simon
1
260
Monitoring and Introspecting Django
simon
2
3.4k
Other Decks in Technology
See All in Technology
確実に伝えるHealth通知 〜半自動システムでほどよく漏れなく / JAWS-UG 神戸 #9 神戸へようこそ!LT会
genda
0
150
AI時代のインシデント対応 〜時代を切り抜ける、組織アーキテクチャ〜
jacopen
4
160
SRE視点で振り返るメルカリのアーキテクチャ変遷と普遍的な考え
foostan
2
2.4k
生成AIシステムとAIエージェントに関する性能や安全性の評価
shibuiwilliam
2
240
命名から始めるSpec Driven
kuruwic
1
450
Master Dataグループ紹介資料
sansan33
PRO
1
4k
国産クラウドを支える設計とチームの変遷 “技術・組織・ミッション”
kazeburo
6
9.8k
ABEJA FIRST GUIDE for Software Engineers
abeja
0
3.2k
Claude Code はじめてガイド -1時間で学べるAI駆動開発の基本と実践-
oikon48
1
320
AS59105におけるFreeBSD EtherIPの運用と課題
x86taka
0
280
ブラウザ拡張のセキュリティの話 / Browser Extension Security
flatt_security
0
200
メッセージ駆動が可能にする結合の最適化
j5ik2o
9
1.6k
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Being A Developer After 40
akosma
91
590k
Building Adaptive Systems
keathley
44
2.8k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
RailsConf 2023
tenderlove
30
1.3k
A Modern Web Designer's Workflow
chriscoyier
697
190k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
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