Collaborative Teaching for More Effective Learning


Brent Beer from GitHub talked to us after lunch about Collaborative Teaching for More Effective Learning. As we know budgets are shrinking – everywhere – but in particular in education. So what are we doing in schools to get more bang for our buck? One option is to start using open source software to lower overhead costs. There are also tools out there that are specific for schools with shrinking budgets. GitHub has accounts for schools for example.

More importantly, how do we collaborate and communicate effectively with students – specifically in our computer programming classes? There are tools like Moodle and Blackboard in schools, but they aren’t really terrible friendly to educators who might want to set them up. So you need to hire people or a company to help you set up and maintain the system. That requires money which you might not have. Also, even though those tools have communication areas they’re separate from the assignments. We need one place to go where all the assignments and the communication can happen.

Specifically for these computer programming classes, GitHub allows you to have your code in your repository and then allow communication right there through comments. It also facilitates collaboration and introduces students to open source development by having their repository open to their entire class.

GitHub would also be great for keeping your notes and programs for classes organized as a teacher. This way you can track changes to your own work, share work with other teachers, and get comments and collaboration from other instructors who might know how to solve the problem you’re sharing more efficiently or differently. You could also use GitHub as a social network to find other teachers who are out there teaching the same things.

One example of a school doing this Tufts.

To learn more about GitHub go to and for the slides visit

Using Open Source in the Classroom Every Single Day


Jon Roberts of the Davis School District in Utah talked to us about Using Open Source in the Classroom Every Single Day. He used to be a hacker and now he’s a teacher. Kids today expect constant connectivity and Jon wanted to talk to us about how he works with kids like this. Before becoming a teacher, Jon worked in software development for the military and moved on to becoming an independent open source contractor. The school Jon works for is a special school for children who don’t always want to learn – the “trouble” students. The classes are small so that they can give individual attention and can use creative approaches to teaching.

Why teach open source in the classroom?

  • Technology has an increased role in education (there is a new curriculum required for match)
  • Open source is free as in speech (communication is key)
  • growing footprint for open source in the working world
  • inherent sense of contribute and community
  • obviously and especially useful for computer programming (which Jon also teaches)

There are some obstacles though:

  • State office of education has guidelines for the curriculum that require things like teaching MS Office
  • District purchasing office wants a ‘throat to choke’ they want a place to go to complain – they are not as comfortable with the open source model
  • School admins have a fear of the unknown
  • Technical support staff doesn’t want unwanted responsibility (aka they don’t want to learn something new)
  • Students prefer what they already know (they have MS at home probably) – this is where he gets the least resistance though

Jon’s students see the KDE desktop in every class he teaches so they’re used to seeing Linux over MS Windows.

Jon has made teaching open source a viable option in the sight of these obstacles by focusing on curriculum goals and objectives. He also uses older computers and personal resources so that he’s not using new systems that he has to get approval for from purchasing departments. He also follows my favorite motto – it’s easier to ask for forgiveness than permission. So instead of asking for approval he just does it and then the administration finds it hard to break it all down. Another little step he takes is to keep his computers off the network so that the tech people don’t see the machines that they don’t want to support showing up. Finally – and most importantly – he enlists the students support in making the case for open source. The kids want to learn how to develop for things like Android so get their support.

Some examples of open source he uses to teach include Perl scripts to run time tests. He also walks students through the installation procedure so that they can take what they learn and repeat it at home. Jon does something I do a lot – he created presentation and video tutorials so that students can see lectures again or review content they may have missed. He also has a lot of applications to assist in teaching his math lessons (some available from KDE Education Project).

10 Secrets to Sustainable Open Source Communities


Elizabeth Leddy gave the next talk I attended entitled: Wish I Knew How to Quit You: 10 Secrets to Sustainable Open Source Communities. Elizabeth works with Plone but wasn’t really involved in open source until about 5 years ago. With open source we often start by working at a company that supports a specific open source application and there are two paths we can take. One path is that you start to get annoyed with the way things are going and so you jump to another open source project. Or you can get involved in the open source community so thoroughly that you can move from one related company to another (this is what I have been doing with Koha so I totally understand this path).

The goal of Elizabeth’s talk was to make sure we all create loving communities like the one around Plone. When picking your community you should think about what you want to get out of it and what you want to contribute. Open source isn’t just about code. The people in your open source community (if you’re like Elizabeth or me) are the first people you say good morning to – you wake up and get on IRC and say hi to your family. Elizabeth said that she sometimes wakes up and feels like she has 400 brothers … I totally agree … but I’d change that to ‘siblings’ :)

#1 Make Plans

When developing your community you have to make it clear that you’re in it for the long term. You need a plan for marketing, legal issues, documentation code cleanup – and much more!

One problem communities have is that they hold one person or a few people up as the experts in the community and the fact is that they might one day go away so you need to create a leadership pipeline (something I think Koha is good at). In addition to the fact that these people might go away – you really want to help new blood jump in to leadership roles. Also you don’t want to burn people out! You need spread the wealth.

#2 Break Plans

In addition to creating plans, you have to break plans! Don’t get so stuck on your plan that you don’t embrace change.

Make sure you keep metrics to see what’s going on in the community. Bad sentiment is hard to combat. Counter attack that by measuring community success like you would performance and share that info (I think of Chris Cormack’s Koha stats sharing with each release).

#3 Think Globally / Act Locally

Remember that there is going to be a language barrier! Many people to speak English, but they don’t “prefer” it. This means that people might take longer to reply on a mailing list because they’re translating and trying to decipher what’s being said. It also means that tone in things like flame wars might get lost on these community members.

One way to handle this is to provide multiple language channels – on IRC, mailing lists, websites etc. Also you can encourage local symposia so that people can learn about the software in their area and don’t have to try and travel.

At the very least make sure that your ‘how to contribute’ documentation is translated into several languages! That way people around the world can contribute to your project in the way you want.

Diversity isn’t just about accepting women! It’s about accepting people of different nationalities, sexualities, backgrounds, companies, etc etc.

#4 Communicate

Offer to mentor new people. Always give feedback instead of just replying with +1! Ask your community members for code reviews so that you can get better – and if others ask for reviews help them – in the end you all make the product better. Remember to thank people – especially the people behind the scenes who are doing things like managing your domain name or hosting your mailing list.

#5 Culture

We have to think about culture. “Culture is best perpetuated in person” … but most open source happens online. So coming up with as many ways to meet in person can really help your communication and community growth.

Remember to be transparent. Work in groups on new developments so that here is more trust. Nothing can be implied or assumed – you have to share everything out in the open so that the community knows what’s going on. You can also find people who have maybe disappeared and reach out and ask them what’s going on – it might be as simple as life has gotten hard for them and they’ll appreciate the support – even if it’s just beer delivered to their doorstep.

In person meetings shouldn’t focus just on code – more importantly we want to educate the new people, we want to hash out the problems while you’re in person. Getting people to participate is more important than fostering observers … if the focus of an in person meet up is on producing code you might end up with this.

#6 Stop Recruiting Developers

There is a lot of stuff that has to get done in a long term project that does not include code. Things like marketing, business, documentation, legal and fiscal issues. For Koha all the documentation for users was written by librarians (not developers).

#7 Redefine “Participate”

Make sure it’s not just development

#8 Governance

Think twice before contributing to a project without non-profit foundation. Koha has seen this problem … but at the same time I’m not a fan of absolutes (never/always) so I of course contribute to Koha and always will even while we figure out the legal issues that a foundation could help us with.

Foundations can also help with conference planning, fundraising, infrastructure – they don’t have to have any say in the technical decisions if you don’t wan them to.

#9 Lose Control

Have diverse, self policing redundant teams. Other projects do have tight control and work just fine, but having groups means that one person can drop out and you don’t end up scrambling to fill the spot.

#10 Be Awesome / Expect Awesome

You’re responsible for the energy you bring into the room! The tone of your voice and how you treat people will effect everyone in the community. Thank you Koha family for having an awesome energy and welcoming all new community members!!

OSCON Keynote: Redefining What’s Possible On Mobile and Cloud


And the final keynote Mark Shuttleworth from Ubuntu. This conference is Mark’s favorite because “The people in the open source community have extremely generous hearts.” The truly amazing thing about open source tools is that they end up getting used for things that the original developers never considered. Mark called open source tools the “tools of opportunity” which is a great way to think about open source.

Mark showed us a model of the Ubuntu Edge (check it out on indiegogo), which has the goal of having enough power to give you the desktop experience in your hand. One thing that mark talked about that is great (the other devices that will rename nameless have failed to do) is the fact that the devices need different, but yet familiar interfaces. You want to have an operating system that’s the same, but optimized for the device you’re using it on.

Mark also showed us JujuCharms which he talked about as a replacement for the white board, but it’s so much more than that. From the website:

With Juju you can begin deploying services and building relations immediately. Just find a charm and add it to your canvas to get your environment started. It’s that simple.

OSCON Keynote: inBloom Vision and Impact on Education


Up next was Sharren Bates from inBloom, a not for profit interoperability company that works with schools in the US. inBloom is getting in to open source to enable the sharing of data between all systems in schools – they’re not there yet – but they’re nearly there. This will get inBloom a lot of things (enthusiasm, expertise and more from community members) and it will let them share a lot of things (their knowledge of schools, education, etc).

I think this particular project is on that libraries need to make note of – especially open source library systems.

OSCON Keynote: Open Source: The Secret Ingredient


Todd Greene from Media Temple was up next.

He started talking about Linux – how it’s 1 platform with 6 different interpretations. Todd used the example of the ‘omelet’ in this comparison. The secret ingredient in omelet making – in open source software – is YOU.

MT came up with a set of values to making open source successful:

  • work with extraordinary people

  • get things done
  • always been curious
  • enjoy the journey

OSCON Keynote: The Joy of Flying Robots with Clojure


For our next speaker, Carin Meier, we were asked to turn off our devices so that we could watch demos of clojure controlled robots. We watched Carin control her roomba and her drone from her computer – even making the two “friends” with each other.

Since I couldn’t live blog cause my computer had to be off, you can watch the video here:

OSCON Keynote: Creating Communities of Inclusion


Up next was Mark Hinkle from Citrix.

Mark started by talking about we can include more people in our communities to make our software better!! First off, all communities are not created equal – and just because they’re different doesn’t mean one is any better or worse than the others. Open source communities all benefit from shared development.

Next up a quote I will be adding to my presentations : “If a new user has a problem, it’s a bug in the code or the documentation. End of Story.” – Jordon Sissel.

Karl Fogel author of ‘Producing Open Source Software’ is working on an updated version of his book in which he’s including the community in the process. The easier it is to make people contribute the more they’ll contribute.

Mark talked to us about the Open Prosthetic Project. The prosthetics used today are based on a 1912 patent! There was no way for people adapt that model to their needs – enter the Open Prosthetic Project.

View Mark’s keynote on YouTube.

OSCON Keynote: Open Compute Project


Next up was Jay Parikh from Facebook to talk to us about the Open Compute Project. Jay jumped in to explain where the project has come since last year … but didn’t explain what the project was, so this is from the official site:

We started a project at Facebook almost two years ago with a pretty big goal: to build one of the most efficient computing infrastructures at the lowest possible cost. We decided to honor our hacker roots and challenge convention by custom designing and building our software, servers and data centers from the ground up – and then share these technologies as they evolve.

Jay talked about 2 projects that Open Compute is focusing (there are many more). The first was the OCP Networking project which focuses on creating a vendor agnostic switch to allow us to separate our hardware from our software – giving us more choices.

The next project focused on data – our photos in particular. There are over 200 billion photos on Facebook that are not accessed that often. Facebook can’t lose the photos and the users won’t accept if things slow down because the system has to store all of these photos in the same place. So what they decided to do was create a data storage center that was separate from the compute heavy server center. The goals of this new center were:

  • handle massive scale
  • they have to be durable – can’t lose data
  • they have to make things highly efficient

Jay then went in to more hardware-type information than this software girl could follow along with … but it all looked pretty darn impressive.

OSCON Keynote: On Open Intelligence


The keynote was started with an intro by the conference organizers reminding us all that not having a license on our code is a bug not a feature! So go to and pick the right license for your code and make sure you add it to your github account.

Our first speaker was Jeff Hawkins from Numenta Inc.

Jeff Hawkins at OSCONJeff talked to us about the human brain – the most interesting thing in the universe (according to him). He set out on a career to discover the operating principles of the neocortex (it’s just a bunch of cells – how hard could it be? – where have I heard that before?) and build systems based on those principles. The result of this was the Cortical Learning Algorithm (CLA) and NuPIC (Numenta Platform for Intelligent Computing).

Jeff started by explaining out the neocortex works … while it was interesting to listen to … I have no idea how to explain what I just learned to you all :) Jeff even said to us all “This stuff is hard!” so I don’t feel so bad.

CLA is the key building block for machine intelligence. NuPIC is the open source repository for CLA and it’s a community for machine intelligence based on cortical principles.