NodePhilly 2012 Notes
I attended NodePhilly last night where I learned how to become a Mad Scientist. Joking aside, it was a great conference. Below are some of my notes. In the following weeks these videos should be available.
low level introduction to event loop and what makes nodejs…
mentions a high level view of Streams
and nothing else.
windows walk through of how to use node and publish to windows azure
Lloyd Hilaiel - Mozilla
Sample app * deployed on an 8 core ec2 * mix of cheap + expensive hardware
Shows some demos of sync/async code using a dtrace model to output cpu processor bandwidth. Illustrates the power of multi-core. example showed nodejs having an issue of utilizing more than 4 cores.
Then showed the ‘cluster’ module running the same application server to utilize all the cores. plus the lag/throughput was significant. Still has some saturation issues.
Lastly, ‘Compute Cluster’ has the best performance with the most significant saturation. Talks about the usage of this module that if you specific a ‘wait time’ for how long a connection can hang (4 secs). This allows for an ‘error’ to be returned for a timed out connection.
He has all these test code segments on his github account.
Approaching a Real Time Web
What is realtime
“precision of duration with logical correctness”
loss of precision represents complete system failure. ex: u hit turn signal to late and cop pulls you over. fail!
loss of precision degrades the quality of the system but its not a complete failure. example of background echoes over skype, service still works, but at a degradation of service.
How real is realtime?
permanent code intersects where interesting data points are produced
talks about the importance of being able to debug a real-time system.
— plugs their winston module logger as a great tool to gather data. problems is this causes overhead on the production system.
critical to avoid piling in instrumentation code.
DTrace instruments the system holistically
Darwin/linux commands for
dscript (dynamic script)
ls -la /usr/bin/*.d
Bindings to dtrace via github/bcantrell
out of time
Power of 10
10 (10^1)*n -> power of nodejitsu people
100s (10^2) * n -> days of nodejs exists or number of ruby request
1000s (10^3) * n -> of requests per second in nodejs
10,000s (10^4) * n -> # of servers nodejs installed on
100,000s (10 ^5)*n -> # of deployments on nodejitsu
1,000,000s (10^6)*n -> # of messages logged with winston everyday —> rackspace, single 1gig memory can do millions
10,000,000s (10^7)*n -> node-http-proxy, number of requests proxy
skipping to billions (10^9)*n -> billions of node-http-proxy, requests proxy by m$
demo’d node-http-proxy stuff from nodejitsu
Christian Wendt -> Comcast Labs
Works on the communication products and services
Communications are all async
anything in your world can be connected to the internet and communicated with. Pictures of products and information dashboards (corning). The data sources are changing as well, from our car motors, to cable boxes, to alarm clocks.
Personal Device Cloud
a great deal of device management device security will be an issue of contention as devices output digital information. Example, your baby monitor or someone being able to digitally unlock your front door.
- starts as HTTP and upgrades connection to websocket
- elimnates overhead of HTTP for maintaining the persistant TCP connection
peer to peer is still the most efficient form of real-time communication
webrtc is a w3c standard being created for peer to peer channel protocal in browser. Uses udp for connections
targeted as a
time critical and
network adaptive as packets can be dropped. great for audio/video streaming, time critical gaming, command/control.
webrtc != rtcweb w3c ietf
browser || non-browser
talks about NAT/Firewall problem with peer-to-peer
supported as an option in Chrome already will reduce complexity of setting up UDP peer communications
Mad Science Variety Side-show (realtime)
James Halilday (substack)
Mad science is not about about standards, in fact dismantle them
service registry — should register your services
first time seeing substack speak, think he is high
don’t write big apps! write small apps that talk to each other over the network.
Mikael Roger’s uses fleet for deploy
THE FUTURE IS?
Emoji had this problem at centrl with crazy characters coming in. These are strings hard to extract and re-adjust.
As of node >= 0.7.7
we can do the fun little emjoi icons coming in.
extend multi-byte characters
Posted on Tumblr - Tue April 24th 2012, 12:06 PM