Updated Debian packages, and e-mailed out long overdue bills. Getting more comfortable with Python, regular expressions, and dictionaries. Modified the REP batch processor to spit out colorized
Wrote a batch processing front-end to REP that uses the annotated P. falciparum strain 3D7 as its test data source from PlasmoDB and processes the results. The program is written using Python and the Biopython library. The Python Regular Expression tutorial and the Python course in Bioinformatics provided essential information along the way. To ensure correctness, the results were compared against a PlasmoDB gene query for the Pfam domain.
In Biopython, processing FASTA file formats are almost trivial:
it = Bio.Fasta.Iterator(handle, Bio.Fasta.SequenceParser()) seq = it.next() while seq: print seq.description print seq.seq seq = it.next()
comp.lang.python newsgroup is also very helpful. And to close, here are some useful resources available online for Python and Biopython:
- Python Tutorial and Python Library Reference by Guido van Rossum.
- How to Think Like a Computer Scientist: Learning with Python by Allen Downey, for beginners.
- Dive Into Python by Mark Pilgrim, for experienced programmers.
Installed phpMyAdmin on
margum. The tool handles the administration of MySQL over the Web, and works like a charm. And it’s especially useful to have when I’m away from my primary development box. Check it out.
It’s Ryan’s twenty-third birthday. Treated him to dinner at the Outback Steakhouse, followed by milkshakes at Old Dutch. Stephen and Barry joined us. We picked up Stephen’s sister, Mandy, afterwards and eventually ended up at the Bonanza Lounge for karaoke. It was my first time at a Karaoke Bar.
Mandy is quite cute. In fact, I’m a little jealous because our birthday boy got to have all the fun with her. She even sang him a special song. Anyway, the crowd that evening was great and I had an excellent time. I’m fortunate to have good friends like Ryan.
Brooke Schnyder contacted me promptly at one to begin the thirty minute Microsoft phone interview. Brooke is part of the Human Resources department and my interview was consequently non-technical. I didn’t mind. I’m not sure how I did. Subjective interviews like these are difficult for me to assess. Regardless, if nothing else comes out of this, I’ll at least have some more interviewing experience under by belt.
The Microsoft college interview process is somewhat of an enigma, so here’s a quick summary of the kinds of questions I was asked, to give you an idea of the nature of questioning you’re in for at the first phase. Some are obvious, some are there to make sure that you did the minimal amount of company research before applying, and others are reasonable curve balls:
- What type of position are you considering?
- Why do you think Microsoft is a good match for you?
- Why did you choose your field? How did you become interested in computers?
- Why did you choose to attend the college that you did?
- What college course did you find the most challenging and how do you think your college experience will prepare you for a job at Microsoft?
- Why did you become a Teaching Assistant?
- Where do you see yourself in five years?
- What are you looking for in a job?
- Pick a Microsoft product to which you believe you can make the greatest contribution.
- Choose three programming languages that you consider yourself to be an expert in.
- Choose three areas of study that you consider yourself to be an expert in.
And so on. Basically, the phone interview is a way for Microsoft to determine what area of development you would best fit into. If they think I’m a good match, the next step will be to fly over to Redmond and interview with a hiring manager as well as several other Microsoft employees. Phase two. Here’s to hoping.
Cleaned up the MT trackback receive code and added autodiscovery of trackback ping URLs using embedded RDF. The
dc fields are standard Dublin Core elements. Ran out of time, so sending trackback pings to other weblogs on entry update is still not functional. I’ll probably use PHP Trackback to assist me.
Spent the evening chatting with Mark at the Java Vino. It’s a Wi-Fi hotspot. Our conversation began with weblog technology and eventually turned to one of his ASP consulting projects for CEO Tools. Though I haven’t programmed ASP in years, it seems that at the fundamental level, all web languages are essentially the same. Mark appreciated the assistance. He also introduced me to Technorati, a live weblog search tool that has inspired me to explore the world of XML-RPC. The Useful Information Company has a popular XML-RPC implementation and a convenient XML-RPC pear package. Specifically, I’m interested in implementing XML-RPC ping on update in my online journal.
Took a break from audio and focused solely on weblog software development today. Fixed a bug in the RSS feeds involving entity-encoded HTML in descriptions. Turns out that the ampersands in HTML entities must also be escaped. Added support for inline images within entries while adding pictures for Argentina. Fixed a bug in the image gallery code that incorrectly formed URLs. Completely re-wrote the RSS code using Smarty with assistance from the URL rewriting guide. As a result, all categories and search queries are now RSS enabled. Multiple posts per day are now also correctly displayed with time of posting and category. Finally, HTML form ambiguities have been corrected.
Spent more time working with audio applications. In particular, I’m growing quite fond of Cubase SX and Sibelius 3. I’ve mostly figured out the MIDI sequencing stuff at this point but haven’t even touched production. I also have a good CD tutorial of Reason that I need to check out at some point. Subscribed to Giganews. They provide unlimited downloads for twenty five dollars a month.
I’ve found that audio is incredibly storage intensive, but thankfully, disk space is cheap these days. I’m looking into getting a new 160 GB or 200 GB drive from New Egg at some point. Finally, had the need to mount an ISO CD-ROM image and DAEMON Tools came in handy for such a task. It’s a not a new utility by any means but it handles and emulates common copy protection mechanisms, such as SecuROM. Bypassing CD copy protection, especially on games, is a big deal.
Have to call my friend Mark at some point. I missed his dinner party last night, and wasn’t at all feeling well. Probably still exhausted from the trip.