{"items":[{"postTime":"2011-06-30T18:06:25Z","verb":"post","target":{"id":"http:\/\/shane.caraveo.com\/feed\/json\/","url":"http:\/\/shane.caraveo.com\/feed\/json\/","objectType":"blog","displayName":"mixedpuppy"},"object":{"id":"http:\/\/shane.caraveo.com\/?p=84","displayName":"using json-schema for exploring api servers","objectType":"article","summary":"A while ago Google introduced an API Explorer for many of their APIs.\u00a0 In Mozilla Messaging we had done a similar api browser for Raindrop that James Burke created, which we ended up using in the early days of F1 as well.\u00a0 I&#8217;ve been meaning to make our api browser generic so that it could [...]","postTime":"June 30, 2011 17:50","url":"http:\/\/shane.caraveo.com\/2011\/06\/30\/using-json-schema-for-exploring-api-servers\/"},"actor":{"id":"http:\/\/shane.caraveo.com\/author\/mixedpuppy\/","displayName":"mixedpuppy","objectType":"person","url":"http:\/\/shane.caraveo.com\/author\/mixedpuppy\/","image":{"width":80,"height":80,"url":"http:\/\/www.gravatar.com\/avatar\/e264a5ad5bd2142a8c61293aa4464397.jpg"}}},{"postTime":"2011-01-13T00:20:09Z","verb":"post","target":{"id":"http:\/\/shane.caraveo.com\/feed\/json\/","url":"http:\/\/shane.caraveo.com\/feed\/json\/","objectType":"blog","displayName":"mixedpuppy"},"object":{"id":"http:\/\/shane.caraveo.com\/?p=77","displayName":"user management for oauth in firefox","objectType":"article","summary":"Last week I worked on a little experiment around providing better user management over their OAuth permissions. There are a couple issues that I wanted to tackle, the first is how to better educate users around what it means to give OAuth access to a website, the second is how to provide users with an [...]","postTime":"January 13, 2011 00:20","url":"http:\/\/shane.caraveo.com\/2011\/01\/13\/user-management-for-oauth-in-firefox\/"},"actor":{"id":"http:\/\/shane.caraveo.com\/author\/mixedpuppy\/","displayName":"mixedpuppy","objectType":"person","url":"http:\/\/shane.caraveo.com\/author\/mixedpuppy\/","image":{"width":80,"height":80,"url":"http:\/\/www.gravatar.com\/avatar\/e264a5ad5bd2142a8c61293aa4464397.jpg"}}},{"postTime":"2011-01-05T02:44:59Z","verb":"post","target":{"id":"http:\/\/shane.caraveo.com\/feed\/json\/","url":"http:\/\/shane.caraveo.com\/feed\/json\/","objectType":"blog","displayName":"mixedpuppy"},"object":{"id":"http:\/\/shane.caraveo.com\/?p=76","displayName":"What I would change in OAuth","objectType":"article","summary":"Now that I had my rant about the misuse of OAuth, I thought I&#8217;d mention a couple things that I think should be fixed in OAuth. I&#8217;m kind of skipping the &#8220;why&#8221; here, just to keep things short. And no, this doesn&#8217;t fix the problems from my rant, I&#8217;m not seeing how those issues can [...]","postTime":"January 5, 2011 02:44","url":"http:\/\/shane.caraveo.com\/2011\/01\/05\/what-i-would-change-in-oauth\/"},"actor":{"id":"http:\/\/shane.caraveo.com\/author\/mixedpuppy\/","displayName":"mixedpuppy","objectType":"person","url":"http:\/\/shane.caraveo.com\/author\/mixedpuppy\/","image":{"width":80,"height":80,"url":"http:\/\/www.gravatar.com\/avatar\/e264a5ad5bd2142a8c61293aa4464397.jpg"}}},{"postTime":"2011-01-05T02:27:29Z","verb":"post","target":{"id":"http:\/\/shane.caraveo.com\/feed\/json\/","url":"http:\/\/shane.caraveo.com\/feed\/json\/","objectType":"blog","displayName":"mixedpuppy"},"object":{"id":"http:\/\/shane.caraveo.com\/?p=72","displayName":"Huffington Post: an example of social privacy problems","objectType":"article","summary":"A few weeks ago I ran across an article (via some social site) on Huffington Post. I read articles there from time to time, and I thought, why not follow them on Twitter? I found the Twitter icon, clicked on it and got presented with a small dialog giving me a few options. Well I [...]","postTime":"January 5, 2011 01:55","url":"http:\/\/shane.caraveo.com\/2011\/01\/05\/huffington-post-an-example-of-social-privacy-problems\/"},"actor":{"id":"http:\/\/shane.caraveo.com\/author\/mixedpuppy\/","displayName":"mixedpuppy","objectType":"person","url":"http:\/\/shane.caraveo.com\/author\/mixedpuppy\/","image":{"width":80,"height":80,"url":"http:\/\/www.gravatar.com\/avatar\/e264a5ad5bd2142a8c61293aa4464397.jpg"}}},{"postTime":"2010-09-24T19:08:45Z","verb":"post","target":{"id":"http:\/\/shane.caraveo.com\/feed\/json\/","url":"http:\/\/shane.caraveo.com\/feed\/json\/","objectType":"blog","displayName":"mixedpuppy"},"object":{"id":"http:\/\/shane.caraveo.com\/?p=68","displayName":"wsgi middlewares for profiling and debugging","objectType":"article","summary":"A while back I implemented a debugging and profiling middleware, and I&#8217;ve been using those with Pylons recently. I think their pretty useful, so I&#8217;ve wrapped them up into an installable egg that contains Paste interfaces in setup.py. This allows you to easily insert the middleware into any existing Paste project (e.g. a Pylons project). [...]","postTime":"September 24, 2010 19:08","url":"http:\/\/shane.caraveo.com\/2010\/09\/24\/wsgi-middlewares-for-profiling-and-debugging\/"},"actor":{"id":"http:\/\/shane.caraveo.com\/author\/mixedpuppy\/","displayName":"mixedpuppy","objectType":"person","url":"http:\/\/shane.caraveo.com\/author\/mixedpuppy\/","image":{"width":80,"height":80,"url":"http:\/\/www.gravatar.com\/avatar\/e264a5ad5bd2142a8c61293aa4464397.jpg"}}},{"postTime":"2010-09-13T20:00:14Z","verb":"post","target":{"id":"http:\/\/shane.caraveo.com\/feed\/json\/","url":"http:\/\/shane.caraveo.com\/feed\/json\/","objectType":"blog","displayName":"mixedpuppy"},"object":{"id":"http:\/\/shane.caraveo.com\/?p=65","displayName":"database migrations for SQLAlchemy part duex","objectType":"article","summary":"Well, as I was looking at making miruku more reliant on sqlalchemy-migrate, I discovered the expirmental command: migrate update_db_from_model! So much for an afternoons work, but at least I&#8217;m much more familiar with the migration tools. So here&#8217;s how I&#8217;ve implemented an auto upgrade for Pylons. First, easy_install sqlalchemy-migrate Now, in your pylons development.ini, add [...]","postTime":"September 13, 2010 20:00","url":"http:\/\/shane.caraveo.com\/2010\/09\/13\/database-migrations-for-sqlalchemy-part-duex\/"},"actor":{"id":"http:\/\/shane.caraveo.com\/author\/mixedpuppy\/","displayName":"mixedpuppy","objectType":"person","url":"http:\/\/shane.caraveo.com\/author\/mixedpuppy\/","image":{"width":80,"height":80,"url":"http:\/\/www.gravatar.com\/avatar\/e264a5ad5bd2142a8c61293aa4464397.jpg"}}},{"postTime":"2010-09-13T16:09:00Z","verb":"post","target":{"id":"http:\/\/shane.caraveo.com\/feed\/json\/","url":"http:\/\/shane.caraveo.com\/feed\/json\/","objectType":"blog","displayName":"mixedpuppy"},"object":{"id":"http:\/\/shane.caraveo.com\/?p=64","displayName":"database migrations for SQLAlchemy","objectType":"article","summary":"It was a dark and stormy day, so I skipped stepping outside and worked a while. There&#8217;s Vancouver for you. At Mozilla Messaging we&#8217;ve been using Pylons and SQLAlchemy on a couple projects.\u00a0 One of the features this setup misses that Django and Rails provides is database migration.\u00a0 Looking around, there&#8217;s but one choice for [...]","postTime":"September 13, 2010 16:09","url":"http:\/\/shane.caraveo.com\/2010\/09\/13\/database-migrations-for-sqlalchemy\/"},"actor":{"id":"http:\/\/shane.caraveo.com\/author\/mixedpuppy\/","displayName":"mixedpuppy","objectType":"person","url":"http:\/\/shane.caraveo.com\/author\/mixedpuppy\/","image":{"width":80,"height":80,"url":"http:\/\/www.gravatar.com\/avatar\/e264a5ad5bd2142a8c61293aa4464397.jpg"}}},{"postTime":"2010-08-31T21:20:36Z","verb":"post","target":{"id":"http:\/\/shane.caraveo.com\/feed\/json\/","url":"http:\/\/shane.caraveo.com\/feed\/json\/","objectType":"blog","displayName":"mixedpuppy"},"object":{"id":"http:\/\/shane.caraveo.com\/?p=61","displayName":"can I stumble any faster?","objectType":"article","summary":"I&#8217;m thinking about web performance again&#8230; Since taking a look at a little project, which is using the async event driven Tornado server, I thought I&#8217;d re-investigation performance data around python web servers.\u00a0 Often when I see something in action I question my previous choices and have to look into it.\u00a0 I&#8217;ve been working on [...]","postTime":"August 31, 2010 21:20","url":"http:\/\/shane.caraveo.com\/2010\/08\/31\/can-i-stumble-any-faster\/"},"actor":{"id":"http:\/\/shane.caraveo.com\/author\/mixedpuppy\/","displayName":"mixedpuppy","objectType":"person","url":"http:\/\/shane.caraveo.com\/author\/mixedpuppy\/","image":{"width":80,"height":80,"url":"http:\/\/www.gravatar.com\/avatar\/e264a5ad5bd2142a8c61293aa4464397.jpg"}}},{"postTime":"2010-07-23T19:04:27Z","verb":"post","target":{"id":"http:\/\/shane.caraveo.com\/feed\/json\/","url":"http:\/\/shane.caraveo.com\/feed\/json\/","objectType":"blog","displayName":"mixedpuppy"},"object":{"id":"http:\/\/shane.caraveo.com\/?p=60","displayName":"revisiting addons, tb sync updated","objectType":"article","summary":"Over the past couple months I&#8217;ve been distracted by a little project called Raindrop and have neglected the thunderbird addons a bit, but this week I&#8217;ve updated sync.\u00a0 You can pull the latest from my bitbucket, get the tb-sync branch in weave-ext, and the default branch of weaver.\u00a0 The oauth branch for Contacts also got [...]","postTime":"July 23, 2010 19:04","url":"http:\/\/shane.caraveo.com\/2010\/07\/23\/revisiting-addons-tb-sync-updated\/"},"actor":{"id":"http:\/\/shane.caraveo.com\/author\/mixedpuppy\/","displayName":"mixedpuppy","objectType":"person","url":"http:\/\/shane.caraveo.com\/author\/mixedpuppy\/","image":{"width":80,"height":80,"url":"http:\/\/www.gravatar.com\/avatar\/e264a5ad5bd2142a8c61293aa4464397.jpg"}}},{"postTime":"2010-05-29T00:01:55Z","verb":"post","target":{"id":"http:\/\/shane.caraveo.com\/feed\/json\/","url":"http:\/\/shane.caraveo.com\/feed\/json\/","objectType":"blog","displayName":"mixedpuppy"},"object":{"id":"http:\/\/shane.caraveo.com\/?p=57","displayName":"addon roundup","objectType":"article","summary":"I thought I&#8217;d make some xpi&#8217;s available for some of the addons I&#8217;ve been working on, and while they are all available in either bitbucket or hg.mozilla.org, sometimes a xpi is just easier.\u00a0 They will be released onto AMO soon, but for the adventurous out there here&#8217;s the links: Available on AMO now: Mailing list [...]","postTime":"May 28, 2010 01:23","url":"http:\/\/shane.caraveo.com\/2010\/05\/28\/addon-roundup\/"},"actor":{"id":"http:\/\/shane.caraveo.com\/author\/mixedpuppy\/","displayName":"mixedpuppy","objectType":"person","url":"http:\/\/shane.caraveo.com\/author\/mixedpuppy\/","image":{"width":80,"height":80,"url":"http:\/\/www.gravatar.com\/avatar\/e264a5ad5bd2142a8c61293aa4464397.jpg"}}}]}
