Jun 102010

I spent most of POSSE Day 3 being lost – and not necessarily “productively”.

After spinning my wheels for a while and aimlessly looking at the code for Measure, Aparna and I finally decided to try to add a tool tip to the slider in the sound tools. By lunch we had broken Measure. We finally discovered that the issue is that, while the buttons are Sugar graphics elements, the slider is a GTK element. (Or maybe Kristina told us that – I can’t remember.) So I spent some time looking for where the toolbarbutton is defined. (The Sugar graphics elements are at /usr/lib/python*/site-packages/sugar/graphics – Google knows all…)

After looking at that code, I decided that the “best” fix would be to create a Sugar-based graphics element. I haven’t started on that because it would require changes to Sugar code, not just Measure code, and that seemed like a much bigger task – both coding-wise and process-wise. I may take a look at it later.

I have to do some thinking about how “unproductive” a day this was. It was certainly unproductive in terms of code. However, it was probably productive in terms of realizing what my students may go through while trying to do this next semester. I’ll have to think about what I’ve learned while doing this that I may want to help them with. Even harder will be trying to decide how much to help them. Is there something important for them to learn in spending a stretch of time being “unproductive”?

Jun 092010

Today we spent our time learning how to get the source code for a FOSS project. We used git to get the source for the Abacus activity from Sugar, and then made modifications to Abacus. Jerry Breecher and I added a “decimal” version of the abacus (10 beads on each rod). The changes to the code were easy to make – mostly copying and pasting, and then making some simple changes.

The more difficult part of the task was committing the changes to my local repository and making patches. These were not technically difficult, but I don’t really know enough about how to use git. I think that a more thorough introduction to git would have been useful (although I guess I can just read the documentation on my own…) I also think it would have been helpful to have created our own branches on gitorius and committed our changes there. That would have accomplished multiple things for me:

  1. It would have allowed me to test the ssh key I created on Monday to see if I registered it correctly in gitorius. I also want to find out if that ssh key is machine-specific, in other words, will I have to create a new key on my other main machine and register that one as well, or can I use the same key on both machines?
  2. It would have allowed us to learn how to submit a merge request. Since I was creating the patches in my VM instance of the POSSE Education live CD, I wasn’t sure how I was going to get them off the VM and send them to Walter. It seems it would have been easier to just commit to gitorius and request a merge.

I spent most of the evening not working on the assigned homework. Instead, I spent my time getting a working instance of Sugar on a Stick (SoaS) running on a virtual machine. Since I had been unsuccessful at creating a Live USB version that would boot on the Mac, I wanted a version I could work in to test my Sugar activities. I had been booting the SoaS Live CD in a virtual machine, but that didn’t provide any persistence. After some failed attempts at using zyx-liveinstaller, I contacted Peter Robinson over IRC and found out that I should be using liveinst instead. That worked fine, but it took me a couple of iterations because I made the virtual hard drive too small the first time.

Today, in between assigned tasks, Peter Robinson and I are going to try to get the SoaS Live USB to boot on the Mac. He’s pretty sure he knows how to do it, but has never had a Mac to try it on.

Jun 072010

I am currently participating in POSSE Worcester State, taking place Worcester State College on June 6-11, 2010. This is a week-long bootcamp to prepare Computer Science faculty to participate in Free Open Source Software (FOSS) projects, and to be able to help their students participate as well.

My own goal for this workshop is to prepare for my section of CS 401 Object-Oriented Software Development in Fall 2010. I would like to have my students participate in a existing FOSS project as a way of learning to participate in a large software project with a large codebase and a large number of participants. However, I haven’t done this yet myself, so I am participating this week to learn how it all works.