Chaos Kong

The people at Netflix: Several years ago we introduced a tool called Chaos Monkey. This service pseudo-randomly plucks a server from our production deployment on AWS and kills it. Building on the success of Chaos Monkey, we looked at an extreme case of infrastructure failure. We built Chaos Kong, which doesn’t just kill a server. …

Videogular – The HTML5 video player for AngularJS

Note: the demo embedded below might not work due to the source files only being available over HTTP, and this site being loaded over HTTPS. In that case you can check out the pen here Videogular is a video application framework for desktop and mobile powered by AngularJS Really nice player. Works way smoother than …

Design for Realtime – User experience principles for realtime and reactive systems

Great set of example videos (both right and wrong) on how to properly build interfaces that are updated reactively – without a page refresh (viz. “the realtime feed”). Imagine the difficulty in communicating the rationality of the system to the end user. In the realtime world our challenges are not only to build delightful features, …

Fail them faster

GDS – Government Digital Services – recently reworked a few application forms they have. Instead of letting the user complete everything, and then – at the end – give a notice that they’re not eligible for some reason they’ve put a simple yet clear disclaimer at the very start of the completion process. We knew …

FBSimulatorControl – A Mac OS X library for managing and manipulating iOS Simulators

Just launched by Facebook: FBSimulatorControl, A Mac OS X library for managing, booting and interacting with multiple iOS Simulators simultaneously. FBSimulatorControl works by linking with the private DVTFoundation, CoreSimulator and DVTiPhoneSimulatorRemoteClient frameworks that are present inside the Xcode bundle. Doing this allows FBSimulatorControl to talk directly to the same APIs that Xcode and simctl do. …

Web Bluetooth API in Chrome

navigator.bluetooth.requestDevice({ filters: [{ services: [‘battery_service’] }] }) .then(device => { // Human-readable name of the device. console.log(device.name); // Indicates whether or not the device is paired with the system. console.log(device.paired); // Filtered UUIDs of GATT services the website origin has access to. console.log(device.uuids); // Attempts to connect to remote GATT Server. return device.connectGATT(); }) .then(server …