Today marks the final post in our series highlighting new Google Summer of Code organizations for 2014. Organization administrators from BioJavaScript, Julia and GNU Octave discuss their students’ projects below.
BioJavaScript (BioJS) is an open source library and standard for visualization of biological data on the web. BioJS provides widgets (a pre-made piece of code that performs a task needed in lab software) that can be easily reused, combined and extended, following a common architecture and documentation. BioJS is great for labs with few resources to be able to reutilize, find and share existing functionality.

For Google Summer of Code (GSoC) 2014, our students worked on a series of widgets such as a taxonomy viewer that is zoomable at different resolutions and a phylogenetic tree viewer that displays proteins in a tree and branches according to their evolutionary proximity.

By Manuel Corpas, Organization Administrator for BioJS

Julia is a new dynamic programming language aimed primarily at technical computing. It is designed to be both high-level and high-performance, thus replacing the need to have separate languages to achieve these goals. Development on Julia started in 2009 and the project has since become a global collaboration—over 250 collaborators around the world have written close to 20,000 lines of code in the core Julia repository alone.

2014 marks our first time participating in Google Summer of Code and our three students have finished up their highly successful projects:
  • Simon Danisch is working on volumetric, particle and surface visualizations entirely in Julia and OpenGL. He has been blogging about his progress and all his code is available here on GitHub.
  • Mikes Innes is building a Julia environment on top of the excellent Light Table platform. It will support building big projects in small steps by modifying them as they are running. It tightly integrates tools such as the profiler and the upcoming documentation and debugging systems, with the aim of being accessible for novices and powerful for seasoned Julians. His work is available through the LightTable plugin manager as well as on GitHub.
  • Shashi Gowda is working on making use of the recently added real-time interaction support in IJulia notebooks. It will allow users to create widgets including sliders, drop-downs, colorpickers and other input elements in their notebooks and connect them to plots, DataFrames and other output. As part of this work he has also been working on React.jl, an Elm-inspired reactive-programming package for Julia. His code is available on GitHub.

By Keno Fischer, Organization Administrator for Julia

GNU Octave is a high-level interpreted programming language primarily intended for numerical computations. It provides a command-line interface for solving linear and nonlinear problems numerically and for performing other numerical experiments using a language that is mostly compatible with MATLAB.

We are excited to have three GSoC students who worked with us this summer. Their projects include:
  • Improving finite element modeling capabilities through an interface to FEniCS
  • Adding incomplete matrix factorization capabilities
  • Improving the handling of sparse matrices

By Carlos Fernandez, Organization Administrator for GNU Octave