Thursday, December 31, 2015

Codepoints is dedicated to all the characters, that are defined in the Unicode Standard. Theoretically, these should be all characters ever used. In practice Unicode has 120803 codepoints defined at the moment, mapping characters from Egyptian Hieroglyphs to Dingbats and Symbols.

Monday, December 14, 2015


A collection of small corpuses of interesting data for the creation of bots and similar stuff.

Wednesday, December 9, 2015


Drool is an automation layer that is used to measure if a set of "clean" actions results in a DOM and or Listener leak.

Tuesday, December 1, 2015


A curated list of lists of interview questions.

Sunday, November 29, 2015

FLIP Your Animations

Instead of animating “straight ahead” and potentially doing expensive calculations on every single frame precalculate the animation dynamically and let it play out cheaply.

Wednesday, November 25, 2015


The source map explorer determines which file each byte in your minified JS came from. It shows you a treemap visualization to help you debug where all the code is coming from.

Friday, October 30, 2015


Rewind efficiently and continuously records your Mac's screen so at any moment you can rewind to see an "instant replay" movie of the last 60 seconds of what was shown on screen.

Tuesday, October 20, 2015


DataLoader is a generic utility to be used as part of your application's data fetching layer to provide a consistent API over various key-value store backends and reduce requests to those back-ends via batching and caching.

Monday, October 19, 2015


Unicorn is a lightweight multi-platform, multi-architecture CPU emulator framework.

Thursday, October 15, 2015

Adding edge swipe to SFSafariViewController

Subclass SFSafariViewController, add a view on the edge, and add a UIScreenEdgePanGestureRecognizer to it.

Monday, October 5, 2015


Library for aspect oriented programming. Think of Aspects as method swizzling on steroids. It allows you to add code to existing methods per class or per instance, whilst thinking of the insertion point e.g. before/instead/after. Aspects automatically deals with calling super and is easier to use than regular method swizzling.


A community-curated list of flexbox issues and cross-browser workarounds for them.

Wednesday, September 30, 2015


React components for interacting with the Velocity DOM animation library.

Monday, September 28, 2015

BBEdit Expert Preferences

There are a number of behaviors in BBEdit for which there are no UI controls in the Preferences window; this is typically because the settings are so obscure that placing them in the Preferences window would just make it complicated. In fact, some of these settings were in the Preferences window, and have been removed in order to simplify the interface; in such cases, any changes you made previously will be honored, even though the UI in the Preferences window is gone.

Wednesday, September 23, 2015


Inspect memory usage of Python functions.

Monday, September 21, 2015


pfff is a set of tools and APIs to perform some static analysis (e.g. to find bugs), dynamic analysis, source code indexing, code search, code visualizations, code navigations, or style-preserving source-to-source transformations such as refactorings on source code. There is good support for C, Java, PHP, JavaScript, HTML, CSS, and preliminary support for C++, Rust, C#, Erlang, Lisp, Scheme, Haskell, Python, OPA, Sql, and even TeX. There is also very good support for OCaml and noweb (literate programming) so that pfff can be used on the code of pfff itself.

Monday, September 14, 2015


Bridgy is a service that pulls comments, likes, and reshares on social networks back to your web site. You can also use it to post to social networks - or comment, like, reshare, or even RSVP - from your own web site.

Sunday, August 30, 2015


TIS-100 is an open-ended programming game by Zachtronics, the creators of SpaceChem and Infinifactory, in which you rewrite corrupted code segments to repair the TIS-100 and unlock its secrets. It’s the assembly language programming game you never asked for!


A higher order component that raises an error if a component is used with an unknown property. A property is considered unknown when it is not defined in the component propTypes declaration.

Wednesday, August 26, 2015


Cosmos scans your project for React component fixtures and loads them inside ComponentPlayground, enabling you to:

  1. Render your components under any combination of props and state
  2. See component states evolve in real-time as you interact with running instances

Friday, July 24, 2015

Six Speed

Performance of ES6 features (as implemented natively and via transpilers) relative to the ES5 baseline operations per second.

Wednesday, July 22, 2015


Notes and resources related to v8 and thus Node.js performance.

Tuesday, July 7, 2015

Delivering high scroll performance

To diagnose jerky scrolling in their iOS app, Facebook measures the frame rate and when it drops below a certain threshold it has a watchdog thread that sends a signal to the main thread to get a stack trace of what is resulting in slow rendering. Sample code provided.

Tuesday, May 26, 2015

@import Frameworks into LLDB

Can now say expr @import Foundation(or UIKit or Cocoa) to get access to Foundation/UIKit/AppKit methods in the Xcode debugger.

Monday, May 18, 2015


jscodeshift is a toolkit for running codemods over multiple JS files.

See also js-codemod, which contains a collection of codemod scripts based on jscodeshift.

Sunday, May 17, 2015


ngrid is a tool for interactive browsing large tabular datasets in a text-based terminal enviroment. ngrid is to tables as less is to text.


A JavaScript interpreter in Go.

Favicon Generator

Generate the favicon pictures and HTML code that work on all major browsers and platforms.

Monday, May 11, 2015


JS compression library meant to make storage of data in quota-limited localStorage more manageable.


Morph DOM elements from one state to another with smooth transitions.

Thursday, April 30, 2015


ClangFormat describes a set of tools that are built on top of LibFormat. It can support your workflow in a variety of ways including a standalone tool and editor integrations.


A UITableView and UICollectionView delegate and datasource that provides a simpler unified interface for describing your sections and cells.

Wednesday, February 11, 2015

A Complete Guide to Flexbox


Gauge for JS heap size. See also stats.js for an FPS display.

Detecting Element Resizing

sdecima/javascript-detect-element-resize and KyleAMathews/element-resize-event both appear to use two <div> and scroll events to detect resizing without polling.

Thursday, February 5, 2015

Animating SVGs With CSS Transforms

Necessary for hitting 60 FPS on mobile.

Monday, February 2, 2015


NuclearMail is an experiment of writing a webmail client using React and the Flux architecture. It runs completely in the browser and uses the Gmail REST API.

Saturday, January 17, 2015

UIKit Debug Mode

UIKit has hidden, useful debug flags for gesture/touch/animation logs, enable "InternalBuild" mode to switch them on.


fishhook is a very simple library that enables dynamically rebinding symbols in Mach-O binaries running on iOS in the simulator and on device. This provides functionality that is similar to using DYLD_INTERPOSE on OS X. At Facebook, we've found it useful as a way to hook calls in libSystem for debugging/tracing purposes (for example, auditing for double-close issues with file descriptors).

Towards declarative touch interactions Slalom

A system with prototype implementation for concisely describing and implementing a class of touch interactions.

Friday, January 2, 2015

Xcode Consolation

Tips on using the Xcode debugging console (i.e. LLDB), notably on using regular expressions to add lots of breakpoints to trace execution.