Rags to Open Source - AllThingsOpen, Raleigh, NC 2014
-
Upload
mike-mcneil -
Category
Technology
-
view
84 -
download
0
description
Transcript of Rags to Open Source - AllThingsOpen, Raleigh, NC 2014
![Page 1: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/1.jpg)
from rags to open-source
Raleigh, North Carolina 2014
![Page 3: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/3.jpg)
bdfl ofthe leading open-source MVC framework for Node.js
![Page 4: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/4.jpg)
the leading open-source MVC framework for Node.js
![Page 5: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/5.jpg)
at least pageviews since 2013830,000
GitHub stars 8,030
over downloads / day1,500
![Page 6: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/6.jpg)
in funding$0
![Page 7: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/7.jpg)
![Page 8: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/8.jpg)
est. feb 2012
![Page 9: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/9.jpg)
![Page 10: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/10.jpg)
(us)
(customer)
(Javascript app)
![Page 11: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/11.jpg)
love at first sightcirca 2011
Node.js...
![Page 12: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/12.jpg)
“We’re doing I/O completely wrong.”
![Page 13: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/13.jpg)
<— “just look at the Unterschied!”
“Not acceptable!”
![Page 14: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/14.jpg)
“Threads should be used by experts only.”
“Concurrency should be easy.”
![Page 15: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/15.jpg)
How is that possible?
(copy the browser)
![Page 16: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/16.jpg)
// synchronous!console.log(‘hi’)
// asynchronous!setTimeout(function (){! console.log(‘hi’);!}, 240000000);
vs.
incredible
![Page 17: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/17.jpg)
could we use
…for everything?
I wondered…
![Page 18: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/18.jpg)
so…
![Page 19: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/19.jpg)
![Page 20: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/20.jpg)
You don't want to be writing all these system calls.
You need something that gives you… an ORM abstraction, or
something.
![Page 21: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/21.jpg)
so Sails.js was born
![Page 22: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/22.jpg)
![Page 23: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/23.jpg)
![Page 24: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/24.jpg)
Sails is an MVC framework.
![Page 25: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/25.jpg)
Sails is an MVC framework.
![Page 26: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/26.jpg)
Sails is an MVC framework.
![Page 27: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/27.jpg)
Sails is an MVC framework.
![Page 28: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/28.jpg)
Sails is an MVC framework.
![Page 29: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/29.jpg)
Sails is an MVC framework.
![Page 30: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/30.jpg)
Sails is an MVC framework.
![Page 31: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/31.jpg)
Sails is an MVC framework.
![Page 32: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/32.jpg)
first version (late 2011)
![Page 33: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/33.jpg)
December 2012
![Page 34: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/34.jpg)
![Page 35: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/35.jpg)
>=20 other community adapters custom app-specific adapters
![Page 36: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/36.jpg)
January 2013
first halfway-decent docs
http://web.archive.org/web/20130514080123/http://balderdashy.github.io/sails/
![Page 37: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/37.jpg)
posted screencast in early 2013
![Page 38: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/38.jpg)
…woke up to 1000 views
![Page 39: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/39.jpg)
reddit — Feb 2013hacker news — Mar 2013and again two months later
![Page 40: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/40.jpg)
![Page 42: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/42.jpg)
issues pull requests
questions
![Page 43: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/43.jpg)
![Page 44: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/44.jpg)
![Page 45: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/45.jpg)
![Page 46: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/46.jpg)
????
![Page 47: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/47.jpg)
???????????
![Page 48: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/48.jpg)
v0.9 introduced a new streamlined asset pipeline
![Page 49: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/49.jpg)
asset pipeline????
“what about gulp?!”
“so thirsty…”
asset pipeline????????!!!!
asset pipeline????????!!!!
asset pipeline????????!!!!
asset pipeline????????!!!!
asset pipeline????????!!!!
![Page 50: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/50.jpg)
so v0.10 introduced generators.
![Page 51: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/51.jpg)
feature requests are the hydra
![Page 52: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/52.jpg)
they will never stop.
![Page 53: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/53.jpg)
they will never stop.
ever.
![Page 54: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/54.jpg)
moral of the story
![Page 55: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/55.jpg)
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)
![Page 56: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/56.jpg)
![Page 57: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/57.jpg)
![Page 58: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/58.jpg)
Supporting the Community
![Page 59: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/59.jpg)
Tools
Metrics
Advice
![Page 60: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/60.jpg)
#sails on freenode (IRC)
issues
groups
![Page 61: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/61.jpg)
Tools
Metrics
Advice
![Page 62: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/62.jpg)
• Github stars
• NPM downloads / day
• Google group membership
• IRC channel activity
• Number of tagged StackOverflow questions(and your answer ratio)
![Page 63: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/63.jpg)
Tools
Metrics
Advice
![Page 64: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/64.jpg)
inline jsdoc comments are not enough
write docs in markdown
compile to HTML
![Page 65: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/65.jpg)
don’t repeat yourself
DRY
![Page 66: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/66.jpg)
don’t repeat ourselves
DRO
the goal of open source
![Page 67: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/67.jpg)
make an IRC channel start a Google group post a YouTube video
so
![Page 68: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/68.jpg)
support !== marketing
but remember
![Page 69: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/69.jpg)
support !== marketing
( )
but remember
![Page 70: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/70.jpg)
far more front-end developers
∃
than back-end developers
![Page 71: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/71.jpg)
far more front-end developers
∃
than back-end developers
eventually everyday backend development
will be commoditized
![Page 72: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/72.jpg)
Questions?
![Page 73: Rags to Open Source - AllThingsOpen, Raleigh, NC 2014](https://reader034.fdocuments.in/reader034/viewer/2022051609/547e878c5906b5c9718b46ba/html5/thumbnails/73.jpg)
from rags to open-source
@mikermcneil