git ssb

0+

dinoworm 🐛 / campjs-viii-ludditejs



Commit 95314a493f6e65e9f5a541b3d9e7d2d1e4fecfb3

rewrite history

Michael Williams committed on 7/18/2017, 1:24:15 PM
Parent: 42702f740a0ea03165e2dd04a257e95b91775cd7

Files changed

README.mdchanged
README.mdView
@@ -26,28 +26,121 @@
2626 ---
2727
2828 # what?
2929
30-this talk is a mashup of a few topics:
30 +luddite.js is a JavaScript framework to make building apps fun again
3131
32-- why you only need simple functions and objects to build complex systems
33-- why the best modules should not have any added sugar
34-- how "mad science" led to the success of Node.js and thus JavaScript
35-- why TC39 (the committee behind ES6+) is bad for JavaScript
36-- why you should ignore "modern JavaScript" (promises, classes, `async` / `await`, generators, and beyond).
32 +---
3733
34 +## who are the Luddites?
35 +
36 +[Luddites](https://en.wikipedia.org/wiki/Luddite) are people against _centralized technology_ which decreases quality of life.
37 +
3838 ---
3939
40-# first, some simplified history...,
4140
41 +## what is luddite.js?
42 +
43 +a movement against _centralized standards_ which decreases developer experience
44 +
4245 ---
4346
47 +## what centralized standards?
48 +
49 +---
50 +
51 +### tc39
52 +
53 +a great team advancing the state of the art in JavaScript,
54 +
55 +but is one of _many_ possible opinions about JavaScript.
56 +
57 +---
58 +
59 +### what other opinions?
60 +
61 +---
62 +
63 +what if i told you...
64 +
65 +that you only needed plain functions and objects?
66 +
67 +---
68 +
69 +### modules
70 +
71 +```js
72 +// randomCat.js
73 +const { random: randomCat } = require('cat-names')
74 +
75 +module.exports = randomCat
76 +```
77 +
78 +???
79 +
80 +we first create a `const` variable from a sync `require` function.
81 +
82 +we assign the result of this to a global variable `module.exports`
83 +
84 +not the hundred million special syntaxes to import and export es modules
85 +
86 +
87 +## functions
88 +
89 +```js
90 +// randomCatAsync.js
91 +const randomCat = require('./randomCat')
92 +
93 +module.exports = function randomCatAsync (cb) {
94 + try {
95 + cb(null, randomCat())
96 + } catch (err) {
97 + cb(err)
98 + }
99 +}
100 +---
101 +
102 +## sync functions
103 +
104 +
105 +```
106 +function fn () {
107 + try {
108 + return value()
109 + } catch (err) {}
110 +}
111 +```
112 +
113 +## async functions
114 +
115 +### `cb(err, value())
116 +
117 +## aids
118 +
119 +- [eating your own dog food](https://en.wikipedia.org/wiki/Eating_your_own_dog_food)
120 +- [mad science method](https://github.com/ahdinosaur/mad-science-handbook/blob/master/collaboration.md#the-mad-science-cycle)
121 +- [do-ocracy](https://communitywiki.org/wiki/DoOcracy)
122 +- marathon: keep a slow & steady pace one step at a time
123 +- if you see a job that needs doing, it's your job to do (do-ocrarcy)
124 +- too much sugar is bad for your health (simple interfaces)
125 +
126 +## blocks
127 +
128 +- cave method: try to design or implement the _perfect_ system before sharing it
129 +- [design by committee](https://en.wikipedia.org/wiki/Design_by_committee)
130 +- sprint: hype, mania, and burn-out
131 +- [waterfall design](https://en.wikipedia.org/wiki/Waterfall_model)
132 +
133 +---
134 +
44135 # 2009
45136
46137 ## nobody cares about JavaScript
47138
48139 > it's a toy language
49140
141 +---
142 +
50143 ## Ryan Dahl (@ry) creates Node.js
51144
52145 [watch the original presentation](https://www.youtube.com/watch?v=ztspvPYybIY)
53146

Built with git-ssb-web