2011
A Curious Course on Coroutines and Concurrency
by greutThis tutorial is a practical exploration of using Python coroutines (extended generators) for solving problems in data processing, event handling, and concurrent programming. The material starts off with generators and builds to writing a complete multitasking environment that can run thousands of concurrent tasks without using threads or using code based on event-driven callbacks (i.e., the "reactor" model)
2010
2009
Tornado Web Server Documentation
by greutTornado comes with limited support for WSGI. However, since WSGI does not support non-blocking requests, you cannot use any of the asynchronous/non-blocking features of Tornado in your application if you choose to use WSGI instead of Tornado's HTTP server. Some of the features that are not available in WSGI applications: @tornado.web.asynchronous, the httpclient module, and the auth module.
in other words: WSGI sucks
Joe Gregorio | BitWorking | Projects | URI-Templates
by greut & 1 otherURI Templates are strings that contain embedded variables that are transformed into URIs after embedded variables are substituted. This specification defines the structure and syntax of URI Templates.
URI templates by Joe. Can this be used to describe the routing made by a web app?
Melkjug Project - OpenPlans
by greut (via)Melkjug is a free open source web-based RSS news reader that personalizes your feeds to show you the most important stuff first.
CouchDB-based alternative to google reader, thanks to the state of NY.
Still Developing...
by greutAdding persistence is something that we will typically all have to do at sometime in most real world web applications and will definitely slow things down a little; so I thought I’d approach the problem using my latest favourite storage engine, CouchDB
a Restish example using CouchDB
evserver - Google Code
by greutEvServer is a lightweight http server, created especially to host python WSGI applications. Additionally, it supports little known Asynchronous WSGI extension, which was suggested by Christopher Stawarz. Using this extension it's possible to create an output html response in many data chunks, without blocking the main server process while your application waits for external resources.
Comet the WSGI way.
Deploying wsgi applications behind Nginx
by greutBreathe deeply and think about how awesome you are
yes, werkzeug + nginx are awesome.
Random pixels » Blog Archive » Pongo - a inexpensive UI lab
by greutEver wish you had your own UI-lab, but can’t build one with all the expensive cameras, big boxes and one-way-mirrors in your house right now?
It's a very small Silverback written in Python
Rabbits and warrens. - Jason’s .plan
by greutThe goal was simple enough: decouple a particular type of analysis out-of-band from mainstream e-mail processing.
Simple introduction to AMQP using RabbitMQ via Python using py-amqplib and txamqp (on launchpad)
Spawning Django - Die in a Fire - Eric Florenzano’s Blog
by greutOn my Apache mod_wsgi setup, I got 235.65 requests per second. That was really good, I thought! However, with the Spawning setup, I got 347.20 requests per second.
another way of deploying WSGI apps with graceful code reloading.
A Unix Utility You Should Know About: Pipe Viewer - good coders code, great reuse
by greut & 4 othersPipe viewer is a terminal-based tool for monitoring the progress of data through a pipeline. It can be inserted into any normal pipeline between two processes to give a visual indication of how quickly data is passing through, how long it has taken, how near to completion it is, and an estimate of how long it will be until completion.
nifty python tool for you scripting toolbox
Canto :: FAQ
by greutI'm not sure how people can stand three-pane readers. Graphical or console, I don't want to tab around multiple windows to read my news. The way I read, I want all of the headlines out where I can see them with minimal cruft. It should be one key stroke to do most common actions.
a python console based RSS reader.
Werkzeug 0.4.1 released! » Armin Ronacher
by greutWerkzeug, the swiss army knife for Python web developers.
the WSGI anti-framework
Xappy 0.5 introduction
by greutThe "xappy" module is an easy-to-use interface to the Xapian search engine.
how to play with Xapian and Python.
true false maybe » SQLAlchemy Migrations
by greutHere's my quickstart on how to get up and running with sqlalchemy migrations under pylons.
how to set up sqlalchemy-migrate for your application.
2008
Fabric - index
by greut & 1 other (via)Fabric is a simple pythonic remote deployment tool.
Capistrano-inspired for Python
simpledb-dev - Google Code
by greutSimpleDB/dev provides a local SimpleDB server, so you can develop offline, without even currently having a SimpleDB account.
a nice usage of web.py
Using Fixture To Test A Pylons SQLAlchemy App — fixture v1.0 documentation
by greutThis explains how to use fixture in the test suite of a simple Address Book application written in Pylons powered by two tables in a SQLite database via SQLAlchemy.
simple way to do unit testing with Pylons
patmatch.py
by greut (via)Erlang-style pattern matching. This defines a decorator ``Inbox`` which turns a function into an inbox that accepts messages (through calling) and dispatches to an implementation.
Scipy - the embarrassing way to code
by greutThe bottleneck in writing code isn’t in the writing of the code, it’s in understanding and conceptualising what needs to be done.
Write Facebook apps using Google AppEngine -- Patrick Crosby
by greutPython module to write FB apps on AppEngine
PottyMouth
by greut & 1 otherPottyMouth transforms completely unstructured and untrusted text to valid, nice-looking, completely safe XHTML.
one of the most over-done task.