RSS Feed

Teaching Open Source Planet

Teaching Open Source Planet is a Planet, a collection of personal blogs by Teaching Open Source community members working to bring the open source way into academia. We write about our inspirations and experiences in learning, teaching, and collaborating within free and open communities. In the spirit of freedom, we share and criticize in order to collectively improve. We hope you enjoy reading our thoughts; if you’re fascinated by what you see, consider adding your voice to the conversation.

Copyright free photographs for use in presentations is a great source for copyright free photos to use in presentations

From their home page:

"A morgueFile is a place to keep post production materials for use of reference, an inactive job file.  This morgueFile contains free high resolution digital stock photography for either corporate or public use.

The term "morgueFile" is popular in the newspaper business to describe the file that holds past issues flats. Although the term has been used by illustrators, comic book artist, designers and teachers as well. The purpose of this site is to provide free image reference material for use in all creative pursuits. This is the world wide web's morgueFile."


eLearning that sticks

Here is an interesting article on "eLearning that sticks" by Mike Thompson:

His approach is to emphsize the following three areas:  quality design, conversational tone and storytelling.  He liken a good elearning course to a good movie.

The Post-LMS LMS

The five big LMS companies are Blackboard, Instructure, Desire2Learn, Moodle and Sakai.  So what are the new features they are putting on their LMSs?  What is the new trend in LMS?

Carl Straumsheim, in his article on "The Post-LMS LMS", revealed more about the new trend in LMS and what some of the big five companies are doing.

Web link for this article:

How do we get depth *and* scale?

We want millions of people learning about the web everyday with Mozilla. The ‘why’ is simple: web literacy is quickly becoming just as important as reading, writing and math. By 2024, there will be more than 5 billion people on the web. And, by then, the web will shape our everyday lives even more than it does today. Understanding how it works, how to build it and how to make it your own will be essential for nearly everyone.

Maker Party Uganda

The tougher question is ‘how’ — how do we teach the web with both the depth *and* scale that’s needed? Most people who tackle a big learning challenge pick one path of the other. For example, the educators in our Hive Learning Networks are focused on depth of learning. Everything the do is high touch, hands-on and focused on innovating so learning happens in a deep way. On the flip side, MOOCs have quickly shown what scale looks like, but they almost universally have high drop out rates and limited learning impact for all but the most motivated learners. We rarely see depth and scale go together. Yet, as the web grows, we need both. Urgently.

I’m actually quite hopeful. I’m hopeful because the Mozilla community is deeply focused on tackling this challenge head on, with people rolling up their sleeves to help people learn by making and organizing themselves in new ways that could massively grow the number of people teaching the web. We’re seeing the seeds of both depth and scale emerge.

This snapped into focus for me at MozFest East Africa in Kampala a few days ago. Borrowing from the MozFest London model, the event showcased a variety of open tech efforts by Mozilla and others: FirefoxOS app development; open data tools from a local org called Mountabatten; Mozilla localization; Firefox Desktop engineering; the work of the Ugandan National Information Technology Agency. It also included a huge Maker Party, with 200 young Ugandans showing up to learn and hack with Webmaker tools.

Maker Party Uganda

The Maker Party itself was impressive — pulled off well despite rain and limited connectivity. But what was more impressive was seeing how the Mozilla community is stepping up to plant the seeds of teaching the web at depth and scale, which I’d call out as:

Mentors: IMHO, a key to depth is humans connecting face to face to learn. We’ve set up a Webmaker Mentors program in the last year to encourage this kind of learning. The question has been: will people step up to do this kind of teaching and mentoring, and do it well? MozFest EA was promising start: 30 motivated mentors showed up prepared, enthusiastic and ready to help the 200 young people at the event learn the web.

Curriculum: one of the hard parts of scaling a volunteer-based mentor program is getting people to focus their teaching on the most important web literacy skills. We released a new collection of open source web literacy curriculum over the past couple of months designed to solve this problem. We weren’t sure how things would work out, I’d say MozFestEA is early evidence that curriculum can do a good job of helping people quickly understand what and how to teach. Here, each of the mentors was confidently and articulately teaching a piece of the web literacy framework using Webmaker tools.

Making as learning: another challenge is getting people to teach / learn deeply based on written curriculum. Mozilla focuses on ‘making by learning’ as a way past this — putting hands-on, project based learning at the heart of most of our Webmaker teaching kits. For example, the basic remix teaching kit gets learners quickly hacking and personalizing their favourite big brand web site, which almost always gets people excited and curious. More importantly: this ‘making as learning’ approach lets mentors adapt the experience to a learner’s interests and local context in real time. It was exciting to see the Ugandan mentors having students work on web pages focused on local school tasks and local music stars, which worked well in making the standard teaching kits come to life.

Clubs: mentors + curriculum + making can likely get us to our 2014 goal of 10,000 people around the world teaching web literacy with Mozilla. But the bigger question is how do we keep the depth while scaling to a much bigger level? One answer is to create more ’nodes’ in the Webmaker network and get them teaching all year round. At MozFest EA, there was a session on Webmaker Clubs — after school web literacy clubs run by students and teachers. This is an idea that floated up from the Mozilla community in Uganda and Canada. In Uganda, the clubs are starting to form. For me, this is exciting. Right now we have 30 contributors working on Webmaker in Uganda. If we opened up clubs in schools, we could imagine 100s or even 1000s. I think clubs like this is a key next step towards scale.

Community leadership: the thing that most impressed me at MozFestEA was the leadership from the community. San Emmanuel James and Lawrence Kisuuki have grown the Mozilla community in Uganda in a major way over the last couple of years. More importantly, they have invested in building more community leaders. As one example, they organized a Webmaker train the trainer event a few weeks before MozFestEA. The result was what I described above: confident mentors showing up ready to teach, including people other than San and Lawrence taking leadership within the Maker Party side of the event. I was impressed.This is key to both depth and scale: building more and better Mozilla community leaders around the world.

Of course, MozFestEA was just one event for one weekend. But, as I said, it gave me hope: it made be feel that the Mozilla community is taking the core building blocks of Webmaker shaping them into something that could have a big impact.


With Maker Party kicking off this week, I suspect we’ll see more of this in coming months. We’ll see more people rolling up their sleeves to help people learn by making. And more people organizing themselves in new ways that could massively grow the number of people teaching the web. If we can make happen this summer, much bigger things lay on the path ahead.

Filed under: education, mozilla, webmakers

Ohloh to be renamed Black Duck Open Hub

Here at OSS Watch we’re big fans – and users – of Ohloh, the site that helps you analyze open source software repositories, for example when evaluating the sustainability of projects.

Since Black Duck bought the site back in 2010 there haven’t been any obvious changes.

Until now that is:

Dear Ohloh user, 


We would like you to be the first to know of an exciting update to This week, Ohloh will be changing its name to the Black Duck Open Hub.

Since 2010, we have supported the Ohloh community, now consisting of over 250,000 users, with a stream of new features and functions – all to remain freely available. The name change to Black Duck Open Hub reflects an increasing commitment on our part to the developer community, as well as anyone who wants to learn about the world of open source.

So, goodbye Ohloh, hello Black Duck Open Hub!

I have to admit it doesn’t exactly roll off the tongue that easily, and I’m not looking forward to correcting all the mentions of it in various OSS Watch publications either, but hey, things move on!

The Instagram Effect: can we make app making easy?

Do you remember how hard digital photography used to be? I do. When my first son was born, I was still shooting film, scanning things in and manually creating web pages to show off a few choice pictures. By the time my second son was walking I had my first good digital camera. Things were better, but I still had to drag pictures onto a hard drive, bring them into Photoshop, painstakingly process them and then upload to Flickr. And then, seemingly overnight, we took a leap. Phones got good cameras. Photo processing right on the camera got dead simple. And Instagram happened. We rarely think about it, but: digital photography went from hard and expensive to cheap and ubiquitous in a very short period of time.

Mozilla on-device app making concept from MWC 2013 (Frog Design)

Mozilla on-device app making concept from MWC 2013 (Frog Design)

I want to make the same thing happen with mobile apps. Today: making a mobile app — or a complex interactive web page — is slow, hard and only for the brave and talented few. I want to make making a mobile app as easy as posting to Instagram.

At Mozilla, we’ve been talking about this for while now. At Mobile World Congress 2013 we floated the idea of making easy to make apps. And we’ve been prototyping a tool for making mobile apps in a desktop browser since last fall. We’ve built some momentum, but we have yet to solve two key problems: crafting a vision of app making that’s valuable to everyday people and making app making easy on a phone.

We came one step closer to solving these problems last week win London. In partnership with the GSMA, we organized a design workshop that asked: What if anyone could make a mobile app? What would this unlock for people? And, more interestingly, what kind of opportunity and imagination would is create in places where large numbers (billions) of people are coming online for the first time using affordable smartphones? These are the right questions to be asking if we want to create an Instagram Effect for apps.

Screen Shot 2014-07-14 at 6.08.08 PMScreen Shot 2014-07-14 at 6.09.00 PM Screen Shot 2014-07-14 at 6.08.47 PM

The London design workshop created some interesting case studies of why and how people would create and remix their own apps on their phones. A DJ in Rio who wanted to gain fans and distribute her music. A dabbawalla in Mumbai who wants to grow and manage the list of customers he delivers food to. A teacher in Durban who wants to use her Google doc full on student records to recruit parents to combat truancy. All of these case studies pointed to problems that non-technical people could more easily solve for themselves if they could easily make their own mobile apps.

Over the next few months, Mozilla will start building on-device authoring for mobile phones and interactive web pages. The case studies we developed in London — and others we’ll be pulling together over the coming weeks — will go a long way towards helping us figure out what features and app templates to build first. As we get to some first prototypes, we’re going get the Mozilla community around the world to test out our thinking via Maker Parties and other events.

At the same time, we’re going to be working on a broader piece of research on the role of locally generated content in creating opportunity for people in places whee smartphones are just starting to take at off. At the London workshop, we dug into this question with people from organizations like Equity Bank, Telefonica, USAID, EcoNet Wireless, Caribou Digital, Orange, Dalberg, Vodaphone. Working with GSMA, we plan to research this local content question and field test easy app making with partners like these over next six months. I’ll post more soon about this partnership.

Filed under: education, mozilla, webmakers

The Two Paths to Mobile Learning

According to Brent Schlenker, the two paths to mobile learning are mobile enabled and mobile designed learning.

You can read about his explanation is his blog post entitled "The Two Paths to Mobile Learning".

The quicker method is to go for the mobile enabled learning.

Web link for blog post:

PowerPoint slides from OER Symposium 2 (held in Penang)

The PowerPoint slides used by the various speakers in the 2nd Regional Symposium 2014 can be downloaded from this location:

Creating Your Own Illustrated Characters in PowerPoint

PowerPoint is a very versatile program which is used by many people.  Very often we need to create illustrated human characters when we develop e-learning resources.

Here is an easy tutorial on how to create your very own illustrated characters in PowerPoint:

Test Driven Learning: setting learning goals for yourself, Software Engineering edition

Stacey asked me for a refresher on Test Driven Learning for Hacker School, so here we go.

Test Driven Learning is a software engineer’s articulation of Wiggin & McTighe’s Understanding by Design framework after being strongly influenced by Ruth Streveler’s ”Curriculum, Assessment, and Pedagogy” course at Purdue.

Many software engineers are familiar with the process of Test Driven Development (TDD).

  1. Decide on the goal.
  2. Write the test (“how will you know if it’s working, exactly?”)
  3. Make the code pass the test.
  4. Celebrate.


Test Driven Learning (TDL) simply says “it’s the same thing… for your brainnnnn!”

  1. Decide on the goal (“learning objective”).
  2. Design the assessment (“how will you know if you’ve learned it, exactly?”)
  3. Go through the experiences/etc. you need to pass your assessment.
  4. Celebrate.


That’s it. Really.

Step 2 is the part most people flub. With software tests, you have a compiler/interpreter forcing you to be precise. With learning assessments, you don’t — but you need exactly the same level of precision and external execution. If you asked a group of external people (with appropriate expertise) whether you’d passed the assessment you set for yourself, there should be no disagreement. If there’s disagreement, your assessment needs a redesign.

A good assessment is a goal that helps you stretch and reach it; sometimes it encourages you to do more. But sometimes it also gives you permission to stop doing stuff – you’ve written the code, you’ve delivered the talk, they met the criteria you set —  and now you’re done. You can absolutely set a new goal up and keep on learning. However, you’re no longer allowed to say you Haven’t Learned X, because you’ve just proven that you have.

Here are some rough-draft quality TDL assessments you might start with, and a bit of how you might improve them.

I will learn Python. (What does that even mean? How will you know you’ve learned it?) I will complete and pass any 50 CodingBat exercises in Python. (But I could do that by solving 50 really easy problems.) Only 10 of those 50 problems can be warm-ups, and at least 20 of them must be Medium difficulty or greater. (Does it matter if you get help with the problems?) Nope, I can get as much help as I want from anyone, as long as I could explain the final solution to another programmer.

I will get better at testing. (What do you mean by “testing”?) I write a lot of code, but I’ve never written tests for any of it. I hear the nose framework is nice. (What do you mean by “better”?) Well, I’ve never written a test at all, so even going from 0 to 1 would be an improvement. I could use nose to write tests for 3 different pieces of working code I’ve already written. (Do these need to be big or exhaustive tests?) Nope, I’m just trying to learn what writing tests is like, not get full test coverage on my code… at least not yet. Even if I write a 3-line test that checks out one minor function, it counts as one of the 3 tests. (What does it mean for a test to be “done”?) When someone else can check out and successfully run my code and my test suite on their computer without needing to modify either bit of code, it’s done.

I will understand how databases work. (By “understand,” do you mean the mathematical theory behind their design? Or how to actually implement and use one?) Oh geez, the latter. I don’t care about the math so long as I know how to interface with a database. Any sort of database. (So you need to make a demo.) Yeah, but that’s not enough; I can blindly type in code from a tutorial, but that doesn’t mean I’d be able to field questions on it. (What could you do about that?) I will give a presentation to fellow Hacker Schoolers demonstrating a small database interaction in code I have written. That’s an easy binary to check; either I’ve given the presentation or I haven’t.

Thoughts, questions, ideas? Got your own example TDL assessment (at any stage of revision), or ways to improve the ones above? Holler in the comments.

EduPsych for Hacker Schoolers v.1.1 (presentation slides)

Once again I have the (incredible) opportunity to be at Hacker School playing around with my “edupsych for hackers” material… I’ve never revised and re-delivered a talk so often, and it’s good to be forced to see how this material improves with age and experience.

Differences between this and the PyCon Toronto version include the cutting-out of Bloom’s Taxonomy (it’s cool, just not high-priority), the separation of nearly all the Felder-Silverman Engineering Learning Styles material to a separate workshop for tomorrow, and dropping the emphasis on (making fun of) academia’s complicated verbiage, because… that’s not the point.

The slidedeck is at and embedded below. Someday, I want to get this talk taped and transcribed.

Edutalk f2013 from Mel Chua

Hacker school: introducing yourself to unfamiliar open source projects

These are rough, incomplete notes from my getting started in open source session at Hacker School, cribbed from chat notes taken by attendees (thanks, folks!)

We started with a replay of the 5 minute exercise wherein participants dump me in the middle of an open source project I’m clueless about, and watch me think-aloud as I desperately try to figure out what’s going on — basically, “how does an experienced hacker evaluate an open source community?” This time I had 10 minutes, so I got pretty far checking with out Ogre3D (which looks great).

Our first big goal for the session was lurking. You can find projects on a topic by searching the internet for “[topic] open source” (or “[topic] Free Software,” or so forth). When you have a few potentials, ask yourself:

  1. Is this project alive? Are code commits recent? Are mailing list messages recent and responded-to in a timely, helpful manner? Are people using this software? (Do you want to use this software? Can you figure out how?)
  2. Is this a community I want to be part of? (Do they treat each other well?) The people are more important than the code; they’re the ones who make the code, and with release cycles that average 6 months, the code moves so fast that your relationships are what will really orient you.
  3. Where do they hang out and do their work? (What chatroom — usually in IRC — do they use? Do they have a bugtracker or some other giant shared to-do list for the project?) Once you find out where you can overhear things, you can figure out who you’re overhearing, and then start contacting them directly: “I’ve seen you answering questions on X; can you help me navigate X?”

Most projects have communication methods for code and not-code, and for asynchronous and synchronous work. Try to lurk all four. The table below may help.

Synchronous Code: git commits (announced by a bot in chat, sent to a feed, etc)  Synchronous not-code: chat (typically IRC)
 Asynchronous Code: issue/ticket/bug tracker  Asynchronous not-code: mailing lists or forum, AND wiki

Our second big goal for the session was introducing yourselfThis usually happens by sending an email introduction to the developers mailing list, then referencing that email (find the URL of your message in the mailing list archives) during initial chat conversations with people. Maggie brought up “submitting a pull request as your intro letter,” which is a great idea. What this means is that your introduction email should explain how you are:

  1. already in the middle of doing a specific helpful task
  2. and what you’re asking for is help doing that specific helpful task.

This sounds intimidating until you realize “something useful to help” can be very, very small. For example, Rebecca emailed tent saying that she’d been working through their documentation and had ideas for how to improve the clarity of the particular docs at a certain URL (specific helpful task!) and was wondering where to submit her changes (help me do it!). Jade emailed GIMP offering to test patches (specific helpful task!) and asked which branch and patches would be most helpful to verify (help me do it!). None of these tasks involve deep knowledge of the code; that comes later. They involved “writing in English” (not a problem for most Hacker Schoolers) and “compiling C” (not an impossible thing to learn, especially when you’re surrounded by programmers eager to teach).

It’s helpful to pair with someone and peer-pressure (positively!) each other to ship your intro emails.

Thoughts on TYPO3

Last month, OSS Watch delivered a series of sessions on communication and participation with open source communities at the TYPO3 Developer Days event in Eindoven.

One of the sessions in our series looked at the theory of communities, the varieties of the communities we form and the motivations involved in each.  The core message of the session is that a FOSS community should be a community of interest, with the interest being the problem solved by the community’s outputs.  While many people in a FOSS community are developers, it’s wrong to view it as a community of practice, since other skills are required for a sustainable community.

What’s unusual about the TYPO3 community, is that while it is presented to the world as a single group, the brand actually encompasses 2 distinct groups. One group produces the TYPO3 CMS system, while the other produces the TYPO3 Flow framework and the TYPO3 Neos CMS.

The original development of Flow/Neos was funded by the TYPO3 Association as the “next generation” of the TYPO3 CMS. Indeed, it was originally called TYPO3 v5.  However, after the initial development of v5, TYPO3 v4 usage and development continued.  When it became clear that v4 wasn’t going away v5 became TYPO3 Neos, and the next version based on the v4 codebase became TYPO3 CMS v6.

The situation now stands that the TYPO3 brand is used by 2 distinct projects which have different development teams, different stated values and different cultures.  While the website makes the history of the project and the branding guidelines clear, I feel that the TYPO3 community as a whole still has an issue to address.

The Sakai community (now part of the Apereo foundation) experienced a similar situation not long ago.  A sub-group of the Sakai 2 community decided it was time to produce a next-generation system, and called it Sakai 3.  However, it soon became clear that many  institutions funding Sakai didn’t agree with the goals of the Sakai 3 project, which created a rift in the community.

Several key partners withdrew their funding for Sakai 3 (which was rebranded Sakai Open Academic Environment, now called Apereo OAE) and continued to use and develop Sakai 2 (rebranded Sakai Collaboration and Learning Environment, now just Sakai).  The 2 projects now co-exist within the Apereo Foundation, a foundation created to foster software projects which support the goals of higher education.  While the projects have survived, the community suffered.

When a community moves from being a single-project to a multi-project community, as both Sakai/Apereo and TYPO3 have, it’s important that the resulting community identify what key commonality make them a single group.  A FOSS community should be a community of interest, and if projects are to share a community, they should have a shared interest.

Apereo has identified its shared interest in software that supports higher education, within which Sakai and Apereo OAE can now co-exist. With this identity, they’ve now taken on additional projects such as Matterhorn and uPortal, with an incubation programme foster new projects in the future.

If the TYPO3 community doesn’t identify the shared interest of TYPO3 CMS and Neos/Flow, they risk suffering further turbulences as Sakai’s community experienced several years ago.

Fortunately, the TYPO3 community are not blind to these issues. Members of the TYPO3 projects have formed a Community Working Group to look into the issues discussed here and steer the community towards a positive future.

It’s my hope that by learning from Apereo and similar multi-project communities, TYPO3 could become a successful umbrella organisation in its own right.

For more on the history of Sakai and the Apereo OAE, check out the “Sakai” tag in Michael Feldstien’s blog archives from 2010 onwards.

Proceedings of the International Conference on Technology in Education 2014

I attended the International Conference on Technology in Education 2014 which was organized by the Open University of Hong Kong, the Caritas Institute of Higher Education and the Hong Kong University's SPACE (School of Professional and Continuing Education).  It was held in the Jubilee Campus of the Open University of Hong Kong and lasted from 2 - 4 July 2014.

You can download the proceedings from this website:

Discussion on MOOC vs OER

Discussion on MOOC vs OER by Ishan Abeywardena:

He can be contacted at:

Ishan Abeywardena

MOOC - Massive and Open Online Course

OER - Open Educational Resources

Release Management Work Week

IMG 20140623 133320 300x222 Release Management Work Week

Team discussing goals

Last week in Portland, Oregon, we had our second release management team work week of the year focusing on our goals and work ahead in Q3 of 2014. I was really excited to meet the new manager of the team, our new intern and two other team members I had not yet met.

It was quite awesome to have the face-to-face time with the team to knock out some discussions and work that required the kind of collaboration that a work week offers. One thing I liked working on the most was discussing the current success of the Early Feedback Community Release Manager role I have had on the team (I’m the only non-employee on the team currently) and discussing ideas for improving the pathways for future contributors in the team while also creating new opportunities and a new pathway for me to continue to grow.

One thing unique about this work week is we also took some time to participate in Open Source Bridge a local conference that Mozilla happened to be sponsoring at The Eliot Center and that Lukas Blakk from our team was speaking at. Lukas used her keynote talk to introduce her awesome project she is working on called the Ascend Project which she will be piloting soon in Portland.

DSC 0618 300x200 Release Management Work Week

Lukas Blakk Ascend Project Keynote at Open Source Bridge 2014

While this was a great work week and I think we accomplished a lot, I hope in future work weeks that they are either out of town or that I can block off other life obligations to spend more time on-site as I did have to drop off a few times for things that came up or run off to the occasional meeting or Vidyo call.

Thanks to Lawrence Mandel for being such an awesome leader of our team and seeing the value in operating open by default. Thanks to Lukas for being a great mentor and awesome person to contribute alongside. Thanks to Sylvestre for bringing us French Biscuits and fresh ideas. Thanks to Bhavana for being so friendly and always offering new ideas and thanks to Pranav for working so hard on picking up where Willie left off and giving us a new tool that will help our release continue to be even more awesome.


Linux Voice launches Moodle hacking competition

The latest issue of Linux Voice included a cover feature on common security flaws in web applications and how they can be exploited.  Alongside this, they are running a competition to win a Linux Voice t-shirt.  To win the competition, you need to be the person who finds the most security vulnerabilities in one of my favorite open source projects, Moodle.

I’ve got a lot of experience of working with Moodle’s codebase, and I know that its developers have taken security seriously.  There’s APIs in there to protect against SQL injection, cross-site scripting and the other common attack vectors.  This is vital in a system like Moodle which might hold a wealth of personal data about students, as well as assignments and assessment systems.

While these APIs exist, Moodle has a huge codebase maintained by a large community of contributors.  You can write a query using the database API which will be protected against attacks, but a lazy or less experienced programmer might have written vulnerable code which hasn’t been replaced.  Equally, you might be able to think of an attack that no-one thought to defend against.  In the wake of Heartbleed and similar high-profile vulnerabilities, it great to see a competition like this encouraging scrutiny of a popular project’s security.

The prizes in the competition will go to whoever has the most security issues verified on the Moodle tracker, whoever can successfully access a specific file in the site’s web root, and whoever can successfully access a specific file outside the site’s web root.  The competition runs until 8th July (unless the server gets destroyed before then), and you can find out the full details on the competition’s website. Happy hacking!

Protected: some ruminations regarding ‘openness’

This post is password protected. You must visit the website and enter the password to continue reading.

Mozilla at Open Source Bridge

13 11 300x225 Mozilla at Open Source Bridge

Ben Kero, Firefox OS Talk at OSBridge 2013

This week Open Source Bridge will kick off in Portland and I’m extremely excited that Mozilla will once again be sponsoring this wonderful event. This will also mark my second year attending.

To me, Open Source Bridge is the kind of conference that has a lot of great content while also having a small feel to it; where you feel like you can dive in and do some networking and attend many of the talks.

This year, like previous years, Mozilla will have a number of speakers and attendees at Open Source Bridge and we will be giving out some swag in the Hacker Lounge throughout the week and chatting with people about Firefox OS and other Mozilla Projects.

If you are a Mozillian in town for AdaCamp or Open Source Bridge, be sure to stop by the Portland MozSpace and say hello.

Be sure to catch one of these awesome talks being given by Mozillians:

Explicit Invitations: Passion is Not Enough for True Diversity – Lukas Blakk

Making language selection smarter in Wikipedia – Sucheta Ghosal

The Outreach Program for Women: what works & what’s next – Liz Henry

The joy of volunteering with open technology and culture – Netha Hussain

Making your mobile web app accessible – Eitan Isaacson

Modern Home Automation – Ben Kero

Nest + Pellet Stove + Yurt – Lars John

When Firefox Faceplants – what the fox says and who is listening – Lars John

From navel gazing to ass kicking: Building leadership in the journalism code community – Erika Owens

Badging and Beyond: Rubrics and Building a Culture of Recognition as Community Building Strategies – Larissa Shapiro


Google Classroom for Improved Education

Google Classroom for Improved Education: - Cloud-based LMS

I have just come across this cloud-based LMS called

The main advantages of opting for Quampus are:        

Google Classroom for Improved Education

Google Classroom for Improved Education


Google is introducing a new product called ‘Classroom’ in Google Apps for Education.

‘Classroom weaves together Google Docs, Drive and Gmail to help teachers create and organize assignments quickly, provide feedback efficiently, and communicate with their classes with ease. And it lets students organize their work, complete and turn it in, and communicate directly with their teachers and peers’.


It enables teachers to create and collect assignments without using paper. Classroom enables them to share single copy or make multiple copies for each student. It enables them to see who has or has not responded to the assignments and offer real-time feedback.

As a result of using ‘Classroom’ the class can realize the following benefits:

·    Easy to set up, hence whole class can be included easily

·    The teacher can create, review and assess the assignments easily

·    Students can easily view and access their materials as they are stored in Google Drive.

·    Enhanced communication at affordable cost as at present it is free for schools

You can try the ‘Classroom’ by clicking the tab ‘Request Invite’ on R.H.S. of the web page ‘Introducing Classroom for Education'.

You can view the success stories of using Google Apps from various persons of various regions by clicking on the video link available on these persons by visiting the following webpage,

Google for Education.

Hope you’ll enjoy exploring ‘Classroom’.


I have been lurking in the OpenMRS project for the last 6 months or so. I have read wiki pages, installed the development environment, cloned the repository and built the code, and listened in on a number of OpenMRS weekly developer meetings.

As I begin my sabbatical, I realized that it was time to finally introduce myself to the project members. So here’s what I posted to the OpenMRS Developers mailing list, and to OpenMRS Talk:

My name is Karl Wurst and I am a Professor of Computer Science at Worcester State University in Worcester, MA, USA (about 80 km west of Boston.)

Our university has recently created a concentration in Software Development for our Computer Science majors, and I am one of the primary instructors for the courses in this concentration. I am currently on sabbatical (no teaching responsibilities) from June through December 2014 and my plan is to participate in OpenMRS to improve my somewhat outdated Software Engineering skills.

I have installed the development environment, built the openmrs-core code, and now I will begin looking for tickets that I can work on. I am excited that the 1.10 beta release is imminent, and hope that I can be of some help in that sprint. I am also very interested in the development, testing, integration, and release processes as a way of seeing “real-life” examples of many of the tools and technologies that I have been reading about, but not had any hands-on experience with.

I am also part of the Foss2Serve/POSSE ( group that is encouraging faculty to have students participate in Humanitarian FOSS projects as part of their coursework, and have been doing that primarily with our senior project course with varying amounts of success. I would like to have my students participate in OpenMRS beginning with the Spring 2015 semester (January through May 2015.) I want to get familiar with the project myself, first, so that I can direct them.

I also want to use OpenMRS for examples in our courses on software process and management, and testing and QA. We also have an installed server instance that we hope to use for the Health Informatics course that we teach for our Nursing students so that they can get some hands-on time with an EMR system.

I’ve already learned a lot just by exploring and listening. I’m looking
forward to learning even more by contributing.

A note to my students: Introducing yourself to a new group of people is hard, even for faculty members! I have put this introduction off for a while. I may be a Professor, but these people are real experts – they do this stuff all the time, and many of them do it for a living! But, as I’ve often found, once I forced myself to write my introduction and pressed the send button, I’ve gotten back only helpful, welcoming responses. Open Source communities really are welcoming groups that are genuinely happy to have you join, want your help, and will help you succeed. You’ll see…

Using Bloom’s Taxonomy to Develop Educational Objectives

Here is a quick refresher course on how to use the Bloom's Taxonomy to write educational objectives:

The six levels in the Bloom's Taxonomy are:


Why you need to evaluate sustainability

When you’re considering free and open source software, whether for procurement or as a basis for developing new software, you need to take account of sustainability. This means evaluating whether the project is capable of delivering improvements and fixing problems with its products in a timely manner, and that the project itself has a reasonable prospect of continuing into the future.

We’ve posted on this subject many times here at OSS Watch, but this graphic from the folks at Black Duck is a good visual reminder of why this is important:

Pie chart showing project demographics

Source: Ohloh project demographics, via Open Source Delivers blog


This shows that a whopping 61.9% of FOSS projects tracked by Ohloh are considered “inactive”, while a further 28.4% have “very low” activity. Only 0.7% and 0.4% are rated as having “High” or “Very High” activity.

As a caveat, its worth noting that Ohloh doesn’t track all project activity, so its possible that there are some false negatives. Also, some projects have low activity because they are highly stable and mature. Its also pretty open to debate what constitutes “low” or “high” activity.

However, in general I think this is useful to highlight the importance of sustainability when considering FOSS.

For more information on how to go about evaluating sustainability, read our briefing note, How To Evaluate The Sustainability Of An Open Source Project.

Sabbatical Reading List

I have begun my reading list for my sabbatical. It includes general software development/software engineering books, as well as books specifically aimed at the next two courses I will be teaching in our Software Development Concentration:

Here is my sabbatical reading list on my LibraryThing account. I will update it as I find other books, or have other books suggested to me.

Fall 2014 Sabbatical

I am spending the Fall 2014 semester on sabbatical1. This is the proposal I submitted to request my sabbatical leave:

I will use my sabbatical to become more expert in the area of Software Development/Software Engineering. The Computer Science Department recently created a Concentration in Software Development, which has expanded our course offerings in this area from two courses to four courses. This expansion does not simply expand the number of hours we spend on Software Development topics, but adds many topics that we have not been covering at all. Many of these topics are outside the expertise of any of the faculty in the department.

I am the only member of the Computer Science Department who has worked as a professional software developer, but have not worked professionally in that field for over 20 years. Many of the current processes, techniques, and tools were not in use at that time. The members of the department have worked to learn these new skills so that we can teach them to our students, but have only an academic/theoretical knowledge of many of them – we lack the practical experience of using these skills in a professional environment.

During my sabbatical, I will learn the processes, techniques, and tools of modern software development, and apply them in a professional context by working as a full-time (but unpaid) developer within an open source software project. I will work with Dr. Heidi Ellis at Western New England University and Dr. Gregory Hislop at Drexel University to get the academic perspective on how to teach these skills to undergraduate students, and to take advantage of their experience working with, and their contacts within, open source projects.

Drs. Ellis and Hislop are both well-known software engineering researchers and software engineering education researchers. They have been on the forefront of work to help students develop professional software engineering skills by working with open source software projects. They have a particular interest in having students work within projects with a humanitarian aspect. I have done some work with them in this area over the last 4 years, but have not had the time to work exclusively and intensively on developing these skills myself. In addition, Dr. Hislop served on the committee that developed the SE 2004 software engineering curriculum for the ACM and IEEE, and is currently serving on the committee that is updating those standards. I have already tapped his expertise in developing our new curriculum, and plan to do so again as we develop the new courses in the curriculum.

  1. Develop a list of processes, techniques, skills, and tools that are necessary for modern software development. Thislistwill bedevelopedin consultationwithDrs. EllisandHislop, by reviewingtheSLOs of our newly approved Software Development Concentration courses, and by reviewing the SE 2004 Curriculum and any publicly released drafts of the new ACM/IEEE Software Engineering curriculum. This list will include,atminimum:
    • Agile development processes
    • Automated build environments
    • Automated test environments
    • Version control systems
    • Software architectures
    • Design patterns
    • Requirements elicitation
    • Software licensing and intellectual property
    • Project planning and estimation
    • Risk management
    • Analysis techniques
    • Test planning, strategies and techniques
    • Test coverage
    • Code reviews
    • Quality assurance
    • Project and team management
  2. Select an appropriate humanitarian open source project to participate in. The project will be one which
    • Allows me to experience the full range of processes, techniques, skills and tools from the list above. (Or as many as possible.)
    • Allows me to use tool and language skills I already possess to minimize the number of new tools and languages I need to learn.
    • I can continue to use with students in the Software Development Capstone course, and with other courses in the concentration.
    • At this point, the two projects that seem most likely for my participation are:
      OpenMRS (
      “The global OpenMRS community works together to build the world’s leading open source enterprise electronic medical record system platform.
      We’ve come together to specifically respond to those actively building and managing health systems in the developing world, where AIDS, tuberculosis, and malaria afflict the lives of millions of people.
      Our mission is to improve health care delivery in resource-constrained environments by coordinating a global community to create and support this software.”
      Ushahidi (
      “We are a non-profit tech company that specializes in developing free and open source software for information collection, visualization and interactive mapping. We build tools for democratizing information, increasing transparency and lowering the barriers for individuals to share their stories.
      “Ushahidi”, which means “testimony” in Swahili, was a website that was initially developed to map reports of violence in Kenya after the post-election fallout at the beginning of 2008. Since then, the name “Ushahidi” has come to represent the people behind the “Ushahidi Platform”. Our roots are in the collaboration of Kenyan citizen journalists during a time of crisis. The original website was used to map incidents of violence and peace efforts throughout the country based on reports submitted via the web and mobile phones. This website had 45,000 users in Kenya, and was the catalyst for us realizing there was a need for a platform based on it, which could be used by others around the world.”
  3. Participate in the selected project. Iwillparticipate in the selected project on a full-time (unpaid) basis, contributing to the project in whatever ways I can including:
    • Participation in planning and design meetings
    • Writing code
    • Testing
    • Writing documentation
    • Helping with support
  4. Participate in Western New England University course. I would like to observe or help teach a software engineering course at WNEU so that I can see what pedagogy is used in the course, and adapt it to our own courses.
  5. Blog about my experiences. I will write about my sabbatical experiences on my blog ( This will allow me to document and reflect on what I am learning and how I can use it in our own courses.
Preparation for this Sabbatical
  • Participant in POSSE (Professors’ Open Source Summer Experience) in 2010, 2011, and 2013 – A workshop designed to prepare faculty to support students working within open source software projects. The summer 2013 workshop group is continuing to work together over the 2013-2014 academic year.
  • Participant in SoftHum (Software for Humanity) workshop in 2011 – A workshop with faculty working to design materials for use in their courses.
  • One of the organizers of Teaching Open Source Symposium in 2012
  • Participant in OpenFE Materials Sprint in 2013 – A workshop to develop materials for teaching POSSE workshops
Relevant Courses
  • Introduction to Programming
  • Software Construction, Design and Architecture
  • Software Process Management
  • Software Quality Assurance and Testing
  • Software Development Capstone
  • Software Development Process
Benefits to the Computer Science Department and to the University

The department will benefit by having a faculty member who has relevant professional experience in software development, with contacts within at least one open source software project, and with the academic experience of applying that experience to courses. I will be able to use that experience and those contacts in order to give students the opportunity to gain valuable practical experience working within a large software project on the same types of tasks and using the same kinds of skills that they will be expected to use in their professional careers.

The University will benefit through a strengthened Computer Science program, by having a higher profile in the software development world, and being recognized as an organization that has donated a semester’s-worth of work of a full-time faculty member to further the mission of a humanitarian project.

There have been some changes since I wrote the proposal and it was approved:

  1. IchoseOpenMRS as the project that I will be working within.WhileUshahidi seems like a very interesting project,OpenMRS seemed to fit better with my goals for the following reasons:
    • It is written primarily in Java, which is the language that we use most in our Computer Science courses. (Ushahidi is written primarily in PHP, which we do not teach at all.)
    • OpenMRS seems to have a more “formal” software development process and tooling, which I think covers more of the topics on the list of what I want to learn.
    • We can use OpenMRS as a tool in the Health Informatics course that we teach for the Nursing majors, to provide an Electronic Medical Record system for the Nursing students to try out.
  2. I participated in the Teaching Open Source Symposium at SIGCSE 2014 and in POSSE 2014.
  3. I increased my use of Open Source tools both in my own work, and introduced them in our first-year courses.
  4. Students in my Spring 2014 capstone course did some work within the OpenMRS project.
  5. I started attending OpenMRS online meetings to familiarize myself with the project.

I will be writing more about sabbatical as the summer and the semester move along.

  1. For those not familiar with the ways of academia, a sabbatical is a paid leave awarded every 7 years to allow a faculty member time for research or updating skills.

Speaking at OSCON 2014

9364029078 c8969affdb b 300x200 Speaking at OSCON 2014

Mozillians at OSCON 2013

In July, I’m speaking at OSCON. But before that, I have some other events coming up including evangelizing Firefox OS at Open Source Bridge and co-organizing Community Leadership Summit. But back to OSCON; I’m really excited to speak at this event. This will be my second time speaking (I must not suck?) and this time I have a wonderful co-speaker Alex Lakatos who is coming in from Romania.

For me, OSCON is a really special event because very literally it is perhaps the one place you can find a majority of the most brilliant minds in Open Source all at one event. I’m always very ecstatic to listen to some of my favorite speakers such as Paul Fenwick who always seems to capture the audience with his talks.

This year, Alex and I are giving a talk on “Getting Started Contributing to Firefox OS,” a platform that we both wholeheartedly believe in and we think folks who attend OSCON will also be interested in.


And last but not least, for the first time in some years Mozilla will have a booth at OSCON and we will be doing demos of the newest Firefox OS handsets and tablets and talking on some other topics. Be sure to stop by the booth and to fit our talk into your schedule. If you are arriving in Portland early, then be sure to attend the Community Leadership Summit which occurs the two days before OSCON, and heck, be sure to attend Open Source Bridge while you’re at it.

Survey on being an autonomous learner

Authors Ann Macaskill and Elissa Taylor have created and tested a survey that can be used to measure how autonomous students are as learners.

You can find this survey at this website:

The survey comprises 12 items.  These range from learning experiences to time management to motivation.

The terms autonomous learner, self-directed learner and independent learner are used interchangeably.

An OSS Watch for your wrist!

At OSS Watch, our name means we get a lot of spam offering to sell us watches, so I decided to find out if there really is an “OSS Watch”. It turns out there is, or at least, an “OS Watch” since it’s more about the watch being open than the software it runs.

The Open Source Watch website provides details of the components to buy, the tools you’ll need, and schematics for 3D-printing the casing. It then has detailed step-by-step guides with photos showing assembly of your own homebrew smartwatch.

The device as built on the site features a 1.3″ OLED screen (the site also suggests other options), bluetooth connectivity, vibration and LEDs for notifications. The whole thing is powered by an Arduino-compaitble microduino (underclocked to save power), and runs off a 500mAh battery with micro USB charging. You get 3 tactile push buttons, a power switch and a port for programming the arduino.

The site doesn’t provide dimensions for the finished device, but by my esimates the face is 40x60mm, and the casing is about 30mm deep. So it’s fairly chunky as you’d expect from a smartwatch, but doesn’t look over the top considering it’s a DIY job.

The software to run on the watch is in development and available on Github. There’s currently some code to display the “watch face” using the arduino, and the beginnings of an iOS app which will presumably send notifications and data via bluetooth.

(e)Books and (e)Resources for Learning & Teaching


Here are some interesting learning resources that have been scooped out by Dr. Daniel Tan of the Nanyang Technological University of Singapore:
  1. The Naked Truth About Full-Frontal Presentations -- Campus Technology
  2. Higher Education in Asia
  3. 10 Excellent Platforms for Building Mobile Apps
  4. Multiple pathways:  Blending xMOOCs & cMOOCs - by George Siemens
  5. Why is PBL Important?

All Aboard the Coding Train!

cue Ozzy Osbourne laughter…

This blog is coming to you direct from Amtrak Northeast Regional Train 95, where Stoney Jackson and I are on our way to POSSE 2014 at Drexel University in Philadelphia, PA. This is becoming an annual tradition for us.

So, why is it called the Coding Train? Because we are spending the 5 hour train ride writing code!

When we did this for the first time last year, we worked on the code for the grading scripts that I had started writing in bash ( Stoney started adding error checking, and then a Python version – neither of which he finished, but we learned a lot about how GitHub works for collaborative development.

This year we discussed a number of options for what project we would sprint on (after we spent a lot of time on professor-talk about curricula, and courses, and learning outcomes, and assessment) but we ended up back on the same project. This time our starting point was the Python conversion of the original scripts that I had started in December, and which I had just begun to refactor this month (

Stoney has been doing some serious refactoring on the code, adding one major new feature: a JSON configuration file so that I don’t need 15 different scripts – just different configuration files to pass to a single, more general script. He’s also undertaken a major cleanup of the code, and added the project’s first unit test!

I, on the other hand, have been installing tools that Stoney suggested – git flow and git bash prompt, and in the process having to debug my Mac’s installation of Homebrew and cleaning up my .bashrc file (being completely ignored by my shell) and my .bash_profile file (full of lots of cruft from previous installs.)

Stoney has just pushed his branch, so now it’s time for me to pull it, and test it on some data on my computer. And we’re almost to Philadelphia, so just in time…

WeBWorK::Asheville May 19 - 22, 2014

WeBWorK::Asheville   May 19 - 22, 2014

WeBWorK::Asheville::2014 was held at Western Carolina University from Monday, May 19 through Thursday May 22, 2014.   Thanks very much to Geoff Goehle at WCU for organizing the code camp.  

This was a small focused code camp attended by Mike Gage, Geoff Goehle, Peter Staab, Bruce Romano, Jason Aubrey  and John Travis and devoted principally to making progress on 

In addition we made a start on writing a grant proposal for dissemination of WeBWorK to community colleges and to high schools, worked on refining examples that use both MultiAnswers and Scaffolding (sequential or compound problems) in the same WeBWorK question, and created a first draft of a procedure to be followed when checking in new code to the repository.  

This camp  and previous code camps are supported by the NSF through a national dissemination grant to the MAA. 

Read more »

VALS Semester of Code – FOSS Projects Wanted

The VALS Semester of Code is an upcoming project that will work with universities and FOSS communities to give students real-world experience working in software projects.  Unlike Google Summer of Code, Semester of Code students will be participating for academic credit as part of their degree courses, and we hope that after completion of their project will go on to be effective contributors to the FOSS community.

The VALS initiative is a partership of European universities and SMEs who have been working for several months to plan the pilot of Semester of Code, which will run during the next academic year.  We have now reached the stage where we are signing up FOSS projects who are willing to provide mentored projects of students. We have already seen interest from smaller, single-company projects to larger software foundations, and would like to see more.

If you are part of a FOSS project, large or small, that would be willing to provide one or more mentored projects, we’d love to talk to you about joining Semester of Code.  In return, you’ll get an enthusiastic student providing a valuable contribution to your project.  The VALS team will be on hand throughout the project to answer any questions and help unblock communication issues between mentors, students and academic supervisors.

If you’re interested in taking part, you can email me on, or you can sign up to our mailing list directly using this form.

More details about the Semester of Code are available on our FAQ page. If you have any other questions, don’t hesitate to ask on the mailing list, and one of the VALS team will get back to you!

What is Self-Directed Learning?

Here is a simple explanation for the term "self-directed learning":

"What is Self-Directed Learning?" written by Dana Skiff at this website:

There are two important ideas in this definition:
The learner takes (1) the initiative to pursue a learning experience, and (2) the responsibility for completing their learning.

On DRM and Firefox

BnsgnKsCcAE52YM 209x300 On DRM and FirefoxThere has been a lot of criticism of Mozilla’s decision to move forward in implementing W3C EME, a web standard that the standards body has been working on for some time. While it is understandable that many are upset and believe that Mozilla is not honoring its values, the truth is there really is no other decision Mozilla can make while continuing to compete with other browsers.

The fact is, nearly 30% of Internet traffic today is Netflix, and Netflix is one of the content publishers pushing for this change along with other big names. If Mozilla were to choose not to implement this web standard, it would leave a significant portion of users with inability to access some of the locked content the a majority of users desire. A good portion of users would likely make a decision to leave Firefox rather quickly if this was not implemented and they were locked out.

So with that reality in mind, Mozilla has a choice to support this standard (which is not something the organization necessarily enjoys) or to not support it and lose much of its user base and have a very uncertain future.

“By open-sourcing the sandbox that limits the Adobe software’s access to the system, Mozilla is making it auditable and verifiable. This is a much better deal than users will get out of any of the rival browsers, like Safari, Chrome and Internet Explorer, and it is a meaningful and substantial difference.” – Cory Doctorow, The Guardian

The best thing that can be done right now is for users who are unhappy with the decision to continue to support Mozilla which will continue to fight for an open web. Users should also be vocal to the W3C and content publishers that are responsible for this web standard.

In closing Ben Moskowitz also wrote a great blog post on this topic explaining quite more in depth why Mozilla is in this position.





This needs saying…The Boko Haram.scam

On Monday, May 12, 2014 6:30 PM, joseph jackson wrote:
Ooooooooooh boy here we go again…getting set up for the “overly emotional” okedoke!!! Folks,it’s the same song just a different verse: Osama Bin Laden, Saddam Hassan, Muammar Gaddafi and now the Boko Haram…we are so misinformed and extremely gullible, which creates this ongoing atmosphere of deception and precarious circumstances.Oh and by the way relisten to my 2/4/14 email entitled: “Wagging the dog in Libya” after viewing this video .
Heaven help us all !!!
On Saturday, May 10, 2014 8:18 AM, Brasscheck TV <> wrote:

Boko Haram…

They’re not a rock group from the 70s.

They’re the latest US tolerated/US armed (indrectly) group of nut jobs who just happened to do exactly what our military hoped they would do:

Create a pretext for sending in “military advisors” to an oil rich place we’d like to subvert.


- Brasscheck TV

P.S. Please share Brasscheck TV with your
friends and colleagues.


Miss a broadcast?

All Brasscheck TV broadcasts are backed up on
Facebook and Twitter




How Brasscheck TV works:

You’ll receive two video videos every day.

One short one in the morning (US eastern time)
and one longer program in the evening.

(Don’t worry, you don’t have to watch them all!)

You can watch them later or delete — whichever you prefer.
AND you can instantly unsubscribe at any time by clicking
the link at the bottom of every Brasscheck TV e-mail.

If you’re not a subscriber but would like to be,
subscriptions are free.

Just go to subscribe.


Brasscheck TV
2380 California St.
San Francisco, CA 94115

Mobile Learning Webinar Series

Mobile Learning Webinar Series from the ADLNET.GOV group


This special 3-day event will be offered completely online using GoToWebinar and Adobe Connect / Defense Connect Online (DCO) conferencing. The event co-hosts are:

  1. Advanced Distributed Learning (ADL) Initiative
  2. Army Combined Arms Support Command (CASCOM) Sustainment Center of Excellence (SCoE)
  3. Army Research Lab (ARL) Simulation and Training Technology Center (STTC)
  4. Army Training and Doctrine Command (TRADOC)
  5. Combating Terrorism Technical Support Office (CTTSO)
  6. Defense Acquisition University (DAU)
  7. Dept. of Transportation (DoT)
  8. Joint Knowledge Online (JKO)
  9. Joint Training Integration and Evaluation Center (JTIEC)
  10. Navy Bureau of Medicine and Surgery Education and Training (BUMED)
  11. Navy Education Training Command (NETC)

The multi-day format will allow you to participate in the sessions that are most relevant to your needs and interests. Join experts from government agencies, academia, and the commercial sector for an informative set of online sessions on the latest trends and topics that influence how mobile technology enables learning. This year's webinar series will focus on three key themes:

Mobile learning success stories and challenges
Learning design and development for mobile
Emerging mobile technologies and concepts

Those interested to attend any of the webinars are advised to register their names on the above website.


  3. Kellian Adams
  4. PETER
  6. Peter Berking
  9. Imogen Casebourne
  10. DAVID
  11. GAGNON
  12. David Gagnon
  15. Michael Sean Gallagher
  16. SARAH
  18. Sarah Gilbert
  20. GLAHN
  21. Christian Glahn
  22. SCOTT
  23. HAMM
  24. Scott Hamm
  25. STEVEN
  26. HOOBER
  27. Steven Hoober
  28. ROB
  29. POWER
  30. Rob Power
  31. CLARK
  32. QUINN
  33. Clark Quinn
  34. GEOFF
  35. STEAD
  36. Geoff Stead
  37. REUBEN
  38. TOZMAN
  39. Rueben Tozman
  40. JOHN
  42. John Traxler
  43. CHAD
  44. UDELL
  45. Chad Udell
  46. MAYRA
  48. Mayra Aixa Villar

SAHANA EDEN – getting to “meet” the project

There are several interesting projects posted on But the one that caught my eyes the most was SAHANA-EDEN.

Sahana Eden is a flexible open source humanitarian platform with a rich feature set to provide effective solutions for critical humanitarian needs management, either prior to, or during, a crisis.  [...] Sahana Eden currently supports a diverse set of humanitarian organizations, including the City of Los Angeles Emergency Management Department, the International Federation of the Red Cross (IFRC), the American Red Cross, the Helios Foundation, the UN World Food Programme, and several CERT chapters and VOAD organizations in the United States.



According to the official SAHANA EDEN website, , the MISSION statement is:

To help alleviate human suffering by giving emergency managers, disaster response professionals and communities access to the information that they need to better prepare for and respond to disasters through the development and promotion of free and open source software and open standards



Part of the reason why I chose this project among all is my past involvement with the CERT program at Lander University, and a completion of the “Introduction to Incident Command System” short course.




Some other reasons for choosing this project:


Some useful links on how to install the project on your machine:

While provides a lot of useful information about this project (some of which I mentioned earlier on this page), I was unable not find an entry for it on


I’ll finish this post with another brief overview presentation of this project:

More posts should follow on this topic, as I start working on the SAHANA-EDEN project.

Hello world!

Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!

Some of my recent (less than 1 year) photos …

IMG_3756 IMG_3778 IMG_4183 IMG_6879 IMG_6819 IMG_6900 IMG_6915IMG_3923 IMG_3624 IMG_3535

FOSS Related Activities

FOSS Related Activities.

Unboxing The First Firefox OS Tablet

This is the clean little box the tablet comes in

IMG 20140502 1130554 300x222 Unboxing The First Firefox OS Tablet And let’s open the lid and see what’s inside… Look at that nice large displayIMG 20140502 1131495 300x222 Unboxing The First Firefox OS Tablet

The back of the tablet is a soft matte feel so not slippery and has a camera

IMG 20140502 1132003 300x222 Unboxing The First Firefox OS Tablet

This device comes with a special boot animation since its not a publicly available device yet.

IMG 20140502 1132542 300x222 Unboxing The First Firefox OS Tablet

Second boot animation

IMG 20140502 113305 300x222 Unboxing The First Firefox OS TabletThe familiar Firefox OS first boot screenIMG 20140502 113317 300x222 Unboxing The First Firefox OS TabletLet’s get on the Wifi

IMG 20140502 113340 300x222 Unboxing The First Firefox OS TabletSetup the timezone IMG 20140502 113820 300x222 Unboxing The First Firefox OS TabletLet’s begin the tablet tour

IMG 20140502 113441 300x222 Unboxing The First Firefox OS TabletSwipe lessonsIMG 20140502 113805 300x222 Unboxing The First Firefox OS TabletMore swipe lessons

IMG 20140502 113456 300x222 Unboxing The First Firefox OS TabletAnd more swiping

IMG 20140502 113751 300x222 Unboxing The First Firefox OS TabletAnd tutorial complete now to play

IMG 20140502 113731 300x222 Unboxing The First Firefox OS TabletAnd that concludes this unboxing!

IMG 20140502 113716 300x222 Unboxing The First Firefox OS TabletWant to play with this? Find me at one of the many conferences I’m attending or speaking at this summer.

Reddit Scope Leaking User Queries

Screen Shot 2014 04 27 at 12.57.12 AM 300x111 Reddit Scope Leaking User QueriesIf you are currently using the Reddit Unity Scope on Ubuntu, you should consider disabling it. The reason for this is that a Reddit admin pointed out that Ubuntu user dash searches were ending up in Reddit’s server logs.

This is happening because the Reddit Unity Scope uses a URL that does not have SSL configured so instead redirects those queries to HTTP plain text. The good news is a fix is already under way on a bug I filed and Reddit’s API documentation explains how to properly use SSL when making queries.

But until then, please consider disabling the Reddit Scope so your dash searches do not end up on a third party server or better yet eavesdropped by someone using wireshark on the same network as you.

For what it’s worth Reddit should probably do a better job of linking to their API Documentation and that this was just a small oversight but not really anyone’s fault in particular

Edit: I did not realize scopes are no longer local but instead on Canonical’s server because of this any potential eavesdropping locally is unlikely. The security bug is still valid though as it leaks queries to Reddit and the scope does not do certificate validation in any case which would allow a MITM Attack.

Enabling Writers

When children are acquiring reading skills, good teaching is critical but just as critical is the opportunity to practice reading. Practice allows children to apply skills learned in class and to expand their vocabulary and content knowledge through reading
Unfortunately, children’s reading materials are rare in developing countries. When they do exist, they are usually in languages most children do not understand or are at a level far too difficult for primary school students. There are many reasons for this dearth of appropriate materials, but one vital cause is that local publishers and authors lack a simple and efficient way of producing multiple titles in mother tongue languages that are suitable for and interesting to children in early primary school.

This is why All Children Reading: A Grand Challenge for Development (ACR GCD) is hosting Enabling Writers, a $100,000 prize competition aimed at finding technology-based solutions to improve reading skills for children in developing countries. The global competition seeks to spur the development of software solutions that allow authors to easily create and export texts in mother tongue languages to help early-grade students to read.

Enabling Writers seeks to make it easier, faster and more cost-effective to write high-quality reading materials for children in a variety of languages. To solve this ground-breaking challenge, ACR GCD wants to attract a diverse range of individuals, companies and communities but is especially promoting the challenge among experts in software development, digital literacy and education technology.
Established in 2011 as a partnership between USAID, World Vision and the Australian Government, ACR GCD aims to catalyse the creation and expansion of scalable, low-cost education and initiatives to improve literacy for early-primary students.


Children in Dir find their way back to schools after conflicts and displacements

© 2012 Muhammad Ali/World Vision


The Enabling Writers challenge, powered by InnoCentive, a global leader in crowdsourcing innovation problems, is one of several technology-for-literacy competitions being launched throughout Round 2 of ACR GCD. The competition format is part of the initiative’s strategy to expand its network of innovators and solvers with the hope that a new approach or product will set a precedent for the future of children’s literacy.
Enabling Writers will award a grand prize of $100,000 for software that helps authors create books and other reading materials for students after receiving 20 hours of training. Applicants must design a solution or product that provides user-friendly directions and prompts in a common national language, while allowing authors to write in local languages.
After the submission period closes on 1st October 2014, three finalists will receive awards of $12,000 each. They will receive feedback from our judging panel and their innovations will then be piloted and reviewed in three countries with ACR GCD partner programs. The highest performing software will win a grand prize of $100,000.

Solvers’ software should provide the two types of reading materials that early primary school children need:
1. Decodable readers for the earliest stages of reading acquisition that employ words using only the sounds and letters children have already learned.

2. Levelled readers that are controlled for vocabulary, word length, sentence length and other characteristics.


s131549-1:  Reading Camp - a Way Out of Reading Difficulties
© 2013 Aklilu Kassave/World Vision


Both types of materials can be fiction and non-fiction. Successful software will allow writers to use an easy step-by-step process on a computer or mobile device and create texts that follow tested early-grade reading instruction methodologies. The software should:

The winning software will be freely available and released to the public for open source development.Although the deadline for Enabling Writers has been extended until October 1 2014,please be aware that you must have started an application and filled in basic demographic information (the ‘Entrant Information’ field) by July 18 2014.

For further information about our challenge and to keep up-to-date with the ACR GCD project, you can visit follow us on Twitter at

Open source in education: where does the change need to happen?

In our recent survey on free and open source software in the UK education sectors, we asked colleges and universities for their main reasons for not selecting an open source solution according to 12 criteria. Below you can see how important each of the criteria were rated for software running on servers:

Interoperability and migration problems 80
Lack of support 71
Poor quality software 60
Not what users want 51
Lack of staff expertise, training needs 49
There is no open source solution for our needs 43
Legal issues including licensing 30
Time costs of identifying relevant software 29
Migration costs 25
Existing contractual obligations 18
Poor documentation 15
Solution does not scale 14

The question I’d like to pose today is – if we were to consider these as representing the barriers to greater adoption of free and open source software in education, are the barriers to be found within institutions, or are there issues with the available supply of software and services to the sectors?

To answer this I’ve split the criteria into two groups – supply-side and demand-side. Lets look at the supply-side first of all.

Supply Side Factors

Supply-side factors

Three of the top four criteria are supply-side considerations: lack of support, poor quality software, and not offering what users want.

We could also consider “There is no open source solution for our needs” as being largely the same thing as not offering what users want, which would place it as the top concern.

This would imply that, from the perspective of colleges and universities, the open source software community just isn’t offering the kind of software products the sectors need.

From our experience in compiling the Open Source Options for Education list, this would seem a bit curious. Perhaps the issue is one of awareness and marketing? Or are there significant niches in education where there really are no open source options? We also know that the procurement processes in many institutions would likely exclude open source from consideration – is this also a factor in this lack of awareness?

The second major issue on the supply side would then be the provision of services and support. As we’ve seen in the public sector, having commercial partners is a crucial factor in getting solutions adopted. (There is a chicken-and-egg issue here is that there has to be adoption to support a services market, but lack of services hampers adoption.)

Finally there is the quality issue – are open source solutions aimed at education really poor quality? Or is it that the kinds of solutions being considered are not mature?

Now lets look at the demand side.

Demand Side Factors

Demand side factors

The top issue is interoperability and migration problems – if we also add in the respondents who considered migration costs, then it is by far the most cited reason why open source isn’t selected.

We’ve noted before that there is no simple relationship between open source, open standards, and interoperability; while in principle open source affords the adoption of open standards and greater interoperability, the practice is a lot less clear cut.

However, what we haven’t untangled here is whether the issue is with open source options lacking interoperability features or standards compliance, or whether the issue lies with the incumbent systems they would replace.

The next ranked issue is lack of staff expertise; again we haven’t untangled whether this is a lack of expertise amongst the potential users of the software, the IT operations staff, or the staff involved in the procurement so its hard to interpret precisely. Given the question relates to server software it could be any of these groups.

It may also be the case that this issue goes hand-in-glove with that of lack of support from the supply side; often for server-side software the complexity of configuration and operations can be overcome by contracting a supplier to deal with it on your behalf. For  open source options, if there are no suppliers of services available then its up to the institution’s staff to figure it out.

Finally, the rest of the issues here fall under the category of contractual, legal and procedural issues with procurement itself. While each individual item is not ranked highly, taken together they suggest there are significant barriers still in place in procurement. This is something we’ve been looking into recently in more depth, for example in our Decision Factors for Procurement briefing.


Taken altogether, the demand side and supply side issues of open source adoption in education carry pretty much equal weight from the viewpoint of the institutions themselves. But what are we to make of it?

I think we can distill it into five challenges:

1. We need to tackle the interoperability question. Is lock-in a problem? Is lack of standards a problem? This is something our friends at CETIS could take a lead on.

2. We need to improve awareness of existing open source solutions available within the sector;  lists like our Open Source Options for Education are useful here, but projects also need to be more proactive in raising awareness, and may need a higher profile at events such as the UCISA and ALT conferences.

3. Institutions need to improve software procurement processes so that they can consider open source solutions effectively and equally with closed source.

4. We need to build up the open source services market for education. ULCC have been very effective with their Moodle hosting, but companies supporting other major open source software solutions don’t seem to have much of a presence in the education sector. (As I mentioned earlier though, this is a bit of a chicken-and-egg problem)

5. Bootstrap projects in areas where there are no existing open source solutions. Of course there are well known problems with funded projects, but there are alternative approaches, for example the Jisc Co-Design programme could play a role here.

Open source lecture capture at The University of Manchester

We received an excellent contribution to our Open Source Options for Education list this week, in the shape of a real-world usage example of Opencast Matterhorn at the University of Manchester.  The previous examples of Matterhorn usage we’ve had on the list have been documentation of pilot projects, so it’s great to have such an in-depth look at a full scale deployment to refer to.

Cervino (Matterhorn) by Eider Palmou (CC-By)

Cervino (Matterhorn) by Eider Palmou. CC-BY

The case study looks at the University’s movement from a pilot project, with 10 machines and the proprietary Podcast Producer 2 software, to a deployment across 120 rooms using Opencast Matterhorn.  During the roll-out, the University adopted an opt-out policy meaning all lectures are captured by default, collecting around 1000 hours of media per week.

The University has no policy to preferentially select open source or proprietary software.   However, Matterhorn gave the University some specific advantages.  The lack of licensing or compulsory support costs kept the costs down, and combined with the system’s modularity allowed them to scale the solution from an initial roll-out to institution wide solution in a flexible way.  The open nature also allowed for customisations (such as connecting to the University timetable system) to be added and modified as requirements developed, without additional permissions being sought.  These advantages combined to provide a cost-effective solution within a tight timescale.

If your institution uses an open source solution for an educational application or service, let us know about it and we’ll include it in the Open Source Options for Education list.

Open Learning Analytics

Here is something about Open Learning Analytics:

Using Heutagogy to Address the Needs of Online Learners (Distance Learning)

We know about pedagogy.  We have also come across the term "andragogy" as propounded by Malcolm Knowles.  What about Heutagogy?

Heutagogy is all about determined self-learning.  It is highly applicable to online learners.

Here is an interesting article on how heutagogy can be used to address the needs on online learners:

Instead of a MOOC, How About a SOOC?

MOOC stands for Massive Open and Online Course
What about SOOC?
Well, it looks like someone has come out with the term "Small Open and Online Course" for SOCC.
You can read all about this at this website:

General Update

So, turns out that whole compilation/posting of our completed ticket wasn’t as ‘complete’ as we’d thought. That is to say, rather than compile everything and post it to GitHub, we ended up trying to compile all our individual code first….repeatedly. It took a bit of playing around with, but we figured out that it could all be compiled and pushed up through the GitHub GUI. For whatever reason, whenever we tried it on the Bash, it just wouldn’t work properly.

After finally getting it sent up, we still hadn’t heard back from the admins about whether we’d properly fulfilled the requirements, so we’re not sure where to go with all of this. As a group, we pretty much decided to focus on the book reports that would be due soon, and just wait for confirmation. As I’ve still not heard from Dhimitris (who originally claimed the ticket), all I’ve been doing is reading more from my book.

Frankly, I was right. Reading glorified textbooks isn’t that fun. I prefer sci-fi/fantasy to non-fiction :P

If all bugs are shallow, why was Heartbleed only just fixed?

This week the Internet’s been ablaze with news of another security flaw in a widely used open source project, this time a bug in OpenSSL dubbed “Heartbleed”.

This is the third high-profile security issue in as many months. In each case the code was not only open but being used by thousands of people including some of the world’s largest technology companies, and had been in place for a significant length of time.

heartbleedIn his 1999 essay The Cathedral and The Bazaar, Eric Raymond stated that “Given enough eyeballs, all bugs are shallow.”  If this rule (dubbed Linus’s Law by Raymond, for Linus Torvalds) still holds true, then how can these flaws exist for such a long time before being fixed?

Let’s start by looking at what we mean by a “bug”.  Generally speaking the term “bug” refers to any defect in the code of a program, whereby it doesn’t function as required.  That definition certainly applies in all these cases, but for a bug to be reported, it has to affect people in a noticeable way.  The particular variety of bugs we’re talking about here, security flaws in encryption libraries, don’t affect the general population of users, even where we’re talking about users on the scale we see here.  It’s only when people try and use the software in a way other than it’s intended, or specifically audit code looking for such issues, that these bugs become apparent.

When Raymond talks about bugs being shallow, he’s really talking about how many people looking at a given problem will find the cause and solution more quickly than one person looking at that problem.  In the essay, Raymond quotes Torvalds saying “I’ll go on record as saying that finding [the bug] is the bigger challenge.”

So the problem we’ve been seeing here isn’t the the bugs took a long time to diagnose and fix, instead it’s that their lack of impact on the intended use of the software means they’ve taken a long time to be noticed.  Linus’s Law still holds true, but it’s not a panacea for security. The recent events affirm that neither open or closed code is inherently more secure.

For more about security in open source software, check out our briefing on the subject.

Software Freedom and Frontline Services

There are many reasons why organisations choose open source software. Sometimes Total Cost of Ownership (TCO) is a key factor. Sometimes the FOSS offering is the market leader in its niche (such as Hadoop for Big Data, or WordPress for blogs). Sometimes its the particular features and qualities of the software.

However, one of the other key characteristics of FOSS is freedom, and this is emerging as an important consideration when using software to deliver key user-facing services.

"If you want to achieve greatness, stop asking for permission"

At the Open Source Open Standards conference in London on April 3rd, James Stewart from the UK Government Digital Service (GDS) stressed the importance of the permissionless character of FOSS. This enables GDS to modify government frontline services whenever there is need, or whenever an improvement can be identified. This means that services can innovate and improve continually without requiring cycles of negotiation with suppliers.

Businesses are also identifying the importance of “delivering constant value and incremental improvement” that can be delivered through participation in FOSS projects, and through permissionless modification.

While it may seem at odds with typical procurement and deployment practices, where software is used for delivering key services to customers, organisations can choose to devote resources to continual innovation and improvement (using agile processes and continuous testing) rather than more traditional models of sparse planned service upgrades. This can make the difference in crowded markets; or for public sector, react to public demand. With FOSS, continual service improvement processes can be implemented in an agile manner.

Free and Open Source Software is an enabler of permissionless innovation, so when evaluating software for frontline services, bear this in mind.

Image by Thomas Hawk used under CC-BY-NC. Please note that the NC clause may be incompatible with reuse of the text of this blog post, which is CC-BY-SA. For avoidance of doubt, syndicate this article using another image.

North America Mozilla Reps Meetup

DSC 0213 300x200 North America Mozilla Reps Meetup

Our group photo

This weekend, North America Mozilla Reps gathered in the not-so-sunny Portland, Oregon. We worked from the Portland Office during the weekend, where we collaborated on plans for North America for the next six month period. We also tackled a number of topics from websites and refined our priority cities which will help us be more successful in moving forward in our mission to grow contributors in North America.

We were very fortunate to have some new people participate this time round including Lukas Blakk, Janet Swisher, Larissa Shapiro, Joanna Mazgaj, Robby Sayles, Prashish Rajbhandari, Tanner Filip, Dan Gherman and Christie Koehler. It was excellent to have a larger group because this brought ideas from people who see things through different lenses.

14 1 300x221 North America Mozilla Reps Meetup

Voodoo Donuts delivered Firefox Donuts 2.0

All in all, I feel we tackled a lot more work this time than our previous meetup last year in San Francisco and we decided to have our next meetup in Portland again. One of my favorite activities during the meetup was a diversity activity that Lukas led us in that many of us hope to do with our own communities.

We closed off the meetup with a trip to the Ground Kontrol Arcade and Bar where there were many games of Pac Man and Dance Dance Revolution.

Taking Care of Backlog…

So, apparently, I’m really bad at keeping these sorts of things regular. So, let’s start off with two weeks ago, shall we?

Two weeks ago, we did a sort-of lab in class, one that involved downloading various applications and such before it could really get going; well, it involved all that for me, seeing as I was using vastly outdated software/programs. In order to get things working, I had to download the latest version of Eclipse available (Helios, I believe?), as well as a better version of Java in order to properly run everything. I tried to do this all in class, but for whatever reason my internet connection in the classroom seems especially bad. It was at the point that the estemated completion time was several hours, at the lowest. I think the highest I saw was about 10 hours.

Either way, after I got home, everything seemed to work out well enough. The downloads finished rather quickly, and I soon was running the proper software. Unfortunately, everything wasn’t perfect at this point, and thus I had to play around with the Eclipse settings for a bit. Now, while I really should have been typing this up as I did it, so I could remember everything I did, I was an idiot, and failed to do so. So, let’s see how much I can remember, and how much I can re-work through…

It still wasn’t letting me run files as JUnit Tests, so I had to go into the settings and preferences and such to find out why this thing still wasn’t working. Come to find, in spite of downloading the latest of Java and Eclipse, it was still trying to use an old system library, 1.6 I believe it was. I had to go in, forcibly re-direct which Build Path it was using, then I had to force it to run as JUnit Test (unfortunately, I can’t quite remember what I ended up having to do to get that to work properly, but it still didn’t want to run it).

After that fiasco was over and done with, our group finished up our ticket and got ready to compile it all together and send it. I’m not sure if we decided on a new ticket or anything, yet, but I suppose I’ll find out later today in class. In the meantime, I’ve been taking a look at that book I’m apparantly supposed to give a report on. Not gonna lie, I’m not looking foreward to reading what looks to amount to a specialized textbook. I generally shunt those off to be used as references, at best. And even then, the Internet’s generally faster for me. Well, here’s hoping this doesn’t turn out as painful as it’s starting to sound.


Samuel and I left Mowe for Ikire at the end of the RUN’s (Redeemer’s University, Nigeria) POSSE. While we enjoyed viewing the countryside, it was a depressing journey. The Lagos-Ibadan expressway is always undergoing repair and so was it during our trip. We were in a terrible traffic for hours; and at some point, I decided that we continue with the last leg of the trip (Ibadan-Ikire) the following morning.

POSSENG@UniOsun was also a huge success, though we had only a day to interact with the participants. We succeeded in summarizing all that were thought at RUN in the last two days.There was suffice time for coding, demonstrations and Q&A.

In all honesty, we met another set of engaging students. I remember a student asked me a thoughtful question – most programming languages are written in English Language and so are applications built using the programming languages. As a linguistic student, how can one change the language used in a program/application?

I understood the question; he was not only asking about localizing the programs but also internationalizing them (most notably their encoding). He had asked me if the statements, instructions, e.t.c. in a code can be changed from English Language to a different language (with their diacritical marks) and still get the application run. I answered the question and gave some pointers on how he can take it up as a research work.

One of the reasons of running POSSENG in two venues was that we wanted to ease the transportation and accommodation problems/costs for the participants. And it worked. At Ikire, we had some Mozilla reps, academics and students, who had come from neighbouring institutions,such as the Obafemi Awolowo University in Osun State and the University of Ilorin in Kwara State.





This event marks the end of POSSE Nigeria. Many thanks to the sponsor – Mozilla Foundation and the hosts – RUN and UniOsun. Here are pictures from the Mozilla Club, UniOsun

POSSE Lives!!!

I’ve been struck by how much I’ve been participating in open source communities in the past few months.  My research in the area of student involvement in HFOSS draws my focus to open source, but this year has brought new and fun activities.

I’m super excited to be starting another POSSE!!   We are hoping to expand the community of instructors involving  students in open source software via the TeachingOpenSource community. The online portion starts this week and the face-to-face meeting is May 28-30. Folks start the online activities this week and we’re looking forward to learning how student involvement in HFOSS can work in some new academic institutions.

I’ve also been exploring new FOSS venues in the past few weeks. On March 9th I went to an “Open Source Comes To Campus” event hosted by Open Hatch’s Shauna Gordon-McKeon.  Karl Wurst and I worked with students from UMass Amherst and Mt. Holyoke to learn about FOSS and to hack on the MouseTrap project. Karl and I are hoping to bring OSCTC to either Worcester State or WNE at some point.

And two weeks ago I went to LibrePlanet 2014. Friday evening included a visit to the Free Software Foundation offices where I got a peek at the 3D printer that was being raffled off and met some of the folks from the FSF. On Saturday I met Karen Sandler and got to thank her in person for providing an impromptu tutorial on licensing to my students at the Montreal Gnome Summit. I also found it very interesting to hear from people from a wide variety of disciplines (e.g., art, theater) and how they’re using, developing, and promoting free software.

And now I’m looking forward to the Hackfest at CCSCNE 2014.  Karl, Stoney Jackson, and I are hosting a hack on the GNOME MouseTrap project on Friday April 25th. The CCSCNE conference hosts a programming contest that draws around 75-100 students. Many of these student stay for some or all of the conference and we are hoping that they’ll be interested in hacking when the programming contest is over. Pizza will be had by all!


The assignment that was given to the students was evaluated and used to select who will join us for the second day of POSSENG. It was a simple assignment and was meant to determine how committed the attendees were to the workshop. They had been asked to create a blog and write their first day experience as their (first) blogpost. Here are some of the blogposts from the attendees – ; ; ; ; .

After deciding who will be joining us for the Day 2, we began the day by exploring some community projects that can be of interest to the team. One of such projects is software localization. I spent the next three hours showing them how to do online and offline translations using Pootle in Mozilla, transifex in Fedora and Virtaal. In addition, they signed up on the Mozilla localization website, and for some of them, their  accounts were upgraded so hat they can review translations, download compressed locale files and view other projects. A language pack later was built for the translation into Yoruba Language and it was tested.

At some time, the students wanted to see how remote debugging works and I got some folks (Yoric and gerard-majax) on the Mozilla #b2g channel to demonstrate it. I had earlier shown the participants some of the testing and debugging tools used for the B2g/FirefoxOS project.



One of the common challenges for the academics there is that they do not know how to realize their various projects/research works. Hence, we changed focus from debugging to applied research. After carefully listening to the academics, I realized I need to show them how to build a project from source and hack it in order to achieve their goals. Some of the projects that were suggested are Weka, Winbugs (also known as Openbugs) and NS3. For them, they wanted to enhance the application(s) in order to take measurements/readings in a new scale and/or units. They would like to implement such work(s), which is most times the core of their postgraduate works, and release the work to the public domain. In order to increase their level of confidence, I demonstrated how to build Weka and Winbugs from source. We pulled their source code and built them up. I later showed them what files make up the applications and how to hack a typical application.

The closing of POSSE NG in RUN was done by the HoDs of the Computer Science and Statistical Mathematics Departments. Like yesterday, it also lasted for eight hours. Many thanks to Samuel for his support. Although he could not assume the role of a POSSE instructor, his technical support was highly appreciated by all the participants. And Samuel and I later headed for the University of Osun for the third day of POSSE NG.


The management of RUN (Redeemer’s University, Nigeria) attended the opening event. The Vice Chancellor (VC) was going to open the event; unfortunately, he could not make it (owing to other engagements). There were however many other executive staff members (e.g. Director of IT, Head of Library, HoDs of the Computer Science, Mathematics and Statistics, e.t.c.) and one of them stood in for the VC.





There were over 30 participants; they were a mix of academics in and outside RUN (e.g. there were academics from the Ajayi Crowther University, University of Lagos, e.t.c.), students, librarians and some technical support staff members. We got a cool venue for the event; it was one of the software laboratories in the Department of Computer Science. The opening event was brief and concise. During my opening note, I told everyone why all Mozilla contributors that I contacted would not come. It was a pity but I promised that I would be wearing the three hats – an instructor/co-ordinator, evangelist and developer. And finally, we took some photos before the executive members of the school departed.



Not long after, the POSSE NG technical session got started. It didn’t take a long time before they got productively lost. They were shown the ToS IRC channel, planet and website. The #TeachingOpenSource IRC channel and the twitter handle #POSSNIG were our choice communication tools. You can join or follow us using any of tools for updates. After taking about TOS, I explained the terms – Open Source, Open Content and Open Standard – to them. I also showed them how to get concise information about any OS project (using Ohloh and Openhatch). The websites show the number of contributors, commits and programming languages used in a project. They were also exposed to some of the OSS licenses.

Given that a week bootcamp is now condensed into two days, there was little or no break as the session lasted for 8hours. Not all the participants could stay up that long; I saw quite a number of them dozing off. There were just so many to show them; I was right, when I introduced myself by saying “…. I am interested in OS because it shows us how things should be done.” We got our hands dirty by building boot2gecko (the FirefoxOS phone Operating System), using bugzilla to file a bug and diving into the core of the B2G codebase (in order to see the various languages used in it).

It would be good to give some feedback on the participants. I was highly impressed by the enthusiasm shown by all of them let alone the three noticeable geeks that seemed to know all I was talking about. The students and their instructors were very engaging, which shown we got the right crop of attendees into POSSE NG.

Finally, there were given an assignment, which was due the following morning. And we ended the day’s session sharing gifts.



Stephen’s question: how do you tutor fellow researchers in programming?

Stephen recently asked for advice on how I’d teach programming using Python to fellow academics. Specifically, an English major and a Materials Science (Matsci) researcher — smart people deeply into their own disciplines… who happen to not have had programming experience. Here’s what I said; if you have more comments/advice for Stephen, leave them in the comments.

Showing them the fundamentals in a common way, then diverging into their disciplinary interests, sounds about right. If they’re both completely new to programming, you’ll have a little while before they really branch off.

If you want a common starter text, Think Python may be good for this specific case. Just skip the sections related to graphics (Turtle at the start, Tkinter at the end). I also enjoy (and under different circumstances, would recommend) Learn Python The Hard Way and Dive Into Python, but the former is more geared towards web development and the latter is for people who have programmed in another language before.

For your English major friend, one of the exercises gets you into Markov analysis/generation of texts. This should be a fun place to play with poetry. The Markov Bible is a hilarious example of the sorts of things that can be done, and people have written entire books on text processing with Python.

For your Matsci friend, who you said was interested in data analysis, Allen’s next book starts playing with things like census data — that exercise should start being doable around the same time as the Markov analysis, because they’re both fundamentally about “read from a file, do math, spit out to a file.” They’ll probably want to jump off into SciPy at some point to make plots and crunch more complex data.

For a fun change of pace and/or an intro session and/or while people are installing software on their machines, you can try CodingBat exercises. The Boston Python Workshop’s exercises for Friday and Saturday are a tiny manageable collection. This also gets them into the habit of test-driven development (which is also a good approach to curriculum design, although I need a new name for it because Test Driven Learning is already taken).  CodingBat problems are very basic, so this only applies for the first few sessions before it’ll get too easy for them.

I would structure your learning sessions primarily as pair programming time. They’ll learn from each other’s approaches, debug/unstick each other naturally, and learn how to cleanly structure and communicate about code. If you have them pair-program their way through the book, you can spend a chunk of your time writing your own dissertation while being on-call, as in passive pair programming.

Whatever you do, teach them fundamentals of software engineering as you go along — commenting, testing, and version control specifically. Software Carpentry has good resources for this sort of thing. With the same rationale, take the first session and have them make and use github accounts while working through their starter exercises for the sake of everybody’s sanity. This gets them in the habit of working in public, which is important if you ever want to…

…introduce them to a broader community of programmers, which you should do as quickly as possible. Whether that’s “hey folks, join this Python mailing list” or “let’s go to a local Python meetup and get you asking questions — I’ll go to your first one with you and model this introducing-self and question-asking thing in programming-land” or whatever you have around in your neck of the woods, it’s basically the act of teaching them to learn from people other than you. And then… they’re off, and they don’t need you any more to keep learning and doing what they want to do. It’s a great job, making ourselves obsolete.

Hope this helps, and good luck.

Our blogs