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
Keeping important code alive (SeattleJS, March ...
Search
Charlie Robbins
March 12, 2015
Technology
0
790
Keeping important code alive (SeattleJS, March 2015)
An exercise in Open source, psychology, and software engineering
Charlie Robbins
March 12, 2015
Tweet
Share
More Decks by Charlie Robbins
See All by Charlie Robbins
Flexible Design Systems
indexzero
0
41
Exploring Leadership, Mangement, and Mentorship In Open Source
indexzero
0
6
Delivering Flexible Cross Platform Design Systems
indexzero
0
590
Scaling Webpack to Thousands of Concurrent Builds
indexzero
1
170
Everything You Wanted to Know About Logging
indexzero
1
160
Exploring Leadership, Mangement, and Mentorship in Open Source
indexzero
1
100
Serverless Front-End Deployments using npm
indexzero
2
180
Understanding the npm wire API
indexzero
0
260
Node.js @ GoDaddy in 2015
indexzero
1
100
Other Decks in Technology
See All in Technology
生成AI×財務経理:PoCで挑むSlack AI Bot開発と現場巻き込みのリアル
pohdccoe
1
780
急成長する企業で作った、エンジニアが輝ける制度/ 20250227 Rinto Ikenoue
shift_evolve
0
180
OPENLOGI Company Profile
hr01
0
60k
AI自体のOps 〜LLMアプリの運用、AWSサービスとOSSの使い分け〜
minorun365
PRO
9
770
Global Databaseで実現するマルチリージョン自動切替とBlue/Greenデプロイ
j2yano
0
150
Snowflakeの開発・運用コストをApache Icebergで効率化しよう!~機能と活用例のご紹介~
sagara
1
510
"TEAM"を導入したら最高のエンジニア"Team"を実現できた / Deploying "TEAM" and Building the Best Engineering "Team"
yuj1osm
1
230
【詳説】コンテンツ配信 システムの複数機能 基盤への拡張
hatena
0
280
どちらかだけじゃもったいないかも? ECSとEKSを適材適所で併用するメリット、運用課題とそれらの対応について
tk3fftk
2
240
Pwned Labsのすゝめ
ken5scal
2
530
ExaDB-XSで利用されているExadata Exascaleについて
oracle4engineer
PRO
3
280
困難を「一般解」で解く
fujiwara3
7
1.6k
Featured
See All Featured
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Testing 201, or: Great Expectations
jmmastey
42
7.2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
650
Git: the NoSQL Database
bkeepers
PRO
428
65k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
GraphQLの誤解/rethinking-graphql
sonatard
69
10k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
Transcript
None
IMPORTANT CODE ALIVE Keeping
IMPORTANT CODE ALIVE Keeping An EXercise in Open source, psychology,
And software engineering
None
Now. LET ME TELL YOU A STORY...
A Long Time AGo In A GalaXy Far Far
Away...
A Long Time AGo In A GalaXy Far Far
Away...
A Long Time AGo In A GalaXy Far Far
Away... OPEN SOURCE It s a Story ’ Actually ABOUT
MID 2010 NODEJITSU STARTED In NODE.JS WAS LIKE AND BACK
THEN
None
THE WILD WEST
THE WILD WEST Or Maybe...
None
AN UNTOUCHED PARADISE?
AN UNTOUCHED PARADISE? Some might say...
None
THE MANCHURIAN CANDIDATE?
THE MANCHURIAN CANDIDATE? NO MATTER WHAT...
THE MODULES WE NEEDED Were like...
404 not found
404 not found SO, like many others
404 not found SO, like many others
WE WROTE THEM
404 not found SO, like many others
WE WROTE THEM OURselves
None
THE BEST FEELINGS Ever. For Serious. CERTAINLY ONE OF
None
WRITE NODE.jS MODULES WE WANT YOU TO
None
And WE DID!
And WE DID! LAST MONTH, Just my own npm
modules totaled over...
10,000,000+ downloads Source: npm-stats.com
IT WAS Truly Humbling 10,000,000+ downloads Source: npm-stats.com
IT WAS Truly Humbling 10,000,000+ downloads Source: npm-stats.com But IT
WAS ALSO...
None
ABSOLUTELY TERRIfying
None
BECAUSE BACK TO OUR STORY...
BECAUSE BACK TO OUR STORY... IT TURNS OUT
RUNNING A STARTUP
RUNNING A STARTUP Is A LOT OF WORK
None
REMEMBER THAT SUPER HAPPY FEELING?
None
FROM YOUR USERS TOTALLY SUCKS TAKING ABUSE “ ” It
turns out JUST
40#&'6$,*/(/*$&
40#&'6$,*/(/*$& Please: BE #$%@ing Nice
ASIDE
ASIDE USING TWITTER IS LIKE....
....EXCEPT 140 CHARACTERS IS EVEN WORSE. ASIDE
USING TWITTER IS LIKE....
None
CULTIVATE PERSONAL INTERACTION
CULTIVATE PERSONAL INTERACTION WHEN IN DOUBT, FOLLow-up Privately
CULTIVATE PERSONAL INTERACTION WHEN IN DOUBT, FOLLow-up Privately THINK OF
IT AS DISCRETION.
CULTIVATE PERSONAL INTERACTION WHEN IN DOUBT, FOLLow-up Privately THINK OF
IT AS DISCRETION. ... Or Having some Class.
None
ONCE AGAIN BACK TO OUR STORY...
ONCE AGAIN BACK TO OUR STORY... WITHOUT THE ADEQUATE
TIME TO MAINTAIN THE MODULES I WROTE...
None
2,000+ UNREAD GITHUB EMAILs
2,000+ UNREAD GITHUB EMAILs TONS OF NEGATIVITY
2,000+ UNREAD GITHUB EMAILs TONS OF NEGATIVITY IS
THIS PROJECT Abandoned?” “
YOUR MODULE'S BAD AND YOU SHOULD FEEL BAD
YOUR MODULE'S BAD AND YOU SHOULD FEEL BAD TRUST
ME ....
YOUR MODULE'S BAD AND YOU SHOULD FEEL BAD TRUST
ME .... .... i did.
None
AGAIN: BE #$%@ing Nice
None
FROM NEW YORK I AM
FROM NEW YORK I AM AND SO IS
None
None
WITH GREAT POWER COMES GREAT RESPONSIBILITY
None
OPEN SOURCE IT CAN BE DONE!
#PICARDTIPS
None
You Are Probably Thinking BUT HOW?
SCIENCE CAT SAYS
SCIENCE CAT SAYS “ ” GOOD QUESTION
None
WRITING CODE
WRITING CODE IS
WRITING CODE IS ABSOLUTELY NOT
WRITING CODE IS THE ANSWER ABSOLUTELY NOT
First:
First: WILLING TO HELP FIND ANYONE WHO IS WEEKLY MEETINGS
AND START
None
TRIAGE ALL THE THINGS!
ISSUES, FIRST. TRIAGE ALL THE THINGS!
ISSUES, FIRST. THEN PULL REQUESTS. TRIAGE ALL THE
THINGS!
None
HIGH LEVEL PROBLEMS FIND THE TRIAGE INTO BUCKETS AND
HIGH LEVEL PROBLEMS FIND THE TRIAGE INTO BUCKETS AND
NEXT-PATCH
HIGH LEVEL PROBLEMS FIND THE TRIAGE INTO BUCKETS AND
NEXT-MINOR NEXT-PATCH
HIGH LEVEL PROBLEMS FIND THE TRIAGE INTO BUCKETS AND
NEXT-MINOR NEXT-MAJOR NEXT-PATCH
None
THEN YOU CAN LAND YOUR PRS
THEN YOU CAN LAND YOUR PRS DO NOT REFACTOR
THE THINGS YOU HATE YET. For SeRIOUS.
None
BUT I HATE THE THINGS I HATE ABOUT my Code!
PATIENCE
LANDING OLD PRS IS HARD IT GETS EVEN HARDER AS
MORE OF THE CODE CHANGES
None
JUST ASK THEM TO RESUBMIT
THERE IS USUALLY ONLY ONE CHANCE PER PR. DEVELOPERS VERY
RARELY COMMIT
#&'6$,*/($0/4*45&/5
#&'6$,*/($0/4*45&/5 THIS PERSON DO NOT BE PLEASE
None
IT IS EASIER TO MERGE RATHER THAN REFACTOR THEN REFACTOR
THEN MERGE
None
ON SOFTWARE QUALITY
ON SOFTWARE QUALITY AND HUMILITY
None
DO NOT BE AFRAID
DO NOT BE AFRAID NOT EVERYONE PAINTS THE MONA
LISA. AND CERTAINLY NOT EVERY TIME.
None
This MODULE, BLACKSMITH
This MODULE, BLACKSMITH But MEANWHILE....
None
HERE COMES METALSMITH
nooo .... It's not true!
None
you're going to find THE TRUTHS WE CLING TO THAT
MANY OF OUR OWN POINT OF VIEW DEPEND GREATLY ON
%06#-&%08/ %&13&$"5& (*7&"8": 45*--0/(0*/( IT IS A PRACTICE.
%06#-&%08/ %&13&$"5& (*7&"8": 45*--0/(0*/( IT IS A PRACTICE.
SO DOUBLE DOWN,
%06#-&%08/ %&13&$"5& (*7&"8": 45*--0/(0*/( IT IS A PRACTICE.
SO DOUBLE DOWN, DEPRECATE,
%06#-&%08/ %&13&$"5& (*7&"8": 45*--0/(0*/( IT IS A PRACTICE.
SO DOUBLE DOWN, DEPRECATE, OR GIVE IT AWAY.
THANKS {github, twitter}.com/indexzero CHARLIE@nodejitsu.com
THANKS {github, twitter}.com/indexzero CHARLIE@nodejitsu.com MAY THE SOURCE BE WITH YOU