Archives 2010

The "Shiver" Moment in Presentation Writing

There's a moment in writing presentations; you are dispassionately writing and editing point-form notes about the things you want to talk about, a kind of disjoint series of ideas that you know all fit together somehow, and you're really just playing with them to see how they fit, then you take a bit of time ...

Continue reading

Float == Float4, Ya Pythonic Wanker!

When you're using SQLAlchemy you sometimes get into a fog where everything's so abstracted away that you forget there's a regular old PostgreSQL or SQLite instance under there. Thing is, there *is* a PostgreSQL instance under there, and if you use a Float data-type for your code, it will work perfectly well under SQLite (which ...

Continue reading

PyCon Dress Rehearsal in 1 week!

The PyCon Dress Rehearsal on the 16th at PyGTA is now slightly less than 1 week away.  3 presenters.  Listen, give feedback, enjoy, rinse, repeat, rinse, repeat, chat.

[Update] Unfortunately, Greg Wilson had to cancel, but that means more time for the other two!

Best pattern for "captive" servers in testing?

So I'm wondering what other people do in this scenario:

  • You have an executable that provides a (networked) service
  • You want to test against the executable's service
  • You want to be able to start/stop the executable during the tests
  • You want to be able to run multiple executables between test suites (i.e. with different configs ...

Continue reading

ab is a cruel mistress

Got started on testing performance tonight for ChatTrack.  Wow.  Nowhere *near* where it needs to be, not even on basic page rendering... seeing something like 14.5rps sustained on 1000 requests with 100 concurrency, and there's significant numbers of requests taking more than 4s to reply (eep!).  And that's on the laptop, the poor little ...

Continue reading

Specs can really suck the life out of you...

Just spent hours tracking down the "DOCSIS TLV" config-file format and implementing it.  This is one of those things where the project spec says "do what that spec says to do", pointing you at a deprecated version of the big spec, then the updated version of that spec says "do what this other spec says ...

Continue reading

Quicky testing TFTP Client (and server) with tftpy

To run a server (easy_install tftpy first):
from tftpy.TftpServer import TftpServer
TftpServer( 'tftp' ).listen( 'localhost', 8069 )

Which serves up the files in the 'tftp' directory on port 8069 (69 is the standard tftp port).  To download an existing file from the server:

from tftpy.TftpClient import TftpClient
TftpClient( 'localhost',8069).download( 'exists', 'downloaded.txt' )
which should download ...

Continue reading

Two Weeks to PyCon Dress Rehearsal @ PyGTA

Mark your calendars.  Mark your icals. Mark your minds.  3 PyCon presenters will present at the regular Greater Toronto Area Python User's Group (PyGTA).  Real-time feedback tools, a chance to chat with the presenters and give feedback after the talks, and a rollicking good time for all.  7pm -> ~11pm Tuesday the 16th.  Be there, ...

Continue reading

Linux is kinda fun...

You're on a Linux box.  You want to set up an unprivileged user (yourself, maybe) to be able to run on port 80... how do you do it?  There's actually quite a few ways, some that use permissions in security-focused versions of linux, some that have root run the process then shed privileges (the traditional ...

Continue reading

Didn't even think to enable epoll in Twisted+TG

Enabling the epoll reactor in Twisted is a two-line change:

from twisted.internet import epollreactor
epollreactor.install()
from twisted.internet import reactor

From there on the app is unchanged.  I didn't have time to really test that today (paying work and all), but I don't really expect to see much of a change.  EPoll is about scaling up, ...

Continue reading

Monthly archives

Previous year

2009

Next year

2011