25 Jan

High school students contribute to Mahara

This year, Catalyst organized the fifth annual Open Source Academy. It took place in our Wellington HQ from 5 to 16 January 2015. It was a full house again with 23 students. They came primarily from Wellington, but we also had a few from the Auckland and Canterbury regions. This year, girls outnumbered boys by three students. :-)

The Academy

The first week, as usual, was a tutorial week in which the students learn programming basics, get acquainted with open source philosophy and tools, as well as learn what it takes to pull a software project together.

In the second week they get the chance to work on an open source project. There were five projects that the students could choose from:

  • Drupal – content management system
  • Koha – integrated library management system
  • Mahara – ePortfolio system
  • Piwik – web analytics platform
  • SilverStripe – content management system

All five software projects are popular open source applications that are used around the world. Catalyst staff who are core developers and experienced programmers in Drupal, Koha and Mahara, mentored students in these applications. It was great to have the Piwik core team on board again, and core SilverStripe developers for the first time.

The students fixed bugs, wrote new features, tested patches, and in the case of Piwik and SilverStripe also created a new theme each.

Students working in a group during the Academy

Students fleshing out user stories for their persona during the first week of the Academy. Source: Kristina Hoeppner, CC BY-SA

The Mahara team

This year, we had five students who wanted to work on Mahara. Hugh was the main mentor for the week helping the students with their programming questions and reviewing code. Jinelle introduced the students to automated functional testing using Behat.

Our five students created 29 patches over the course of just 3.5 days of which the majority has been merged into Mahara already. They fixed some bugs that have been around for a while and created a few new features that could be accomplished in that time. Not to forget the numerous tests they wrote for their fixes or features which enhance our growing test suite of automated tests. For example, they added:

  • Added help icons to numerous pages.
  • Replaced the old paginator with the newer one and added a drop-down menu for more flexibility on how many items to display on a page.
  • Added more passwords that users would not be able to choose because they are too simple.
  • Limited the number of characters that could be typed for a message type.
  • Changed language strings to improve them.
  • They removed superfluous items in the “Profile completion” administration interface and re-arranged another one.
  • Added a link to an artefact that was marked as objectionable so that the admin can go to it directly instead of just being taken to the page in which the artefact appears.
  • Added a bunch of automated tests.

The students had a good investigative sense when they read bug / feature descriptions and scoured the code to find the place where the change needed to be made. They were also pros at the end of the week working with git, checking out code, pushing code to the review system and finding files in the code base.

Although I was not able to spend lots of time with the students, it was always a treat to check in with them a few times during the day and see where they had gotten to and see if they needed any additional help.

At the end, the teams were asked to present what they had done over the course of the project week, and the Mahara students decided to write a Behat test to have their presentation run automatically within Mahara. What a great way to show their skills!

5 students working together on 1 computer

The Mahara students work together on their final presentation. Source: Kristina Hoeppner, CC BY-SA

View more photos from the Academy.

12 Jan

The power of “Recent”

For several weeks now I have been using a functionality of my file browser that I had ignored religiously in the past. You see, Ubuntu, a Linux-based operating system, comes with Nautilus, which is the built-in file browser. For the most part, I file all my downloads or files that I create away in folders so that I can find them again later more easily and don’t have to hunt them down via search. That’s been working pretty well in the past.

However, I do save and create quite a few files per day. Especially when I save quick screenshots to send to our designers or clients, it does take a few clicks to get to the file again in my folder hierarchy. In order to speed up that process, one day I did click on “Recent” in the side panel, and a whole new world opened up. Suddenly, I had instantaneous access to all files that I had saved recently no matter in which folder they were located. Thus, I could save them in my folder structure with a bunch of clicks, but had them only one click away to add to an email or a support request.

Ubuntu Nautilus panel with recent files easily accessible

Ubuntu’s Nautilus with recent files easily and quickly at hand

11 Jan

Tending to the Mahara feature request garden

The Mahara project has a vibrant community where users report bugs and also new features. We triage them regularly so that we have an overview of bugs that need fixing and also know what features users would like to see implemented.

However, our feature wish and bug list is quite long, and I’ve had the suspicion that there were items on it that we have already implemented, but not closed the item yet because it was reported a second time or because we implemented it in a slightly different fashion.

Thus, after reading Steve Klabnik‘s “How to be an open source gardener” the other day (hat tip to Hugh for pointing this blog post out), I decided to sit down this weekend and try to go through as many reports as I could to reacquaint myself with the requests and also see how many I could close.

Computer screen that contains a garden

I wanted to focus on the feature requests so as not to get mixed up with bug testing. Besides, there were already plenty reports to look at so that I didn’t need bug reports on top of that. ;-)

Altogether, I reviewed 260 reports out of 476 in slightly less than 8 hours (approx. 1.8 minutes per report). I could already mark 28 as having been fixed in previous versions of Mahara. Closing off these almost 6% of triaged feature requests is a win even though it may not seem to be so much. It is great to remove items from the long improvement list and show users that we are making progress.

I was also able to identify feature requests that may not require much work that could be used for getting started to developing for Mahara. A developer is going to look at these items to determine whether they are really small tasks developmentwise or require more knowledge of Mahara. It is always good to have a number of small tasks readily available for people who want to contribute to Mahara so that they can succeed submitting a patch quickly. Our easy-to-fix bugs and features have the tag “bite-sized”. For slightly more experienced developers, the “snack-sized” items are a greater challenge, but still produce results quickly.

I also transferred all reports that I wanted to keep into a spreadsheet so that we can go through them more easily in the team and can filter them, add priorities etc. While I like Launchpad quite a bit, it does not allow for the exporting of bug lists as far as I know so that you can do some analysis around it or get a spreadsheet for further managing of individual items.

Next week, we will have a number of students of the Catalyst Open Source Academy working on Mahara. They will be looking at easy-to-fix bugs or features to leave their mark in an open source project. I already look forward to this year’s group of students working on Mahara. Their contributions will go into Mahara core and become part of the next release, which will be in April 2015.

Latest next weekend, I’ll tackle the remaining reports. Now that I know it is doable in quite an efficient fashion, it’s not such a daunting task anymore and definitely better than pulling weeds. ;-)

03 Jan

First cricket test match

In 2012 and 2013 (not 2014 because I was in Western Australia) I have been trying to go to a cricket test match right after New Year’s, but the weather was not favorable. This year, I almost thought it would be the same case again because it rained in the morning. However, it cleared up and the sun even came out a bit.

Fortunately, a friend of mine and his two boys were going to the game as I didn’t want to go on my own (eventually a couple and their son joined as well). I had tried that before and had left after only 15 minutes because it was very boring (Twenty20 game in bad weather) and I didn’t understand a single thing. Not having any commentary didn’t help either. The only other game was the “Fill the Basin for Christchurch” charity game which was more fun than competition.

So this year was my lucky year. Today was the first day of the test match between New Zealand and Sri Lanka. I lasted 4 hours in overcast but also frequently very sunny weather on the embankment near the Pavilion at the Basin Reserve. It was a good spot to watch the action, but not so great for taking photos of the bowlers and batsmen as you could only see them from the side. Thus, my photos are rather limited also because I didn’t have a telephoto to get closer action shots.

Chris was a huge help explaining cricket rules whenever I had a question and even when I didn’t. It certainly helped to understand what was going on on the green since there was hardly any commentary so as not to break the concentration of the teams.

During half time, everyone could go onto the oval themselves to inspect the wickets or to bowl a few balls and be a batsman. Lots of people took that opportunity to go onto the green and stretch a bit. Chris said that the Basin is one of the few cricket grounds left in the world where you can do that during matches. It’s pretty neat I must say to watch fathers and their children and friends engage in a little game and be completely excited about what they are doing, imitating their stars whom they have seen playing just a few minutes earlier.

It was a great day soaking up some relaxed Kiwi summer atmosphere enjoying some of the country’s favorite pastimes: watching cricket, hanging out outside in nice weather with friends and a cricket specific: dressing up as a the Beige Brigade (Chris and Kahu even made it onto the Blackcaps Twitter for dressing up).

This was certainly a super introduction to a cricket test match. I love the Basin and that I saw my first test match there instead of a huge, anonymous stadium.

28 Dec

Stewart Island / Rakiura in photos and videos

During my vacation on Stewart Island / Rakiura from 20 to 27 December 2014, I took over 1,200 photos of which I kept roughly 50% and then uploaded about 370 to flickr. You can view them directly there or below in the slideshow.

I also took a few videos of weka searching for food (1, 2 and 3)and albatrosses in a food fight.

It was a great vacation to end 2014. Bring on 2015.

If you want to read more about my vacation on Stewart Island, check out the following posts: