Saturday, June 1, 2013

What Does a "Civic Hacking" Curriculum Look Like?

I'm sitting here at the National Science Foundation in Arlington, Virginia, participating in the National Day of Civic Hacking.  What is civic hacking *, you may ask?  The about page for this site defines those who engage in "civic hacking" thus:
"Civic hackers" as we think about it for the National Day of Civic Hacking are engineers, technologists, civil servants, scientists, designers, artists, educators, students, entrepreneurs – anybody - who is willing to collaborate with others to create, build, and invent open source solutions using publicly-released data, code and technology to solve challenges relevant to our neighborhoods, our cities, our states and our country. 
What a wonderful concept!  Not only is this effort helping to build a democratic society in a very direct way, but by a thoughtful choice of name it is reclaiming a word for our community that the misguided media stole from us many years ago.

Anyway, I'm here because Code for America volunteer and Northern Virginia Code for America Brigade co-founder Michelle Koeth is organizing this event and invited me.  Michelle is a regular participant in our weekly South Arlington Hacker Space, and she has been introducing me to and getting me excited about civic hacking and Code for America for awhile now.

Despite my unmitigated enthusiasm for the philosophy behind this event, and my background as a high school computer science teacher, I was hesitant to come at first because I didn't think I had the skills to participate.  After listening to the morning presentations of the data sets by representatives from both local and federal government, I confirmed that my hesitation was well founded.  "Here we have publicly available sets of data", they told us, "we'd like you to go do something cool with them."  The problem for me was that I had very little idea what to do and absolutely no idea how to do it.

This lack of skill and understanding on my part got me thinking.  I'm deep into developing a curriculum for web design and development in partnership with the local community college (see  http://webappdev.gctaa.net).  The curriculum is aimed at dual-enrolled high school / community college students and addresses the basic topics that would certainly be needed for civic hacking: HTML, CSS, JavaScript, Python, SQL, and putting these together into a web framework (Django in our case).  The morning presentations and the expectations of participants in today's event, however, make it clear that there are extremely important areas of knowledge that are entirely missing from our program, specifically relating to accessing and manipulating large sets of pre-existing data.

Civic hacking offers just the kind of real world, interdisciplinary, community focused opportunities for meaningful project / problem based learning that I want to make the academic focus of our IT program at the  Arlington Career Center.  What I need to do now is develop the skills list and curriculum materials that will make the bridge from where students leave off in our current program and what they need to participate in projects like the ones presented this morning.

I'll leave here today with a clear desire to work on this "Intro to Civic Hacking" curriculum, and look forward to developing it over the next few years.  Stay tuned for updates as this process unfolds...


* Note: There is not yet a Wikipedia article on Civic Hacking - perhaps someone should do something about that. I just added an entry to Wiktionary for civic hacker based on the definition above when in searching Wikipedia and then Wiktionary for the purpose of this post I found it did not yet exist.

Friday, April 19, 2013

Student Blogs

At our South Arlington Hacker Space meet up last night, Khady Lusby brought the three Arlington Public School seniors who will be going with her to Adja Penda Ba for their "senior experience".  Each of them has started a blog, which they will use to document what they do:
Combining these three new blogs with Brittany's OLPC blog and my own modest efforts, and our project should certainly not be lacking in reflections, observations, and documentation.  Our challenge now will be to coordinate these efforts in the most effective way to help the educational programs both at Adja Penda Ba and the HILT Institute.

There will be lots of changes at our school next year, with the coming of Arlington Mill High School to our campus, and the relocation of the HILT Institute on the other side of our building.  I plan to use the opportunity of the move to push for a one-to-one computing project.  For our first year students, we are looking at the XO-4 Touch, which would provide an easily portable, low power consumption, durable platform that would be a great resource for our beginning English Language Learner (ELL) students to learn English, mathematics, social studies, and information technology.

I've been experimenting with Fedora 18 in both VirtualBox vms and on a few of the laptops I have available in my lab.  Thus far, I've made the following observations:
  • The LXDE spin is by far my favorite. While on Ubuntu the XFCE (Xubuntu) is wonderful, on Fedora I found it to be both clunky and ugly.  GNOME shell is awful, but the LXDE version looks nice, is extremely light weight, and makes a great platform for then adding Sugar to the mix.
  • After the initial install, I run $ sudo yum update and then visit the RPM Fusion page to add both the free and non-free repos.  This makes a lot of the software I've come to expect from the Debian Universe repos available on Fedora.
  • After installing the Sugar packages, switching back and forth from Sugar to LXDE is easy to do and works well.
  • $ sudo yum install cinnamon will install the Cinnamon user interface developed by the folks at Linux Mint.  I get the feeling that Cinnamon may be moving toward becoming a standard Fedora spin.  This would be a good thing, since it would make GNOME 3 available without the awful GNOME Shell desktop that currently comes with it.
That's all for now.  With all the activity going on, posts should come more frequently...

Tuesday, February 26, 2013

Sister School with College Adja Penda Ba

Children at Adja Penda Ba using their XO-1

The collaboration between the Arlington Career Center and College Adja Penda Ba continues to be a match made in heaven.  I wrote back in September about the project.  It has continued to grow rapidly since then, taking on several new dimensions that both broaden and deepen our collaboration at the same time:
  • Open International needed a student information system to track the data on the progress of the 250 students that now attend the school.  "It just so happens we have one", I told Khady Lusby, "It's called SchoolTool, and it will do just what you need!"  We setup a SchoolTool server for College Adja Penda Ba (in French), and Khady has been busy learning how to administer the system.
  • We sent an XO to the school for the new children's program, and it was love at first sight for the children in the program.  They asked Khady if she can bring them more, and thus began our application process to laptop.org for additional XO-1 laptops for the school.  Career Center student Brittany has taken on taken on the responsibility of representing Open International for this effort and she has been writing a blog of her own to document her work.  Brittany has been studying networking and will be reaching out to the Sugar community to see if we can get some Sugar activity collaboration going between Arlington, Virginia and Nioro, Senegal.  This will entail either setting up a jabber server or finding one we can use.
  • Khady and I have been brain storming about the possibility of doing a project between her high school age ELL students and mine this Spring, giving them the opportunity to get to know each other and to learn ICT skills at the same time.

We have Sugar running in our lab using the Sweets Distribution.  The only thing preventing me from being able to use Sugar with my students is the inability to save files to the file system.  I've been in touch with Walter Bender about this issue, and he has promised to get a patch together to make file system access possible.  I'm a huge fan of Turtle Blocks, which Sugar Labs DC helped get ported to the GNOME desktop environment a few years back.  The ability to use Sugar in our lab in a high school setting would enable us to explore other Sugar activities and to provide better support to the children in Senegal.

Saturday, February 16, 2013

Updating BIOS on Dell Optiplex 780

I read Using FreeDOS CD for BIOS Updates article from the tummy.com website, so that I could update the BIOS on our Dell Optiplex 780 machines.

It has been a long time since I ran a DOS program, and it was fun to revisit this old process and at the same time learn how to do it on machines that don't have floppy drives.

Sunday, September 30, 2012

SugarLabs DC Is Back!



SugarLabs, DC has a new project.  Khady Lusby, founder and president of OPEN International, a non-profit she created to help build first a library, and now a growing school in her native Senegal.

I've had the great pleasure to work with Khady for a few years now, ever since she brought me several donated laptops for the library she was creating and (at the suggestion of the donor, I might add) wanted me to install Ubuntu on them.

The library has now grown into a six room school, and the same donor has come back with 30 additional laptops that Khady wants to use to start a program for elementary students.

Thinking about her requirements, to best meet her needs we need:
  1. Sugar, the free software learning platform for children.
  2. A stable, easy to maintain OS underneath so that the tech at her school can keep the laptops running with minimal headaches.
  3. French, English, and hopefully Wolof languages on the systems.
 It would also be a plus if the systems could dual load an adult desktop as well.

After monkeying around with Fedora 17 for several days, trying the stock install as well as the XFCE and LXDE spins, I decided I would be much more comfortable with an Ubuntu variant for the following reasons:
  1. I know Ubuntu, and so does the tech at the School in Senegal, since that's what he has been using since we first sent him laptops.
  2. Ubuntu is definitely the more "polished" distro.  After installing Fedora on one of the laptops and running yum update, I got a new kernel that wouldn't boot on the laptop.  This kind of thing happens on Ubuntu too, but with what seems to me at least to be far less frequency.  Our purpose is to help teach children, not muck around with hardware and software, so as much as possible I want something that "just works".
Even with these arguments in favor of using Ubuntu, there were serious obstacles as well:
  1. The sugar packages in the main Ubuntu repositories are either very out of date or don't work at all.
  2. The sugar team itself develops on Fedora, which has apparently has been a far friendlier supporter of the sugar effort than Ubuntu has, so it gets tested on Fedora, not Ubuntu.
I tried Ubuntu initially, but gave up after the sugar installs from the stock debian repositories crashed repeatedly.

A trip to the irc channel #sugar and help from the ever helpful alsroot came to the rescue.  He pointed me to the Sweets Distribution and said it would work on Ubuntu 12.04.  It did work!  Here is what I did in a terminal:

  1. wget ftp://download.sugarlabs.org/packages/sweets-distribution.sh
  2. sudo sh sweets-distribution.sh
  3. sudo sweets-distribution select 0.94
This adds the sweets repository to your /etc/apt/sources.list.d/ directory. From there you can install the sweets-desktop meta package and you are good to go.   Here is a screen shop of a VirtualBox setup as a test for the laptop installs:


Thank you again, Mr. Lim, for all your help!  I'll post again soon with an update of how things go from here...

Monday, August 27, 2012

Now That's What I Call Education!

I had the opportunity this past weekend to participate in an inspiring educational experience. Djentle Django, a two day workshop introducing the Django web framework, was organized by the Northern Virginia Python Users Group and DC PyLadies and hosted at the Alexandria campus of Northern Virginia Community College.

There were 24 seats available for the two day, 12 hour workshop, and all available seats filled up.  The 24 students were led step-by-step through a beginner friendly (truly "djentle" ;-) introduction to this complex topic by 6 web development professionals, each volunteering their time to help share their knowledge in the true spirit of free software and free knowledge.

Thursday, March 22, 2012

Our New Trisquel 5.5 Lab Is Up and Running


According to its Wikipedia page, the Trisquel GNU/Linux project has been around since 2004, but I only heard about it a few months ago when it was recommended to me on the #sugar irc channel.  I clicked on the web site and it was love at first site!  Trisquel has just about everything I am looking for in a software distribution:
  • Built on Ubuntu to give it a "for human beings" usability.
  • Total dedication to software freedom.
  • An active community with many members located in the Northeast of the US.
  • A focus on software for education.
  • Ties to the Sugar community.
I've spent the last three days reconfiguring my high school ICT lab, and it now runs Trisquel GNU/Linux 5.5.  I had been planning to do this over the Summer, but construction issues in our building knocked out our network login infrastructure, so the need to get the lab working again as quickly as possible provided a motivation to migrate to Trisquel 5.5 now rather than later.

I needed to make the machines work as stand alone workstations with guest login accounts.  The new 5.5 version of Trisquel comes with Ubuntu 11.10's guest session (see Guest session and user management in Ubuntu 11.10).  This allows a guest user to login without a password to a special account with restricted access and volatile data storage (when you logout everything goes away).  I used ofris, a program that "freezes" accounts by restoring to a preconfigured  setup each time the machine is restarted to create a student account with a nicely configured terminal and a launcher on the desktop.  Here is a screenshot of the student account:


After adding all the software I wanted on a single machine, I installed remastersys and used that wonderful tool to create a custom installer disk that I used to install on the rest of the workstations in the lab.

We now have a working lab again, and can begin planning on to add back the following features:
  1. Configuration management (using Puppet).
  2. User management (using Kerberos and LDAP).
After getting those services restored (with an easy way to back out of them if the network goes down so we can still hold classes), I'm thinking of looking into iTALC, especially if there are other folks in the Trisquel community with experience with it.