GSoC ’09: Mesquite

Was it something I said? July 16, 2009

Filed under: Uncategorized — kasiahayden @ 9:34 pm

Ah, the melancholic musings brought on by a silent tester. The pain of seeing my code ripped apart doesn’t compare to it not being reviewed at all, oh taciturn tester.

Maybe by tomorrow you will resurface (and hopefully not be alarmed by my numerous emails)  and spare me from my misery.


Testing 123

Filed under: Uncategorized — kasiahayden @ 10:44 am

I solved the problems of getting columns displaying, of getting a reference to the original file location (that was lost after nexml saved the file as something new, with a .nex extension), of failing gracefully (no horrible crashes when a user tries to see the NeXML annotations on a file for which there are none). Finally, made my module’s requisite corny splash image. Does it recall 1950’s vacation advertisements?:


Now I’m in the testing phase. Which is uneventful so far. All of the little problems that have come up from my mentor have been decently quick for me to fix. As for working with my student tester, I realize now how tricky it can be trying to help someone through steps necessary to get a program working when you’re not sure of their skill level and where they are in the process of getting things set up. Are they struggling with things that you could help them with or are they busy with a different project at the moment? Are they going to be vocal when they run into problems of pretend they understand things that they don’t, letting the problem snowball?

In the meantime I’m learning the dot language and working with graphviz, in prep for the next stage of my project. (Rec: if you’re going to install GraphViz, just save your time fiddling with package managers and compile from source.)


Eclipse’s Attempt at Sabotage and How It Was Thwarted July 13, 2009

Filed under: Uncategorized — kasiahayden @ 1:42 pm

When I started up my Eclipse recently it got as far as seeming to load properly and then hanging, displaying an incredibly helpful blank error pop-up.

Sifting through message board advice for something that seemed likely to have the least chance of unintended consequences I found this:

I ran into a problem where the Eclipse just hangs and shows a blank screen on start up. On analysis I found that its due to the perspective that its trying to open with. I could not find the problem thats causing this but I wanted to open the project and do some work on the java code base.

Since I cannot change the perspective from the eclipse workbench I looked around and found the file that can be edited to make eclipse open in the perspective you want.

It is workbench.xml file that will be under %workspace%\.metadata\.plugins\org.eclipse.ui.workbench folder. Search for perspectives element and modify it to open up in the perspective you want. For e.g. to open in java perspective you can use the following

<perspectives activePart=”org.eclipse.jdt.ui.PackageExplorer” activePerspective=”org.eclipse.jdt.ui.JavaPerspective”>

Ref: YourMitra.

The corresponding line in my workbench.xml file was <perspectives activePart=”org.eclipse.ui.console.ConsoleView” activePerspective=”org.eclipse.jdt.ui.JavaPerspective”> which, when replaced, allowed Eclipse to come to life once again.


On a tangent, it seems like a decent portion of the solutions that work don’t work for the reasons they should. Like in the above, our activePerspective attributes were the same. The problem instead was that our activePart attributes were different. So of course that leaves me wondering if others solutions out there that target fixing the perspective actually work because they coincidentally effect the real source of the problem. And how many solutions in the world are just a fallacy of cause and effect? Can’t help but wonder


Post number… 3? July 12, 2009

Filed under: Uncategorized — kasiahayden @ 1:22 pm

Right, I missed the point that our student blogs can be useful for our organization to follow our progress and instead thought it was more for my own benefit (so ditched it when time became tight).

This weekend I’ve been working on figuring out how to get columns to display in imported nexml files. The code I wrote to display the nexml annotations finds which annotation to display based on the highlighted cell’s row and column, and if the column hasn’t made it to the matrix from the original xml file then my poor annotations can’t make the connection.

When testing that my nexml viewer worked correctly I simply copied and pasted a few key column names in, but I somehow don’t think that users will go for that, so it’s time to fix this problem.

It took me a little while to figure out that the nexml module probably wasn’t reinventing the wheel and calling methods to write the nexml file, much less creating it’s own methods to do so.

Then, the problem is probably wherever the main project tried to pull out character names from the project that the nexml module spit out, right? Right. (Or at least I’m mostly sure.)

In the getCharStateLabels method in ManageCategoricalCars, Mesquite is only able to get so far as to tell how many characters there are with data.getNumChars(). After that the boolean methods data.characterHasName, dData.hasStateNames(i) and foundInCharacter all return false. No good!

So now I have to figure out how the character names should be written in data so that they’re readable and then go back to nexml and fix that. Taxa are pulled from data, so I might get some hints from examining what works there.

Edit: Pretty sure that all that’s needed is for the characterNames array from CharacterData to be filled up somewhere in nexml, when it’s parsing characters. It makes sense that taxa names are pulled just fine in comparison, since what’s needed for that is guaranteed by the CharacterData constructor.

getCharStateLabels in ManageCategoricalCars

Since 5/23 June 9, 2009

Filed under: Uncategorized — kasiahayden @ 10:12 pm

Now that my finals are over and I’ve played GSoC catch-up for a week, I’m starting to get into the groove. This week is about reviewing the Mesquite tutorials and then getting the code behind them to be able to write a detailed project plan for what I’ll code next week. This is going to be at least the third or fourth time I’ve gone through them, so I’m starting to catch the big picture.

I love that feeling.

I get the sense that as I keep at this (programming, that is) I’ll be able to hold bigger and bigger programs in my head. Maybe it’ll take shorter to comprehend other people’s programs too? I hope.

Today I showed a friend some a program I’d done in Processing. I hadn’t looked at it in a while, but the code was still completely fresh in my mind and I had no problem showing him around.

I kept thinking -why aren’t piano pieces like that? La Fille aux Cheveux de Lin is already slipping away and I’ve only had it on the shelf for a week. Probably because I’m relying too much on muscle memory and haven’t put in enough time to memorize the notes. Gould had the right idea, reading scores like books..

Doing some reading on IEEE standards and came across NaN values; Not-a-Number values.  Now every time I see my friend Nan I think, “You are not a number.” As if I need anymore bad inside jokes with myself. 🙂


Google Summer of Code 2009: Mesquite Project May 16, 2009

Filed under: Uncategorized — kasiahayden @ 5:21 am

This summer I’ll be participating in Google Summer of Code, working on extending Mesquite to include Phenex-genereated Nexml files.

It’ll be my first GSoC and I’ll be blogging about my progress here.