Software Engineer

Week -1

What did you get done this week?

1. This week I went ahead and got my blog setup for the project

2. I had discussions with my faculty at CMU regarding the project and got some great ideas from them.

3. I have the project all configured on my laptop and have the prototype I made all ready to be integrated with the code.

Any Blockers? None Yet

What I plan to do next week?

I will be starting of the main development according to schedule and be making some more prototypes and having them validated by the mentor.

Week 0

This week I went ahead and had all 3 projects from the previous GSOC season installed locally and tested them.


1. The Docker version of spark isn’t very stable.

2. The EEG Data Analysis project has a lot of hardcoded strings making it difficult to connect to a remote spark cluster.

3. The tests in the project used a lot of harcoded repositories which don’t exist normally.

Blockers: None

Plan: Going to fix the tests and hardcoded interfaces before next Wednesday.

A meeting with the mentor has also been scheduled for the next week

Week 1

This week was officially Amazing!!

I had a chance to talk with both my mentor @PeterJezek and @Lukas from the INCF foundation.

We discussed our short-term objectives and began our development work. I have successfully implemented the integration between the visual and the programming interfaces of the project.

I have a new repository up at Which is an annotation library.

Blockers: I ran into some trouble due to my lack of experience with Java annotations, but my mentor suggested me to stop development, read about it and think about the architecture for a while and it paid off.

I overcame the blocker and have the annotation library all set.

Plans for next week:

We’re going to package the application as a separate library and also have a new project hosting the GUI interface on a web server.

Week 2

This week we made a lot of Progress!

The main structure of the project is complete!!

Users can now create their own project and use our library to annotate their inputs outputs and execute functions.

These annotations then can be parsed by our web server

This web-server then allows you to draw custom workflows and upload existing workflows.

An execute button lets you run the workflow.

Blockers: I’m still trying to figure out the best way of executing multiple jars.

Plans for next week: Dealing with more input/output types and handling multiple jar executions

Week 3

This week was rather eventful too!

I have successfully eliminated the blocker of executing multiple JARs

There were multiple challenges involved including heavy usage of reflection, object serializations and Jar file uploads. The biggest, however, was handling the spark context which is difficult outside the Java executable Jar environment.

However, a lot of stack overflow search helped me overcome the problem. My mentor was very encouraging and gave me a lot of valuable feedback during the week. And we are all set to work on the first evaluation now. Some rough edges here and there need to be worked out but I think I am very close to the goals of my first phase.

Blockers: None at this point, Waiting for today’s testing session to reveal problems and to get valuable feedback from the mentor.