Upgrade to Pro — share decks privately, control downloads, hide ads and more …

node.js: the smallprint

node.js: the smallprint

Dominykas Blyžė

May 30, 2013
Tweet

More Decks by Dominykas Blyžė

Other Decks in Programming

Transcript

  1. If you're ever in Vilnius... Try to visit the Soviet

    Bunker (survival drama) http://sovietbunker.com/en/
  2. Node is street food. , And now you have diarrhea

    @tomdale https://twitter.com/tomdale/status/291788972961701888
  3. node.js sucks node.js is awesome, but terms and conditions apply

    - prepare to have major headaches, also make sure to refresh your vocabulary of curse words. The marketing lies.
  4. Does node suck, because JS sucks? WAT: [ ] +

    [ ] > " " [ ] + { } > " [ o b j e c t O b j e c t ] " { } + [ ] > 0 { } + { } > N a N https://www.destroyallsoftware.com/talks/wat http://stackoverflow.com/questions/9032856/what-is-the-explanation-for-these-bizarre- javascript-behaviours-mentioned-in-the
  5. You could be using PHP, you know... F a t

    a l e r r o r : E x c e p t i o n t h r o w n w i t h o u t a s t a c k f r a m e i n U n k n o w n o n l i n e 0 http://phpsadness.com/sad/16
  6. Don't do Fibonacci-as-a- Service You don't take an airplane to

    go to work... All our pages have onload of <1s on one core.
  7. One API to rule them all m y F u

    n c ( . . . , c a l l b a c k ) { . . . } c a l l b a c k ( e r r o r , . . . ) { . . . }
  8. Unix philosophy? , I think I'll go write a new

    g r e p . “ Write modules that do one thing well. Write a new module rather than complicate an old one. ” @izs http://blog.izs.me/post/48281998870/unix-philosophy-and-node-js
  9. Number of modules is NOT a good indicator Growth in

    number of modules is NOT an indicator of a healthy ecosystem.
  10. Annoying bugs Should not have happened: " s ø m

    ė š † ® į ñ g " . l e n g t h vs B u f f e r . l e n g t h ( " s ø m ė š † ® į ñ g " ) M a t h . r o u n d ( M a t h . r a n d ( ) * x ) / s o m e u r l ? q
  11. Don't "this is OSS" me Don't publish modules for "fame".

    Must have a system for negative feedback. Users need to be able to tag modules. "We're awesome - fuck off" <- people will. No more #KumbaYo.
  12. How often do you n p m u p d

    a t e ? Every morning? Then spend the rest of the day fixing bugs after the update.
  13. Versioning problem solved? node-internal-combustion-engine @ v1 car-factory-daemon @ v1 node-internal-combustion-engine

    @ v2 node-truck-factory @ v3 car-factory-daemon @ v2 node-internal-combustion-engine @ v666
  14. Also sucks*: express handlebars n o d e _ m

    o d u l e s as a folder name Native (compiled) modules * not always, obviously. "it depends", obviously. Let's talk afterwards.
  15. Different patterns What is absolutely bad is that if node.js

    won't be minimally aligned with the rest of the code in the browsers out there our life as "one language everywhere" will become harder than ever. , @WebReflection http://webreflection.blogspot.de/2012/01/on-eventemitter-in-nodejs.html
  16. "Single-thread" @horse_js, “ single-threaded, but you still get race conditions,

    how is this possible ” https://twitter.com/horse_js/status/325982187772071937
  17. Who needs documentation? Code speaks for itself. Except that it's

    Klingon. If you're lucky and also like Star Trek.
  18. Throwing away the history Futures - since 1970s Promises -

    not just for control flow AMD - the only way in the browser Phantom - not node, not a browser!
  19. The following applies to ALL Java scripts https://github.com/rwldrn/idiomatic.js/ http://www.youtube.com/watch?v=_EANG8ZZbRs -

    Douglas Crockford: Programming Style & Your Brain http://www.nczonline.net/blog/2013/05/28/on-the- politics-cargo-culting-and-maintainability-of- javascript/
  20. JIFASNIF JavaScript is fun so node.js is fun If only

    we were already at the stage where we can only play...
  21. Leaders Influencers saying "do whatever you want" Can you recommend

    Bitcoin kind of volatility to your customers mom? Collective responsibility does not work. Self organization and evolution is too painful and too slow.
  22. "What trade-offs?" Advocating without explaing trade-offs is more like religion

    than programming. There never is THE right way. Not even in node.js land. Comma first means it's hard to insert items at the top.
  23. Is node.js ready for production? (v2013.05) eBay ( ) LinkedIn

    ( , dust.js) Microsoft ( ) Yahoo! ( , ) ql.io API for mobile Azure YUI Mojito Trello Walmart
  24. The pains of growing up? These are not "teething" problems.

    This is teenage immaturity. LinkedIn dropped HTML5. Will they keep node.js?
  25. Don't let node.js become the IE of ecosystems You can't

    build stable software if you have to rely on buggy behavior.