Author archives: Mike

RSS feed of Mike

Templated PyDoc-ish Tool?

So I'm once again trying to fix the PyOpenGL/OpenGLContext pydoc stuff.  They've been using a hacked up version of pydoc for years (with a brief excursion into epydoc with extensions) and somewhere along the way the changes to the structure of the libraries means that the output is now basically useless.  The key here is ...

Continue reading

Single-File Tutorials, Gimmick or Valuable Constraint?

I just finished writing the code for the 12th shader tutorial, which is basically taking the 11th tutorial, which is still a "single-file application" tutorial, and converting it to use the OpenGLContext Shader scenegraph nodes and generally look (slightly) more like a real-world rendering engine.

I like single-file tutorials, but really there's a point at ...

Continue reading

Shader Tutorial Cleanup

Beginning work on cleaning up the introductory shader tutorials.  Basically separating out the various component calculations into reusable functions and making it possible to use generic scenegraph objects for the geometry to be displayed.  Working on that because it really seems that beyond a certain point there's diminishing returns in working on the shadow tutorials ...

Continue reading

Cleaning up Shadow Tutorial Code

Grabbed some time this evening to clean up the shadow tutorial code.  It's now refactored into reasonably small methods, supports N lights, uses the cache to store textures/fbos, and generally is a lot less messy.  I'm currently debating what the next step in the tutorial should be.  My current thinking is to use shaders to ...

Continue reading

Adding user-authentication to your Twisted web-site (Another HowTo for undocumented features...)

Following along from the recent post describing how to make your Twisted web-server use SSL sockets, a slightly more involved HowTo describing how to setup HTTP authentication and Twisted's cred module. First, before you say anything, yes, this (using Nevow to guard regular twisted.web) is the "right" way according to the Nevow developers (Nevow is ...

Continue reading

Minimal example of using twisted.manhole (Since it took me so long to get it working...)

Okay, so you want to take a Twisted server and provide a way to execute arbitrary Python code within it while it is running. A few moments of googling gives you the information you need, namely that you want to use the twisted.manhole package. A few minutes more and you come across what seems ...

Continue reading

HowTo: Create an SSL web-server in Twisted (Crude approach, but it works...)



The Twisted web howto doesn't mention the fairly common task of creating an SSL-secured communications channel for a web server. The process of doing so is fairly simple, but it requires tracking down a few pieces of information, so I've collected them here:

First things first, to create an SSL server, you need a private ...

Continue reading

mDNS service to share apt caches?

Working on the Research in Action follow-up I had a thought.

Is there a package I can install on a (Debian-based) machine which would automatically advertise to all machines on the network (via mDNS or the like) that I have (signed) repository sources and .debs available?

The idea being that an "Internet Bus" would update ...

Continue reading

Framebuffer Object shadows

I also added a FrameBufferObject implementation to the "special effects" tutorial path for OpenGLContext. This uses the convenience wrapper for frame buffer objects which I just added to PyOpenGL. The convenience wrapper just makes the ARB and EXT variants of the entry points available via alternates and provides a checkFramebufferStatus function which implements the ARB ...

Continue reading

Research in Action

The other event of the day yesterday was University of Toronto's Research in Action show. This is a booth-based presentation of various research, whether formal or informal, being done at the University. My interest is primarily in figuring out how to:

  • Use Open Source to make it easier for researchers to make their work relevant ...

Continue reading