You've just got to love
You've just got to love a knitting store open until 8pm! Even I can manage to get there. I retrieved that last skein of bulky yarn that I need for my sweater. Hooray! I also treated myself to a pair of size 13 Brittney needles. Very nice. Inspiration for my next project -- a sweater for my husband.
Unfortunately, no knitting can occur tonight until I finish up some things with my thesis project.
And just what is project that would make me put aside knitting?
Well, last Spring, just when I should have been thinking about which class would be the last one I was going to take before I graduated, I took a class about XML and really got excited about it. You see, there are countless large sources of biological data and almost every source has it's own unique format to parse. Which means that you can spend your life as a bioinformatician just writing parsers.
But XML is nice because you can use the same parsing tools over and over, you just write slightly different scripts to handle grabbing data out of different data sources.
Now, there are two means of doing this. One is based on a DOM (the Document Object Model) the other is based on SAX (Simple API for XML). The long and short of it is that DOM is easy to use from an intuitive sense, but slow and not very good for working with big files. SAX is great for speed and big files, but not very intuitive to use.
At the same time as this happened, I also had come to the conclusion that I wanted to know more about how to design programming languages and compilers. So after talking to a professor who is interested in both, I am working on a project that is meant to take a simple language and convert it into Java code that uses the SAX API to parse XML. This is meant to give you the speed of SAX with the intuitiveness of something like XSLT.
At this point I am just in the early phases of the project. We are still designing the language. Allowing that language to include snips of Java code (so that databases can be talked to and other more complex operations, that are outside the scope of my small language, can be performed) is where I am now. And what I need to finish before I meet with the prof in the morning.
