SlideShare a Scribd company logo
1 of 73
Download to read offline
from rags to open-source 
Raleigh, North Carolina 
2014
Mike McNeil 
@mikermcneil 
github.com/mikermcneil
bdfl of 
the leading open-source 
MVC framework for Node.js
the leading open-source 
MVC framework for Node.js
over 1 , 5 0 0 downloads / day 
8,030 GitHub stars 
at least pageviews 830,000 since 2013
$0 in funding
est. feb 2012
(us) 
(customer) 
(Javascript app)
Node.js... 
love at first sight 
circa 2011
“We’re doing I/O 
completely wrong.”
“Not acceptable!” 
<— “just look at the 
Unterschied!”
“Concurrency 
should be easy.” 
“Threads should 
be used by 
experts only.”
How is that possible? 
(copy the browser)
// synchronous! 
console.log(‘hi’) 
vs. 
// asynchronous! 
setTimeout(function (){! 
console.log(‘hi’);! 
}, 240000000); 
incredible
I wondered… 
could we use 
…for everything?
so…
You don't want to be writing all 
these system calls. 
You need something that gives 
you… an ORM abstraction, or 
something.
so Sails.js was born
Sails is an MVC framework.
Sails is an MVC framework.
Sails is an MVC framework.
Sails is an MVC framework.
Sails is an MVC framework.
Sails is an MVC framework.
Sails is an MVC framework.
Sails is an MVC framework.
first version (late 2011)
December 2012
>=20 other community adapters custom app-specific adapters
http://web.archive.org/web/20130514080123/http://balderdashy.github.io/sails/ 
first halfway-decent docs 
January 2013
posted screencast in early 2013
…woke up to 1000 views
reddit — Feb 2013 
hacker news — Mar 2013 
and again two months later
managed to get sailsjs.org online 
mid-spring 2013
issues 
pull requests 
questions
????
???????????
v0.9 introduced 
a new streamlined asset pipeline
asset pipeline???? 
asset pipeline????????!!!! 
“what about gulp?!” 
“so thirsty…” 
asset pipeline????????!!!! 
asset pipeline????????!!!! 
asset pipeline????????!!!! 
asset pipeline????????!!!!
so v0.10 introduced generators.
feature requests 
are the hydra
they will never stop.
they will never stop. 
ever.
moral of the story
only write code you actually need 
if someone else actually needs something, 
they’ll write a pull request 
only merge new code if someone actually needs 
you to merge it (i.e. there’s no other way, via a 
plugin or something)
Supporting the Community
Tools 
Metrics 
Advice
#sails on freenode (IRC) 
issues 
groups
Tools 
Metrics 
Advice
• Github stars 
• NPM downloads / day 
• Google group membership 
• IRC channel activity 
• Number of tagged StackOverflow questions 
(and your answer ratio)
Tools 
Metrics 
Advice
inline jsdoc comments 
are not enough 
write docs in markdown 
compile to HTML
DRY 
don’t repeat yourself
the goal of open source 
DRO 
don’t repeat ourselves
so 
make an IRC channel 
start a Google group 
post a YouTube video
but remember 
support !== marketing
support !== marketing 
( ) 
but remember
∃ 
far more front-end developers 
than back-end developers
∃ 
far more front-end developers 
than back-end developers 
eventually 
everyday backend development 
will be commoditized
Questions?
from rags to open-source 
@mikermcneil

More Related Content

What's hot

What's hot (19)

淺談 Startup 公司的軟體開發流程 v2
淺談 Startup 公司的軟體開發流程 v2淺談 Startup 公司的軟體開發流程 v2
淺談 Startup 公司的軟體開發流程 v2
 
The State of WebSockets in Django
The State of WebSockets in DjangoThe State of WebSockets in Django
The State of WebSockets in Django
 
9 anti-patterns for node.js teams
9 anti-patterns for node.js teams9 anti-patterns for node.js teams
9 anti-patterns for node.js teams
 
Ratpack for Real
Ratpack for RealRatpack for Real
Ratpack for Real
 
Intoduction to React
Intoduction to ReactIntoduction to React
Intoduction to React
 
Realtime MVC with Sails.js
Realtime MVC with Sails.jsRealtime MVC with Sails.js
Realtime MVC with Sails.js
 
Netflix Nebula - Gradle Summit 2014
Netflix Nebula - Gradle Summit 2014Netflix Nebula - Gradle Summit 2014
Netflix Nebula - Gradle Summit 2014
 
Zero To Cloud (OSCon 2014)
Zero To Cloud (OSCon 2014)Zero To Cloud (OSCon 2014)
Zero To Cloud (OSCon 2014)
 
Memaksimalkan Non-Blocking IO pada Node.js
Memaksimalkan Non-Blocking IO pada Node.jsMemaksimalkan Non-Blocking IO pada Node.js
Memaksimalkan Non-Blocking IO pada Node.js
 
xlab #7 - ReactJS & NodeJS
xlab #7 - ReactJS & NodeJSxlab #7 - ReactJS & NodeJS
xlab #7 - ReactJS & NodeJS
 
Javascript Apps at Build Artifacts
Javascript Apps at Build ArtifactsJavascript Apps at Build Artifacts
Javascript Apps at Build Artifacts
 
MEAN Stack - Google Developers Live 10/03/2013
MEAN Stack - Google Developers Live 10/03/2013MEAN Stack - Google Developers Live 10/03/2013
MEAN Stack - Google Developers Live 10/03/2013
 
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...
 
Xlab #2: wzorce projektowe
Xlab #2: wzorce projektoweXlab #2: wzorce projektowe
Xlab #2: wzorce projektowe
 
CI doesn’t start with Jenkins
CI doesn’t start with JenkinsCI doesn’t start with Jenkins
CI doesn’t start with Jenkins
 
Saving Time By Testing With Jest
Saving Time By Testing With JestSaving Time By Testing With Jest
Saving Time By Testing With Jest
 
React Webinar With CodePolitan
React Webinar With CodePolitanReact Webinar With CodePolitan
React Webinar With CodePolitan
 
Full Stack Reactive with React and Spring WebFlux - Dublin JUG 2019
Full Stack Reactive with React and Spring WebFlux - Dublin JUG 2019Full Stack Reactive with React and Spring WebFlux - Dublin JUG 2019
Full Stack Reactive with React and Spring WebFlux - Dublin JUG 2019
 
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
 

Viewers also liked

Hre wheels fit 1000
Hre wheels fit 1000Hre wheels fit 1000
Hre wheels fit 1000
tvtackle47
 
Ed 610 survey analysis report i
Ed 610 survey analysis report iEd 610 survey analysis report i
Ed 610 survey analysis report i
ramonc509
 
Programacion curricular-de-persona-civica-y-educ-fisica
Programacion curricular-de-persona-civica-y-educ-fisicaProgramacion curricular-de-persona-civica-y-educ-fisica
Programacion curricular-de-persona-civica-y-educ-fisica
Henry Romero
 
Etm teknologi pendidikan
Etm teknologi pendidikanEtm teknologi pendidikan
Etm teknologi pendidikan
anggarosma
 
Smarter commerce overview
Smarter commerce overviewSmarter commerce overview
Smarter commerce overview
Harikrishnan M
 
Apa itu corporation
Apa itu corporationApa itu corporation
Apa itu corporation
tonyherman87
 
Keputusan investasi
Keputusan investasiKeputusan investasi
Keputusan investasi
tonyherman87
 

Viewers also liked (18)

Weather presentation
Weather presentation Weather presentation
Weather presentation
 
Brand jordan nguyen
Brand jordan nguyenBrand jordan nguyen
Brand jordan nguyen
 
Hre wheels fit 1000
Hre wheels fit 1000Hre wheels fit 1000
Hre wheels fit 1000
 
Going to the zoo
Going to the zooGoing to the zoo
Going to the zoo
 
Ed 610 survey analysis report i
Ed 610 survey analysis report iEd 610 survey analysis report i
Ed 610 survey analysis report i
 
SxSW 2015
SxSW 2015SxSW 2015
SxSW 2015
 
Fasciculo general gestion de aprendizajes
Fasciculo general gestion de aprendizajesFasciculo general gestion de aprendizajes
Fasciculo general gestion de aprendizajes
 
Node PDX: Intro to Sails.js
Node PDX: Intro to Sails.jsNode PDX: Intro to Sails.js
Node PDX: Intro to Sails.js
 
Programacion curricular-de-persona-civica-y-educ-fisica
Programacion curricular-de-persona-civica-y-educ-fisicaProgramacion curricular-de-persona-civica-y-educ-fisica
Programacion curricular-de-persona-civica-y-educ-fisica
 
Resumen del enfoque por compencias
Resumen del enfoque por compenciasResumen del enfoque por compencias
Resumen del enfoque por compencias
 
I Love APIs - Oct 2015
I Love APIs - Oct 2015I Love APIs - Oct 2015
I Love APIs - Oct 2015
 
Etm teknologi pendidikan
Etm teknologi pendidikanEtm teknologi pendidikan
Etm teknologi pendidikan
 
Presentacion
PresentacionPresentacion
Presentacion
 
How to Build a Great Web Application
How to Build a Great Web ApplicationHow to Build a Great Web Application
How to Build a Great Web Application
 
Ue 305 plazas vacantes
Ue 305 plazas vacantesUe 305 plazas vacantes
Ue 305 plazas vacantes
 
Smarter commerce overview
Smarter commerce overviewSmarter commerce overview
Smarter commerce overview
 
Apa itu corporation
Apa itu corporationApa itu corporation
Apa itu corporation
 
Keputusan investasi
Keputusan investasiKeputusan investasi
Keputusan investasi
 

Similar to Rags to Open Source - AllThingsOpen, Raleigh, NC 2014

Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18
Pierre Joye
 
Fast, concurrent ruby web applications with EventMachine and EM::Synchrony
Fast, concurrent ruby web applications with EventMachine and EM::SynchronyFast, concurrent ruby web applications with EventMachine and EM::Synchrony
Fast, concurrent ruby web applications with EventMachine and EM::Synchrony
Kyle Drake
 

Similar to Rags to Open Source - AllThingsOpen, Raleigh, NC 2014 (20)

Sails.js: Rags to...Open Source
Sails.js: Rags to...Open SourceSails.js: Rags to...Open Source
Sails.js: Rags to...Open Source
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
 
Node azure
Node azureNode azure
Node azure
 
SMX Munich 2018 - Current State of JavaScript SEO
SMX Munich 2018 - Current State of JavaScript SEOSMX Munich 2018 - Current State of JavaScript SEO
SMX Munich 2018 - Current State of JavaScript SEO
 
Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18
 
Paris Web - Javascript as a programming language
Paris Web - Javascript as a programming languageParis Web - Javascript as a programming language
Paris Web - Javascript as a programming language
 
Social IRC bots in the Cloud with OpenShift - Mongo London presentation by Ma...
Social IRC bots in the Cloud with OpenShift - Mongo London presentation by Ma...Social IRC bots in the Cloud with OpenShift - Mongo London presentation by Ma...
Social IRC bots in the Cloud with OpenShift - Mongo London presentation by Ma...
 
Moved to https://slidr.io/azzazzel/osgi-for-outsiders
Moved to https://slidr.io/azzazzel/osgi-for-outsidersMoved to https://slidr.io/azzazzel/osgi-for-outsiders
Moved to https://slidr.io/azzazzel/osgi-for-outsiders
 
OSGi for outsiders - Milen Dyankov
OSGi for outsiders - Milen DyankovOSGi for outsiders - Milen Dyankov
OSGi for outsiders - Milen Dyankov
 
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
 
Angular js
Angular jsAngular js
Angular js
 
cadec-2017-golang
cadec-2017-golangcadec-2017-golang
cadec-2017-golang
 
Your Future HTML: The Evolution of Site Design with Web Components
Your Future HTML: The Evolution of Site Design with Web ComponentsYour Future HTML: The Evolution of Site Design with Web Components
Your Future HTML: The Evolution of Site Design with Web Components
 
About Clack
About ClackAbout Clack
About Clack
 
stackconf 2021 | Why you should take care of infrastructure drift
stackconf 2021 | Why you should take care of infrastructure driftstackconf 2021 | Why you should take care of infrastructure drift
stackconf 2021 | Why you should take care of infrastructure drift
 
Teaching Elephants to Dance (Federal Audience): A Developer's Journey to Digi...
Teaching Elephants to Dance (Federal Audience): A Developer's Journey to Digi...Teaching Elephants to Dance (Federal Audience): A Developer's Journey to Digi...
Teaching Elephants to Dance (Federal Audience): A Developer's Journey to Digi...
 
Fast, concurrent ruby web applications with EventMachine and EM::Synchrony
Fast, concurrent ruby web applications with EventMachine and EM::SynchronyFast, concurrent ruby web applications with EventMachine and EM::Synchrony
Fast, concurrent ruby web applications with EventMachine and EM::Synchrony
 
What is this cloud thing?
What is this cloud thing?What is this cloud thing?
What is this cloud thing?
 
Serverless in production, an experience report (FullStack 2018)
Serverless in production, an experience report (FullStack 2018)Serverless in production, an experience report (FullStack 2018)
Serverless in production, an experience report (FullStack 2018)
 
GOTO Paris | @see Gopher
GOTO Paris | @see GopherGOTO Paris | @see Gopher
GOTO Paris | @see Gopher
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Recently uploaded (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
 

Rags to Open Source - AllThingsOpen, Raleigh, NC 2014