GSoC Students Announced

I’m pleased to announce that the GSoC students are officially chosen, and Google has given us an incredible 18 slots! I think we’re in for a good summer, and we should see some great progress on various parts of Julia’s ecosystem.

We have some familiar faces, and some fresh ones. The students can introduce themselves and their projects here to kick off some discussion; but we hope you’ll bump into each other over the coming months and beyond.



My name is Miguel Raz Guzmán Macedo, I study physics at the UNAM in México, I will be mentored by Chris Rackauckas, and my GSoC project is titled DiffEq-specific differentiation library to ease development of fast native stiff solvers.

We are very interested in numerical methods for solving differential equations in the DifferentialEquations.jl suite.. This sometimes involves passing certain information to the solvers that is quite cumbersome to do by hand, but with ~with the magic of multiple dispatch~ clever Julian programming we will be able to relieve the user of handling repetitive and possibly brittle steps and make for faster, easier to use methods.

Specifically, I will be trying to handle the information the solver knows about the Jacobian to be able to dispatch it to the appropriate solvers and handle the different packages’ interoperability and generality with the method – as well as trying not to cry with git/CI/Pkg issues.

If you see me in the gitter chat, don’t be shy, feel free to ask any Julian question/suggest/critique any code I’ve written – I am here to learn and try my best.

DiffEq.jl has a lot of room for growth and there has been a lot of growth, thanks greatly to the community. Do make suggestions, PRs, and requests - it wouldn’t be so cool presently otherwise!


Side note: anybody with a cool bone to throw about parallel / distributed computing with Julia (baby steps here) would receive +9000 internet points.

Cheers, see ya around.


Hi all!

My name is Harmen Stoppels, I’m from The Netherlands and study Applied Mathematics at the University of Groningen. As part of GSoC I’ll be working on adding more methods to the IterativeSolvers.jl package, such as the Jacobi-Davidson method for eigenvalue problems. Andreas Noack will be mentoring my project.

IterativeSolvers.jl is mostly a building block for other packages such as DifferentialEquations.jl, and a long-term but exciting application would be to do bifurcation analysis where efficient eigenproblem solvers can be used to detect bifurcation points (where the behaviour of a solution suddenly changes qualitatively if the parameters are changed slightly). Probably there are a lot more applications :).

Very excited to be part of GSoC!


Hello everyone!

I’m Animesh Kashyap from India. I am currently pursuing a Bachelor’s degree in Computer Science and Engineering at Indian Institute of Technology, Kharagpur. As part of my GSoC project, I will be working on implementing multiple image segmentation algorithms in pure Julia. Tim Holy will be mentoring my project.

High-level feature detection, object detection and image compression techniques cannot be directly applied to high-resolution images as they might take too much time to run (large time complexity). Image Segmentation provides a nice way to tackle this issue by partitioning the high-resolution image into classes of related pixels. This new image can then be used for object detection or compression efficiently. It has applications in medical imaging, computer vision, recognition, image compression and much more.

Looking forward to awesome summers !!!


Hi folks!

Long time discourse.julialang lurker, first second time poster, Joel Mason here. I’m a PhD student at the University of New South Wales, in Sydney, Australia, working on deep and reinforcement learning in video game environments, with a penchant for interactive data visualisation. Pretty excited to be doing GSoC with Julia! I love Julia.

I’ll be working with the inimitable Shashi Gowda on re-implementing Interact.jl using WebIO.jl, so that we can break Interact free from the shackles of Jupyter, and unleash it on other web technology based Julia platforms such as Atom/Juno, and Blink.jl.

Hopefully as part of the process we will improve the stability of Escher.jl, and increase the flexibility of the UIs you can build with Interact.

Yeah! :tada:


Hello everyone!

My name is Patrick aka pkofod at github and gitter. I’m a PhD student in economics at University of Copenhagen and second time GSoCer. Last year I did Optim for NumFocus, but this year I’m on the official Julia team. #wearethe18 of the 1318 GSoC students (alright, I’m not that creative, I stole the hashtag from @ChrisRackauckas ).

This year I’ll be working on a libm in Julia. The goal is to produce a package such that Julia can compute elementary mathematics functions in Julia. It remains to be seen what the performance impact will be, but hopefully we will be able to leverage Julia to produce code that is performant, accurate, pretty, and not C. I care much about things being clearly documented, benchmarked, and tested, and I think Julia has features that really helps facilitate this.

As such it may seem a bit odd to spend time on implementing a libm, as we already have openlibm. However, I think that moving forward, it is essential that as much of Julia is in Julia - we’re tackling the two-language problem after all, right? If we take a look at the issues and PRs on github, I think this one-language approach really shows its strength. People who are used to being users (and even newcomers) can very quickly get up to speed and contribute in areas where they have expertise. Our current libm is not in Julia, and I don’t think that is good, as this means we have fewer Julians who can help out fixing bugs and improving performance of some very fundamental functionality for scientific computing.

(for now)



Hey Everyone!
I am Akshay Sharma from India. I am a B.Tech student in Information Technology from National Institute of Technology, Karnataka. As a part of GSoC 2017 I will be working on building a Differential Equation solver using Neural Networks which are more efficient in most cases and parallelizable too. Lyndon White and Chris Rackauckas will be my mentors.
My task is to make a new package NeuralNetDiffEq.jl and plug it into the DifferentialEquations.jl ecosystem giving user an easy option to switch to these methods.
Feel free to say hi or to ask any question on Gitter. I am happy and excited to be a part of this awesome community.
Cheers :smiley:



I’m Yiannis Simillides, and I currently study Mathematics at UCL in the UK. I’ll be working alongside Chris Rackauckas and Bart Janssens for this GSoC project, to implement a wrapper for the FEniCS Finite Element Toolbox in Julia.

We will be using PyCall.jl to import the necessary features from Python into Julia, allowing the user to use FEniCS, and Finite Element Methods in general without having to rewrite the whole ecosystem behind it, thus increasing Julia’s adoption throughout the scientific community.

If anyone has any further ideas/suggestions, I’d be glad to hear them!


Hello everyone!!

I am Sarvjeet Singh Ghotra, a bachelors student in Information Technology at National Institute of Technology, Karnataka. I’ll be working on a project titled Middlewares for common web application chores in Mux.jl. Jacob Quinn will be mentoring me for this project.

Mux allows you to define servers in terms of highly modular and composable components called middleware, with the aim of making both simple and complex servers as simple as possible to throw together. In this project, I’ll implement mid-level features - specifically routing, load-balancing, cookie/session handling, and authentication - in Mux.jl. The implementation will be extensible enough to allow easy interfacing with different kinds of caching, databases or authentication backends.

I have opened an issue here to track the functionalities/features to be implemented in Mux.jl. Please feel free to suggest changes or new features.



Hello everyone!

I’m Zhang Shiwei, an undergraduate student from China. As my GSoC project, I will work on various improvements for Flux.jl with the mentoring of @MikeInnes.

Julia is beautiful language, and we want to make it a good choice for deep learning. Flux.jl provides a powerful macro that make a julia expression runs on MXNet or TensorFlow to take advantages of their speed and auto differential. My work is focused on the training process, like adding optimizers, regularizers, etc. These may help building modern neural networks.

Really happy to join this community.


I’m Jameson Quinn, a PhD student in statistics at Harvard. I’ll be working on improving Julia’s statistical modeling toolkit; primarily Mamba.jl. The idea is to make it as simple and flexible as possible to define a statistical model, including both discrete and continuous parameters, and then fit it — for now, using MCMC; but leaving room for other techniques later, such as SMC or approximate shortcuts such as pseudo-marginalized optimization / variational Bayes.

In order to work efficiently for models with more than a few parameters, Mamba.jl will have to combine hamiltonian MCMC techniques for continuous parameters, marginalizing techniques to convert some kinds of discrete parameters to continuous, and easy-to-customize samplers for un-marginalizable discrete parameters. As a test case, I’ll be implementing CrossCat, a flexible “default” nonparametric model for medium-large tabular data.

My gitter handle is just jamesonquinn. I’m happy to talk to anybody who has questions or suggestions for me.

ps. Though I can’t make it to JuliaCon, it turns out I’ll be house-sitting a large house in a beautiful part of Silicon Valley (near Google) from July 22 to August 12, with possibly a few extra days on either end. I’d be happy to offer lodging to any other Julian GSoCcers (students, mentors, or admins) who’d like to visit. Email me on gmail (same username) if you’re interested.


Hey everyone,

I’m Sebastian (@pfitzseb on GitHub, Gitter and Slack) from Berlin, Germany and the second aspiring (bio-)physicist here (cheers @miguelraz), though I’ll be working on Juno this summer. Specifically, I’ll be looking into better docs integration into the IDE – a dedicated docs browser and searching facilities for package docs (offline first, but hopefully online too) are planned, but I’ll see what other cool features I can squeeze in.

Of course I’ll also continue with my usual Junoing around (aka fixing bugs and occasionally implementing something neat for making coding easier) during the summer.



Hello everyone,

My name is Divyansh. I am a second year undergrad pursuing Computer Science and Engineering at Indian Institute of Technology, Bombay.

My Project is Parallel Graph Development using LightGraphs.jl and I will be mentored by @anon94023334. This project aims at developing a subset of parallel graph algorithms which would help in faster analysis of large graphs. I plan to implement algorithms such as bfs, multiple source dijkastra’s, MST and a few centrality algorithms in parallel.

I have been a part of Julia community since December '16 and it has been a great journey for me. Looking forward to an amazing summer ahead !!!


Hello everyone,

I’m Tejus Gupta, an undergrad student at Indian Institute of Technology, Kharagpur. I will be working on the new image segmentation package in JuliaImages along with @annimesh2809. Tim Holy will be mentoring my project.

Image segmentation has applications in medical imaging, analysis of remote sensing data etc and is necessary for higher level vision tasks like object detection and recognition. I will also add histogram of oriented gradients(HOG) features to ImageFeatures. HOG features are widely used for the purpose of object detection.

Really happy to be a part of GSoC!


Hi all,

I am a Ph.D. student in bioinformatics at the University of Tokyo, Japan. I’m also a core developer of the BioJulia project and some other packages.

In this summer, I’m going to work on introducing parallelism to Bio.jl based on Dagger.jl. In bioinformatics, data files are often very large (~1-1000 GiB) but interactivity is still desirable. I’d like to improve the performance of processing large data files using multiple cores and/or threads and reduce the annoyance of handling such large files in research. If you’re interested in Bio.jl, don’t hesitate to get in touch with me!

Thank you.


Hello everyone,
I am Ayush Pandey(@Ayush-iitkgp on github and @KrishnaKanhaiya on discourse and slack), a final year graduate student in the Department of Mathematics at IIT Kharagpur. I would be working on DiffEqParamEstim.jl library to provide support for the parameter estimation of differential equation models using optimization and bayesian techniques. @ChrisRackauckas would be mentoring me.

The project abstract is as follows:
Differential equation models are widely used in many scientific fields that include engineering, physics and biomedical sciences. The so-called “forward problem” that is the problem of solving differential equations for given parameter values in the differential equation models has been extensively studied by mathematicians, physicists, and engineers. However, the “inverse problem”, the problem of parameter estimation based on the measurements of output variables, has not been well explored using modern optimization and statistical methods. Parameter estimation aims to find the unknown parameters of the model which give the best fit to a set of experimental data. In this way, parameters which cannot be measured directly will be determined in order to ensure the best fit of the model with the experimental results. This will be done by globally minimizing an objective function which measures the quality of the fit. This inverse problem usually considers a cost function to be optimized (such as maximum likelihood). This problem has applications in systems biology, HIV-AIDS study.

Please have a look at the detailed proposal here and provide your valuable suggestions or feedback.

I am very happy to be a JuliaSoCer for the second time. Last year, I implemented support for optimization with complex variables and coefficients in Convex.jl. I look forward to yet another awesome summers :smiley:


Hi All,
I am Shivin Srivastava, a final year Computer Science undergrad at BITS Pilani. I will be working on the project ‘Efficient Finite Difference Discretizations of PartialDifferential Operators’.

I will build a package which will take partial differential equations and return suitable linear operators for solving them iteratively. My work will also require me to update IterativeSolvers.jl to work with linear operators.

Really happy to be able to participate in GSoC this summer!