Author archives: Mike

RSS feed of Mike

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

Testing and Compressing and Timing, Oh My!

Finally got a URL set up for the little chatting application.  And actually sat down and played with it for a while with the 3 browsers I have handy (Firefox 3.5, Chromium and IE 8).  Good news is that (after having to fix a known jquery-on-ie bug), it all seems to pretty much work.  Bad ...

Continue reading

PyCon 2010 Schedule is Up

How did I miss the announcement?  Looks like I'm the last talk on Saturday afternoon.  Greg's talking at the same time on Basie, Ned on Testing.  Hrm, maybe don't need to worry about my server melting.  Anyway, the schedule is up, now we can all start planning which sessions we have to give ...

Continue reading

Ported back to Twisted (but with TurboGears)

For those who are wondering about the Twisted + TurboGears posts.  Yes, I did move ChatTrack back to Twisted, and I did go with an embedded WSGI-hosted TurboGears for the "webish" stuff.

As some of you may recall, I started off in December writing my little tool for real-time feedback using Athena... and wound up ...

Continue reading

Getting close on ChatTrack

I'm almost to the point where I want to get a few friends playing with the tool.  I've still got Search, User "Blogs", RSS Feeds, and Highest-rated views to do, as well as lots of clean-ups.  Also need to get the domain-name set up for the poor little server.

I expect that the VM will ...

Continue reading

Making your Twisted resource(s) a url sub-tree of your WSGI resource...

For those paddling about in the Twisted + WSGI-hosted app world (here I'm playing with TurboGears), one thing you may wind up wanting to do is to have your WSGI application be the "default" URL-tree, with only certain sub-trees handled by Twisted.  To be more concrete, say you want your URLs to look like this: ...

Continue reading