diff options
Diffstat (limited to 'gsoc/2011-05-24-bonding-period.org')
| -rwxr-xr-x | gsoc/2011-05-24-bonding-period.org | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/gsoc/2011-05-24-bonding-period.org b/gsoc/2011-05-24-bonding-period.org new file mode 100755 index 0000000..7ac5977 --- /dev/null +++ b/gsoc/2011-05-24-bonding-period.org @@ -0,0 +1,78 @@ +#+title: Community Bonding Period +#+date: 2011-05-24 +#+layout: post +#+category: gsoc + +The [[http://googlesummerofcode.blogspot.com/2007/04/so-what-is-this-community-bonding-all.html][community bonding period]] finishes today. Today is the start of the +coding period for every selected student. Some like myself, have taken +on the task of studying the whole project that they will be +collaborating with. Others, used that time to code and play around +with what they think might work, and settle to do work in the last +week of the bonding period. + +In my case, the bonding period with the Dancer developer team, has +taught me a whole lot in those 3 weeks. + +Much of the administration, pull-requests reviews, and queries from +users who fork Perl Dancer is done in the IRC channel of the project, +#dancer at irc.perl.org . I'm amazed at the speed on which everybody +collaborates via IRC, mail, and the [[http://github.com/sukria/Dancer][Dancer github repo]]. The speed at +which other users answer to the Dancer mailing list is fantastic, I've +never seen a mid-size project mailing list so dedicated to helping +out. The features requests are mostly pulled from the github repo. +While most of the feedback from users deploying Dancer for production +purposes comes from the mailing list, some do join the channel, and +pull out a quick hello and thank you. + +Now on detailing what I've learned with regards of my coding project. +Refactoring the script into a module will be something new for me, +specially, since I don't know what are the detailed best practices of +the developers team. I've read and seen several PR's from +~ambs~ , ~bigpresh~ , and even +~franck~ , my mentor. But there are still more work that I +need to do, to quite understand how they administrate their PR's. + +**** So what does the script currently do? +Well it's pretty straight forward. It grabs the current directory, the +given ~app_name~ , stores it into two variables who work they way +through functions that create a directory structure, the "default" +views & layouts, and at the end passes through two writing functions +who output the files in the correct order while writing the filenames +to the MANIFEST file. Note that each "default" file that a clean +startup Dancer app starts with, is embedded in the scaffolding script +just mentioned, therefore, you can find a ~write_file~ function, and a +~write_data_file~ function in the script. The last used for writing +binary data into the images files, and favicon. To note more on that, +the javascript and the css files for the public folder, are obfuscated +in the code of the script along with the binary data for the images. + +**** My work in those weeks +The work done by me in those weeks, was mostly play and study the +~Catalyst::Script*~ related modules. Since the module I'm working on, +will be somewhat based on those modules, but with another twist. I +took the liberty to try them at home. By the second week of the +bonding period, I was moving forward doing commits to my forked repo, +and ended screwing up a branch. (See the commits in the [[http://github.com/gnusosa/Dancer][devel branch +at my github repo]].) + +Thinking ahead of the schedule, I ended up messing +~Dancer::FileUtils~ . From that, ~sawyer~ and +~franck~ added new steps and worked with me around the +following steps, and how-to follow up the proposal schedule. + +**** Real work +Good organization leads to fast coding and good practices. That's a +something I've always read, but never thought about it too seriously +until now. After deciding the steps and what to take on. The coding +went smooth. I created a new branch on my repo, and started [[https://github.com/gnusosa/Dancer/commit/cc2ab08eb0e6c303066f52207c8a04185408833f][migrating +the functions of the script into methods.]] Now I'm almost done with the +~Dancer::Script->new->run()~ method. I've even [[https://github.com/gnusosa/Dancer/commit/0a82e94850ff3662091e727271dd9405baa88d9d][catch some calls in the +obfuscated code]] of the script. + +**** What's next? +By now, what was supposed to be done for this week is almost complete, +the rough draft. After finishing that, I can assure that, +adding/removing functions, and refactoring the module will come quite +fast. + +To see more of what I'm doing, visit [[http://github.com/gnusosa/Dancer][my github account]]. |
