Scenes From a Mall

The Art Caffe at Junction, where I drank many Americanos and wrote many blog entries.
The Art Caffe at Junction, where I drank many Americanos and wrote many blog entries. (Image Source)

I’ve never been a hang-out-at-the-mall kind of person.  The prices are higher than things I can find in the internets or strange alleys, the food courts unappealing, and the general level of “shiny” doesn’t really match my self-concept.

And yet, during my year in Kenya, I spent a lot of time at various malls.  When staying in Nairobi, I would find myself in a mall every other day, it seemed.  And it makes sense in retrospect: The specialist shops and on-line stores where I usually use to get my obscure electronics aren’t available in Kenya, and food safety seems a bit more reliable in the malls.  The biggest factor, though, are the coffee shops.  I spend a lot of time in coffee shops wherever I travel, unwinding thoughts and sketching proofs and sipping on a simple black Americano.  And most of the coffee shops in Kenya are in malls.

The mall I spent the most time at in Nairobi was The Junction, and most of that time was spent at Art Caffe.  It’s a space with a great slice of the mix of modern Nairobi.  Yeah, there are a lot of jackass travellers like myself plugged into their laptops, but just as many people stopping through for a business lunch, mommas chatting about their kids, young people hanging out with friends, and men from unidentifiable Eastern European countries discussing possibly shady business in an unidentifiable language.  It’s a great cross-section.

It’s also a bit of an escape.

Continue reading

Third Maseno Math Camp

3rd Maseno Maths Camp group photo (silly version).
3rd Maseno Maths Camp group photo (silly version).

The third annual Maseno math camp ran in the third week of August; it’s a bit hard to believe that we’re up to three already!

The week started with a great talk from Rejoyce Gavhi, a South African mathematician who just finished a postdoc in Canada, and who is now starting a new job with AIMS:Sec.  She talked about the challenges she overcame in pursuing mathematics as a woman from Africa, and was quite inspirational for everyone involved.

As usual, we divided this year’s camp up into five ‘themes.’  The themes this year were programming, modelling, geometry, combinatorics, and code-breaking.  I mainly helped put together the combinatorics section with Ingrid Mostert (from AIMS:Sec) and Santiago Borio, a Geogebra virtuoso who teaches school in London; the sessions were about the bijection between subsets and lattice paths, and seeing the binomial coefficients from different perspectives.  Chris Clarke put together some great sessions in the modelling section (for example, using massively multi-player dice-games to model the spread of a disease in a population).  The programming section focused on building flow charts to describe algorithms, which was a pretty different tack than we’d previously considered, and I think a good one.  I never really think of flow charts when I program, but breaking a process down into some ‘decision points’ and considering all possible outcomes is quite useful as a programmer.  Approaching the process via flow charts is a great way to organize that process in a visual way.

Continue reading

Back in Canada with a new domain

Return to the Fields Institute!
Return to the Fields Institute!

And I’m back in Canada now and still somewhat jet-lagged, which means going to sleep and waking up at hours that would be normal for anyone else.  I’m doing the second year of a postdoc with Nantel Bergeron and Mike Zabrocki, keeping up the research while looking for the next big thing, or at least a job. I have a great big pile of projects to work on this year, too, which have been on back-burners during the end of my time in Kenya.  I decided to do more people-oriented things while in Africa, and come back to some things (like programming projects) once back in a place where the location matters a little less to the project.

I’m really looking forward to a lot of these projects: thinking more about getting Sage into an online homework system, q-counting simultaneous core partitions, inventing a new type-free definition of the k-Schur functions, experimenting with the Raspberry Pi camera board, building a Pi-based Beowulf cluster, and moving my website to a new domain.  Oh wait, I guess that last one’s done now….  I also need to catch up on my writing!  There’s a recap of the third Maseno math camp waiting to be written, and an article for the Notices of the AMS.

So off to work!

Speaking of writing…  I’ve finally decided to buck up and get my own domain; partly so people can find the site more easily, and partly because I think the African Maths Initiative site where I’ve been writing is probably going to undergo some big changes over the next few months: the site should be much more focused on showing what AMI does, and there’s a separate plan to build a kind of registry/network for math initiatives across Africa.  This is also my 50th post on the blog, so we can think of it as a nice upgrade to commemorate the occasion.

Mombasa Algebraic Geometry Workshop

Balázs Szendrői works with students at the Mombasa algebraic geometry workshop.
Balázs Szendrői works with participants at the Mombasa algebraic geometry workshop.

This week I’ve been giving lectures at an algebraic geometry workshop in Mombasa.  I know what some of you are thinking: ‘But Tom, you’re nothing like an algebraic geometer!’  And that’s true.  But often the best way to learn something is by putting yourself in a position where you have to know it, like standing in front of fifty people expecting a clear explanation.  In this case, I’ve learned some basics of Grobner bases (mostly from an excellent book by Cox, Little, and Shea) and have been augmenting the lectures and exercise sessions with Sage.  I’ve written up some notes on the talks, and I’ll probably convert them into a web-based format with Sage cells and stuff sometime next week…

The workshop has participants attending from Kenya, Tanzania, Uganda, Rwanda, and Zambia.  The participants have been super motivated; we’re just finishing up the third and final week of the workshop, and the participants have been staying up late working on final projects.  Attendance has stayed high throughout the workshop, to a degree you wouldn’t expect in (say) North America.  The chance for exposure to math going on at the international level is a big draw, since it’s still so rare for international mathematicians to come through East Africa.  I imagine it’s like if you only got to eat ice cream once every year or three: you’re not going to let anything go to waste.

Continue reading

Bahir Dar Maths Camp

Group shot from the Bahir Dar math camp.  The waterfall in the background is one of the major sources of the Nile!
Group shot from the Bahir Dar math camp. The waterfall in the background is one of the major sources of the Nile!

I’ve spent this last week helping with the first-ever Ethiopian math camp, hosted by the math department at Bahir Dar university. As with the Maseno math camp, we focused on giving activity-based sessions, teaching interesting math topics outside of the standard curriculum. The intention is to boost student interest in maths and to expose some teachers to different ways of thinking about mathematics. The big difference between the Maseno and BDU camps is that the students in Ethiopia are mainly Amharic speakers, with maybe a couple years of learning English under their belt. This makes it essential to build up and utilize the local staff to a degree that we aren’t forced to in Maseno. Luckily, the local staff is bright, imaginative, and ready to try new things. On the whole, it was a fantastic first attempt.

We gave thirty-ish sessions, divided into five topic areas: geometry, scientific research, card tricks, history of numbers, and ‘rules.’ I was a few days late arriving at the planning week, due to some medical exams I needed to get done in Addis, and so was mainly designing the card trick sessions. I also did a lot with the geometry group and gave a session each on cryptography and complex numbers.

Continue reading

Two Weeks in Paris

A quick game of Go with Yan X Zhang at the Sage-Days in Orsay.  I lost badly!
A quick game of Go with Yan X Zhang at the Sage-Days in Orsay. I lost badly!

Back for a day in Nairobi after visiting Paris for FPSAC 2013 and Sage-Days 49.  On the whole, it was a really productive visit; I met a number of my primary goals.  On the mathematics front, Kenya has been extremely isolating: One of the big goals for the conference, then, was to connect to some new things to work on and figure out what’s been happening in the algebraic combinatorics world in the last year.  It was exciting to actually work on math with people: when I arrived in Maseno, it turned out that no new graduate students had come into pure maths in some time, which meant there was no real outlet for doing math with other people.  So it’s been kind of a lonely year: I did a lot of work on education, and did some interesting community building around computer science with LakeHub, but often felt like my big area of expertise really wasn’t terribly helpful in Kenya.  The institutions weren’t really ready to make use of what I was bringing, since there wasn’t time or space for people to do research.  I obviously found lots of great stuff to work on anyway, but it felt a bit funny that I was so unable to engage people on the maths.

Continue reading

Tips on Running a Headless Raspberry Pi

A Raspberry Pi with a head.  Well, not the usual meaning of 'head,' I guess.  (Giraffe and Carcassonne box included for scale.)
A Raspberry Pi with a head. Well, not the usual meaning of ‘head,’ I guess. (Giraffe and Carcassonne box included for scale.)

I was recently helping out a friend with a headless Raspberry Pi setup, and thought it would be helpful to consolidate a few useful bits here. From here, you can set up all kinds of cool projects using the GPIO pins, set up a headless web server, or anything else you can think of. For my part, when I hurt my ankle a few months ago, I hooked the Pi into a hard-to-get-to stereo system and logged in remotely from the other side of the room to play music… I also used a headless setup to run the really long compile for the Sage computer algebra system a few months ago.

Continue reading

Hashes with Salt

Passwords being cracked by some really simple python code I wrote.  Who knew 'Tigger' was such a common root word for passwords?
Passwords being cracked by some really simple python code I wrote. Who knew ‘Tigger’ was such a common root word for passwords?

(These are notes adapted from a presentation I gave at the LakeHub workshop this week.  They owe a lot of debt to this article, which inspired the talk.  If you already know that you should just use bcrypt or something similar, and why, you can just skip to the ‘conclusions’ section.)

So let’s suppose you’ve just made a hot new website from which you’ll make a million dollars a year.  You get to the point of creating a database for all of your users who will be logging in and doing things like buying airplanes, so you put together a database table.  Maybe it looks something like this:

Name Email Password
Bill Gates bill@microsoft.com passw0rd

A few weeks after launch, you have two million users, and someone breaks into your server and steals the database. Of course, they don’t tell you that they did this; they’re much happier to keep the database, pull out a name and password, log in as someone else, and use your site to steal lots of money and undermine the basic building blocks of democracy and common decency.  After sending apologies to the userbase, you decide that your database structure was flawed.

Continue reading

LakeHub Game Design Workshop

Ligretto is a fast-paced game of breaking glass.  (That one in the upper-left corder exploded about ten seconds after this picture was taken.)
Ligretto is an awesome fast-paced game of breaking glass. (That one in the upper-left corder exploded about ten seconds after this picture was taken.)

LakeHub has been churning steadily along; we had our third event on Saturday, and it was quite successful according to me and everyone else I’ve talked to.  We’ve settled on a basic format for the time being, with an event happening every Saturday from 1-5pm.  Half of the time these are big group-oriented events with demos and big inclusive activities, and the other half of the time they’re ‘hang-outs’ where people get together to work with other tech-oriented people nearby, and to check in with ongoing study groups.

There are three study groups started already: one on microcontroller programming, hosted by Peter Mbari of Access Energy, one on javascript and web development hosted by Simeon Obwogo from IPA and James Odede of the Maseno ICT Guild, and finally a group doing game design, run by yours truly.  We wanted a less-technical group to complement the other two programming-heavy study groups; luckily I know some things about games, and game design is actually really useful in thinking about business and web technologies.  Especially with ‘gamification’ as a big buzz word.  So this week I’ll talk a bit about games, to get my mind going on the subject!

Continue reading

Teaching to Learn

 

Peter Mbira demonstrates the Arduino at a LakeHub meetup.
Peter Mbari demonstrates the Arduino at a LakeHub meetup.  LakeHub is forming some independent workshop groups, where people can learn a variety of skills in an informal setting.

Lately I’ve been spending a lot of time in matatus – the stupidly overpacked minibuses that travel between cities in Kenya – visiting students I’m working with in a few far-flung communities.  I’m trying out ideas around teaching students to become self-motivated learners, through the medium of teaching computer programming.  (Hypothesis: People who know how to learn independently can go further than those who need teachers.  Evidence: Pretty much every effective tech person I’ve met in Kenya.)  Programming, of course, is a very hands-on skill, one that you mainly learn by doing it, a lot.  So in these three locations, I’ve been giving some basic overviews and leaving the students with resources to work on, and coming back after a week or two to see what kind of progress they’ve made.

The question is how to transform students into self-guided learners, given the cultural expectations of lecture-based, teacher-driven classrooms.  With the math camps, we’ve been attacking the ‘lecture-based’ part of the formula, by introducing fairly radical beyond-curriculum activity-based methods.  But the camps are still ultimately teacher-designed and teacher-driven.  In the math camp context, we’re seeking to change attitudes around math education, so that’s fine.  But there’s a real question of what happens after the camp ends, and the students go back to the same-old same-old.  How can we best foster and facilitate independent learning amongst our students?

Continue reading