News
Clay Shirky on Newspapers
I was just talking with a friend about the decline of newspapers, now Clay Shirky has published an excellent article on their downfall, Newspapers and Thinking the Unthinkable. Some choice quotes: If you want to know why newspapers are in such trouble, the most salient fact is this: Printing presses are terrifically expensive to set up and to run. This bit of economics, normal since Gutenberg, limits competition while creating positive returns to scale for the press owner, a happy pair of economic effects that feed on each other.
News
Sparklines Moved
My site is now running on a shiny new server at cornerhost. Because of the transition my local install of Python 2.5 started to fail on the new architecture. It was a quick fix to download Python 2.5 and rebuild it from source and then install the extra libraries I needed, and it was also a good indication of how fast the new machines are: the build from scratch of Python went very fast.
News
DRAFT Recommended Security Controls for Federal Information Systems and Organizations
So I just got back from a two day trip to Washington, DC. As a result I am now reading, well skimming, the DRAFT Recommended Security Controls for Federal Information Systems and Organizations. NIST announces the release of the Initial Public Draft (IPD) of Special Publication 800-53, Revision 3, Recommended Security Controls for Federal Information Systems and Organizations. This is the first major update of Special Publication 800-53 since its initial publication in December 2005.
News
Ruby Book Sales, A Retrospective
Me in 2007:
You certainly heard when Ruby book sales were growing 1500%, and 700%, but I thought I'd bring it to your attention that it has quietly dropped to 53%. I don't bring this up to poke fun at the Ruby folks, but as supporting evidence for my own thesis that there is no 'next' Java and there is no 'next' framework. Patrick Mueller responded:
Yeah, that would be a sucky business to be in, when your growth rate is ONLY 53%/year.
News
OAuth IETF Charter
[oauth] Another Charter Text Update
OAuth allows a user to grant a third-party Web site or application access to their resources, without necessarily revealing their credentials, or even their identity. For example, a photo-sharing site that supports OAuth would allow its users to use a third-party printing Web site to access their private pictures, without gaining full control of the user account. OAuth consists of: * A mechanism for exchanging a user's credentials for a token-secret pair which can be used by a third party to access resources on their behalf.
News
Back to the Future for Data Storage
My latest blog post, Back to the Future for Data Storage, is up on the Google App Engine Blog.
News
Job in the RDU area
If you live in the RDU area and have experience in a subset of the following subjects please drop me a resume. C/C++ Java Web Browser Embedded Development
News
RDU App Engine Hackathon?
If you're interested in an App Engine hackathon in the RDU area please leave a note in the comments, or on the TriLUG mailing list, or the TriZPUG mailing list. Joe, I'm interested. Weekdays work better. Posted by MM on 2009-02-17 Cool. I am interested. Weekends suits for me. Posted by Saravana on 2009-02-17 Interested. Weekday or weekend, doesn't matter. Posted by Patrick Mueller on 2009-02-19 Interested. Weekdays or weekends for me too.
News
App Engine and httplib2
The 1.1.9 release of the App Engine SDK includes support for httplib, urllib and urllib2. This is great since httplib2 depends on httlib. So far I've only found one problem, which is that httplib2 presumes that httplib returns all headers in lower case, and have already committed a fix to httplib2 for that. The change is currently in trunk and will appear in the next release. Setting up is easy, just pull the httplib2 directory into your project.
News
WebHooks
Google Project Hosting just announced support for Web Hooks, which is the first time I've heard of them. Web Hooks, that is. Looks very interesting. You would think my first reaction would be "that would be so much better with Atom" since you could POST an Atom Entry, but it wasn't. I'm not 100% in agreement with Tim, but I'm a lot closer than I was a few years ago.
News
Intro to REST Slides
I've posted my slides (odp) (pdf) for the Intro to REST YouTube video. Also available off my projects page. Update: In OpenOffice be sure to view the slides from 'notes' tab, and in the PDF version the slides are repeated twice, the second time with the notes visible. Hi, Joe, great REST tutorial. I am preparing a course on the topic at the Technical University of Madrid and your slides and video provide a very good insight on REST and ATOM.
News
BestBuy and Giftag
Giftag is a cool application put together by BestBuy using Google App Engine. On the Giftag blog the developers posted a great video interview on their impressions of App Engine and what it was like to develop on it. Disclaimer: Only slightly ego driven blogging as they called me out by name ;)
News
PyCon 2009
I will be at PyCon this year (my first, w00t!) and will be doing two sessions. The first is a tutorial, "Introduction to Google App Engine", and the second is my talk "The (lack of) design patterns in Python". If you've got specific things you'd like to see covered in the tutorial let me know in the comments or via email. And hopefully I'll see you there. Excellent! Hey, grab me in the hall (or organize a BoF) and let's chat about a RESTful JSON spec.
News
Paging and Sharding Articles
I've got two new articles up the App Engine site, one on Paging, and the other on Sharding Counters. The Sharding Counters article is fun because it highlights some of counter-intuitive solutions you apply when working with the kind of datastore that App Engine supplies. I worry that your paging article promotes the terrible (but seemingly standard and unquestioned) paging model of counting up from the present — the content on every page is constantly changing.
News
Dopplr Annual Report for 2008
My Dopplr Annual Report for 2008 is available. Highlights include my CO2 consumption (0.6 Hummers) and my speed (about that of a duck).
News
Time Machine
Time Machine for every Unix out there is a great tutorial on how to get Time Machine like backups using rsync and cron. I don't need it as an external backup, but just for the ability to go back in time, you know, when I forget to add a file to a repository and blow away the directory believing everying is safe in subversion, or when I edit and overwrite an original photo, or, or .
News
Porting Sparklines to App Engine
The title of this article is actually misleading as the code isn't ported, but altered to run on both App Engine and under CGI. App Engine exposes a CGI environment that your requests run under, so the real challenge comes from the differences in the runtime environment. Imaging The first big difference is that PIL (the Python Imaging Library) isn't available on App Engine, and it's not possible to add C extensions to your App Engine project, so we will have to find a pure Python substitute.
News
Gnome, JavaScript, Gio, FUSE, and Acme
The prospects for Seed and Gjs look good, the idea of having a scripting extension built in at such a low level is awesome. One of the things I've been looking at lately has been Gio and GVFS; you see, I had this idea of trying to build a text editor based on Acme in GTK+, but the stumbling block came about from the limited implementation of FUSE, which doesn't support non-blocking I/O on your filesystem, which would be required if the editor were to have any fidelity to the original Acme implementation.