Feed Sign in with OpenID OpenID

Simon Willison’s Weblog

24ways 2d 37signals 3d 4chan abtesting accessibility accounts acid3 actionscript activemq adamgomaa adobe adrianholovaty ads advertising agile airships ajax ajaxian alexpayne alexrussell alfeaton algorithms alistapart alpha amazon amazonwebservices ami amqp andrewgodwin andrewturner andybudd anildash animation annevankesteren aol apache api apidesign apis apollo appengine apple appstore aprilfools aralbalkan architecture archive arstechnica aspdotnet aspnet assafarkin astronomy async atmedia atmedia07 atmedia2007 atom audio authentication autocomplete autoescaping avibryant aws backups badges bandwidth barackobama barcamp barcamplondon basecamp bash bayeux bazaar bbauth bbc bbcnews benchmarking benchmarks bengoldacre benlaurie benward berkeleydb beta bigtable billdehora billgates binary blainecook blocks blogger blogging bobippolito boingboing bookmarklet bookmarklets books bradfitzpatrick bradneuberg branching branding brandonaaron brendaneich brettaylor brighton brothercake browsers bruceschneier bsd buckettesting bugs bunniehuang buzz c cache caching cairo calhenderson callbacks camino canon canvas cappuccino captcha cardspace cassandra cdn cern cfp chaining charlesbabbage charlesmiller cheese cherrypy chicagocrime china chrismessina chrisshiflett christianheilmann christopherlenz chrome chromeframe chromium classes clayshirky clickjacking closure closures cloud cloudcomputing cloudfront co2 code codecs collaboration colour comcast comet cometd commandline commentspam community compilers compression computerscience computervision concurrency conditionalcomments conferences contentapi contenttypes continuousdeployment cookies copy copyright corydoctorow couchdb counters cplusplus creativecommons crossdomain crossdomainxml crowdsourcing cryptography csharp csrf css css3 cssaintrocketscience csv ctypes curse cursegaming cvs dabbledb damienkatz danahboyd dancatt dannyobrien danwebb dareobasanjo data databasejournalism databases datablog datagovuk dataportability datastore datauri dates datetime daveshea davethomas davewiner davidcramer davidmbeazley davidrecordon dconstruct deanedwards debian debugger debugging decorators delicious deployment derekwillis design development devfort dewittclinton dickcostolo diff digg dionalmaer directedidentity django djangobook djangocon djangocon08 djangodebugtoolbar djangoorm djangopeople djangopony djangosnippets djugl dns documentary documentation documentcloud dojo dojox dom domains domcontentloaded dontbeevil dopplr douglascrockford draganddrop dragndrop drawing dreamhost drewmclellan drizzle drm drupal duncanrobertson dustindiaz dynamiclanguages ebs ec2 ecmascript edddumbill edeliot edfelten education effbot elasticsearch elections electronicvoting elementtree elliotterustyharold email encoding enterprise ericflorenzano ericholscher ericmeyer erlang escaping etags etech etherpad etiquette eurooscon europython eventio eventlet eventmachine events everyblock evoting extensions fabric facebook fakestevejobs faq fastcgi feedburner feeds ffs firebug fireeagle firefox firefox3 flash flex flickr flickrplaces fluiddb follow fonts foocamp food forms fowa fowa2007 fowa2008 framebusting frameworks fredriklundh freebase friendfeed friends fulltext fulltextsearch functional funny fuse futureofwebapps games garethrushgrove gcap gearman gears gecko generators geo geocoding geodata geodjango geoip geolocation geonames geoplanet geospatial getlatlon gis git github gmail google googleappengine googlecharts googlechrome googlecode googledocs googledoctype googlegears googlemaps googlemapsapi googlereader googlevideo government gpl gps grahamdumpleton graphics graphing graphs greasemonkey gregwilson guardian guidovanrossum gwt gzip h264 hack hackday hackdaylondon hackernews hacking hacks hadoop haproxy hardware hashbanghell hashes hashing haystack hcard heatmaps henrisivonen highrise history hixie hosting hotmail hotstandby html html5 http httponly https i18n ia ianbicking ianhickson ianmansfield ibm ical identity identitytheft idproxy ie ie6 ie7 ie8 ietf iframe iframes images infographics inheritance innodb internationalisation internet internetarchive internetexplorer interview interviews introspection io ip ipad iphone iplayer ipod irc ironpython iso it itunes ixr jacobkaplanmoss jamesbennett jamestauber janrain jargon jasoncalacanis jasonscott java javascript javascriptlibraries jeffatwood jeffcroft jeffreyzeldman jeremiahgrossman jeremykeith jeremyzawodny jetty jinja jit jobs joegregorio joelspolsky joelveitch joewalker johngrahamcumming johngruber johnresig johnsiracusa jonhicks jonudell joshberkus journalism jpstacey jquery jqueryui jruby json jsonp jvm jwz jython kansas kapingyee kellanelliottmccrea kevinyank keynote keyvaluepairs keyvaluestores kml korea kriszyp l10n language lanyrd largehadroncollider lastfm latex law lawrence leahculver legal lego leonardlin leopard lesorchard libevent libraries licenses lightningtalks lighttpd lilypond lindenlab links linustorvalds linux lisp livejournal ljworld loadbalancing loading local location lockin logging login logincsrf london london2 longpolling lua lucene lugradio lugradiolive lxml mac macbook macbookpro macfuse machinetags maciejceglowski magic magnolia mailinator make malcolmtredinnick manyeyes mapping mapreduce maps marketing marknottingham markpilgrim markramm markshuttleworth markup marsphoenix martinatkins martinbelam mashup mashups masterslave mathml mattbiddulph mattcroydon matthewsomerville mattmullenweg mattwebb mattwestcott md5 me mediawiki megpickard memcache memcached memcachedb memes memory memoryleaks mercurial messagequeue messagequeues messaging metaclasses metadata metafilter michaeltrier michalmigurski michalzalewski microformats microsoft middleware migrations migueldeicaza mikebutcher mikelmaron mikemalone mikeshaver military minification mit mobile models modpython modwsgi mongodb mongrel monitoring monkeypatching mono moonlight mootools mozilla mp3 multidb music mvc mymaps myopenid mysociety myspace mysql namespaces nasa nataliedowne nathanborror nedbatchelder neilfraser netscape networking newforms newformsadmin news newspapers newyorktimes nginx niallkennedy node nodejs noscript nose nosql nytimes oauth objectivec ocr offline ogg olpc onload ooxml opacity opencv opendata openid openid2 openlibrary openplatform openrightsgroup opensocial opensource openstreetmap opentech opentech2008 openweb opera operations ops optfunc optimisation orange orbited ordnancesurvey oreilly org orm ormcaching oscon oscon07 osx owasp oxford oxfordgeeknight2 oxfordgeeknights oxfordgeeks packaging pagerank parallels parrot parsing passwordantipattern passwords paste patents patterns paulford paulgraham paypal pdb pdf performance perl perlbal personal petermichaux petervandijck philgyford phishing photography photos photosynth php php5 physics pil pingback pip pipes piracy placemaker plugin plugins plurk png pngs podcast politics popfly portablesocialnetworks post postelslaw postgis postgresql power pownce ppk pr presentations presenting pricing privacy process processes productivity profiling programming progressiveenhancement projects protocolbuffers prototype proxy psychology pubsub pubsubhubbub pycon pyconuk pylons pyobjc pypy python python3 queryset querysetrefactor queue queues rabbitmq radio rafecolburn rails rdf realtime realtimeweb reddit redhat redis regex registration regularexpressions releases replication rest restful revcanonical rfc richardcrowley richardjones richskrenta richtext robertocallahan robots royalmail rss ruby rubyonrails russellbeattie ryantomayko s3 safari samedomain samruby sanfrancisco scala scalability scaling science scottkveton scottschiller screencast screencasts screenscraping scribd search secondlife security securitytheatre selectors semantic semanticweb seo sessions settings setuptools sha1 sharding sharecropping shell signedcookies signing silverlight simonwardley simpledb sinatra sitepen sitepoint sitespecificbrowsers sixapart sizzle skillswap slidecast slides slideshare snowleopard soap social socialgraph socialmedia socialnetworks socialsoftware socialwhitelisting software solr sourceforge south soviet space spam speaking specification sphinx spidermonkey spongmonkeys sql sqlalchemy sqlinjection sqlite sqlserver squid squirrels ssh ssl sso stackoverflow standards starling startup startups starwars staticmaps stdlib steampunk stevejobs stevesouders steveyegge storage streetview stuartcolville stuartlangridge subversion sun sunmicrosystems svg swf sxsw syndication syntaxhighlighting sysadmin tagging tags talks tamarin teamfortress2 techcrunch technorati tedleung templates templating testing textmate tf2 thebigpicture theguardian theoschlossnagle threading threads timbray timemachine timezones timoreilly tinyurl tokyocabinet tokyotyrant tomarmitage tomcoates tomsteinberg tomtaylor tomwatson tools torchbox tornado trac trackback translation travel tunisia turbogears tutorial tutorials tv twisted twitter typography ubuntu ui uk ukgovernment undo unicode unittesting unittests unix unladenswallow unobtrusivejavascript unobtrusivescripting upcoming uploads urls usability v8 validation validator valve varnish verisign versioncontrol versioning video views virtualenv virtualisation virtualization vista visualisation visualisations vml vmware vox vps vulnerability w3c washingtonpost wasp web web2 web20 web2expo webapis webfonts webhooks webkit weblog webrunner webserver webservice webservices websocket webstandards webstock whatwg whereonearth whitelisting whoosh whytheluckystiff widgets wifi wii wiki wikileaks wikinear wikipedia wildlife wildlifenearyou wilsonminer windows wired wordpress wordpresscom workers worm writing wsgi wsstar xfn xhtml xhtml2 xkcd xml xmlhttprequest xmlrpc xmpp xrds xss xtech xtech2007 xuacompatible xulrunner yadis yahoo yahoopipes ydn youtube yql yrb yui yui3 zacharyvoase zeppelins zeromq

You can view the intersection of up to three tags by navigating to /tags/tag1+tag2/.
A django site