NYE in Valpo/Viña
Posted on Flickr 8:04 am, December 31, 2009




iPhone compatible gloves.
How to use Facebook with a feed reader
URL tricks to get at RSS feeds from various parts of Facebook
100 Incredible Lectures from the World’s Top Scientists
“Unless you’re enrolled at a top university or are an elite member of the science and engineering inner circle, you’re probably left out of most of the exciting research explored by the world’s greatest scientists. But thanks to the Internet, and our list of 100 incredible lectures, you’ve now got access to the cutting edge theories and projects that are changing the world.”
(more…)
Package Tracking UPS USPS FedEx DHL w/ Google Maps.



We did the tourist thing and went to a Tango Show + Dinner.
Posted on Flickr 2:16 pm, December 26, 2009

They provided the crayons, so I did what I could. It ended up looking like a bit of a fauxgo (short version of the (W) logo), but I never claimed to be an artist…
-34.602167-58.386667
Posted on Flickr 9:52 am, December 26, 2009 jQuery(document).ready(function(){ var gmap_m72b2f490b9cb39d42437b9ee2ebac700 = { positions : { 590 : new google.maps.LatLng( ‘-34.602167’, ‘-58.386667’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m72b2f490b9cb39d42437b9ee2ebac700’ ), { mapTypeId: google.maps.MapTypeId.ROADMAP, center: new google.maps.LatLng( 0, 0 ), zoom: 16 // Seems to be a good zoom for a single point } ), markers : {}, }; // end of gmap // Extend the bounds of interest based on our positions for ( var m in gmap_m72b2f490b9cb39d42437b9ee2ebac700.positions ) { gmap_m72b2f490b9cb39d42437b9ee2ebac700.bounds.extend( gmap_m72b2f490b9cb39d42437b9ee2ebac700.positions[m] ); } // Render markers for ( var m in gmap_m72b2f490b9cb39d42437b9ee2ebac700.positions ) { gmap_m72b2f490b9cb39d42437b9ee2ebac700.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m72b2f490b9cb39d42437b9ee2ebac700.map, position : gmap_m72b2f490b9cb39d42437b9ee2ebac700.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m72b2f490b9cb39d42437b9ee2ebac700.map.setCenter( gmap_m72b2f490b9cb39d42437b9ee2ebac700.positions[590] ); });

DK suggested I go to this place, Cumana, because it had good, authentic food. I had no idea what I was getting, but I ordered what turned out to be lentil cazuela + a Quilmes (beer). It was freaking amazing. I ate the whole thing, and drank most of the beer, then waddled off to find Robin later 🙂
-34.602167-58.386667
Posted on Flickr 9:48 am, December 26, 2009 jQuery(document).ready(function(){ var gmap_m9360b8d0ae3207121b479b813f2ef633 = { positions : { 432 : new google.maps.LatLng( ‘-34.602167’, ‘-58.386667’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m9360b8d0ae3207121b479b813f2ef633’ ), { mapTypeId: google.maps.MapTypeId.ROADMAP, center: new google.maps.LatLng( 0, 0 ), zoom: 16 // Seems to be a good zoom for a single point } ), markers : {}, }; // end of gmap // Extend the bounds of interest based on our positions for ( var m in gmap_m9360b8d0ae3207121b479b813f2ef633.positions ) { gmap_m9360b8d0ae3207121b479b813f2ef633.bounds.extend( gmap_m9360b8d0ae3207121b479b813f2ef633.positions[m] ); } // Render markers for ( var m in gmap_m9360b8d0ae3207121b479b813f2ef633.positions ) { gmap_m9360b8d0ae3207121b479b813f2ef633.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m9360b8d0ae3207121b479b813f2ef633.map, position : gmap_m9360b8d0ae3207121b479b813f2ef633.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m9360b8d0ae3207121b479b813f2ef633.map.setCenter( gmap_m9360b8d0ae3207121b479b813f2ef633.positions[432] ); });



Impressive, Grand-Central-style train station in BsAs
Posted on Flickr 9:53 am, December 26, 2009




This is possibly the coolest sculpture/statue/public art I’ve seen, anywhere. It’s a giant, metal flower, which actually opens (at 8am) and closes (at sunset) every day. It’s HUGE.
www.buenosaires-argentina.com/attractions/floralis-generi…
Posted on Flickr 7:18 am, December 25, 2009

Somewhere along Puerto Madero from memory.
Posted on Flickr 12:36 pm, December 25, 2009


More info on this awesome pedestrian bridge: www.galinsky.com/buildings/mujer/index.htm
Posted on Flickr 12:19 pm, December 25, 2009


There are not many people driving around on Christmas day in Buenos Aires
Posted on Flickr 8:50 am, December 25, 2009



How to quickly integrate with Twitter’s OAuth API using PHP
Short tutorial with example code (PHP) on using Twitter’s OAuth API.

Pretty amazing view, flying from Santiago over to Buenos Aires. You fly directly over the Andes (which can cause some fun turbulence, as experienced on the way back!).
Posted on Flickr 9:25 am, December 24, 2009



Pretty slick (and tasty) sushi restaurant here in Providencia.
Posted on Flickr 1:10 pm, December 23, 2009

Posted on Flickr 9:33 am, December 22, 2009 jQuery(document).ready(function(){ var gmap_m5c3598290b10daeadf80f6326fea38e4 = { positions : { 279 : new google.maps.LatLng( ‘-33.425834’, ‘-70.6125’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m5c3598290b10daeadf80f6326fea38e4’ ), { mapTypeId: google.maps.MapTypeId.ROADMAP, center: new google.maps.LatLng( 0, 0 ), zoom: 16 // Seems to be a good zoom for a single point } ), markers : {}, }; // end of gmap // Extend the bounds of interest based on our positions for ( var m in gmap_m5c3598290b10daeadf80f6326fea38e4.positions ) { gmap_m5c3598290b10daeadf80f6326fea38e4.bounds.extend( gmap_m5c3598290b10daeadf80f6326fea38e4.positions[m] ); } // Render markers for ( var m in gmap_m5c3598290b10daeadf80f6326fea38e4.positions ) { gmap_m5c3598290b10daeadf80f6326fea38e4.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m5c3598290b10daeadf80f6326fea38e4.map, position : gmap_m5c3598290b10daeadf80f6326fea38e4.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m5c3598290b10daeadf80f6326fea38e4.map.setCenter( gmap_m5c3598290b10daeadf80f6326fea38e4.positions[279] ); });
Sweet stylus that works with the iPhone multitouch screen and also with the trackpad on MacBook Pros. Buy me.


I still think Australian beaches are more beautiful… but perhaps I’m biased?
Posted on Flickr 6:37 am, December 20, 2009






Posted on Flickr 12:23 pm, December 19, 2009 jQuery(document).ready(function(){ var gmap_m5f05342e73f502ecc3246b8309b92415 = { positions : { 251 : new google.maps.LatLng( ‘-33.425667’, ‘-70.618334’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m5f05342e73f502ecc3246b8309b92415’ ), { mapTypeId: google.maps.MapTypeId.ROADMAP, center: new google.maps.LatLng( 0, 0 ), zoom: 16 // Seems to be a good zoom for a single point } ), markers : {}, }; // end of gmap // Extend the bounds of interest based on our positions for ( var m in gmap_m5f05342e73f502ecc3246b8309b92415.positions ) { gmap_m5f05342e73f502ecc3246b8309b92415.bounds.extend( gmap_m5f05342e73f502ecc3246b8309b92415.positions[m] ); } // Render markers for ( var m in gmap_m5f05342e73f502ecc3246b8309b92415.positions ) { gmap_m5f05342e73f502ecc3246b8309b92415.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m5f05342e73f502ecc3246b8309b92415.map, position : gmap_m5f05342e73f502ecc3246b8309b92415.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m5f05342e73f502ecc3246b8309b92415.map.setCenter( gmap_m5f05342e73f502ecc3246b8309b92415.positions[251] ); });


WordCampNYC 2009 – Nov 14-15 @ Baruch
Best collection of videos, audio and slides from all the sessions at WordCampNYC. Includes my Ignite session on IntenseDebate




Not really, it’s in pesos 
Posted on Flickr 12:31 pm, December 15, 2009 jQuery(document).ready(function(){ var gmap_m7dc6f5b9038da4d0f274fddfee0997a9 = { positions : { 993 : new google.maps.LatLng( ‘-33.4345’, ‘-70.640834’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m7dc6f5b9038da4d0f274fddfee0997a9’ ), { mapTypeId: google.maps.MapTypeId.ROADMAP, center: new google.maps.LatLng( 0, 0 ), zoom: 16 // Seems to be a good zoom for a single point } ), markers : {}, }; // end of gmap // Extend the bounds of interest based on our positions for ( var m in gmap_m7dc6f5b9038da4d0f274fddfee0997a9.positions ) { gmap_m7dc6f5b9038da4d0f274fddfee0997a9.bounds.extend( gmap_m7dc6f5b9038da4d0f274fddfee0997a9.positions[m] ); } // Render markers for ( var m in gmap_m7dc6f5b9038da4d0f274fddfee0997a9.positions ) { gmap_m7dc6f5b9038da4d0f274fddfee0997a9.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m7dc6f5b9038da4d0f274fddfee0997a9.map, position : gmap_m7dc6f5b9038da4d0f274fddfee0997a9.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m7dc6f5b9038da4d0f274fddfee0997a9.map.setCenter( gmap_m7dc6f5b9038da4d0f274fddfee0997a9.positions[993] ); });
Interesting twist on a todo list manager. Splits tasks horizontally by day, includes a “someday” section.



Reminds me of a squidy or something from the Matrix
Posted on Flickr 9:11 am, December 14, 2009



Posted on Flickr 3:23 pm, December 13, 2009 jQuery(document).ready(function(){ var gmap_m68154e3b591dbb4f377058a414316c0e = { positions : { 456 : new google.maps.LatLng( ‘-33.427334’, ‘-70.619167’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m68154e3b591dbb4f377058a414316c0e’ ), { mapTypeId: google.maps.MapTypeId.ROADMAP, center: new google.maps.LatLng( 0, 0 ), zoom: 16 // Seems to be a good zoom for a single point } ), markers : {}, }; // end of gmap // Extend the bounds of interest based on our positions for ( var m in gmap_m68154e3b591dbb4f377058a414316c0e.positions ) { gmap_m68154e3b591dbb4f377058a414316c0e.bounds.extend( gmap_m68154e3b591dbb4f377058a414316c0e.positions[m] ); } // Render markers for ( var m in gmap_m68154e3b591dbb4f377058a414316c0e.positions ) { gmap_m68154e3b591dbb4f377058a414316c0e.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m68154e3b591dbb4f377058a414316c0e.map, position : gmap_m68154e3b591dbb4f377058a414316c0e.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m68154e3b591dbb4f377058a414316c0e.map.setCenter( gmap_m68154e3b591dbb4f377058a414316c0e.positions[456] ); });


First there was AJAX, now there is Viim.
Posted on Flickr 11:33 am, December 13, 2009 jQuery(document).ready(function(){ var gmap_m95f0b3c7347ef0370123258730aef2cd = { positions : { 182 : new google.maps.LatLng( ‘-33.425667’, ‘-70.618334’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m95f0b3c7347ef0370123258730aef2cd’ ), { mapTypeId: google.maps.MapTypeId.ROADMAP, center: new google.maps.LatLng( 0, 0 ), zoom: 16 // Seems to be a good zoom for a single point } ), markers : {}, }; // end of gmap // Extend the bounds of interest based on our positions for ( var m in gmap_m95f0b3c7347ef0370123258730aef2cd.positions ) { gmap_m95f0b3c7347ef0370123258730aef2cd.bounds.extend( gmap_m95f0b3c7347ef0370123258730aef2cd.positions[m] ); } // Render markers for ( var m in gmap_m95f0b3c7347ef0370123258730aef2cd.positions ) { gmap_m95f0b3c7347ef0370123258730aef2cd.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m95f0b3c7347ef0370123258730aef2cd.map, position : gmap_m95f0b3c7347ef0370123258730aef2cd.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m95f0b3c7347ef0370123258730aef2cd.map.setCenter( gmap_m95f0b3c7347ef0370123258730aef2cd.positions[182] ); });

Posted on Flickr 12:33 pm, December 12, 2009 jQuery(document).ready(function(){ var gmap_m2b0159035039ea00aed7f1828e3ea2f3 = { positions : { 235 : new google.maps.LatLng( ‘-33.388834’, ‘-70.557334’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m2b0159035039ea00aed7f1828e3ea2f3’ ), { mapTypeId: google.maps.MapTypeId.ROADMAP, center: new google.maps.LatLng( 0, 0 ), zoom: 16 // Seems to be a good zoom for a single point } ), markers : {}, }; // end of gmap // Extend the bounds of interest based on our positions for ( var m in gmap_m2b0159035039ea00aed7f1828e3ea2f3.positions ) { gmap_m2b0159035039ea00aed7f1828e3ea2f3.bounds.extend( gmap_m2b0159035039ea00aed7f1828e3ea2f3.positions[m] ); } // Render markers for ( var m in gmap_m2b0159035039ea00aed7f1828e3ea2f3.positions ) { gmap_m2b0159035039ea00aed7f1828e3ea2f3.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m2b0159035039ea00aed7f1828e3ea2f3.map, position : gmap_m2b0159035039ea00aed7f1828e3ea2f3.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m2b0159035039ea00aed7f1828e3ea2f3.map.setCenter( gmap_m2b0159035039ea00aed7f1828e3ea2f3.positions[235] ); });
Krav Maga Techniques and Video Demos
Good collection of training videos showing a variety of Krav Maga techniques (self defense and combatives).
Neat plugin that allows you to position things on a “vertical” grid rather than a “horizontal” one, so that all your blocks take up less vertical space and mesh up better.
“Simple shell utility to convert html to pdf using the webkit rendering engine, and qt.”
Checked in at Picán.
Document and receipt scanning software for Mac. Includes OCR on receipts for expense reports and a bunch of other cool features.
Search and Replace for WordPress Databases
Script that allows you to search/replace values in your WP database, even within serialized strings.
Huge list of WordPress tips, with code samples where appropriate.
Checked in at Pizza Pino.
Checked in at McTeague’s Saloon.
Yeah… More drinks.
Checked in at Denny’s.
Extensive tutorial on tuning PHP for performance on the system level (not just coding tips).
Checked in at The Crepe House on Polk.
37.7931911-122.4212009
An awesome plugin for TextMate that gives you a really powerful “abbreviation” syntax for writing blocks of HTML and CSS really quickly.
A web service for testing web services. Performs HTTP requests and gives you the full request/response. Allows you to save requests etc
Plugin to add a simple JSON-based API to a WordPress installation. Allows for all sorts of potential AJAX loveliness.
“Notify.io is your global web notification system. Real-time notifications of events from the web, under your control.” Hooks into Growl and other notification systems, accepts triggers via Web Hooks and Comet Stream
Checked in at Nook.
Coffee, food and catching up on lots of work.
The anatomy of beautiful HTML. Covers all the guidelines and concepts that add up to good HTML coding.