January 11, 2010

Process limiting in LTSP

Runaway processes can be a problem in LTSP systems. I've found in particular that Adobe's Acrobat Reader, Firefox, and flash can easily get out of control and suck up 100% of a processor. The cpulimit command (available in Ubuntu and Debian) can limit individual processes by intermittently forcing them to sleep. I wrote a small perl program to watch ongoing process usage and apply cpulimit to out of control processes as needed.

My script, cpu_governor, and the associated init.d startup script are here: cpu_governor.tgz. Let me know if you find any bugs. Thanks.

August 23, 2008

Wrapping up

Thursday

It doesn't seem like we accomplished much on Thursday. A couple of us got a media center driver to take us downtown to do a little shopping and change some money. I finally got batteries that work in my camera and found a small bookstore that had a Hausa-English dictionary. Unfortunately it is not also a English-Hausa dictionary. We also hit the craft stores in the tourist part of town. Some folks had been there on Wednesday so the shop keepers were happy to see us again.

Mike, Luis, and Deily all got assigned to home stays so they're happy to be off seeing the town in a more Nigerian perspective. Unfortunately, Erika and Joe were ill; Joe's been ill quite a bit and is trying to get his return flight moved up so that he'll fly out with all the rest of us rather than staying for an additional three weeks.

A power outage caused some problems with the eGranary Thursday evening. When the generator came on and the machines started up the server complained about a corrupt filesystem. It would be a serious blow if we lost the eGranary, so we're scrounging through the lab to look for a good UPS that will actually keep the machine running for a while in the event of a power failure. This power issue is really pernicious and leads to hidden and not-so-hidden expenses everywhere. Father Michael told us that the center spends N12,000 a day just on diesel to run the generators.

Friday

Friday is a half day here as most offices and shops shut down for the afternoon for Muslim prayers. We ran some errands in a hurry to get last minute items before noon. Tony (who teaches computer classes here and has been our primary IT liaison) and I went to town to get PVC pipe to bury the CAT5 cable connecting the media center with the bookstore/cyber cafe. We also were able to return some coax cable we hadn't used and picked up a couple other odds and ends.

I have a copy of the Ubuntu package repository on my laptop that I'm trying to figure out how to share, but haven't come up with a good storage option for 24GB of packages. I'm going to burn it to DVDs for now so hopefully it can be installed on a hard drive somewhere. One of Linux's great strengths is the ability to install software easily over the Internet, but considering the bandwidth here, that can also be a liability. Having the repository locally should make a huge difference.

The group dug a shallow trench between the buildings here and we ran CAT5 cable through the PVC and buried it. At least that's one project accomplished. We've given up any hope of seeing the computer shipment before we leave on Sunday.

Friday night we were treated to a small party at the Fathers' house. Father Kukah, Father Tony, and Father Michael hosted us and several other priests and members of the community attended along with a couple of the host families who had taken us into their homes.

Saturday

We spent the morning tidying up the computer lab where we had spread out all our hardware and tools. We buried the last few feet of cable and fixed up the connection. The group then walked over to the nearby Internet cafe which was unfortunately closed. The power was off and the cost of running the generator probably outweighed the revenue from customers.

Nicholas was to leave at 3 in the afternoon to drive to Abuja where he would catch his flight to Lagos and then on to Johannesburg en route to Zimbabwe. He had a lot of last minute things to wrap up and we exchanged contact information before he was whisked off.

Meanwhile, Bryan and Joe wanted to try to get some video footage of the town beyond the walls of the social center. Unfortunately, they had not gotten much further than the gate of the compound when they were stopped by a pair of plainclothes secret service members. Bryan and Joe were arrested, put in the back of the car and taken to a nearby station. The social center guards alerted Father Michael and soon Carey, Father Michael, Father Kukah and several others were headed to the station to try to get them out.

Apparently Bryan and Joe were interrogated and suspected of a variety of transgressions including espionage and terrorism. It's not clear to me how critical the situation was, but the Fathers were able to get them released fairly quickly. They even had their tape returned.

The group will be taking a bus to Abuja tomorrow afternoon then catching a flight to Frankfurt. We'll then split up onto our various flights onward. I expect to be back in Minneapolis by Monday evening.

August 20, 2008

Catching up...

Saturday

The morning started out slow. I met Mike at the restaurant at about 8:30 where we had eggs and chips and coffee (Nescafe) for breakfast. We hadn't seen anyone else so weren't sure what the plan was when Father Anthony stopped by to say that Father Kukah's chef had prepared breakfast for us. So we proceeded to have a second breakfast: crepes filled with ground fish, bread, spicy scrambled eggs and more coffee. Bryan arrived shortly as he had been interviewing the fathers on video in the media center. Bryan has been video-taping much of the activity for World Computer Exchange.

Since it was Saturday and Nigeria was playing in the Olympics against Cote d'Ivoire in the afternoon the local IT folks weren't planning to be around. Once most of the rest of us had arrived we began finding projects to work on. I did some cable management. Bryan and Carey tried unsuccessfully to revive a coax link between the "cyber cafe" and the media center.

Nigeria wins against Cote d'Ivoire. Yay!

Sunday

No one around, stores closed. There's an amplifier and speakers in the media center computer lab. I used electrical tape to splice together a cord so we could plug our various ipod-like devices into it. Yay, music.

A few of us took a long walk toward downtown. Didn't buy much but got a better sense of our location. Carey took Ben to airport and met Erika who flew in from Orlando to join the group. The last team member, Deily from Costa Rica, had a cancelled flight, but she managed to get an alternate flight arriving Monday. Carey and Erika will be staying in Abuja until she arrives then they'll drive to Kaduna on Tuesday.

Monday

Bryan and I and local IT team member Mike tried again to get the coax cable between the buildings to carry a signal. We finally came to the conclusion that one of the hubs was bad. Luis had brought a spare hub that had a BNC connector so all looked good until we plugged it in forgetting that it was not a dual-voltage device. Smoke and popping noises! No more hub. On to plan D or whatever we're up to now.

Tony, Bryan and I met with a local ISP to discuss the cost of getting Internet access for the center's cyber cafe. The quote for Internet via satellite was N150,000 a month for 128Kb-down/64Kb-up. That's almost $1300! We're going to have to look at other options.

Folks seem to be pretty down. No word on the computer shipment.

Tuesday

Nicholas, Luis, and Mike went to Zaria to visit schools and offices of the archdiocese there. It's about an hour's drive so they'll just be doing a day trip. Apparently there aren't nearly as many schools wanting to setup computer labs as there were in Jos.

Carey, Erika, and Deily arrived from Abuja. Erika and Deily went right to work teaching a group of kids how to use the media center computers. They'd brought a bunch of educational software and seemed to be having a great time.

Bryan and I decided to find out if ethernet over cat5 cable could really handle cover the 300 feet between the buildings. That's just at the official range. And it worked! We set up the eGranary server in its own room, connected the computer lab and the cyber cafe and could browse the eGranary from either location. Excellent. The cat5 is just strung across the field at the moment, so we're hoping the gardener doesn't try to mow the lawn in the next day or two.

The guys returned from Zaria in a good mood, lots of introductions all around. Nigeria wins the semi-final against Belgium. A pretty good day.

Wednesday

We spent the morning trying to tidy up the computer lab machines, resolve some outstanding issues, and get them all configured to use the eGranary. I set up a thin client server, but the machine is too underpowered to be of any real use other than a very slow example. Also, the machines here all have Netware BIOS's and try to network boot using the RPL protocol which LTSP doesn't handle. I don't know how to get them to use PXE or EtherBoot. Bummer.

The power here is totally flaky. Most of the UPS's are on their last legs and often take several attempts to get them to turn on, others beep continuously which renders them annoying enough to be unusable, and there seems to be a charge on the ground circuit. Several of us have had mild, but startling, shocks off the computer cases even when they're turned off.

In the afternoon we took two cars to the central market to wander around and see the sites. The market is a maze of little shops along alleyways, selling all sorts of things from meat and vegetables to electronics, kitchen ware, cloth, and motorcycles. We went to what seemed to be the only craft shop in the market and bought a few traditional Nigerian crafts. I was tempted to buy a python skin, but decided to forego it.

Tonight I'm back at the cyber cafe checking email. I don't have any new photos since my camera is out of batteries.

August 15, 2008

Keeping busy

Back in Kaduna we found that another member of the WCE team, Nicholas from Zimbabwe, had arrived after having his flight delayed. The team had set up the eGranary server and gotten it working after solving some hardware issues due to loose connections. They had also acquired a substantial length of cabling to reconnect the Media Center and the Cyber Cafe. The buildings had been networked at one point, but a truck had pulled down the cable and since there was no Internet access anyway it had never been replaced.

Since we will be setting up the eGranary digital library here it can provide a lot of information over the network even without access to the wider world so it's important to get all the machines connected again.

Unfortunately a few of the team members with less technical capabilities are at a loss for things to do. They had been expecting to be able to help with setting up the new computers but since the machines are still in customs they feel a bit superfluous here. It's going to be a challenge keeping everyone occupied for the duration of the trip.

Several of the team members in Kaduna had been a bit ill while Mike and I were gone so Father Anthony offered to have special meals prepared for us -- we had previously been eating in the regular restaurant at the Social Center. Hopefully this will help folks adjust to the diet here a little more gradually. There's been some confusion about whether he was offering breakfast as well so on Friday morning we had breakfast twice, once at the restaurant and once at the Father's house.

It's Friday afternoon now and most of the team has split up by their own initiative to work on whatever different projects they think are useful. Mike is learning to cut and crimp CAT5 cables; Nicholas has spent the morning fixing a laptop from the Media Center which had a bad battery connection; Carey, Lewis, and Ben have gone in search of more CAT5 cable and a few other odds and ends; Bryan has been busy video taping as much of the activity as he can. Earlier this morning there was an impromptu class on cable crimping for the local IT team. Joe has been burning Ubuntu CDs for folks and I've been compiling information from the last several days. The power is out, but the computer lab is running off a generator just outside the window. I'll set off to a nearby cyber cafe with Internet access to post this blog in a few minutes.

Jos Schools' Computer Labs

Wednesday morning found Mike feeling under the weather perhaps due to something he had eaten in Kaduna or perhaps just getting used to the change in diet.

Yilwe and I spent the morning touring different schools run by the Catholic Archdiocese of Jos and looking at their computer labs. We met with Sister Mary Patrick, the Education Director for the Archdiocese, then started at St. Louis school for girls where Yilwe runs a general purpose computer lab and a Cisco lab teaching the CCNA curriculum. Yilwe says this is the only Cisco program at a secondary school in West Africa, all the others are at the university level. The school is very interested in addressing the issue of gender balance in IT and getting girls into the field early. Unfortunately they are limited by the quantity of computer equipment. These were the only two labs for the school of about 700 students -- a total of about 37 computers. And this was the best of the schools we were to visit.

Aside from the lack of equipment, the major concrete barriers to IT programs here are the poor electricity supply and the high cost of Internet access.

I don't think there has been a day yet since I've been in the country that the power has not gone out for several hours or more. Even when the power is on it often runs at very low voltages. Instead of the expected 220 volts, the lines may provide anywhere from 150 to 250 volts. Accordingly anyone interested in running a computer lab needs both a generator and a collection of voltage regulators.

All the Internet connections I've seen so far have been via satelite even though Nigeria is a member of the SAT-3 consortium which provides undersea cable access to Europe and the rest of the world. Apparently no one has run terrestrial lines to connect the rest of the country to the coastal areas. Satellite connectivity is slow and expensive. Yilwe said that for a 128Kb-up/64Kb-down subscription he paid about N50,000 ($427) per month. In addition, purchasing the satellite dish and modem can run N140,000 ($1200) and up.

On the power front, Yilwe would like to eventually see labs run by solar power and wants to switch to less power-intensive LCD screens as soon as possible. Most monitors are still CRTs here.

Despite these problems, Yilwe says the primary constraint on IT in Nigeria is awareness. He believes that once people realize the possibilities provided by IT access and its necessity for interacting with the rest of the world the demand for solutions will provide the incentive for improvements. He thinks the key is teaching children and young adults to use computers, thus the strong emphasis on computer labs in the archdiocese schools.

Yilwe also has a vision for setting up a Linux academy, teaching students to take the RHCE, Linux+, and other certificates. He's looking for curricula and equipment to get started as well as just getting the information out to raise awareness of the possibilities provided by Linux and other free and open source software projects.

Other things he's excited about are digital libraries like the eGranary from widernet.org and thin client labs running on the Linux Terminal Server Project. There's a great deal of potential and excitement here; it's painful to see the lack of resources for developing these ideas more fully.

After looking at St. Louis school we headed south out of town to visit some schools in more rural areas. We visited the Kuru Trade School and the Spiritual Year Center, also in Kuru. Between the two schools there was one computer. But both had large empty rooms they hoped to turn into computer labs.

Further out of town we went to St. John Vianney Minor Seminary in Barkin Ladi where there were a handful of computers then to St. Joseph's College in Vom with another dozen or so. Heading back into town we stopped at the College of Mary Immaculate which was in the process of building a new library with hopes of including a computer lab.

We swung by the Pastoral Center to pick up Mike who was feeling better by now and continued to a couple schools in town: St. Theresa College and Fatima College.

We ran out of time to reach all the schools so on Thursday morning we visited St. Murumba College and St. Patrick's School which had similar computer needs. It became clear that we could probably send the entire container of 800 computers to Jos if we wanted to fill the need here, without even considering the needs of the other cities of Kaduna, Kafanchan and Zaria.

Before leaving Jos, Mike and I were invited back to the Pastoral Center to meet with Archbishop Ignatius Kaigama then to have tea with Sister Mary Patrick. We were back on the road by noon and had a dry and uneventful drive back to Kaduna.

ECorps trip begins

Monday morning we were taken on a tour of Abuja. We saw the National Mosque, the National Communicant Center (an ecumenical cathedral) and the Abuja zoo. We were able to see the National Assembly building from a distance, but unfortunately were not able to go inside.

Abuja is built in an area with some outstanding giant rock formations. Near the National Assembly and right behind the zoo is Aso Rock and on our way out of town we saw Zuma Rock.

After our tour we headed out for Kaduna. The drive was uneventful and the road seemed fairly good. Most of the route is divided highway. In Kaduna we were set up at the Catholic Social Center. The center consists of a few hotel-style buildings, a church, and a restaurant and bar. We each were given a room with bed, TV, and bathroom. The bathrooms seem to be of varying quality with some having better luck with things like hot water, but generally the facilities are quite comfortable.

Next door to the Social Center is a Media Center which houses audio-visual studios and a computer lab for teaching classes. About a hundred yards away from that is a bookstore and a currently-unused cyber cafe.

At the Social Center we met another WCE team member, Obafemi Badajo from Abeokuta. We also met Fr. Kukah, Fr. Michael, Fr. Anthony, and Tony, who teaches computer classes at the Media Center.

Tuesday morning we had the first official WCE meeting with the local IT team and representatives from Jos, Kafanchan and Zaria. Due to the short time frame the Oshogbo and Makurdi projects had been dropped.

We went around the room introducing ourselves then got an update on the status of the computer shipment (still delayed--maybe next week) and tried to come up with a tentative plan of action.

The city representatives described their current setups and what they needed and/or wanted in terms of computers.

After lunch Obafemi took the iniatitive to present a brush-up class on Windows XP for those city representatives who needed it. Meanwhile others of us tried to set up a wireless network using a laptop as an AP -- failing, unfortunately -- and compiling an inventory of the arriving equipment and comparing it to the needs.

One option we discussed was for team members to go out in pairs to the various cities to see the conditions in person and perhaps be better able to make recommendations. For the most part we decided this was unnecessary, but the representative from Jos, Yilwe Dimlong, was very interested in taking folks to see the Jos school situation. Since he had to return to Jos the same afternoon I volunteered to go with him and drafted Mike to come with me.

Driving between cities at night in Nigeria is dangerous due to road conditions and lack of lighting. Often trucks that break down on the road will simply stop where they are without any sort of safety lighting and many of the okadas (motorcycle taxis) have poor or no lighting at all. Since it was already 3:30 when we decided to go to Jos we had to pack and load the car immediately in order to make it to Jos before dark.

Although we left in time, we ran into heavy rain and dark clouds as we came up the escarpment onto the Jos plateau which contributed to some tense moments. The driver was quite good, however, and we arrived at the Catholic Pastoral Center in Jos without incident. We took a route via Kafanchan and Vom which included a shortcut on an unfinished stretch of road.

Back in Abuja

Rolling up several days...

Wednesday, after successfully getting Internet access and looking around the former Boulder Hill compound, we went back to the guest house then caught a taxi to Hill Station to eat at the Chinese/Lebanese restaurant, Elysar. We enjoyed some excellent felafel and other Lebanese dishes along with some Nigerian Star beer. NEPA was out and the restaurant was running on generator, however the lights went out mid-meal due to a generator fault. We ate for a while by candle light which was quite nice until the power came back on. A taxi ride brought us back to the guest house for the night.

I should describe the taxi situation. My impression is that there is no taxi regulation. It used to be that taxis were all painted yellow and green, but I've only seen a couple old Peugeots that have that coloring. To get around town you can either hail a motorcycle and pay to sit on the back or flag down an unmarked cab. Motorcycle taxis are cheaper and there are hundreds of them, but it looks dangerous so we haven't tried it. With regular cabs you can either share the vehicle or ask for a "drop" which means they take you straight to your destination. There are no meters, you just negotiate a price. Since there were two of us we went for drops; the price is still low--between N150 and N300 for any trip we took--and it's convenient. However, this leads to the odd problem of trying to flag down a regular car that you think maybe looks like a taxi with no passengers. It's not very efficient. I think we got a ride in someone's private car once because the driver didn't charge us anything. In fact I think I may have insulted him by asking the price.

On Thursday, one of Andy Horling's drivers picked us up to drive out to Miango to visit the cemetary where my mother is buried. It was nice to get out of the city for a while. The road to Miango is badly potholed so the drive was slow and traffic was light so we were able to enjoy the scenery without the traffic stress.

Thursday night we enjoyed dinner at Jay and Heidi Tolar's house along with Al and Jackie Persenaire who have now been at Hillcrest for around 30 years.

Friday we walked downtown to visit the EYN (formerly CBM) compound and visit the museum neighborhood to look at the arts and crafts for sale. We also looked for postcards there and at a nearby bookstore, but had no luck.

Friday night we were taken out on the town by our friends Julie and John Orshi. Julie teaches psychology at the University of Jos and John works in public relations for the University. As much as we enjoyed being with members of the Hillcrest community it was nice to see Jos from a more Nigerian perspective. We went to two restaurants, at the first I had semovita with sauce and beef and Emily had rice, fried plantain and chicken. After eating all this, John said "We're not done yet!" and off we went to find a place for grilled fish. The second restaurant was an outside patio near a barbeque where women grilled whole fish. Luckily, there was quite a wait for the fish to be ready so we had time to digest some of the first course before starting on the second. When it came, the fish was presented whole, topped with tomato and onion slices with a side of chips (french fries). Very good.

Saturday morning I felt a little under the weather so we hung out at the guest house then in the early afternoon we ventured downtown to do a little tourist shopping. Emily bought some fabric from a store on Amadu Bello Way, the main commercial street, and we visited a very nice NetCafe which had pastries and cappacino. We tried unsuccessfully to find postcards. All of the bookstores we visited had ornate birthday and wedding cards, but no postcards.

Sunday we attended the chapel service at Hillcrest then ate lunch at La Speciale Restaurant, a new place across from the CRC guest house. While we were walking back from the restaurant it started to downpour and we took refuge under the awning of the Oasis bakery. After waiting for 45 minutes we decided the rain was not going to stop so we hurried back to the guest house sharing our one small umbrella.

Andy Horling's driver picked us up Sunday afternoon and we drove the three-and-some hour drive to the airport at Abuja. Emily checked in for her flight and we waited in the airport until the driver sent by Fr. Kukah arrived to meet me and the rest of the team which was arriving from Frankfurt. Emily caught her flight out and Cary, Bryan, Ben, Mike, and Lewis arrived shortly after that with a great deal of luggage and equipment. We loaded up the bus from the Archdiocese and drove to the Catholic guest house for the night.

August 6, 2008

First Day of School

Emily and I attended the opening chapel for the semester today. Chapel proceeded much as it would have years ago. Parents and many teachers sat in the back and on the bleachers, high school students sat toward the back of the main seating, then middle school students. Elementary students were brought in last, each in their class group led by a teacher and filled in toward the front. Hillcrest now has a kindergarten class in addition to 1st through 12th. But overall, the enrollment is quite a bit smaller than it used to be. The total number of students is around 280 to 300, well down from the 580 it reached at its peak.

This afternoon we came to the former Boulder Hill Hostel compound where there is now an Internet café. We walked around the compound a bit and took pictures before coming into the café to use the network and post these updates. Next we'll be heading downtown to try to get the cellphone situation working.

Hillcrest

After checking in to the Cedar Tree we had some lunch then made our way on foot to Hillcrest School, my alma mater. As we left the guest house the gardener warned us that it was about to rain, but it didn't have quite the dark threatening look that storms do in Minnesota so I thought we might expect a sprinkle and could brave it. About a quarter mile down the road the rain started getting heavy so we ducked under the awning of a Chinese bakery/café. We bought some cookies and stood under the shelter and watched the rain for about 45 minutes. I had forgotten how quickly the rain here could become very heavy. It was shortly coming down in torrents, although without much wind or thunder. The front yard of the café soon became a muddy river through which people ran and motorcycle taxis drove to deliver their passengers to shelter.

The rain stopped and the river quickly diminished and everyone returned to their business. We stopped at a couple roadside stands to try to find a SIM card for my phone, but I had forgotten that it would be locked by the US network (t-mobile) so the search was not fruitful. We bought an umbrella for N400 and walked on to Hillcrest. About the only notable visible difference at Hillcrest is the wall topped with coils of razor wire that circles the campus. At the entrance is a gate house and drop-arm barriers manned by several guards in uniform. They each wore a Hillcrest School security patch on their shoulder and look very crisp.

We were just starting to look around when Jay Tolar drove up and gave us a big warm greeting and welcome back. He had reserved a room for us at the Baptist guest house (formerly Boys Baptist Hostel) across the road which his parents, Jack and Barbara are now managing. He gave us a ride over and we confirmed with his mother that we would be there the rest of the week. Following that, Jay drove us to Andy Horlings office where we discussed getting a car and driver to take us out to Miango later in the week and getting a ride back to Abuja on Sunday. Andy had a lot of fond memories of my parents and was happy to visit with us. He then volunteered to take us downtown and help me get a cellphone.

We drove downtown past Hill Station hotel, a Jos landmark, and the museum and zoo complex. We found a road side stand selling cell phones on the new network, Multilinks, for N1750 so I bought one and an additional N200 in minutes. Andy then gave us a ride back to the Cedar Tree where we called it a day.

Unfortunately I've been unable to get the cell phone to dial out successfully so I'll try exchanging it as soon as we make it back downtown again.

The next day (Tuesday) we took a taxi back to the Baptist guest house to drop off our bags, then went back to Hillcrest to wander around and take pictures. It was the day before school was to begin for the semester so many of the teachers and administrators were around getting ready for the students to return. We met Stuart Carlson, the maintenance manager; Al Persenaire, science teacher who remembered me and my parents from years ago; Jason Pointer (sp?) the chaplain, Dele Alabi the computer systems manager; Heidi Tolar, formerly Heidi Gibb, who teaches PE among other subjects; and Tittle Abader (sp?) who works in administration; "Uncle" Sam, who works security; and several others whose names slip my mind. Everyone has been enormously friendly and helpful, Jason even lent us a cell phone to use for a couple days until we could get one ourselves. Dele Alabi also runs an Internet business out of what used to be the girls' hall at Boulder Hill Hostel so we will be going there shortly to try to do email and post these updates.

The Hillcrest campus really has not changed much. We were able to walk around the entire area and go into the auditorium. Everything is well maintained, but photos from today could almost have been taken 20 years ago. One new feature is a campus wide WiFi network that is being built out. There is a broadcasting tower next to the computer lab (what was the fourth grade when I was there) with flat, cell-phone style antenas facing all directions. I didn't have time to ask Dele more about it, but hope to before we leave.

After the tour, Emily and I went back to the guest house, took a nap while it rained again and stayed in for the evening.

Arrived in Jos

Monday morning we had eggs, bread and tea (and Nescafe) at the guest house for breakfast. The weather was beautiful -- probably low seventies, but quite humid and overcast. Christopher picked us up and we headed out pretty early. Our first stop was to change money. We pulled up at some roadside stands and a man came out to the car and we discussed what the going exchange rate was - 117 Naira to the Dollar. We had been expecting something higher, but decided to go with this for the moment. Joe and I followed the man into an office where we discussed the exchange rate again with his boss. I made a half-hearted attempt to bargain for a better rate, but they didn't seem interested in negotiating so I changed $400 into N46800. For some reason they gave it all to me in N200 bills so I ended up with an impressive looking stack of money. It seems very common here for all parties of a transaction to count the money more than once and in future I'll try to do that, but this time I made just a cursory count.

Unfortunately, Joe only brought travelers checks and they would not accept them. Apparently only banks or the bureau de change will deal with travelers checks, so I bought some from him for Dollars and then he changed the Dollars for Naira. Also, the money exchangers claimed that $20 bills are less valued than $50s or higher denominations. They wanted to give us only 110 to 1 for the 20's, but we got them up to 115 to 1. So, I'd recommend bringing most of your money to Nigeria in $50 bills.

We found out later that 117 was pretty much the going rate for exchange, so I don't feel bad about not having bargained harder.

Our next stop was a gas station where Christopher fueled the car and the rest of us bought bottled water and batteries. Then we loaded back up for the trip to Jos. We took the road through Keffi which I hear is the short route. The longer route is probably more scenic, but in any case it was beautiful and I was happy to get back on the plateau again after so many years. The weather was beautiful the whole trip (about 2 or 3 hours) and probably dropped a couple degrees as we gained elevation. The countryside is at the height of its incredibly green, lush, rainy season foliage. We came up through the hills past many of the signature rock formations of the plateau, huge boulders stacked on each other, large outcroppings of granite, and flat-topped hills in the distance.

The only problem with the trip was that we were stopped at a police road block where the policeman said they were checking for road-worthiness. He asked for the papers from Christopher, who provided them, but then said that the specific road-worthiness certification and proof of ownership paper was missing. Christopher followed him back to their car where they had a long discussion. Eventually he came back and very apologetically explained that they were asking for a N2500 ($21) fee because of the papers and would we be able to front the money since he did not have it on him. We did so and we were shortly on our way again. Interestingly the only vehicles that were being stopped seemed to be the expensive looking ones while several old clunkers with bumpers about to fall off were waved through. Curious, given the road-worthiness explanation. Well, I'm not saying. I'm just saying.

Coming this route from Abuja brought us through Bukuru and then into Jos. I did not recognize Bukuru at all until I saw the road signs. Both towns have grown enormously and the road between them has pretty much filled in with new growth: residences, businesses, a couple industrial looking buildings. Traffic was very heavy on the road and pretty hectic with big lorries driving slow, taxis and private cars speeding past them, motorcycles riding slower and right along the edge of the road to avoid getting hit, and then pedestrians trying to dodge through traffic to cross the road. Several times we saw cars squeeze a third or fourth lane out of the road and speed into oncoming traffic before pulling over just in time to clear. Given that many of the vehicles, especially the motorcycles, have poor or non-existent tail lights the recommendation against driving at night is well taken.

I did recognize some landmarks driving into town, the Nasco factory, for example, and then NTA and Flat Top hill so I was able to spot the Cedar Tree Guest House and direct Christopher there to drop off Emily and myself. We checked in (N6500 a night for a double - pretty steep, but a nice place) then saw off Christopher and Joe as they headed on for Kaduna.

Aside from the growth in buildings and traffic, the most remarkable difference in appearance here are the walls. It seems that almost every private residence beyond a simple shack has a wall around it. Even many of the businesses are in walled compounds. The simpler places have a plain concrete block wall, more well off ones have walls topped with broken glass or jagged pieces of metal, then others have even more imposing walls topped with coils of razor wire. The front gates to the compounds are solid metal with small sliding peep holes to allow the guard inside to see you before he opens the gate. The walls are very depressing and really change the appearance of the city. What they say about the security situation here is even more depressing. Security, electricity, water have all been privatized by necessity since their appears to be little functioning state apparatus to supply them. Instead of a community you get a series of isolated fortresses attempting to be self-sufficient. Perhaps I'm overstating this, but I found it quite disturbing.

Arrived in Abuja

Emily and I flew from Minneapolis to Chicago then changed planes to a Lufthansa flight to Frankfurt. While at the airport we met up with Joe Kennedy who will be the advance member of the WCE team in Kaduna.

We had a three hour layover in Frankfurt which was time enough to get some breakfast -- coffee, danish, and grilled cheese sandwich. There are an abundance of sausages available in the airport, but it seemed a bit too early for me.

The airport had WiFi for a fee so Joe and I each bought an hour's worth and we all emailed updates. I still have a half hour left to use on the return trip.

The flight from Frankfurt crosses the Alps, the Mediterranean, the immensity of the Sahara before passing right over Nigeria and landing at Malabo, Equatorial Guinea. We were not able to get off the plane in Malabo, but the view from the plane gave the impression of a very small town in a rain-forest covered island surrounded by off-shore oil rigs. When we took off again the sun had just set so we were able to see dozens of gas flares burning red and orange in the dusk.

An hour's flight from Malabo put us into Abuja at about 8:15 local time (UTC +1). The airport in Abuja was strikingly different from my former experience in Kano airport. The airport was clean and spacious and although there was a long line to get through passport control, the process was orderly. Our bags came out on a baggage claim conveyor belt and after a cursory check at customs we were through.

Unfortunately, the bureau de change at the airport was closed for the night so we were unable to change money. We were not able to buy water as we'd planned and if we'd needed a taxi we would have had to negotiate in dollars. Luckily, we shortly connected with Christopher, a driver for the Catholic Arch-Diocese who had been sent to pick us up. A fifteen minute drive from the airport brought us to the Catholic Guest House (abbreviated DRACC, but I don't know what that stands for). The power appeared to be out in the neighborhood as it was completely dark save for the headlights of cars and candles on the tables of a few small snack shops along the road. However the guest house was lit, so it probably has a generator or battery system.

The guest house is a very nice compound reached via a short drive down an incredibly pot-holed dirt road. The compound has several buildings and appears to have many rooms, but it was quiet and we seemed to be among the only guests that night. Rooms had running water, bathrooms, electricity (although it went out a couple times over night), air conditioners, and TVs. After quick showers we went straight to bed to recover from 24 hours of traveling.

July 3, 2008

U of MN Central Auth Mod_Perl2 Module

I've written a mod_perl2 module: UMN::CAH::Client::MP2 to work with UMN::CAH::Client::Store to provide a client implementation of the University of Minnesota Central Authentication Hub.

Currently ::MP2 is on version 0.0.3 and ::Store is on version 0.0.5. Both of these should still be considered ALPHA software, use it at your own risk. :)

You can find the latest version of ::Store here and the latest version of ::MP2 here.

Please feel free to send me your comments, questions or bug reports. Note that I did not implement a test suite with ::MP2 since I haven't figured out how to do it yet.

Below is the documentation (from the embedded POD).

Continue reading "U of MN Central Auth Mod_Perl2 Module" »

June 20, 2008

New UMN central auth perl module

I've started working on a set of new perl modules to replace UMNCookieAuth. I've broken the backend and cacheing section of the module away from the mod_perl section, so the backend should be usable from any perl application and does not have to be embedded in apache.

I'm also trying to be more proactive about writing tests for my code so you should be able to run "make test" and have it tell you something meaningful.

So far I've completed what I think should be a functional backend. The primary module is UMN::CAH::Client::Store.pm. Store uses Cache::FastMmap to cache authentication lookups and refers to UMN::CAH::Client::Store::AuthHub.pm to handle the actual connection to the central auth hub. Cache::FastMmap is supposed to be cross-platform compatible now, so in theory this module will run on Windows in addition to the various *nix (it was developed on Debian) without any modifications. Please let me know if this is not the case.

This is ALPHA software.

You can find downloads of UMN::CAH::Client::Store here: UMN-CAH-Client-Store. You should be able to run "perl Makefile.PL; make; make test; make install". Read on for the perldocs:

Continue reading "New UMN central auth perl module" »

June 4, 2008

Obama rally lines

Emily and I spent an hour or so waiting in line to get into the Xcel center last night to see Barack Obama speak. Unfortunately we didn't get in. We heard there had been 40 - 50,000 people waiting and capacity was 18,500. Instead we went to Pazzaluna and watched the speech on live TV at the bar.

The number of people waiting to get in was really impressive. Here's a map of the line as of when we joined it. Google says this is about 1.3 miles long, but it seemed longer and had already been moving for a while before we got there.


View Larger Map

For comparison, here's the line we waited in for Obama's February 2 rally at the Target Center. I think the line last night was thicker, probably about 4 people wide as opposed to 2 people wide in February.


View Larger Map

September 3, 2007

The Bridge

35W Bridge
I finally made it to the site of the 35W bridge collapse. The police had a very wide area sealed off until this past weekend so there was really nowhere to get a good look at it. This weekend they opened the 19th Ave/10th Ave bridge which runs right next to where the 35W bridge used to be. One whole lane has been restricted to pedestrians only and when I went it was full of people looking at and taking pictures of the ruins.

More pictures on flickr.

35W Bridge
35W Bridge