Archive for June, 2010

nb: FOSS textbook commenting tool


I’m at a curriculum development workshop at Olin working on the design of POSSE. It is… well, let’s just say I think I understand what POSSE participants feel like (this is also a week-long faculty workshop; I’m the only participant who’s not a professor) – it’s an experience that’s making me see a world (in this case, curriculum design at universities) in an entirely new light, and finally starting to gain the ability to learn at the level I’d like to learn at… I’m nowhere near there, but I think this week is bootstrapping me up to the point where I can learn much of the rest by doing (a lot, for a long time – now I need a lot more experience). This workshop is giving me cultural context. Whoa.

Awesomeness of the day (one moment of many): running into Sanjoy Mahajan, an MIT professor who was my advisor for my humanities capstone on open content engineering textbooks. Sanjoy is also a FOSS geek, and he’s a visiting professor at Olin this coming year. Back in the day, we talked about software for writing textbooks. Turns out he kept working on it, and now one of his students has made an open source textbook writing software called nb – the code is actually under an MIT license, I’m told, but there’s no (easily findable) public repo of it yet, etc… we’ll fix that soon.

A Guided Tour of NB from Sacha Zyto on Vimeo.

Basically, it’s heatmapped commenting on textbooks in pdf format, inspired by the comment workflow on the GPL v3 draft back when it was a draft a few years ago. This way you can see at a glance where folks have commented, and how much, so you know what areas of the text you need to work on. See Sanjoy’s book, Street Fighting Mathematics, for an example of an annotated text.

How would this work in practice?

  • source code: TeX
  • compiler: LaTeX
  • submit a comment/patch: write an annotation on the book using nb
  • accept/push a patch: revise the upstream TeX, “recompile” the pdf in LaTeX
  • forking: get the TeX source and build your own
  • etc.

I don’t know how well it would work, but I’ll be poking the maintainer over the weekend, trying to get an instance of nb up, and then throwing the latest instance of the TOS Textbook up on it to see how that goes, just as an experimental “let us try this tool!” branch. Hrm. When… do I have free time? That is the hard part. If this works out, it would be amazing to have students in classes (Heidi and Tim, I’m looking at you) comment on the textbook as they’re using it.


Mmm, warm evenings in Harvard Square.


Debbie (Olin prof) was driving into Cambridge for a book reading right after the workshop at Olin, so I went with her and we had a good conversation about institutional change and the timescales therein, and the tradeoffs one makes (or doesn’t) when figuring out how to shape a career to maximize both happiness and impact. (That should be pretty easy for me, since making a difference makes me happy.)

Afterwards, I spent some time walking around Harvard Square as it turned into dusk. There were street musicians on every block, and the gentle rush of many different sorts of people over the cobblestones and past the stores and signs was comfortingly familiar. I sat on the low wall right outside the train station and watched the world go by a bit. Perfect weather – warm, with a bit of breeze. Slightly humid. Someone had left sidewalk chalk by a wall covered with random chalk scrawls, so I grabbed a chunk and transcribed some of “Sea Fever” onto it, then caught the train back home, walking to Eliot in the dark.

Mostly did reading tonight – input on all I have to catch up on. I’m blinking now and starting to slow down considerably while typing, as it’s been a long day (but a good one) so I’m going to take a nap and then wake up and write the output that I need to write, hopefully with more coherency, conciseness, and much higher speed.


to-do braindump, Sunday morning


Yesterday was an adventure – my first trip to the Artisan’s Asylum for the Rubber Duck Brigade kickoff (which I still need to go and help with building, since my obligations this weekend and their build times this weekend really suck at matching up), window-shopping out at the MIT Press bookstore with Peter Robinson (who, as it turns out, is also a food geek, and who I at some point need to visit in London so he can show me jazz pubs there), bringing a pile of BBQ back to the house with Peter and pulling in Sebastian over Skype so the entire SoaS release team could talk with Lynne May at the same time (about a teacher’s-eye-view of a pilot/deployment, I need to type up my notes from that).

Dropped Peter off at the airport, and then… well, I ended up thinking ’till 2am. Whoa. Still blinking. Need to take Audrey out and around the city soon as soon as I finish clearing one backlog (browser), we’re previewing the route that Clayton and Quinn will take when they visit Boston in August. If only I could find my camera charger.

I’m still clearing my backlog. Expense reports will be done as soon as I make a trip to the giant office scanner (maybe tonight). I’m going through my browser-reading backlog right now. Then I have an email backlog, and then I have a personal-finances-catching-up-on backlog ($14k of expense reports is ow) and then we’ll see. I’ve started filling my car’s gas tank once a week no matter how (not) empty it is, so I don’t have to worry about it… I should do the same for finances. Time-based release cycles, for some things, are more efficient than “well, when enough stuff piles up, I’ll force myself to get through it” release cycles.

Via Karsten: Whoa. Windowfarms. Brilliant – the tech is nifty, the community seems active (and rapidly evolving the tech), and businesses (kits, installation services, how-to workshops) have sprung up around it. (Chumby would be awesome too – if only it didn’t rely on the proprietary Flash format. I have been keeping an eye out for good FOSS business models.)

Via Ellen: All right, I take it back. I can drool over bags. (I’m a girl, I’m just a nomadic geek girl.) Specifically, the Tom Bihn Aeronaut is… no, no, I have a luggage, and I have a backpack (normal ol’ backpack) and I can travel with either and that’s all I need. I’m trying to get rid of stuff. This sort of thing is what I’m thinking about when either of those falls apart, though – years from now, so not anything to actually look into at the moment, just gathering specs for later when the time comes. Packing cubes. Hrm.

Via Lynne May: the Massachusetts Dept. of Education technology literacy standards are the sort of thing we can think about when working on things like Sugar. I was originally hesitant (“there are too many standards! we can’t aim to meet them all!”), but Peter pointed out that if we found out any of these standards were close to what we were already doing, why not make some simple tweaks and then market them as such? They are good things to be aware of.

Continuing my acquisition of things on the “possibly work ‘em into your infrastructure, Mel” queue, it’s dvtm, which joins awesome, etoile, sup (+offlineimap), and a host of irssi plugins. I still need to finish writing and editing that GNOME/KDE comparison for Sumana (by the way, Sumana, your OSB talk notes are brilliant) with Ryan, and yes yes yes yes later later later. Also later later later: chemistry remix for my cousin, during which I’ll finish rewriting the remix creation docs, incorporating (and understanding) the shell-script-help-fu received from my last blog post, also SLOBs discussion and okay I need to sit down and figure out what I am actually going to do when because this week I’m at a workshop, and then after July 7th life is nuts for exactly a month (when it becomes… even more nuts).

Some stuff just expires – I missed the call for Ignite talks at OSCON, but honestly, if I’m already giving 2 talks and running a BoF there (heck, might be helping with a 2nd BoF on top of that), I have enough to do. Oh yeah. Need to work on those talks again. Owe Asheesh a draft. Looking at FOSS project and activity in APAC, trying to learn more about that region. On my radar to look at: Cubrid. Also: must learn Mandarin. MUST LEARN MANDARIN!!! Pick a flashcard program, Mel. Or use the paper ones. Gah.

My head is not yet on straight, but it’s getting there. I try, once in a while, to braindump the things I want to do, so I can sort out what I have to do and what I’d like to do and make sure that the former gets done and the latter I don’t feel so guilty about.

Prioritization: I’m still learning how to do it. Limits: I have them, and should recognize them. If I ever want to do anything other than work, I need to figure out how much time I want to allocate for work versus other-things, and how much work I can do in the time allocated for work, and how much other-stuff I can do in the time allocated for that. I’m not sure how to do that when work + the stuff you love to do largely blend together, but there are things that are quite clearly not-work (SoaS, dancing, that rock climbing voucher I really ought to cash in now before it expires) so perhaps I can start there.

The thing about having an unstable equilibrium for a life is that you keep falling and rebalancing yourself, falling and rebalancing yourself, as the terrain shifts rapidly underneath you. I like it that way, though. So far, of all the ways I’ve tried, I like that best.


Shell script ninja help needed: weekly test image downloading


Dear lazyweb: there must be a simple answer to this. I’m trying to write a shell script that a cron job can run every week to update our Sugar on a Stick (SoaS) test image repository. The ticket in question is Sugar Labs #2058. Longer explanation than usual given so those new to the dev/test/release cycle can follow along.

Basically, SoaS is a Fedora Spin, so we get nightly composes made here (as in, “Fedora automagically builds our .isos for us so we don’t have to”). In order to (we assume) save on disk space, the Fedora servers only store the latest nightly compose – once a new .iso is made, the old one is gone forever, bwahaha!

This is fantastic for developing, but not so much for testing. Expecting testers to keep up with daily builds is a bit much, and it’s putting a burden on people who are downloading them every day (possibly even getting into trouble with their ISP), so we decided to go with a weekly test cycle – each Thursday evening we’d designate the most recent image as the “image under test” and point everyone there. That way, developers would also know exactly what image people were finding bugs in each week.

Problem: in order to (we assume) save on disk space, the Fedora servers only store the latest nightly compose -  once a new .iso is made, the old  one is gone forever, bwahaha! So we need to grab the most recent image – which has a special naming – at that time and pull it down to the Sugar Labs servers so we have the files at http://download.sugarlabs.org/soas/test/ (We’re also storing the old test images so we can go back and forth between them Since the builds do contain their build date in their name, and we can’t predict ahead of time what the build date and time are, we don’t know the exact filename to pull.

So we’re basically looking for a shell script that will:

  1. Pull the latest iso and checksum from the SL servers
  2. Rename the checksum so it matches the datetime stamp of the iso (the checksum is currently called – rather unhelpfully – “CHECKSUM-i386″).
  3. Update the symlinks so that http://download.sugarlabs.org/soas/test/soas-i386-test-latest.iso and http://download.sugarlabs.org/soas/test/soas-i386-test-latest-checksum.sha point to the latest iso and checksum that were just downloaded.

This probably requires some sort of weird wildcard bash-fu that would take me multiple hours to inelegantly figure out, and someone else 5 minutes to write a one-liner to solve.

Can haz halp?


SLOBs discussion: what are the biggest issues in SL right now?


The Sugar Labs Oversight Board (SLOBs) has had trouble getting together on IRC recently because of everyone’s crazy schedule, so today some of us got together in-channel and got through the list of outstanding topics as best we could. It wasn’t an official SLOBs meeting – with only myself, Tomeu, and Chris Ball, we lacked quorum and couldn’t make any official decisions – but we moved things forward as best we could, because these issues are pressing.

Remember, nothing says that anyone (you don’t have to be a SLOB!) can’t move things forward, SLOBs-fu is only needed for the final formal vote! The full log is available, and I’ve added it to the list of past logs while noting that it wasn’t an official SLOBs gathering, for clarity. Here’s what we covered:

  1. F11+0.88+XO-1.* as a SL project – Bernie had sent in a request on behalf of Paraguay Educa and Activity Central to make Fedora 11 with Sugar 0.88 builds for the XO-1 and XO-1.5 a new official project. It wasn’t clear to us what resources they needed; we pointed out that they could get infrastructure/hosting without being an official “SL project” (and indeed without asking SLOBs!) and asked what else they needed – trademark permission, etc? Tomeu brought up that SL projects were the ones that SL teams (Marketing, Design, Development, etc.) were expected to support, so it’s not clear that this would be the appropriate designation for the F11+0.88 builds – there may be a more appropriate upstream for the project to be under (Paraguay Edcua, Activity Central, OLPC, Fedora, etc.) and then SL could partner with that project instead of being the umbrella org for it.
  2. Ooo4Kids logo display request – Ooo4Kids asked if they could display our logo on their “partners” page, but we’re blocked by not being able to find the original text of the request for this. If you know where to find this, or who at Ooo4Kids to contact about it, please let us know!
  3. Trademark usage applications – A number of local labs have asked for permission to use the SL trademark, but again, we’re blocked by not having the original request text. If you’re from the Colombia, Paraguay Educa, Argentina, Chile, Peru, or DC Local Labs, please help us find your request!

Since all three of these are continuing discussions, and we’ll be continuing those discussions on-list, I’ve linked to those discussion threads from the agenda for next week. (The other two things on the list for next week are “Review of RM search” and “Motion and possible vote on Sugar certification,” – I am not sure what the latter means, so clarification would be great, what’s the motion we’re looking at?)

Question for all Sugar folks: what do YOU think the most pressing problems in our community are? That’s what SLOBs should be addressing – so please tell us what our biggest (non-code) bugs are.


Dear sleep cycle:


I almost always think it’s a great ability to be able to run on adrenaline whenever I need to, but seriously, NOTE TO MY BRAIN: I have not slept more than a few continuous hours in almost exactly three weeks right now. Sustained unconsciousness. Please. It’s not that hard, is it?

I’ve been resting a lot (by my standards) in the past 24 hours, just not sleeping. I’ve also been coming to the realization that I’ve spent much of the past… decade, at least – likely longer than that – near-permanently stuck in the “too tired to sleep” category, and that backing down from this is going to have some interesting consequences (and I’m not sure that I actually want to do it until, dunno… after grad school, maybe).

Maybe I’ll back down from it enough to not wake up before 2am. I am pretty sure I’m tired enough to need more than 3 hours of sleep right now, but that’s what I woke up after, and I’m trying to persuade my brain that no, no, now is not a good time to do work. That’s not productivity talking, it’s stupidity and an adrenaline rush. Go back to bed, Mel.

Sigh.


Language learning, yoga, and thumbdrives


POSSE alumni Kristina Striegnitz and her student Kirk Winans are looking to do some linguistics-learning hacking (tools for language learners) and would love ideas for what to work on; they’d like to put the Leitner system (where the computer tracks your correct/incorrect answers and brings up things you answered incorrectly more frequently in the future) into something fun. Any suggestions? I left mine here (awaiting comment moderation as I type this).

Olin alumni Janet Tsai wrote a proposal for using yoga as a way to explain engineering. I think I need the reverse equivalent – engineering as a way to explain yoga (or running, or whatever) – I have very little physical awareness, but math and physics make things make more sense; I understood dancing much better once folks like Gui and Andrew began to explain what I should do in terms of adjusting spring constants and whatnot. I wonder if I can get someone to teach me some sport – almost any sport, but bonus points if it’s a martial art – with that sort of mentality. Too bad Janet lives in a different state…

Supertalent makes little flash drives that would make pretty awesome necklaces. Next time my mom insists I have some form of jewelry for some formal occasion, if given enough advance warning, I might just do that. (“What’s that on your necklace?” “Fedora 13. Want to install it on your computer?”) I do not like jewelry at all, but I keep on getting bothered to wear it, and figure that having one necklace and one set of earrings and perhaps one bracelet I can tolerate is better than constantly being forced to borrow stuff I don’t like. Too bad I didn’t get a set of white LED earrings when Alex Wheeler’s FBE class made them; they are ridiculously expensive when you get them online. Maybe I’ll ask her how to make them if I find out I will need this stuff again.


Support


I pride myself on being pretty blunt. But I’m less good about addressing certain things. And on those topics, other people will occasionally write more bluntly than I dare to.

The life of a person with disabilities is not tragically unfulfilled because they have a disability. This is a more contentious issue within the disability rights community, which I won’t get into unless prompted because it’s sort of tangential. But suffice to say that many, many, many people with disabilities do not spend their time dreaming about how grand life would be if they were just “fixed.”

That’s what I used to tell my family when I was a kid. It’s much, much better now.

I have been thinking about this for a bit over a year now, and I think that when I go to grad school, I will ask for support – and learn to use it. ASL, CART… I’m not sure what’s out there, I’m not sure what’s going to fit me, but when I go back to school, I’m going to find out and I’m going to try.

Do I need this? No, in one sense. I can work in the mainstream world just fine without any support. I lipread, I speak, I constantly make a thousand tiny unconscious adaptations to cope with being a non-hearing person in a hearing world. (Or as I like to think of it, “all my friends have hearing superpowers!”) But on the other hand, what is it like to use those tools, those resources? What if you didn’t make a thousand tiny adaptations – what if you made a few hundred less, and asked the world to try adapting to you for a bit?

It’ll take a lot of work to learn how to access that (my ASL is awful), but… it would be a shame, I think, to shut off that part of the world as an uninformed decision. Maybe it won’t work out for me, butt I should at least try. And I am curious what I’m missing, if anything. We shall see!


FOSSCon POSSE panel notes


These are notes from the POSSE panel we had at FOSSCon – thanks to everyone who helped take them on etherpad in realtime!

We started with an overview of the POSSE curriculum, which is all about open source development and teaching.

Day 1: Open (communication tools and culture)
Day 2: Source (getting, building, changing, making patches, committing)
Day 3: Development (diving into a real project, picking up a ticket, and making a contribution)
Day 4: And (development, continued)
Day 5: Teaching (pedagogical and practical considerations, aligning with release schedules, grading, etc)

Then we split into mixed groups, each group with RIT and outside-RIT-FOSS folks, to figure out a project that the FOSS group(s) and the RIT folks could do together, resulting in invitations to play at http://foss.rit.edu, the notion of a Drupal partnership (have RIT co-ops hacking on Drupal modules, and get a Drupal site up at RIT to tell those stories), working on CivX, and more.

One issue is lowering the barrier of entry for FOSS projects to work with RIT groups. For instance, some of the folks at RIT would like to offer mirroring for open source projects, but permission to actually do this with RIT’s infrastructure is difficult to obtain. However, as a first step, RIT will be hosting http://activities.sugarlabs.org for the Sugar Labs project by the end of summer.

We talked about Rochester’s FOSS presence, and how the local LUG and the campus hacking community didn’t seem to mix much. Luckily, some POSSE participants (Gary and Geoff, mainly) talked with Charles, the head of LUGOR, and it sounds like LUGOR might get meeting hosting, and that incoming freshmen to RIT will get some flyers about meetings on campus… it’s not just LUGOR, too. The local Pythonistas are moving to the RIT Center for Student Innovation, and the OLPC User Group meets at RIT every 4th Thursday of the Month.

The current computing curriculum was another topic. Asheesh pointed out that open source development bears little resemblance to the computer science curriculum. In fact, the IT world looks very different from the computer science curriculum. As Gary pointed out soon afterwards, schools don’t necessarily prepare students for the world they’re about to graduate into; sometimes it prepares them for a world that passed a decade ago. At the same time, faculty are under great pressures that make it difficult for them to change the things they teach. How can we make it possible for this to change?

Chris talked about the success Seneca College has had working with upstreams like Fedora, Mozilla, and OpenOffice. For instance

  • Half of Mozilla’s build team is composed of Seneca graduates.
  • Students who hacked on Firefox helped to close gaps in the university’s infrastructure. After reconciling bugs in their “Learning Management Software”, Firefox became the standard browser for staff all over campus.

The latter example brought up an interesting point – FOSS collaborations in education are actually three-way relationships: the academic experience (teachers/students learning skills), the FOSS community they work with, and the school’s IT department that needs to deploy infrastructure, and can oftentimes use the code produced and maintained by the first two groups.

At this point, the panel session concluded, but we left with our list of FOSS/edu partnerships to start or continue, and we’ll see where the conversation goes from here.
   
Panel participants:

  • Mel Chua, Red Hat/Fedora/Sugar Labs – POSSE ninja and FOSS + Edu geek in general. Sugar Labs board, Fedora Marketing. Community engineer.
  • Chris Tyler, Seneca College/Fedora Project – Professor, author, open source contributor, Fedora board member, event organizer, one of the founders of teachingopensource.org
  • Mike Quin, University of Stirling Sysadmin, freenode staffer
  • Laura Quin, Writer
  • Geoffrey Anderson, Rochester Institute of Technology – Database Tutor and Lab Instructor, Student in MS in Information Sciences and Technology — Ubuntu and Oracle enthusiast
  • Kingdon Barrett, Rochester Institute of Technology – Computer Science Major (Bachelor) Graduate in August 2010.  Specialize in Virtualization and Web Software, EliveCD user!
  • Luke Macken, RIT Computer Science Alumni, Python Ninja @ Red Hat, Inc.
  • Remy DeCausemaker, Hacktivist & Storyteller, FOSS@RIT (http://foss.rit.edu)
  • Mo Morsi, Syracuse University Alumni, Deltacloud / Ruby developer @ RH
  • Stephen Jacobs:  FOSS@RIT.edu, Game Design FOSSProf, Open Source dilettante http://foss.rit.edu, https://fedorahosted.org/mailman/listinfo/fossrit.
  • Devin Zuczek: DLC Solutions/Drupal developer, CE/CME
  • Jonathan Dahan: Stony Brook University CS/Digital Arts hacker
  • Jonathan Simpson (JonathanD) freenode/fossevents and fosscon

Learn more:

#teachingopensource on irc.freenode.net
teachingopensource.org
teachingopensource.org/POSSE

We’re looking for:

  • schools to match with FOSS communities for a POSSE
  • FOSS communities to match with schools for a POSSE
  • infrastructure + support for folks who are teaching open source

If you’re interested, please swing by and say hello!


What’s the best FOSS chemistry software you know of?


One of my cousins, Bea Tan, is a chemistry major at UP Diliman (the University of the Philippines’ big campus in Manila). A few days ago, a fire destroyed their building and everything in it. All chemistry classes have been suspended as they scramble to get lab equipment and move it into an empty building so they can continue their studies. They need everything… not fancy stuff, but the basics. Glassware. Refrigerators. And (I am guessing) computers… and software.

I’m not sure what they need, if anything. I’m not sure if they need to run proprietary software for some specific fancy lab machines (but they no longer have any fancy lab machines, so I am guessing “not right now”). Bea reports that they have not really used computers in the chem department in the past, but we wonder if this is due to software being downright too expensive – most of the students at the university can’t afford computers, so this is definitely talking about shared computer use in classrooms and labs. There are some nice chemistry programs packaged in Fedora that would be useful; that list is probably out of date, and there are probably more programs out there. For instance, Avogadro, a molecular editor (below).

So this might be an opportunity to help by getting an university-branded Fedora chemistry Remix on some machines in the new building, so that they don’t have to pay ridiculous amounts of money for proprietary programs. Might be an opportunity to help. We don’t know if they need it, we don’t know what they need, we don’t know if they’ll even be receptive to the prospect of free software, we don’t know if they have computers for their buildings…

However, spinning up a remix prototype is quick, so I’m going to toss one together to give Bea and her professors and classmates an idea of what that might look like. I’ve got some free time on Wednesday and over the weekend, so I need suggestions for packages to include (or software that isn’t yet packaged but should be included, since I can include non-packaged stuff on account of this being a remix). If nothing else, it’s something that interested students can explore while they, y’know, have no classes to take.

I will be pulling packages into the kickstart file off this list, so either add to it (if you have Fedora wiki edit privs) or post comments here (if you don’t) and I’ll put everything there that fits in, do a quick rebranding test to slap the uni logo on, redo the default bookmarks file, check to see if the software works, and ship it off for them to try and holler back about.