News
American Taliban
Richard Dawkins: My scientific colleagues have additional reasons to declare emergency. Ignorant and absolutist attacks on stem cell research are just the tip of an iceberg. What we have here is nothing less than a global assault on rationality, and the Enlightenment values that inspired the founding of this first and greatest of secular republics. Science education - and hence the whole future of science in this country - is under threat.
News
Election 2006
Wake County Board of Elections. If you are going to vote, at least take the time to learn about the candidates before you enter the voting booth.
News
The Worst Congress Ever
Matt Taibbi (Rolling Stone): These past six years were more than just the most shameful, corrupt and incompetent period in the history of the American legislative branch. These were the years when the U.S. parliament became a historical punch line, a political obscenity on par with the court of Nero or Caligula -- a stable of thieves and perverts who committed crimes rolling out of bed in the morning and did their very best to turn the mighty American empire into a debt-laden, despotic backwater, a Burkina Faso with cable.
News
wsgi.url_vars
Ian Bicking: I think there's room for some more standards building on WSGI (that aren't actually extensions of the WSGI spec itself). I put a page up on the wsgi.org site for this: http://wsgi.org/wsgi/Specifications And I'm introducing what I think is low-hanging fruit in the specification realm: wsgi.url_vars http://wsgi.org/wsgi/Specifications/url_vars It appears that wsgicollection was part of the motivation, which is gratifying. I have updated wsgicollection to support wsgi.
News
Analyzing Presentation Traffic
(... or how to use Digital Signal Processing on your log files ...) One of the benefits of writing your own presentation software is that you can do web-friendly things like giving each and every page of your presentation it's own URI. That lets lots of cool stuff happen like allowing search engines to spider the content and allowing people to link directly to a slide in the deck.
News
Radical Simplicity Lessons from Dynamic Languages
Here are the slides for Radical Simplicity: Lessons from Dynamic Languages, a presentation I gave today at CASCON 2006.
News
JEP
Here is the one entry where I'll track all the things I've posted about using JSON RESTfully
RESTful JSON The post that kicked off the series. RESTful JSON Server A server-side implementation of the protocol done in Python and built on top of Robaccia. RESTful JSON Client An implementation of a browser-based JavaScript implementation along with observations on the protocol.
News
RESTful JSON Client
As promised, here is the RESTful JSON client I referred to previously. I am willing to bet you weren't expecting JavaScript. Note: this has only been tested in FireFox 1.5 on Ubuntu, your mileage may vary. Here is a screenshot to refer to if the page doesn't work for you.
Here is a pretty printed version of the JavaScript , in case you haven't pull down the source code for yourself via bzr.
News
RESTful JSON
As I pointed out in JSON isn't XML REST doesn't just apply to XML formats and that it's possible to use JSON RESTfully and not just in the old patterns. Theory is nice, but working code is nicer. So let's walk through building a RESTful service using JSON. In this case we are going to be building a cookbook, modeled as a collection ala the Atom Publishing Protocol.
News
RESTful JSON Server
Now I've already introduced robaccia and wsgicollection so we'll build on top of those pieces. (Yes, I know, robaccia is my throw away web framework that I can't seem to throw away. Oh well.) If you remember robaccia we have several parts; urls.py, view.py, model.py, and templates. In addition to the usual parts of robaccia we will need one additional piece, a library to serialize and deserialize JSON.
News
Toxic cloud from plant fire
So we send our oldest off to school this morning, but started to get a little concerned when we saw no one else walking to the bus stop. Only then did we check the news. We are just outside the evactuation zone. The weather prediction of winds shifting to come from the north is actually good for us since the plant is south of where we live. Regardless, I'll be staying close to home today in case an evacuation order does come through.
News
draft-ietf-atompub-protocol-11
Draft 11 of the Atom Publishing Protocol is now available: draft-ietf-atompub-protocol-11.
News
URI Templates
Update (2017): URI Templates are done and now available as RFC6570. Many of the links below may have rotted. I've been working over the past couple months with DeWitt Clinton, Mark Nottingham, Marc Hadley, Dave Orchard, and James Snell on a draft specification for URI Templates, which finally got published yesterday. To provide feedback on this Internet-Draft, join the W3C URI mailing list, and just like I've done for the Atom Publishing Protocol I'll keep a URI Template project page open that will always points to the latest version.
News
Training Goldfish (and professors)
Yes, training Goldfish, on YouTube.
Which reminds me of a story my undergraduate philosophy professor told me. She was taking a psychology class with a professor that really liked his students to take notes. He also liked to pace in front of the blackboard when he lectured. After finishing the section on Pavlov the class got together and decided to only take notes when the professor was in front of the left side of the blackboard.
News
wsgicollection
The idea of RESTful "Collections", i.e. doing CRUD over HTTP correctly, has been percolating for years now. A Collection is nothing more than a list, a container for resources. While the APP defines a Collection in terms of Atom Feed and Entry documents we don't have to be limited to that. It's time to complete a virtuous circle; RESTLog inspired the Atom Publishing Protocol which inspired David Heinemeier Hansson's World of Resources (pdf) and now it's time to come full circle and get that world of resources in Python.
News
learning bzr
Far various reasons I am learning bzr. I guess I hadn't fully internalized the "distributed" in Distributed Version Control System because I ran into two scenarios that were similar, but in one bzr get was used and in the other bzr branch was used, so I headed for the help to find out the differences: $ bzr help branch usage: bzr branch FROM_LOCATION [TO_LOCATION] aliases: get, clone Create a new copy of a branch.
News
Luke Arno Blog
Luke Arno, author of Selector, which I've highlighted here several times, finally has a blog.
News
JSON isn't XML
After avoiding JSON for a long time I am finally getting around to looking at it. The reason I'm just now looking is that the specification is now available as an informational RFC without the funky license that plauged the original. Yes, licensing matters. The first thing you notice when you look at JSON is the simplicity. It certainly hits its target as a "lightweight data-interchange format". JavaScript Object Notation (JSON) is a text format for the serialization of structured data.
News
OpenSearch.org
DeWitt Clinton announced the launch of OpenSearch.org, which is just great news. More often than not OpenSearch and the Atom Publishing Protocol are mentioned in the same sentence. It's no secret where I think all this is heading.