from Rock import Fort

May 16th, 2006 § 0 comments

Why yes, I have been liv­ing under a rock.

For those who don’t know — I’m get­ting mar­ried in June, so my life has been a lit­tle crazy with that stuff, and try­ing to tie off some of the hem­or­rhag­ing arter­ies at work. No, I don’t think the build­ing will burn down with­out my pres­ence, but I do think I need to tie off some of the key projects I have been work­ing on prior to me van­ish­ing for a a few weeks.

This sort of ties into why I hate vaca­tions. Don’t get me wrong — I know a per­son needs them, god only knows I need one bad — but going away leaves your company/team flat if they have to interface/work on your projects, and it always throws you behind the curve on events.

In any case — things progress. I’ve had my nose buried in the installer sys­tem I’ve writ­ten. I’ve dis­cov­ered a few things which sur­prised me (i.e.: The Sim­ple­HTTPServer stuff in python does not sup­port byte-range sup­port (the inclu­sion of new mod­ules in 2.5 should help that) and all in all, I think my grasp of more abstract con­cepts within python is improving.

RE: A Pre­vi­ous post about libraries, I’ve found myself push­ing the inter­nal QA team to build out a nice shared Python Library which the tests/applications can lever­age as part of nor­mal runtime.

I set the require­ments to be fairly clear — PEP8 com­pli­ance, clear doc­u­men­ta­tion, etc. I’ve also been fairly reten­tive about the “generic” nature of the included libraries — that’s caused some fric­tion when deal­ing with things to be put in, but I see it as the only way to really man­age the library itself.

For instance — say you have a mod­ule from the STL in Python — let’s say the Sim­ple­HTTPServer module.

Now, per­son X comes to me with an imple­men­ta­tion of an HTTP server. Except it’s not just that. It’s an http server that only runs on a cer­tain port, serves cer­tain file types, is not threaded/thread-safe, etc. My ten­dency is to say “no” and to work with them to make it into a less spe­cial­ized ver­sion of the library.

The rea­son is sim­ple — for shared modules/code, I feel it is really impor­tant to take away the meth­ods for the exact imple­men­ta­tion that per­son needs and only include those which lie out­side of that imple­men­ta­tion — the “Generic” functions/methods. This way, the mod­ule is more general-use then highly specialized.

Oh, it’s the story of my career — avoid­ing over-specializtion.

Don’t get me wrong — I think there is a place for spe­cial­iza­tion. By a module’s very nature, that mod­ule is spe­cial­ized into a spe­cific function/role. The spe­cial­iza­tion I am talk­ing about lies directly with the role (i.e: Server Web Pages) of the library, not the imple­men­ta­tion (Server on port 3289, only php files) of the library.

Blech, I’m rambling.

In any case, if you haven’t seen it, Goooogle is talk­ing about hav­ing an Auto­mated Test­ing get together in Lon­don (I’ve never been there) — I was think­ing of typ­ing up a paper for pre­sent­ing, but there’s a bit of an issue with what infor­ma­tion I can share, ver­sus what’s con­sid­ered IP for the company.

More infor­ma­tion can be found here: conference-on-automated-testing

What's this?

You are currently reading from Rock import Fort at jessenoller.com.

meta