Thursday, November 15, 2012

iOS Runtime Headers

iOS Objective-C headers as derived from runtime introspection. Generated using RuntimeBrowser.

Sunday, November 11, 2012


ssh-copy-id installs your public key in a remote machine's authorized_keys. It should be in the contrib of the OpenSSH repository. There are other mirrors.

GPU Accelerated Compositing in Chrome

Background and details on the implementation of hardware-accelerated compositing in Chrome.

Wednesday, November 7, 2012

Sunday, November 4, 2012

Chromium Setup



  1. Visit Chromium Access and get credentials.
  2. Run svn ls --username svn:// and svn ls --username svn:// to verify said credentials.
  3. cd ~/Developer/tools/
  4. svn co
  5. cd ../source
  6. mkdir chromium
  7. add ~/Developer/source/chromium to the list of paths that Spotlight excludes
  8. cd chromium
  9. fetch blink
  10. cd src
  11. rm -rf out/Debug
  12. export GYP_GENERATORS="ninja"
  13. export GYP_DEFINES="component=shared_library disable_nacl=1"
  14. ./build/gyp_chromium
  15. ninja -C out/Debug chrome


  1. cd ~/Developer/source/chromium/src
  2. git pull --rebase origin master
  3. export GYP_GENERATORS="ninja"
  4. export GYP_DEFINES="component=shared_library disable_nacl=1"
  5. gclient sync
  6. ninja -C out/Debug chrome

Mailing lists that was on

If I ever want to re-join:

Thursday, November 1, 2012

Disable +1 buttons in Google Reader

Reload Reader or mark an item as read (so that the command token gets refreshed) and then run the following in the DevTools console:

var xhr = new XMLHttpRequest();
xhr.onload = function() {
xhr.onerror = function() {

var params = '';
function addParam(name, value) {
  if (params) {
    params += '&';
  params += encodeURIComponent(name) + '=' + encodeURIComponent(value);

addParam('T', _COMMAND_TOKEN);
addParam('k', 'item-actions');
addParam('v', '{"plusone-action": false, "share-action": true, "email-action": true, "tags-action": true}');'POST', '/reader/api/0/preference/set');
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

Once you see 200 printed, you can reload Reader, and the +1 buttons should be gone.

To reset things back to the way they were, change the 'v' value to '{}'.