{"cursor": "CkAKFgoJcHVibGlzaGVkEgkI-Kfq-pyTnQISImoSc35iZW5nb2x1YmJsb2ctaHJkcgwLEgVFbnRyeRj5bgwYACAB", "entries": [{"body": "<p>\r\nI've been running Time Machine off a <a href=\"http://support.wdc.com/product/download.asp?groupid=118&lang=en\">WD My Book World II<\/a> NAS for years now. Everything worked swell until a few days after upgrading to Mountain Lion when I started getting errors that my Time Machine had gone corrupt and needed to start from scratch. The error would happen on both laptops but at different times. Every few days.\r\n<\/p>\r\n<p>\r\nMy first instinct was to blame the combination of Mountain Lion and the NAS. I scoured the web for solutions but none of them worked for me. I was resigned to spending $299 on a Time Capsule when I had a perfectly good router and a perfectly good NAS. Or so I thought.\r\n<\/p>\r\n<p>\r\nOne day the wireless radio in my router went kaput; it ceased to function but the router was still working. I started using a very old AirPort Express in bridge mode as a radio. Then I started getting network issues: packet loss, connections dropping, etc. I realized something funny was going on so I thought I'd try a new router. The AirPort Extreme has great reviews and all sorts of new fancy technology that my old router did not. Plus it's very pretty. So I picked one up from the Apple store over a week ago.\r\n<\/p>\r\n<p>\r\nLo and behold replacing that dying router solved my Time Machine issues! I should have seen the signs long ago but there were so many red herrings distracting me.\r\n<p>", "updated": "2012-11-11T15:35:48.188194", "link": "http://www.benjamingolub.com/corrupt-time-machine-check-your-router", "title": "Corrupt Time Machine? Check your router!", "author": "benjamin.golub", "slug": "corrupt-time-machine-check-your-router", "tags": ["airport-express", "airpot-extreme", "osx", "mac", "time-machine", "router"], "published": "2012-11-11T15:26:50.168571"}, {"body": "<p>\r\nI made a Facebook page for <a href=\"https://www.facebook.com/loki.the.dog\">Loki<\/a> that has recently gathered steam thanks to Facebook Ads.\r\n<\/p>\r\n<p>\r\nI took out an ad targeted to people who like Cairn Terriers and today a new fan from Rochester noticed that Loki has the same birthday as her Cairn, <a href=\"https://www.facebook.com/photo.php?fbid=654272111499&set=o.131386298317&pid=35304209&id=21804317\">Pommer<\/a>.\r\n<\/p>\r\n<p>\r\nA few messages back and forth later and we found out Loki and Pommer were definitely from the same litter. Loki found her brother and it's all thanks to Facebook!\r\n<\/p>", "updated": "2011-05-24T18:30:43.928244", "link": "http://www.benjamingolub.com/how-loki-met-her-long-lost-brother-on-facebook", "title": "How Loki met her long-lost brother on Facebook", "author": "benjamin.golub", "slug": "how-loki-met-her-long-lost-brother-on-facebook", "tags": ["cairn-terrier", "dogs", "loki", "brother", "dog"], "published": "2011-05-24T03:57:42.600220"}, {"body": "<p>\r\nOver the last 11 days I rented from 5 rental car companies. Here's a short review of each:\r\n<\/p>\r\n<ul>\r\n<li>Fox: very reasonable prices and new cars. They gave me a brand new Ford Fiesta. Unfortunately this wasn't a great car for San Francisco. The transmission felt like it was slipping on any steep incline. But it was clean and had less than 500 miles on it.<\/li>\r\n<li>Hertz: I actually don't remember anything about them or the car. Which means it was probably adequate.<\/li>\r\n<li>Dollar: old, loud car that smelled like smoke. I won't be renting from them again. The price was awesome but the car needed to be aired out.<\/li>\r\n<li>Enterprise: amazing service. They walked us to the cars and let us choose. They didn't have any economy sized cars so we were double upgraded for $3 extra a day. Looking back maybe this was a tactic to get some more money but for only $3 it was worth it.<\/li>\r\n<li>Budget: one of the few places I encountered that rent Toyotas. We drove a Corolla back home from Pittsburgh. It was comforting knowing I was driving a relatively new and well engineered car. They also made sure we had an ice scraper.<\/li>\r\n<\/ul>", "updated": "2010-12-12T20:40:12.200680", "link": "http://www.benjamingolub.com/rental-cars", "title": "Rental cars", "author": "benjamin.golub", "slug": "rental-cars", "tags": ["car", "travel", "rental"], "published": "2010-12-12T20:39:54.510339"}, {"body": "<p>\r\nEC2 micro instances are great. They are super cheap ($0.02 per hour) but they don't support ephemeral (local) storage; you must use Elastic Block Store (EBS).\r\n<\/p>\r\n<p>\r\nWhen using Ubuntu 10.04 ami-1634de7f I found my instance was not coming back after a reboot. I had a tough time finding the answer on Google but the issue was <a href=\"https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/634102\">https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/634102<\/a>. It's been fixed in Maverick but still persists in Lucid.\r\n<\/p>\r\n<p>\r\nMy solution was to edit /etc/fstab and add the <code>nobootwait<\/code> option:\r\n<\/p>\r\n<pre>proc /proc proc nodev,noexec,nosuid 0 0\r\n/dev/sda1 / ext3 defaults 0 0\r\n/dev/sdb /mnt auto  defaults,nobootwait,comment=cloudconfig 0  0\r\n<\/pre>\r\n<p>\r\nIt's my understanding that if you later have some ephemeral storage available it'll mount. But <code>nobootwait<\/code> lets us boot on instances without it.\r\n<\/p>\r\n<p>\r\n<a href=\"http://friendfeed.com/bgolub/8344b78f/i-deleted-my-slicehost-account-this-morning-for\">I got rid of my Slicehost VPS recently<\/a>. I'm on Amazon EC2 to have an occasional machine for work. I've found it's very useful to have a machine that isn't on the Facebook corp network when debugging. EC2 is great because I can just keep the instance off when not in use. Then the only charge is for the EBS at $0.10 per GB per month - just $1.50 for me. \r\n<\/p>", "updated": "2010-09-16T02:15:52.049394", "link": "http://www.benjamingolub.com/ubuntu-10-04-ec2-micro-instances-and-ephemeral-storage", "title": "Ubuntu 10.04, EC2 micro instances, and ephemeral storage", "author": "benjamin.golub", "slug": "ubuntu-10-04-ec2-micro-instances-and-ephemeral-storage", "tags": ["fstab", "ephemeral", "ec2", "ubuntu"], "published": "2010-09-16T01:23:20.937485"}, {"body": "<p>\r\nDid you know App Engine supports <a href=\"http://code.google.com/appengine/docs/python/datastore/queriesandindexes.html#Query_Cursors\">query cursors<\/a>?\r\n<\/p>\r\n<p>\r\nNeither did I until <a href=\"http://github.com/bgolub/tornado-blog/commit/d58c4b3fc1686c28732e04bd153c2859ffdff39f\">a few minutes ago<\/a>.\r\n<\/p>", "updated": "2010-08-24T12:58:29.518199", "link": "http://www.benjamingolub.com/app-engine-query-cursors", "title": "App Engine Query Cursors", "author": "benjamin.golub", "slug": "app-engine-query-cursors", "tags": ["app-engine", "code", "pagination", "cursors"], "published": "2010-08-24T12:58:29.517736"}, {"body": "<p><a href=\"http://www.flickr.com/photos/benjamingolub/4814128318/\" title=\"Sunset on the Erie Canal by Ben Golub, on Flickr\"><img src=\"http://farm5.static.flickr.com/4079/4814128318_cd5fbd2ef7.jpg\" width=\"500\" height=\"333\" alt=\"Sunset on the Erie Canal\" /><\/a><\/p>", "updated": "2010-08-03T10:50:07.818057", "link": "http://www.benjamingolub.com/sunset-on-the-erie-canal", "title": "Sunset on the Erie Canal", "author": "benjamin.golub", "slug": "sunset-on-the-erie-canal", "tags": ["photo", "photography", "sunset", "rochester-ny", "erie-canal"], "published": "2010-08-03T10:49:51.916356"}, {"body": "<ul>\r\n<li><a href=\"http://www.facebook.com/album.php?aid=2087048&id=15500414\">Last day in Poland<\/a> - Our last day. We visited Schindler's Factory (but couldn't get close because of construction), biked around the city, had drinks on the square with the med students to celebrate, and dinner at a milk bar<\/li>\r\n<li><a href=\"http://www.facebook.com/album.php?aid=2087888&id=15500414\">Poland 5/27/2010<\/a> - Around Kazimierz \u2013 the old Jewish district. We visited a synagogue, saw Ariel (Spielberg's favorite restaurant), and walked through the new Jewish cemetery.\r\n\r\nThe cemetery is also a memorial. The walls are made out of pieces of broken tombstones.<\/li>\r\n<li><a href=\"http://www.facebook.com/album.php?aid=2086927&id=15500414\">Poland 5/25/2010<\/a> - Cake followed by liter beers at Pod Wawelem<\/li>\r\n<li><a href=\"http://www.facebook.com/album.php?aid=2086853&id=15500414\">Poland 5/24/2010<\/a> - The sun came out so Megen and I went to the square for a drink before dinner\r\n\r\nPhotos in this album were taken by Megen (except the photo of her :P). She's good :)<\/li>\r\n<li><a href=\"http://www.facebook.com/album.php?aid=2086851&id=15500414\">Vienna 5/23/2010<\/a> - Kunsthistorisches museum, St. Stephen's Cathedral, gelato, the opera, and lots of walking\r\n\r\nMany of the photos later in this album were taken by Megen<\/li>\r\n<li><a href=\"http://www.facebook.com/album.php?aid=2086787&id=15500414\">Vienna 5/22/2010<\/a> - Hofburg Palace (treasury and apartments), Demel for cake and coffee, and the opera<\/li>\r\n<li><a href=\"http://www.facebook.com/album.php?aid=2086589&id=15500414\">Poland 5/20/2010<\/a> - It wasn't raining so I took a short walk around the square<\/li>\r\n<li><a href=\"http://www.facebook.com/album.php?aid=2086588&id=15500414\">Poland 5/19/2010<\/a> - We finally found the cake place everyone has been raving about. I tried a blue cheese and chocolate cake \u2013 it was pretty good but Megen's marzipan cake was way better\r\n\r\nAlso Megen took me to the sign pointing out 7400 km to Rochester!<\/li>\r\n<li><a href=\"http://www.facebook.com/album.php?aid=2086526&id=15500414\">Poland 5/18/2010<\/a> - Zubrowka (bison grass vodka) for Caren's birthday<\/li>\r\n<li><a href=\"http://www.facebook.com/album.php?aid=2086459&id=15500414\">Poland 5/17/2010<\/a> - A private dinner with the deans at Muzeum Uniwersytetu Jagiello\u0144skiego Collegium Maius<\/li>\r\n<li><a href=\"http://www.facebook.com/album.php?aid=2086383&id=15500414\">Poland 5/16/2010<\/a> - Piero\u017cki \"U Vincenta\" (Van Gogh themed pierogi restaurant), Singers (a bar with Singer sewing machines for tables), and Pijalnia Czekolady for hot chocolate<\/li>\r\n<li><a href=\"http://www.facebook.com/album.php?aid=2086276&id=15500414\">Poland 5/15/2010<\/a> - \"In Krakow we have a love parade \u2013 it can get dangerous\" our waitress on the square as she took away the flower pot and ashtray at our table<\/li>\r\n<\/ul>\r\n<p>Created with this script:<\/p>\r\n<pre>#!/usr/bin/env python\r\n\r\nimport json\r\nimport sys\r\nimport urllib\r\nimport urllib2\r\n\r\nfrom optparse import OptionParser\r\n\r\nGRAPH_BASE = 'https://graph.facebook.com'\r\n\r\ndef main():\r\n    parser = OptionParser(usage='usage: %prog [options]')\r\n    parser.add_option('-a', '--access_token', dest='access_token',\r\n        help='You can get your access_token from '\r\n             'http://developers.facebook.com/docs/api')\r\n    options, args = parser.parse_args()\r\n    if not options.access_token:\r\n        parser.print_help()\r\n        sys.exit()\r\n    try:\r\n        body = urllib2.urlopen(GRAPH_BASE + '/me/albums?' + urllib.urlencode({\r\n          'access_token': options.access_token,\r\n        })).read()\r\n    except Exception, e:\r\n        print e\r\n        sys.exit()\r\n\r\n    albums = json.loads(body).get('data', [])\r\n    albums = [a for a in albums if 'poland' in a['name'].lower()\r\n              or 'vienna' in a['name'].lower()]\r\n    print '&lt;ul&gt;'\r\n    for a in albums:\r\n        print '&lt;li&gt;&lt;a href=&quot;%(link)s&quot;&gt;%(name)s&lt;/a&gt; - %(description)s&lt;/li&gt;' % a\r\n    print '&lt;/ul&gt;'\r\n\r\nif __name__ == '__main__':\r\n    main()\r\n<\/pre>", "updated": "2010-06-11T19:48:36.317200", "link": "http://www.benjamingolub.com/recent-travel-photo-albums-post-created-with-help-from-the-graph-api", "title": "Recent travel photo albums (post created with help from the Graph API)", "author": "benjamin.golub", "slug": "recent-travel-photo-albums-post-created-with-help-from-the-graph-api", "tags": ["code", "poland", "austria", "krakow", "travel", "vienna"], "published": "2010-06-11T19:40:03.820677"}, {"body": "<p>\r\nJust testing <a href=\"http://github.com/bgolub/tornado-blog/commit/eee3f6056a80dd810a1931213ef9ba72b4f70301#L0L127\">PubSubhubbub support<\/a>. I needed a small distraction earlier today.\r\n<\/p>", "updated": "2010-03-11T00:22:39.425243", "link": "http://www.benjamingolub.com/pubsubhubbub-1268266406", "title": "PubSubhubbub", "author": "benjamin.golub", "slug": "pubsubhubbub-1268266406", "tags": ["pubsubhubbub", "code"], "published": "2010-03-11T00:13:40.134772"}, {"body": "<p>\r\nHere is how it could work:\r\n<\/p>\r\n\r\n<ol>\r\n<li>\r\nThe owner of a site adds the following meta tags to the page:\r\n<pre>&lt;meta name=&quot;iphone_permissions&quot; value=&quot;push&quot;/&gt;\r\n&lt;meta name=&quot;iphone_callback&quot; value=&quot;/iphone_callback&quot;/&gt;\r\n<\/pre>\r\nThere might be other important tags like an application identifier that the owner registers with Apple.\r\n<\/li>\r\n<li>\r\nWhen a user adds that site to their home screen the iPhone fetches it, finds the tag, and prompts for the permissions.\r\n<\/li>\r\n<li>\r\nIf the user grants permission the iPhone POSTs back to the callback value with all the information the application needs to start pushing to the iPhone. I don't really know what goes into this step but I'm sure there are some necessary identifiers the application needs. The important thing is that the POST contains the cookies for that domain, allowing the application to link the device and the authenticated user so it can send the appropriate notifications.\r\n<\/li>\r\n<li>\r\nUsers of applications like Gmail, Google Voice, and FriendFeed that don't have iPhone applications enjoy all the benefits a real application has. Developers continue to push new code daily without dealing with the Apple approval process.\r\n<\/li>\r\n<\/ol>\r\n\r\n<p>\r\nObviously this isn't in Apple's short-term best interest. If this were added I'd have little reason to ever use the Mail app again. It would devalue the benefits one gets from building a full fledged iPhone application. Eventually Android will get push notifications and the meta tags could settle on a standard that all could use. Suddenly there is no developing for multiple platforms, no waiting for approval, and no missing features. Long-term Apple goes from having the largest app store to having the <strong>entire<\/strong> application ecosystem.  Developers don't need to learn Objective-C; they can continue to use whatever language they like to build their web apps in. Devices stop differentiating themselves based on the number of applications that run on them and start improving the overall experience.\r\n<\/p>", "updated": "2010-06-08T13:43:52.511595", "link": "http://www.benjamingolub.com/apple-should-allow-push-notifications-to-iphone-home-screen-bookmarks", "title": "Apple should allow Push Notifications to iPhone home screen URL bookmarks", "author": "benjamin.golub", "slug": "apple-should-allow-push-notifications-to-iphone-home-screen-bookmarks", "tags": ["push", "push-notifications", "apple", "iphone"], "published": "2010-02-11T18:53:47.470090"}, {"body": "<ul>\r\n<li>Thursday evening: Off to NYC, Ed's Lobster Bar, food coma<\/li>\r\n<li>Friday: B&amp;H, Shake Shack, Georgia O'Keeffe exhibit at the Whitney museum, trek to Brooklyn for birthday celebrations<\/li>\r\n<li>Saturday: Balthazar, shopping, <a href=\"http://www.nytimes.com/2009/09/24/arts/music/24figaro.html\">The Marriage of Figaro<\/a> (Cherubino was amazing), La Esquina<\/li>\r\n<li>Sunday: Dim sum, back to Rochester, <a href=\"http://www.cirquedusoleil.com/en/shows/alegria/default.aspx\">Cirque du Soleil<\/a>, football<\/li>\r\n<\/ul>\r\n<p>It's been a fun weekend.<\/p>", "updated": "2010-01-31T16:34:35.240845", "link": "http://www.benjamingolub.com/this-weekend", "title": "What I did this weekend", "author": "benjamin.golub", "slug": "this-weekend", "tags": ["nyc"], "published": "2009-09-28T02:11:04.480760"}]}