The Interview (continued) and Pyblosxom Caching
Today, I went in to the actual company where I am applying (previously, I had
only worked with the recruiter). The interview was actually about as pleasant
as an interview can be. I was interviewed by the guy that runs the group where
I would work, and a senior programmer in that group.<p>
The first interview was
very conversational; it was like we just talked for an hour, and he told me a
lot about the company without being asked. The second interviewer, the senior
programmer, did the more technical half of the interview, asking me more
specifically about my programming and hardware experience. We went over
technical stuff for around a half hour, and then the interview was more
or less over.<p>
I may have to go back to the company so that I can interview with another
senior programmer, who was not in the office today. The job seems like it'd
be challenging, so I hope that I get it. I didn't have to worry about my PL/SQL
skills, because they basically told me they'd send me to a class for it if 
they hired me.<p>
Sorry if this is incoherent, I'm stressed and tired.<p>
<h2>Pyblosxom caching</h2><p>
I wrote a new general-purpose filelist handler so that I can begin trying to
cache frequent queries to pyblosxom. Just like my pathinfo handler, it runs
with speed nearly equivalent to the default, but seems a lot cleaner to me. I
should note that <a href="http://jakarta.apache.org/jmeter/">jmeter</a> is
a very cool load-testing tool, and I am now using it to test the performance
of my plugins.<p>
Once I had that written, I wanted to create a pathological test case for my
filelist handler, so I wrote a little script to create a hierarchy of 
gibberish blog entries:<p>
<h2>gibberish.py</h2>
<textarea cols="50" rows="10">import random, os

iter = 3500
dircount = 0
filecount = 0
depth = 0
count = 0
for i in xrange(iter):
    r = random.randint(0,99)
    if r < 10:
        dircount += 1
        d = 'gibberdir' + str(dircount)
        try: os.mkdir(d)
        except OSError: continue  #why do I get "file not found" errors?
        os.chdir(d)
        depth += 1
    elif r < 20:
        if depth > 0:
            os.chdir('..')
            depth -= 1
    else:
        filecount += 1
        fname = 'gibber' + str(filecount) + '.txt'
        f = file(fname, 'w')
        gibberish = 'lorem ipsum set amet dolor motherf$%^er!\n'
        f.write(gibberish * (r*29))
    if i%100 == 0: print "%d iters" % i
print "%d files, %d dirs" % (filecount, dircount)</textarea><p>
I then started to work on the caching code, but ran into problems pickling
FileEntry objects. Once I can pickle FileEntries, I'll have a working cache
for pyblosxom (whether or not it speeds things up), but until then all I've 
got is a bunch of errors.
<!-- keywords: interview, job, pyblosxom, cache, python, computer -->
<!-- time: 11-18-04 00:38 -->
