Wednesday, August 20, 2014

OPW Ending for Beginning

The Outreach Program for Women #8 has been ended for days in August 18th. This is probably my last work report. Although, the program is finished but my work hasn't finished yet not only because I got trouble of my internet connection for few days last week that result in I couldn't work much but also I want to keep working on MetaCPAN as a contributor and maintainer.

Last time I posted the proposal about changing search result page. I want to say thank you for those who donated their time and gave me a really helpful comments to improve this feature. I had an idea came up back and float there are some ideas to put the tab into horizontal on the left side which is almost the blank space now put this could cause confusing and not so good appearance in mobile version. So, I'm work on the design to make UI improvement display nicely in any devices. That feature is also my last task from OPW timeline.

For me the finishing program doesn't mean I should stop doing Perl or working MetaCPAN but I think it was just a milestone to set me more freedom to contribute more in other FOSS Projects. It's ending to start new thing for me. What I plan to do after OPW are
  • I'm going to join YAPC::ASIA in the end of this month and surely I will share you the event report after I'm back to Thailand on this blog please still follow my blog and my post if you like to see. I will also travel a little while in Japan after the event finished.
  • I'm looking for a freelance work I'm trying to take a part in more project what I'm interested in now is DuckDuckGo from to my passion in search engine technology. Also any other FOSS prjects, please let me know if you know any of it I'm happy to help even it's a free work as long as it's cool project ;)
  • I'm going to study in a master degree in Germany in October in the Clausthal University of Technology. It locates in northwestern Germany close to Hannover. See you Hannover.pm !
Finally, I want to say thank you to …
      The Perl Foundation to give me such a great chance to work on MetaCPAN.
      GNOME Foundation to establish this cool program.
      MetaCPAN and my mentors Randy Stauner, Olaf Alders and Thomas Sibley for your time to give me learning so many things.
      Contributors and users of MetaCPAN for your comments and suggestions to me in any issue I worked on and they're really useful for me learn in many perspectives.

Thank you so much !

Wednesday, August 6, 2014

Work report and sketch of new MetaCPAN result page.

Last week I worked on API Document reorganizing, it sounds simple but not for me because in order to arrange it we should understand the content especially technical content. I spent a while to understand the document and how the API works. Finally it has been done.

There're only 2 weeks left in my OPW program, I'm going to utilize my skill on a new feature of MetaCPAN. The new feature is introduce the new type-based search result page. The original idea is from issue #287 on metacpan-web. The idea is providing user search result in specific result data type. For example, display only distributions or authors which is relevant to the query on result page.


 I'm presenting the prospective search result page to be in tabs which contain each type of data e.g. distribution, modules and authors. This is the sketch to prove to idea:













I will appreciate with any suggestion or comment whether you like it or not. Please left the comment and discuss about this feature on Github. Thank you in advance ! 

This is quite a big change of MetaCPAN for me. I'm really excited with this task and I'm looking forward to implementing it. :D

Saturday, July 26, 2014

Work report and a lovely story.

Most of my work in past 2 weeks is fix the existing issue and improve code quality.

I have 2 major tasks that needed to be done first which are Bootstrap upgrading and Open ID login.

The Bootstrap almost completely done waiting for code review but for the Open ID the I've got test failure that I can't solve it until now. It is a bit weird that first time when I implemented it I made the test function and proved it and it worked properly but it failed after I pushed to Github. That sounds crazy but it's real. I still keep fixing it with my mentor help.

I don't have any thing much too talk about my work since it's quite similar with last topic update and I still fix my code again and again.

I have a lovely story that I want to share. There was a girl came to ask me about how to contribute Open Source ( I think maybe she is reading this post). I was figuring out a while – this is an open question that has so many answers for me. For me I think the best way to get start is finding what we like to do. I think if we have a passion or inspiration on it that would be easy to get through it. I told her to find the Open Source project and trying to find the contributor or maintainer of the project. I'm sure that those people in the Open Source always be nice with a newbie as I have experienced and they could help her to get start. Of course I can help her to get start with Perl or MetaCPAN but since she is absolutely new I think she could choose which technology she likes to learn.

She wants to contribute to Open Source because she wants to make some small contribution before she can apply for the OPW program next round. Although, I think it's a bit too early to contract a mentor before the time of the application submission and we don't know yet which organizations are going to participate in next round and who volunteer to be mentors. However, be ready and well prepare is always more impressive. So just told her to prepare for the technology that organization is using and self study.


Overall, I want to share this story because I'm so impressed with her motivation and education in her environment. She is younger than me and she is still a student. I believe she will get 'multi-view' of study from the OPW which I didn't experience in my school life I would say. I think every program in the Open Source community – Google Summer of Code or The Outreach Program for Women are really cool program that I wish I have known that since I was in the university. It didn't happen anyway but I wish I could share this such a great program to Thai students to learn more and get involved in the Open Source community as I have been. I'm so happy that I have a chance to give that girl some advice and I hope in could do more. So if someone reading my blog please feel free to contract me to help even I'm also a newbie too! :)

Saturday, July 12, 2014

Obstacle in half way of OPW.

Now, I have been working on week 8 of The Outreach Program for Women program with proposal to work on the index issue of MetaCPAN search. But my timeline a bit messed up now since the time block has been split into Bootstrap upgrading and fixing the broken as an effect from new Bootstrap.

I’m supposed to work on the new things but I cannot since I have to complete the current pull requests with fixing and cleaning a mess I made. 

For me, I think this is some kind of classic problems in software development life cycle — it’s hard to make the code perfect in the first solution especially when you lack of experience. Even that’s the best solution in that moment but may not last long. It still need be maintained, fixed and improved like an endless development. 
  
For me the difficult thing to be a programmer is when you have to ‘estimate' when the job will be done but the more difficult thing seems to be make it 'completely done' in the time you have estimated. We will never know whether the job is difficult or not until we work on that which I think it’s a challenge of programmer job that people like. 


However, we did estimate and we are overdue sounds better than no estimation and no goal. Then we could learn about our performance and speed in each job.

Sunday, July 6, 2014

Bootstrap 3 migration and some funny ideas.

I have spending a week to upgrade Bootstrap from version 2 to 3, although it wasn’t in my original proposal but it is my new purpose to work on that because I think we could move to future and it is time consumed task resulted in no one has time to do it but now I’m working on it for full time. I could donate my time to do that. I really appreciate my mentors for a respect for my opinion and let me keep on doing that.
I got to learn a lot about Bootstrap’s stuffs even though I got  frustrated about it but I also enjoy doing to. I think the more frustration I got the more knowledge I have learn.

This issue urge me get PAUSE id since I need to have the ID to get MetaCPAN activated and finally I have it! I’m not sure whether it’s funny or not that I have coding Perl for about 2 years but I don’t have PAUSE account. My intention was if I have had inspiration to make some new module I would register for the PAUSE account. For me I think it’s funny to have it while I’m not really CPAN author.

In my programmer life I think I have an objective when I write the code that it should be ‘effective’ and ‘efficient’ which are enough for productive work. However, one more thing I have learn recently from Open Source work and I should apply to my code is it should be ‘easy to read and understand’ as well. I realized that I never experienced this issue seriously before since I worked with the same colleagues in the same team for long while so we could understand each other coding style. But this is Open Source, programmer are from around the world even we’re coding the same language but it can result in many ways to do it. I think maybe that’s why TIMTOWTDI is extended to …  there’s more than one way to do it, but sometimes consistency is not a bad thing either (TIMTOWTDIBSCINABTE) which I think I quite agree with that ;)

Thursday, June 19, 2014

A month on MetaCPAN - A challenge on User Experience.

I confess that I forgot to update the blog about my work, I didn't realize that I started this program for  a month today. Some says that the enjoyable time always go by so fast, I believe that's true.


My 2nd and 3rd week was about improve User Experience by fixing front-end bug such as unpleasant result in autocomplete, suggestion when user search with missing colon or guideline for Task::Kensho for CPAN beginners. Fortunately, most of my issue can incorporate in to the same pull request.


The very challenge things for me was that I worked a lot the front end stuff, I wrote a lot of CSS and JavaScript that I'm not familiar with but now I'm confident to say that I'm getting better at it. After finished issue about new look of no result page and introducing a new autocomplete plugin. Working on front-end stuffs is fun for me now :)


Everything didn't goes smoothly overall. I also had a trouble with upgrading to Bootstrap 2 to 3 that I have volunteered. I just realize it was a big change of Bootstrap many properties have been removed and rewritten.  It was a time consumed task for me to finish it and I wouldn't be able to finish my schedule if I worked on the Bootstrap upgrading only. So I had to skip it for a while and I can go back to finish it if I have time left which I really want to. Using Bootstrap new version will help my work easier and more colorful I think.


One of the thing I like in working on MetaCPAN is that there are people not only my mentors but other contributors or users to give me feed back of my work whether they like it or not and sometime with suggestion that I could bring to improve and result in better work. I like to get feedback from people and I like people review my code event it is a negative feedback. I always appreciate negative feedback with reason or suggestion.  


This week I have been working on User account -- this is also my new challenge. As I am a newbie for Open Source world. I confess that the time that I applied for OPW application was the first time that I got to know Open ID since they required the email account from Open ID service providers. And now, I trying to make MetaCPAN accept login via Open ID which is the URL. I’m a bit struggling with this task and trying to research about how it works in order to introduce it MetaCPAN application.


Now, I’m also managing to participate in some of YAPC I want to try to submit a talk about my work in OPW program. But I’m not sure if I can afford for that. I also apply for Send-a-newbie program and if I’m lucky I will be at YAPC::EU in Sofia, Bulgaria.  I’ll pray for that :)

Thursday, May 29, 2014

First starting on MetaCPAN in OPW program.

In my first week on MetaCPAN. My timeline is setting up environment and documentation.
I have had MetaCPAN web project running locally for  a while since my first contribution to apply for the OPW program but I found that I did a mistake in installing node.js and it didn't work properly so I spent about 2-3 days in to import the new VM and set up the CPAN API project which I didn't have before.  This also was the first time that I could install ElasticSearch and index data my in machine. It was really amazing to download minicpan and realized how much data from a long live of Perl programming.

I tried to improve some of document which was a bit outdate, some suggested modules has been deprecated. We have changed the example code and we needed to update document too. I tried to look at the code to see which module we're using add update document with existing code. I found the code is also outdate, however we will do the document to suggest people with the the right way to use not the way that we're using. ;)

My second week is to improve the user User Experience from User Interface or easy to say the front-end things. Although, I worked as a software developer before OPW program but I worked as Back-end developer so I didn't have much chance to work on front-end stuffs such as CSS, HTML and JavaScript. I looked at the issue about font on No result page is too small as well as another issue to provide more information to No result page. I'm trying to make No result page brighter but just realized that we have Bootstrap in old version and has not so much components. So I volunteer to upgrade it. I confess that I'm a bit frustrated with this task. I've never done setting front-end environment by myself because it always was a task for Front-end developers.

But this was my intension to set up my schedule 2 weeks for front-end stuffs. I think this will be such a good chance to spend time to learn new things that I'm not familiar with and this is also why I wanted to participating in OPW and MetaCPAN. Even I'm a bit nervous with the the task that I'm not used to but I won't give up !!!