AstroLib.jl-It-Is

16 Mar 2017


So, it’s been a dozen days since my last post, and well, things have changed.

While I still very much want to contribute to Chapel as a part of GSoC, the large knowledge barrier became very apparent as I went deeper through the codebase. It became very obvious that I had to reconsider, when I realised that all of my shortlisted projects (except perhaps the idea of porting my image processing project) didn’t really require much use of the Chapel language itself. That was a bummer, because I really wanted to go for a project that involved the compiler and the language itself.

So yeah, Chapel is put in cold storage, as far as GSoC is concerned. Which isn’t really a bad thing, at least considered to getting selected somehow and failing to deliver.

Now, in parallel to Chapel, I was considering two more organisations -

One of the set of project ideas from Copyleft Games involves designing an actual game(!). I’m a staunch loyalist of the Godot game engine and I didn’t really want to go through another game engine. So that left me with…

AstroLib.jl

I had found and instantly forked this repo in December, last year. All the space geeks out there will understand why.

Quoting the repository’s README, the purpose of AstroLib is “to provide users with a set of small generic routines useful above all in astronomical and astrophysical context”.

As usual though, I was dawdling on getting started with contributing to this repo. Browsing through the GSoC organisation list, I found the parent organisation of AstroLib.jl (JuliaAstro) listed under Open Astronomy. Open Astronomy is an umbrella organisation currently formed by eight organisations that develop tools for different aspects on astronomy.

So I contacted the folks at JuliaAstro, sending a project idea that involved expanding the current number of procedures/functions in the AstroLib library. I’m happy to say that I got very encouraging replies from their side, including advice on how to go about from that initial stage.

I’ll diverge for a second and talk about mentors.

Mentors are essentially representatives of their projects, to the students applying for GSoC. They help the student contributors integrate into their project’s community. In addition they are supposed to give guidance such as pointers to useful documentation, code reviews, setting milestones for the students.

And let me tell you, few things are as motivating as having friendly and encouraging mentors. The mentor for AstroLib.jl, Mosè Giordano has been really helpful to me. He has guided me through the common pitfalls a Julia newbie stumbles on, and has been very tolerant of the (very :P ) silly mistakes I have made in my first few PRs to the AstroLib.jl repository.

More on that later.