Archive for April, 2008

23
Apr
08

Epaati: The Best Damn Educational Software for Nepal

This piece was first published at OLPC News.

Ah, I can still remember the day we got the first computers in our school. Not just any school mind, but my school. And not just any of my schools, but my primary school. The school where even the lightest of impressions would burn into your naked soul until it hit the bone.

There, in that school all of a sudden we found a computer upon a table. No-one of us younglings knew exactly how it got there or what it was for… Yes computing of course; the meaning of which overlapped pretty much with game playing, although very few of us had actually played with or owned a computer.

Nepal olpc art
Limbu script on OLPC XO

Oh how the black magic of the thing attracted us like flies. It was a PC of sorts, but not of the Intel variety. Nor was it any of the MSX-y variety which I had come across before. But it had a tape-drive, just like the MSX. And it took forever to load anything.

But it would keep you amused by making funny screachy sounds as it did so. A bit like a demented robot. And that is about all I remember, because this wonderful educational device fell flat on it’s face at the end of the eighties. I think it sort of landed there by magic, at that odd place at the end of the class.

And the teachers of my school sort of hoped it would sorcer itself away. Which it did after two months. In a puff of smoke, never to be heard of again. To great delight of said teachers who never actually tried to use it to educate us.

Burn out

Now we will fast-forward to the present day. I’m Ties Stuij, Journalist come nerd/developer working for OLE Nepal in Kathmandu. Through the greyish magic with which fate spins its web I somehow find myself working in this dynamic and stinky city. Working on educational software for these black magic boxes for OLE Nepal. Well, not really working at present. Resting would be more accurate of a description.


We are out here

The whole development team is in a state of lazy rest. Not a laziness used as a coping strategy to counter the dreariness of everyday office life… Quite the opposite.

This laziness is a coping strategy to alleviate our fused out brains that have been mutilated beyond recognition by our iron willpower to make the best damn educational software this side of the horsehead nebula.

Ehh.. Did that sound just a bit pretentious? Perhaps, but we have been working awfully hard to produce a final build of a software suite called Epaati, that will assist teaching children from both grade 2 and grade 6 (8 respectively 12 years old) maths and English.

Final build in the sense that this version of Epaati will be put on these mini (super) computers, called XO’s. These computers will on their turn be put in the greedy little hands of Nepali schoolchildren in about a week.

Oh the pressure, the pressure!

We’ve been developing Epaati for quite a while now, but up till now we unleashed it’s considerable power only upon our test audience, game jams and the teachers of our deployment schools. And our digital child has grown quite a bit since it’s conception. We developed 47 learning activities in all.

Tons of bugs can hide in and amongst their folds and crevices, and there’s nothing like the urgency of actual use to drive the hunt in uncovering and squashing them. Animal rights organizations were held at bay with long poles, while this digital mass murder was underway. It’s hard to believe that there were so many bugs to be found. But then again, this suite is the result of 6 months work by three to four developers and one graphics artist.


The Epaati team

Another thing that’s annoying is that this software is for little puppy-eyed kids who might actually be helped in their development by our efforts. You know, a regular customer is a party on equal footing.

You ship a bug, and she’ll know this is an industry hazard. But those little kids… somewhere in that jaded, cynical, hedonistic, western brain of mine those kids invoke scary feelings of social responsibility, which drive you to walk the extra mile.

So the OLE Nepal offices have of late been a battlefield on which many a shard of good will has driven itself in the bloody soil, when it had to admit defeat against fatigue and sleep-deprivation while all involved tried to MAKE STUFF WORK. And not just the development team of course.

While our immediate task for the coming deployment is done. Other sections are still in full gear working with getting the XO’s ready, beating school servers in shape, testing jabber servers, giving press conferences, instructing teachers, aligning us with other parties involved,.. etc. Let them work like mules, we don’t care. Our brains are soup, we’re of no use.

As reporter after reporter is shuffling into our office to get the news on what is to come, we are already done. Filled with a vague satisfaction that stage-builders must also feel, just before a theatre play starts that they built the decor for.

Here there be monsters

We are doing quite cool stuff here, on the brink of the unknown. I myself am in charge of optimizations, as it’s called. And that task was more satisfying than expected. The XO’s aren’t the most powerful computers in the world and as it turned out the software we use to build our activities (Etoys, on top of Squeak, for connoisseurs), wasn’t yet prepared to handle a project of our scope in such a constrained environment.


Epaati experience

For example, when I started off, a number of activities we made would take over a minute and a half to load, and some wouldn’t load at all. Also our software took up way to much memory, affecting other software as well if it was being used at the same time. This was making the user experience much less fun and much more frustrating than is acceptable.

Not to speak of the activities that didn’t even work. If I wouldn’t be able to find some solutions, or find people that would find solutions, my job would be unenviable to say the least. Once I oversaw the full scope of our problems (or was I just exaggerating everything in my head), I got scared indeed.

Also considering I had hardly coded in Smalltalk (the language of which Squeak is an implementation) before. Luckily Smalltalk/Squeak is a very comfortable environment to work in and me and others managed to trim our problems down to an acceptable level. In certain cases the loading-time speedup was tripled or even quadrupled. All our activities are now loading, while memory consumption is halved. Not that we’re there though.

While I’d like to bring down loading time even more (Most of our activities load between 20 and thirty secs now; Still quite a bit in the light of a child’s impatience.), we need to address amongst others character-encoding and sound related problems. But these seem to be solvable problems, our biggest enemy being time and manpower.


Our goal in Nepal

Live or die

The strange thing is that we’ve created a beast, but we’ve got no clue how it’s going to behave in the wild. Maybe it’ll just curl up and die, just like the computer in my boyhood school. But I must say that the enthusiastic reactions I’ve seen from actual teachers (two of which have stayed in my house for a few days, while they received training) have very much outstripped my expectations.

And I think that if I and my comrades could already be enchanted by that computer that was basically just sitting there at the back of the class, these action- and content-packed babies will certainly have an impact on those child-brains in rural Nepal.

Postscript

For those that want to try our beast of burden, you can download the XO bundle by surfing to http://dev.laptop.org/pub/epaati/Epaati-10.xo For XO illiterate Squeakers: the bundle is a simple zip file. Just unzip it and click the image in the epaati dir.

Advertisements
04
Apr
08

Hash trash 1534 (and an open letter to the GM)

Originally (to be) published on the Himalayan Hash House Harriers website. It’s basically a report of a standard hash run (as described earlier), meant for insiders. But perhaps fun to read one of them to get a bit of a feel for it. The only bit of background info I’m gonna give is that the name GM stands for Grand Master, sort of the ring-leader of a local Hash branch. Our GM, that has held this position for many a year, hasn’t shown up for a few weeks in a row.

GM! Why has thou forsaken us? Hashes of late have been spiraling out of control! For all of mankind’s clamors for democracy and mob rule, the hashes here in Kathmandu make it clear that the only thing we really need is an iron hand that smites us with insults if we forget our place.

GMizz, she tries. And she shouts, and she puts up a show. But she hasn’t got that burning evil deep inside of her like you do, to bring it all to life. In your absence GM, the hashes turn more into boyscout affairs, where we play these things called ‘games’. Like ‘Duck, duck, goose’, where we have to run around a SITTING circle and we are supposed to have FUN. There has been to much clowning around lately GM (dijenkletser!!!). Under you rule, surely, this despicable frivolery would never have the chance to catch root, I’m sure.

Let’s take the latest hash as test-case. It all started out innocently enough: A circle was formed. A healthy circle. About 36 in all. Two virgins, some visitors, some returnees. The hares were called in the middle, who explained the hash had a tennis theme, because of some tennis thing the hares have been coocooing about for weeks on end while no-one really cares. You would have verbally lifted the hares by the hair, GM, for their insular and self indulgent behavior. Weeks ago. Before their words became action.

But anyway, done is done. Water under the bridge. The run itself started in a relative orderly fashion. Sweetcheeks would take the runners and Shaggy Baba the walkers. At the halfway point they would switch.

The runners went through the farm field, up a hill, and even more up the hill and even more up the hill. The first half was all very pretty and tasteful. Nearing the halfway point we lost the trail. And here we sniffed a hint of what to come. Turned out there were a some minute snippets of paper hidden in the middle of the mountain, far up the mountain, in no-mans land. After eons we managed to pry a hint out of Sweetcheeks, and up we went; relishing the hardship of up-mountain-going, being the toughened hashers we so undoubtedly are.

Not soon after we hit upon the halfway point: A nice and pittoresk Hindu temple, the name of which I hope Keeled will replace the last part of this sentence with. The runners as a group were still quite complete. But when the run resumed, stuff went bonkers. As the runners, taken over by wild the excitement that is hashing, pored out of every orifices of the temple had to look for a lead. Even though Shaggy Baba was quite clear in his hint about the continuation, which he himself proved bonafide by going in that direction himself.

This didn’t stop from a whole slew of cocky hashers to think their intuition is better than the memory of the people that actually layed the hash. Right there and then we lost a quite a number of our dear comrades, and good riddance to them.

As an aside it should be noted it is a bit worrisome that amongst the first to loose track of where they are supposed to go were a couple of pilots. If they can’t find their way across a couple of acres of farmland, how will they navigate across the world. So the fact that they are probably still searching their way home is perhaps more a gain than a loss to the aviation world.

The rest of us rushed down that huge hill we climbed up not so long ago, running past the walkers, and a surprisingly large number of defected runners, who just were not (wo)man enough for the big girls/boys. And good riddance to them as well!

Not long afterwards they saw us coming again, because (the pattern became clear) all the false trails were laid in such a way that they would reveal themselves to us only after enduring endless hardships… Which, ehh…, which is of course the way we like it! Yes… hmm…

Anyway, we scuttled up the stairs which deceividly brought us down, and we went down again, cause we couldn’t find any paper going up… And the walkers thought this was ever so funny, seeing us pass them all the time, getting sweaty and all.

We found our way again eventually, went downhill, and got caught by another false trail, while yet again the real trail was impossible to descern for us with only five senses. And it was here that your correspondent caught a glimpse of a more sinister side of Shaggy Baba. By piecing the pieces together in retrospect your correspondent managed to uncover that every time we were about to follow one of those false trails into oblivion, Shaggy Baba was there with his camera. The satisfaction quite clear on his face when yet again we were on our way to search for paper, probably buried with shovels several feet below the earth surface.

The pinnacle of sadism we encountered when crossing a 200 m hanging bridge, that swayed savagely from left to right as we clampered for the sparse support, lest we not fall off. As your reporter tried to mount the bridge, the act itself a death defying act, Sweetcheeks (who was helping the walkers over at the same time) stood at the bridge base, asking: “How was that false trail?” Smiling in a way which was hard to place. Your reporter crossed said death-bridge, seeing several hashers and locals plunge to their demise in the gorge below… Only to hear at the other side that we were following a false trail. This to great delight of the walkers that managed to survive that chasm of doom. No doubt Shaggy Baba got al of this on CMOS.

We were expected to run back across the bridge, back to a checkpoint about 2km away, but luckily the gals/guys leading the pack (as is their custom) went ahead in a completely random direction which, for a change, happened to be spot on course for the next check.

Soon after we came to the (7th?/8th?) check, after which the continuous paper shortage, due to excessive administrative strike in the Tarai, gobbling up all of the nation’s paper supply, we were treated on a live hash which basically led us to the first road, which led us to base camp.

Total time: about 2h15 for the runners that didn’t get lost, died from falling damage, defected wimpishly to the walkers or suffered a subset or all of the preceding; That markes the second 2h+ run in a row.

The Circle:
As follows from the before sketched void in leadership, it seemed like there wasn’t gonna be a circle at all this hash. The GMizz seemed to lack a base-level of authority this week to do any mismanaging, and her call for a circle was met by a blunt apathy bordering on passive rebellion. But eventually the crowd gave in, more out of pity than anything else, and formed a squarish, oblong kind of shape.

The formal procedings that followed tied certain hashers to certain titles in the following way:

Got lost: HeBitch, Algerian pilots, Chimp, three from the Agerwal posse

Returnees: Rabi, <name missing>, another Agerwal

Wearing shorts: Spiderwoman

Waxing his legs: Hebitch

Late arrivals: Hebitch, Kimbo, Vane Cock and Cocklear

Virgins: Two guys from the Agerwal posse

Setting next hash: Hash Scholars

Hash crash: Impressive, One Eyed Trouser Trout, Kimbo, Hebitch and your reporter, for the second time in a row (without being named last week due to a shameless hole in reporting quality), who unfortunately missed his head when showing his cup was empty, because of Bihari Ultimate Telecom Technician, who by some stroke of magic came between head and cup, thus recieving the minute sprinklets of beer that managed to pry themselves from the cohesive forces that bound them to said cup.

Newcomer: One Eyed Trouser Trout, who actually has lived in Kathmandu, but hasn’t showed up untill now due to a misperceived clash with work hours.

Fashion disasters: Mostly Childkiller, but in lesser degree also Chimp and Super Suction. For wearing trousers that go all the way up to just under their receding hairline.

Hashit: Shaggy Baba, for the awful mess he and Sweet Cheeks made of the hash (Sweet Cheeks somehow deftly avoided this title due to supreme social maneuvering)

Well, as is clear above. Things have turned into a godawful pile of shite, GM! Come back here and stamp your authority on the backsides of our fellow hashers before their death-rate due to mismanagement and backstabbing leaves us with no hashers at all! And then who should I write trash about when I feel bored?