Author archives: Mike

RSS feed of Mike

Lazy Caching Proxy Results in Nginx

If you are using nginx as your front-end server for Django, you can also use it as a proxy cache (for smaller websites). You configure the cache like so:

proxy_cache_key "$scheme://$host$request_uri";
proxy_cache_path  /var/blog/cache  levels=1:2  keys_zone=blogcache:120m;
proxy_temp_path   /var/blog/proxy;
proxy_cache_valid 200 302  5m;
proxy_cache_valid 404      1m;
proxy_cache_use_stale updating;
proxy_cache_bypass $cookie_sessionid;
proxy_no_cache $cookie_sessionid;

The proxy_no_cache and proxy_cache_bypass lines ...

Continue reading

Blog Rebooted

I've moved the blog onto its own VPS, running Zinnia (a Django based blog platform). It's using the Zinnia Bootstrap theme, and hopefully most of the old content will have ported over properly. The server has a (free) SSL certificate, so you can, should you wish, browse or comment using SSL (I really can't imagine ...

Continue reading

Playing with EGL platform for PyOpenGL

Played around a bit today with generating an EGL wrapper (for mesa-egl).  No real reason for it, other than I wanted to see what EGL is like.  One thing that shows up is that the current idea of a "platform" in PyOpenGL is a little too limited. EGL is cross-platform, and apparently can work with ...

Continue reading

QIII Shader File Parser added to Twitch

So after yesterday's post, you *must* have been thinking: "where *are* all those textures"? No one has 30 missing textures in a map level. A few of them seem like something that might have been hard-coded, "noshader" "clip" and the like, but there's no way those "sky" textures were going to be hard-coded to content ...

Continue reading

Added Textures to Twitch this evening...

I've been playing at writing a small Quake III BSP map rendering engine using PyOpenGL (and OpenGLContext, for now) when I get the bug to do 3D.

Today I added basic texture rendering for "simple" surfaces (non bezier spline patches). With that you can wander around (unzipped) maps and tell what's going on, but nothing ...

Continue reading

Video from PyCon.ca is up...


The video has a number of drop-outs, and as noted elsewhere, it turns out that the section on Python 3 was wrong. Sigh. Python 3 did not clean up the profile/cProfile duality as it did for all other name/cName pairs, so Python 3 profiling works as long as you use Python 2 tools to process ...

Continue reading

PyCon.ca Tools Sprint wrap-up (a bit late)

We just had two people out to the Tools Sprint, myself and Alex Volkov (of PyGTA fame).  Alex ported gprof2dot to Python 3, which was, as usual, complicated because the codebase already handled Unicode in various areas and because it is explicitly supporting very old Python versions.  Along the way we discovered that Python 3 ...

Continue reading

Coldshot reaches loose equivalence, now the fun part...

So as of now I can load Coldshot profiles into RunSnakeRun.  So far they are no more informative than a cProfile profile.  Now the fun part is seeing what kind of tools can actually be fashioned when you have all of this information...

Some ideas

  • per-thread views (I think that's a given)
  • browse into set ...

Continue reading