With over 2K+ lines of code, 3 repositories and countless discussions, Google Summer of Code 19 with OpenAstronomy (JuliaAstro) came to an end. The following is an attempt to summarize it in words (without the hard parts).
Merged Pull Requests
Reproject.jl: SLOC -> 586
(Reprojects (a type of image conversion) Astronomical Images from one world coordinate to another.)
AstroImages.jl: SLOC -> 1056
(Integration of Astronomical Images with popular Image and Plotting libraries in Julia.)
#7, #9, #12, #14, #15, #16, #17, #18, #19, #20, #21, #22, #23, #24
AstroImageView.jl: SLOC -> 604
(A GUI based visualization of AstroImages)
With this, I have completed all the things proposed before getting accepted into GSoC.
Impact
The amount of work done has integrated communities in Julia. Now JuliaAstro can work with JuliaImages, JuliaPlots, and JuliaGraphics.
How we deal with astronomical images is different from how we deal with regular everyday images. The integration will now bridge and allow most of the methods coming from JuliaImages to be directly applicable to AstroImages.
Plotting is always a great tool to visualize data. Now, with the custom plotting recipes integrated into AstroImages, users can visualize astronomical images on astronomical scales.
Utilizing the GUI libraries in Julia, now it is even more easier to visualize AstroImages directly through a GUI application.
Integration of AstroImages with IJulia is now even richer with polts, images and brightness/contrast interactive operation directly possible in the notebook.
Internally, AstroImages is packed with many multiple dispatches and provides a rich set of user interfaces (just put your data and it will handle all formats).
Personal Gains
I have started loving bugs. I get a bit cranky when I don’t see a couple of them. But it has also become tougher to find bugs which would give me a tough time.
Huge codebases don’t scare me anymore compared to when I entered open-source.
Learned to work parallelly in a more efficient way. Sometimes handling unexpected situations and critical deadlines becomes too scary.
Learned a ton of new things and the hesitation to learn new stuff has gone too.
Finally found my passion to be in open-source. Loved the communities I have encountered.
I have gained better knowledge about Julia and I think my code writing style has become more Julian. (thanks to my mentor)
GSoC journey
- GSoC Initilization: The results day
- 2 weeks into GSoC
- First Evaluation: 1 months into GSoC
- Week 5-6 at JuliaAstro
- Second Evaluation: 2 months into GSoC
- Week 9-10 at JuliaAstro
Acknowledgements
A big thanks to Mosè Giordano, my mentor for GSoC’19. He is the kind of sensei (teacher in Japanese) I have read and saw in manga and anime which I admire the most. There were moments when I was amazed by the decisions and ideas he had. He clearly showed the difference in the level of experience and made me feel silly at times too. I guess I have a long way to reach there but I’m sure that open-source will help shorten the duration and provide with an amazing learning rate.
I would also like to thank the members of the Julia community and the helpful slack channels. I can see why Julia is growing at such a rapid rate.
In the end, thanks to my parents and peers for continuously supporting me before and after.
Final notes
Getting into GSoC was tough, completing it was tougher but the end made me even tougher. I’m very happy that I have inspired so many people to come towards open-source and will always be there to guide them. But first, I need 2 days of long slumber!!
Thanks for Reading
Signing off,
Rohit Kumar!!