Yay! Moose is free from stringy exceptions!
I did an internship for Moose as part of GNOME's Outreach Program for Women. I was supposed to convert all stringy exceptions in Moose to structured exceptions or exception objects. This is my first major contribution to a FOSS project :).
This is my merged pull request (a bit late, but better late than never).
If you're interested, then you can check out diff stats here. Caution : You may get lost in that big stats, so better not to click on that URL ;).
In short :
368 changed files with 23,830 additions and 1,479 deletions.
Resources which I've used for understanding Moose
- Modern Perl Book
- Moose documentation
- The Art of the Metaobject Protocol
- Introduction to Moose by Dave Rolsky
- Role Usage Patterns
- Introduction to Moose by Shawn M. Moore
- Extending Moose for Applications
- Exception handling slides by John SJ anderson
- Apart from above, my mentors & people on #moose and #moose-dev on irc.perl.org were extremely helpful
Technical things which I've learnt through this internship?
Pre-internship : I used it for writing small scripts & solving project euler problems.
Post internship : Now, I know about :
- goodness of perl one liners
- weird behaviour of Perl
- Exception handling in Perl
Pre-internship: I never heard about it.
Post-internship: I am familiar with most of Moose internals.
Pre-internship : I knew only git basics like add, commit, push, pull, merge etc.
Post-internship : I know some advanced git commands like git rebase, git log (with arguments), git reflog etc. But, I still need to work a lot on my git skills. I realized it yesterday, because of this blunder :(.
Pre-internship : Never even heard about it
Post-internship : Used it while uploading my first CPAN module :D
- Metaobject Protocol
Pre-internship : No idea
Post-internship : Understand it to a fair extent, but still need improvement
Non-technical things which I've learnt through this internship?
- Blogging : I think I've learnt how to write a good blog, but I may be wrong, so please feel free to comment on my blogging skills :)
- Management : I've learnt how to manage work, chatting, eating etc. simultaneously. Yes, I did these things simultaneously :D
- How to handle newbies : Though, I am myself a newbie, but I've learnt how to handle newbies' questions. I've met so many newbie friendly people in this community, who patiently listen & answer questions of newbies. Perl people, please always stay like this.
I'd like to thank these people for their help & support at one or the other point.
- Shawn M. Moore (official mentor) & Jesse Luehrs (unofficial mentor)
- Karen Etheridge
- Matt S. Trout
- Graham Knop
- Ricardo Signes
- Chris Prather
- John SJ Anderson
- Florian Ragwitz
- Dave Rolsky
- Jay Hannah
- John Napiorkowski
- Stevan Little (for creating Moose)
These people/organizations didn't help me in my Moose work directly, but they were behind the scenes:
- Karen Pauley
- Yaakov Sloman
- Marina Zhurakhinskaya & Karen Sandler
- GNOME foundation
- The Perl Foundation
- Dan Wright
- Allen J. Martello
- Sawyer X (for suggesting me Moose, because initially, I came for Dancer & ended up with Moose)
If any of you (people mentioned above) want your name to be removed from this post, then please mail me at firstname.lastname@example.org
A humble request to GNOME foundation
Please keep organizing the Outreach Program for Women :)
A humble question to The Perl Foundation:
Though, I'm no one to question anyone, but still why Perl doesn't participate in every round of Outreach Program for Women & Google Summer of code? :(