Well, the title of this blog post aptly describes my last month. For the Hindi speakers out there, you fellas understand the pun there, don’t you? For those who don’t, not to worry. Let me tell you a story. In a far far land made of candies, a young naive girl (probably the female version of Charlie in the chocolate factory or better yet the nasty girl there) was awarded the best chewing gum she could ever taste. It was the best thing that happened to her; she chewed it to her heart’s content. THE END.
Wait, where’s the catch in that story? Well, she was a stubborn young lady. The gum stuck to her and she couldn’t let go. It turned into those baseless, tasteless gums that you chew but can’t throw away because you can’t find a paper or a dustbin and you are too civilised to spit it out (or you are one of those annoying kids who like to chew gum for no reason). But hey, there should be a happily ever after, eh? (let’s say a thing like that exists). So, one day she worked on herself and made herself believe that it was time to let go and be happy. THE END.
Wait a minute, that just sounds inane and you must be wondering if I lost my mind. (sometimes I question that too). Well the chewing gum (my gum) has been my PR #6176.
I opened it on June 11th, being so proud of what I’d accomplished in such a short time (well thank you). My mentors were happy seeing that I could get
~astropy.time.Time round-tripped so early. YES, I was that naive little girl frolicking around, content with one of the best things happening in my life. Never did I know that two months down the line, the PR would grow to a whopping 220 comments, 1,079 lines addition, about a century of code reviews, complete implementation and refactoring changes, 10 video calls with mentors, and about hundreds of code and documentation builds. It has now turned into one of those tasteless chewing gums which you just want to get rid of AS SOON AS POSSIBLE.
After my ardent efforts for the past two months, I have finally made the
work in progress tag go away and this beauty is now ready. My mentors and I have decided that once it gets merged, they’ll send me a bottle of champagne and we’ll celebrate (perks of having cool mentors). And I reckon today is the day. YEAH!
Nevertheless, I managed to complete another difficult task PR #6359. This involved expanding the FITS Column interface to allow coordinate type keywords (TC*) and their corresponding attributes in FITS Columns. This was necessary to incorporate column-by-column conversion of Table Columns into FITS columns (as suggested by @mhvk), which previously seemed like an impossible task, but turned out to be just strenuous. Valid FITS keywords have finally been added and validated. Meanwhile, I also ended up finding subtle bugs in
~astropy.io.fits and solving them. I finally, finally have started understanding the io.fits package and I must say this feeling is wonderful. Now my aversion/ineptness towards FITS has almost turned into sheer LOVE. Well, almost. (I finally beat you FITS, who says you are invincible).
Although this chewing gum brought me a lot of gum (gum in hindi is sadness), I have learnt a great deal I must say. From writing beautiful code focused towards functional programming, refactoring it for memory and speed efficiency, understanding circular imports to writing customised and parameterised tests, decorators, documentation (sphinx is AWESOME! Although formatting is a pain), building docs (that took a great deal of efforts for solving the platform oriented exceptions), switching to anaconda and python 3 (YEAH!) and understanding FITS (it can never be fully understood), these two months have been quite amazing. I think I might have read the four FITS WCS papers about a hundred times (not kidding). By the time I reach the end of the paper, I always feel confused and annoyed, but the intensity has decreased quite a lot (let’s just say it has).
While I work towards a career in scientific computing and astrophysics, I am grateful that Astropy is now a part of my life. And although I am a little sad that GSoC will end soon (give me tissues please), I believe I will stay a part of Astropy, Always :). After all, the people are so warm and friendly. Who wouldn’t love to work with them? (Again not trying to flatter anyone 😉 ). Now I have a meeting to go to, so ADIOS fellas!
P.S. Sorry for the delay; I got caught up with a lot of multi-tasking this month :(. Also, you would have to adjust your eyes to the length of that blog post because THAT is totally unlike me.