D3.js
dygraphs JavaScript Visualization Library
Interactive Data Visualization for the Web
Copyright © 2013 Scott Murray Printed in the United States of America. O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles ( For more information, contact our corporate/institutional sales department: 800-998-9938 or <corporate@oreilly.com>. Nutshell Handbook, the Nutshell Handbook logo, the cover image, and the O’Reilly logo are registered trademarks of O’Reilly Media, Inc.
Powering big data at Pinterest
Mohammad Big data plays a big role at Pinterest. With more than 30 billion Pins in the system, we’re building the most comprehensive collection of interests online. One of the challenges associated with building a personalized discovery engine is scaling our data infrastructure to traverse the interest graph to extract context and intent for each Pin. We currently log 20 terabytes of new data each day, and have around 10 petabytes of data in S3.
Dance.js
RGraph: HTML5 charts library (Open Source!)
Broken by Design: MongoDB Fault Tolerance
As you're undoubtedly well-aware, there are some very strong geek fashion trends in the valley. I don't mean fashion in the sense of geek haute-couture -- the fashion trends we're talking about here have to do with tech components. You've heard of it before: "here's how we built fubar.com using X, Y and Z."
Programming analysis and commentary: O'Reilly Radar
Questioning the Lambda Architecture The Lambda Architecture has its merits, but alternatives are worth exploring. Nathan Marz wrote a popular blog post describing an idea he called the Lambda Architecture (“How to beat the CAP theorem“). The Lambda Architecture is an approach to building stream processing applications on top of MapReduce and Storm or similar systems. This has proven to be a surprisingly popular idea, with a dedicated website and an upcoming book. Since I’ve been involved in building out the real-time data processing infrastructure at LinkedIn using Kafka and Samza, I often get asked about the Lambda Architecture.
Concurrency is the New Memory Management - Aaron Schlesinger
These days, we all need to build "cloud apps." We've heard "cloud" so many times at this point that it's a buzz word, but underneath the hype lives a real fact for us developers: everything we build needs to be a distributed system. For our apps to run, we must have servers and they need to respond to requests from our apps, all the time. So we need to build systems that have many computers to provide all the fault tolerance, throughput, etc... we need. You've probably heard this all before. This is a fact that we all know by now.
in Akka
Concurrency and distributed systems are probably among the hardest parts of software engineering. Basic Java EE apps usually don’t need to deal with these issues that much, but increasing parallel computing resources in servers and constantly open client-server connections, like WebSockets, bring these problems closer to web app developers as well. Although average web developers don’t that often need to fight with these hard “academic” problems, there are some areas of engineering where the problems of concurrency, distributed systems and their reliability play possibly the most important role. In e.g. telecom, nodes must be working tightly together, but one failing node can’t take the whole system down. New nodes and roles must be pluggable to a live system and it must even be able to heal itself from malfunctions automatically.
Measuring Page Load Speed with Navigation Timing
Measuring Page Load Speed with Navigation Timing People like web pages that load quickly. Google experiments show that a delay as small as a hundred milliseconds can have an adverse effect. But how do we measure web page load speed?