James Tunnell

work, thoughts, and whatnot

Ensembles: An Open Source Album

I put together some of my old ensemble compositions to make an album, of sorts. The important detail, I think, is that the music is all produced “from source”, so it starts as source code and through processing becomes a MIDI file you can listen to. The code for the album is available at my Github repo, album-ensembles, along with instructions for installing necessary software and running build commands.

SEL Presentation

My Spring break started out uneventful, just relaxing with my family. Then I recieved a phone call to set up an face-to-face interview in Oregon. Great. Change of plan. Fate wasn’t through yet, though. On my way to the interview, I got another call to set up an interview, this time with Schweitzer Engineering Labs in Pullman, WA.

As part of my interview, they’ve asked me to make a technical presentation. Well, what a perfect opportunity to put together a presentation for my thesis! So I’ve done it. It’s long (55 slides). Here it is.

SEKE Paper Submission

Instead of pushing ahead to present my proposal, I’ve spent the last few weeks turning the proposal into a paper (available here on Github) for submission to the Conference on Software Engineering and Knowledge Engineering (SEKE 2015). This is something that I have never done before, so I’m very grateful that I had Dr. Anvik to co-author the paper with me. The paper would probably fit well into the Measurement and Empirical Software Engineering category. But, whether the paper is accepted or not, I appreciated the chance to experience the process. And we can always improve it and resubmit to another conference.

My Proposal Is Finished

The last few weeks have been very productive for my thesis work. The main challenge has been leaping the intellectual hurdles in understanding the pertinant aspects of time series modeling, especially the modeling methodology. But, thanks to my newly discovered and very helpful resource on time series, Dr. Kathryn Temple, I have finally been able to talk to someone about the gory technical details. So I now have a solid, working proposal document (see the latest version here). Now as soon as I can get a committee together, I’ll be able to present my proposal and get this show on the road!

Hey, I Built a Website!

I built a website! Yes, I know, there are a lot of websites already. But this is one that I built, not that it’s special because of that, but it does explain my excitement.

My client is the Ellensburg Homeschool Co-op, and the website is designed especially to make student registration easy for parents and administrators to deal with. Check it out at http://www.ellensburghomeschool.com.

More on the Thesis Proposal

I’ve spent some time studying the high-level problem statement outlined in my last post), and I’ve identified one of the main obstacles to implementing the Next Release Problem (NRP) in actual software project planning.

My Thesis Proposal

I’m writing up my proposal for the work I’m planning to do on the Next Release Problem (NRP, see my previous post) for my thesis. but here is a rough problem statement:

For SW release planners to make use of the NRP, they need a process for mapping many raw measurements, taken from a SW project, onto the nicely abstracted space designated by the NRP.

The Next Release Problem

I have spent a few months now trying to select a topic for my thesis, and I’ve settled on the Next Release Problem (NRP). It’s one of several problems being worked on in the area of Search-Based Software Engineering (SBSE). I only recently discovered SBSE while I was looking into the possibility of optimizing software development task assignment, as suggested by my thesis advisor, Dr. John Anvik. Already very energized by a recent stumbling onto Operations Research, I was glad to see it being applied in the area of SW engineering (where improvement is definitely needed).

Implementing the Genetic Algorithm

Another project at school this quarter required me to implement the genetic algorithm (GA). It was a bit of a fun project, mostly because the GA is a metaheuristic, so its ripe for reuse. In fact, I used the same GA library on three separate problems. The satisfaction of reuse really motivates me to provide improvements to the library.

The Code

The code was written in Ruby. There are a few examples included that you can run right away. The README should help get started.

https://github.com/jamestunnell/evolve