Reliably Broken
Notes for logging with Python on App Engine
These are my notes for how logging works for Python applications on Google App Engine and how it integrates with Cloud Logging.
September 3, 2021
Find your website's URL on Cloud Run
If you have a Python app on Google Cloud Run, how can your app determine its own website URL?
July 25, 2021
Finding the Cloud Tasks location from App Engine
When using the Google Cloud Tasks API you need to specify the project ID and location. It would be good to not hard-code these for your app, and instead determine the values when the application starts or on first using the API.
June 13, 2021
Metadata on App Engine
There are various bits of metadata about your project and the current request available to your Web app when running on Google App Engine. Let’s see what they are.
May 27, 2020
Tiny speed-ups for Python code
Here’s a bunch of examples looking at micro-optimisations in Python code. Testing if a variable matches 1 or none of 2 values You have a variable and want to test if it is any of 2 values. Should you use a test for membership with a tuple? Or a test for membership with a set? Or just use 2 comparisons with a logical or?
June 16, 2018
Jinja2 templates and Bottle
Although Bottle’s built-in mini-template language is remarkably useful, I nearly always prefer to use Jinja2 templates because the syntax is very close to Django’s template syntax (which I am more familiar with) and because the Bottle template syntax for filling in blocks from a parent template is a bit limiting (but that’s kind of the point).
December 4, 2013
Grouping URLs in Django routing
One of the things I liked (and still like) about Django is that request routing is configured with regular expressions. You can capture positional and named parts of the request path, and the request handler will be invoked with the captured strings as positional and/or keyword arguments.
June 23, 2013
Testing with Django, Haystack and Whoosh
The problem: you want to test a Django view for results of a search query, but Haystack will be using your real query index, built from your real database, instead of an index built from your test fixtures.
December 16, 2012
Optimizing queries in Haystack results
My Adobe software updates app (which uses Haystack + Django to provide a search feature) has a very inefficient search results template, where for each search result the template links back to the update’s related product page.
December 11, 2012
How to fix "ghost" files in the Finder
Sometimes the Mac Finder can get its knickers in a twist about files that you ought to be able to open just fine but Finder says no. You may see a message that says “Item XYZ is used by Mac OS X and can’t be opened.”
August 13, 2012