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

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

Links:

Recipe:

  1. Visit Chromium Access and get credentials.
  2. Run svn ls --username mihaip@chromium.org svn://svn.chromium.org/chrome/trunk/src and svn ls --username mihaip@chromium.org svn://svn.chromium.org/blink/trunk to verify said credentials.
  3. cd ~/Developer/tools/
  4. svn co http://src.chromium.org/chrome/trunk/tools/depot_tools
  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

Updating:

  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 mihaip@chromium.org 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() {
  console.log(xhr.status);
};
xhr.onerror = function() {
  console.log('error');
};

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}');

xhr.open('POST', '/reader/api/0/preference/set');
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.send(params);

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 '{}'.