Node.js and The Case of the Blocked Event Loop

In Pick Your Battles I listed a few problems that we had in our production deployment of a big node.js codebase. Some people asked me to elaborate on one in particular: “Oh, our node.js server processes seem to freeze up for a long time (seconds) from time to time, why does that happen?” So, whyContinue reading “Node.js and The Case of the Blocked Event Loop”

Message Queue-Based Load Balancing

When you run a big mission critical web app, you have to two big challenges on the operational side: Handling failure — failure is all around: servers fail, processes crash, datacenters blow up. Scaling as traffic increases and decreases. A tool in use by practically everybody to solve both of these challenges are load balancers. Here’s howContinue reading “Message Queue-Based Load Balancing”

Avoiding JavaScript Pitfalls Through Tree Hugging

Mid-january I have a talk about treehugger.js at MeetJS Summit. Treehugger is the library I developed for use in Cloud9 for various code analysis features. The video of my live coding is not always super clear, but I think it gives a good, albeit brief, introduction to my work there anyway. To play with treehugger.jsContinue reading “Avoiding JavaScript Pitfalls Through Tree Hugging”

Everything “In The Cloud”

Here’s what I use my computer for: * Browsing the web* Email* Twitter, Facebook, …* Listening to music* Watching video* Chat/call/skype* Developing software I realized that all of these take place “in the cloud” (distributed on multiple servers across on the internet) today. There’s very little vital data that I still store locally on my harddrive.Continue reading “Everything “In The Cloud””

Luna

Luna is a new language TJ Holowaychuk is working on. Its goals are stated as follows: The current goals of Luna are the following: small, simple, expressive, and explicit syntax fast, fast, and fast robust reflection capabilities opt-in callee evaluated messages register based VM embeddable Luna — not to be confused with Asana’s Luna — borrows ideas from numerousContinue reading “Luna”