Summer Has Gone. GSOC Ends.

| Comments

What was your most rewarding experience contributing to Mifos this summer?

Being a part of mifos community is amazing. I learned a lot from the code of MifosX and from my mentor. For example, my mentor taught me how to write unit tests with the help of some good tools and how test-driven development could make a difference on my code design. The final code review is also rewarding. I learned the importance of following code conventions, especially for open source projects. Besides that, experiencing how open source projects operate with contributors across the world is very interesting.

What was your biggest challenge you overcame this summer?

My summer schedule is little intense for me, but I managed to keep the work on track. The daily and weekly routines help me make progress everyday and eliminate procrastination.

What advice would give to other students/GSoC interns on working with Mifos?

The community is quick in response and willing to help. It also gives you a lot of freedom in doing your project. You will have the opportunity to present your work to a large group of Mifos users. Take ownership of your project and you will feel rewarded and accomplished in the end.

If you could visit the country of one of our Mifos users, where would it be and why?

If possible, I would love to visit my mentor’s home country, Ghana. There’s something interesting: when we had skype meetings, I could always hear the sounds of various animals, which interested me a lot. I think it is a great place to visit.

If you have time, how do you hope to contribute to Mifos in the future?

I would be glad to continue contribute to Mifos as a developer in the future.

What will you be doing now that Summer of Code is complete?

Focus on coursework.

Halfway Checkpoint of GSOC

| Comments

Time passes really fast. The midterm evaluation starts. Good news is that everything goes on schedule. I just finished the server-side implementation of the XBRL reporting project as I planned in my proposal. Actually it was an unexpectedly busy summer. The school suggested us to finish a course during the summer and I need to pack my stuff and prepare for my move to Pittsburgh. The daily checkin kept me making progress every day even on a busy day.

My mentor KOJO introduced test-driven development to me, which not only makes the code strictly follow the requirement but also helps the developers to think more about the modularized and decoupled patterns when designing code structures. We paired with each other on writing unit tests and integrationtests. The test tool Mockito is one of the neat things I’ve learned when pairing with KOJO. Sometimes test code can be hard to write because of all the dependencies a class has. That is where Mockito comes in, mocking the unrelevent dependencies so that you can focus on the method you test.

Making good use of great open source building and managing tools is another secret to the make of a successful open source community. Mifos uses this fantastic tool Gradle to automate the building process. The convenience Gradle brought shocked me when I first built the mifosx server. And I knew more and more about its capability when getting a deeper look inside it. Other great tools like maven and flyway, even tomcat, that Mifos uses are integrated within gradle. It’s really like an all-in-one package.

I am going to finish the client UI in the next half of gsoc. This means a switch from Java to less familiar Javascript. It is a challenge, but also a good oppportunity to learn about frontend developing.

So This Is How Mifos Works

| Comments

The team bounding period came to an end, and the coding starts! During these few weeks of formal participating in the team’s weekly routines, I was impressed by how efficient and organised the team worked. I once thought that since mifos, as any common open source community, does not make profit and give pays to contributors, there probably were just a few volunteers scattered all over the world making some commits based on their interest during their free time. I found I was totally wrong when having witnessed the team operating in such an ordered and methodical way.

Using Git is no surprise. It is a great tool for collaboration, especially for open source projects. Project issues are tracked and managed by JIRA system. There are several volunteers testing the master branch code according to test cases every day and bugs are reported on JIRA with great details. Some bugs are assigned to specific person, some are left open to volunteers all over the world. I worked out several issues when I was applying for gsoc. The team’s immediate and careful responses were out of my expectation. That was also one of the most important reason that I chose mifos over other open source community.

Each week we have a developer meeting or a user meeting. During the biweekly user meeting, a presentation was given by a volunteer on a wide range of topics from the scholar researches to product design and to user showcase. Many of the users are from Africa and Mideast. ‘Fighting against poverty’ is not just a slogan, but what mifos is actually achieving. It is wonderful to work for such a community.

GSOC 2013 Started. This Summer Rocks

| Comments

It feels so good to be a part of this event. Coding, open source, Google, $, all sound so cool to me.;)

The applying process is struggling at first. Choosing the right project to work on is never an easy job, but once I made up my mind, all I need to do is getting involved in the project.

The open source community I joined is Mifos, a managing platform for microfinance institute. I’ve never heard of it before applying to gsoc, but it caught my eyes from a fairly long list of participating organizations because I was once so into finance at college. I read financial reports of listed companies and analyzed their k-chart. I even got the Certificate of Securities Qualifications. Let bygones be bygones. I started contributing to mifosx, and this community really surprised me. I felt respect, belongingness and ownership while participating in the community. In fact, it has far more volunteers around the world than I previously thought.

The project I will work on is XBRL reporting integration. Here’s my proposal for the project.

Gap Year

| Comments




Start Python

| Comments

  打算在GAE上做AppFactory网站,正好可以借此机会学习Python。也正好借着学习Python的机会把vim给学了一下。还不怎么习惯。Python以代码的易读性和编写的简单著称。OpenCourse里有一门Programming Paradigm介绍python,可以看一下。

Hello! My First Personal Blog

| Comments