Yes, I know most ‘normal’ people don’t go to work on their vacation.  But then, I am not usually described as normal.  In this blog post I’ll write about my fourth trip to Africa in as many years.

Disclaimer: I forgot my camera!  Thanks to Esther Schorr, Annali Delsink, Albert Zulu and more for all of the pictures that I’ve included in this blog.

Because readers have different levels of interest (and time).  I’ll write two versions:

Short version:

atWorkAtTheCube

Llewellyn and I spent 5 weeks in Africa.  Traveling to both Zambia (for 3 weeks) and then to South Africa (for two weeks).  We personally volunteered (as programmers) for the SmartCare electronic medical project in Zambia.  We then went as speakers to TechEd Africa in Durban.  We next traveled to Tergniet, South Africa for a lovely weekend with friends along the southern coast of Africa.

Long version (below):

Zambia

The trip from Los Angeles to Lusaka, Zambia is L-O-N-G.  Specifically, there are 3 segments totaling 23 hours in the air.  Due to time changes and connection wait time, the reality is about 2 1/2 days from door to door.

The first segment, flying from LA to Atlanta, was relatively brief and uneventful.  One highlight was watching a movie that we streamed (using the in-flight wireless) over NetFlix. 

The next leg of our journey wasn’t, unfortunately, as uneventful.  In addition to the inconvenience of not being seated together for the 15 hour flight from Atlanta to Jo’berg, (two middle seats!), and no wireless onboard, the flight was over 2 hours delayed as a catering truck ran into the plane so that we had to change to a new plane.  This delay caused us to miss the next leg of our flight (from Jo’berg to Lusaka).  The last leg was also, unfortunately, the last evening flight to Lusaka as well.  To add to the dilemma, the US carrier, Delta, was unwilling to compensate for this issue, saying, oddly,  that the missed flight was the fault the next carrier (South African Airlines).

By now our little entourage grew to 6 stranded passengers in total.  The first amongst us was (luckily) booked ‘through’ by Delta.  So, the Delta agent happily re-booked him on to Lusaka.  The rest of us unfortunately were directed to SAA.  SAA informed us that we would all have to re-purchase new tickets to Lusaka.  One in our party was in transit for a 4 year long move to Lusaka, so she has 8 suitcases with her.  She and another woman thought to ‘sleep on my luggage’ at the airport until the morning flight.  We thought that this would be inadvisable, so we gathered up our group, and the various Jo’berg airport hanger-oners to walk to the airport hotel.  One of the hanger-oners verified that our checked luggage was ‘stored in the basement’ and would be ‘checked through’ to Lusaka.  We were doubtful.

At the airport hotel, the clerk cheerfully informed us that indeed they had rooms, for $ 350 USD each.  At this point, I decided to take change and countered with ‘We we will take the rooms for $ 200 USD each, and you will accept that because that’s a good price and you are not fully booked.’ Although I do understand the ‘tourist tax’ that one is expected to pay, there are limits!

SAA had informed us to ‘arrive early’ for the Sunday morning check-in.  They weren’t kidding.  Arriving 2 hours early (for a 90 minute flight), we found a line of around 1,000 people.  Resigned to the fact that we’d probably miss the flight, we were surprised to ‘picked’ from the long line.  The exchange went something like this:

SAA employee: Just hand luggage?

Us: Pardon?

SAA employee:  Shame, you should not wait in this queue, follow me.

Us: Are you sure?

SAA employee: Indeed – follow me.

At that point she plucked us from the queue (along with 4 selected others), led us to an unoccupied counter, opened the counter and checked us in.

By this sheer force of luck, we made our flight to Lusaka.  Of course not all of checked luggage accompanied us.

Lusaka

Lusaka

We were met at the airport by our colleague Chrys and her driver James.  Chrys is an ITPro and MCT who began her work with SmartCare as a volunteer several years ago.  She was so taken with the project and the country, that after two volunteer trips, Chrys sought a contract with the project.  She was successful, so much so that she sold all of her possessions in the US and permanently moved to Zambia a couple of years ago.

We piled into one of two hired taxis (yes we had THAT much luggage – not clothes mind you, but other items that were needed for trip.  Items with cords if you get my drift).  About 30 minutes later we arrived to Chrys’ house in the Rhodes Park district of Lusaka. 

Chrys lives in a rented house at the end of a cul-de-sac.  To my knowledge, she is the only ex-pat (non Zambian) to live in this area.  Also in her house is with her is a team of household employees (all Zambians).  It is expected that ex-pats will hire household help when they live and work in country, this is a kind of a variant of the ‘tourist-tax’, I guess you can think of it as the ‘ex-pat tax’.  To that end, Chrys employees a maid, a cook, a gardener, a driver and a security watchman.  Also she’s a great friend to the Zambian animal community, so she ‘hosted’ up to 5 cats and 4 rabbits while we were there.

In addition to her work with the SmartCare (Electronic Medical Records) project, Chrys opened a local, small business the same week we arrived.  After over a year of planning, she launched an Internet cafe (pictured below) in partnership with a Zambian neighbor family from her block.  The cafe sits on the campus of a local community college. Chrys and her crew were quite busy during the time we were there attending to the needs of the new business.  Below is Chrys at her cafe (she’s in the hat.)

cafe

On the day of our arrival, we decided to visit and to try out her cafe ourselves.  We were pleased to find that the access speeds were fast, so fast in fact, we helped her to coin her tagline. ‘The MajoChrys Internet Cafe – “fast like in America!” ‘.  We helped with a great variety of tasks, things like load testing, setting up print servers, providing cooling (fans!) and marketing strategies.  There was quite a bit of work to be done.  But, there were paying customers – lots of them – from day one.

Of course, we also battled jet lag on our arrival.  Given the circumstances of our flights, we were quite fatigued and decided to sleep when tired.  This strategy led to a slow start on the work which had taken us to Zambia.  We were comforted by food as well – Llewellyn, in particular, enjoyed the beef on skewers available at one local restaurant.

meat

Did I mention that we liked to eat meat?  Well, there was an authentic (and really good) Korean BBQ place in Lusaka as well.  Below is ONE PORTION of food!

KoreanBBQ

We really got to settled in with ‘life in Lusaka’, as we stayed with locals and walked to work each day.  We also were greatly assisted by hiring Chrys’ regular driver, James, to drive us around when needed.  We cooked or tried out local restaurants and really felt welcomed by the warm and friendly Zambian people.

SmartCare

As regular readers of my blog will know, I have been personally volunteering on the SmartCare project for over 4 years.  This volunteering is done remotely and (once per year) in country.  So this was my forth trip to Zambia.  With each successive trip, I gain a better understanding of ‘African Time’, so I plan less in advance and plan to adapt my contributions to do what is needed – so what I end up actually doing while in country is most often determined AFTER I arrive.

To that end, Llewellyn and I eased into the daily work flow at the team’s office.  The core team works in a building, nicknamed ‘The Cube’ at the Millennium Village area of Lusaka.  The team is divided by function.  On the top floor of the two-story building, the developer team works.  On the bottom floor, the training and deployment team works.  The ‘cube’ next door is for conducting formal training classes and meetings.

theCube

The project is being built and deployed in partnership with Zambian Ministry of Health as well several other implementing partners.  Because of this, much work takes place at other locations than the cube as well.  The include the CDC offices, the Ministry of Health, partner headquarters in Zambia, as well field locations, such as rural clinics.  Below is an example of one of the application screens.

smartCareDetail

I am quite happy to see the progress of this 9 year-long project.  SmartCare has been accepted as the national standard for EMR in Zambia and has been successfully deployed in around 25% of the country’s medical facilities (600 units) to date.  There is a phased deployment plan, with the goal of 100% deployment in 4-5 more years.  Also SmartCare has been localized and is in pilot in Ethiopia and in South Africa.

Llewellyn’s mission as a new volunteer to this project was to integrate with the programming team.  To that end, he jumped right in, pair programming with a developer named Gift.  Those two started working on translating requirements into new functionality for a TB module.

While he was busy coding, I met with the in-cube deployment team.  They’d asked me to work with them on introducing ITPros to working with the team’s DotNetNuke website.  So, I conducted a training for that team and got everyone comfortable making updates to the core site at www.SmartCare.org.zm.

DigiGirlz in Lusaka

Next up I headed over to the Roma Girl’s school at the invite of local MCT, Albert Zulu.  While there I gave a talk to the 11th and 12th grade classes about being a women in technology.  I also talked a bit about the DigiGirlz program.  The girls were fun and attentive.  They were particularly interested in my Zune and also asked many questions about cell phones.

The talk was so well received that the school head invited me back to teach SmallBasic later that week.  Llewellyn and I returned and taught over 60 girls the first lesson using our two laptops (roundori-style).  Everyone had a great time and we were also able to give out about 30 USB drives loaded up with SmallBasic, our extensions, and our full recipe library, so that the girls could continue their studies.  Below is a picture of me leading my group of girls in their first SmallBasic recipe.

Roma

We were still adjusting to the the time difference (from PST it is 8 hours off), but we kept plugging along.  We had dinner with the SmartCare medical project lead, a US epidemiologist, Dr. Mark Shields.  This helped us to gain perspective into the direction of the project.  In particular, Mark explained in detail about ‘virulent TB’ and the need to get the new module completed and deployed.

ZamDevs .Net User Group

We worked with the local team to start up this user group last year and were happy to continue the (mostly monthly) meetups with our presentation.  36 local developers showed up.  Llewellyn and I presented his talk on ‘Core Agile Values’, which was well-received.  That, and the ‘swag suitcase’ that James Johnson’s Inland Empire User Group packed up to share with their Zambian colleagues.  In fact, we actually set up a video Skype call with the Zambians and James so that they could thank him.

Working with the Training Team

I worked quite a bit with another volunteer from the US, Esther Schorr, Chrys and a new team member, Machalo (that’s us shown below).  Esther and Machalo’s first  task was to review and to improve the end-user training for the new inventory (pharmacy) module for SmartCare.

workingTogetherInZambia

One day, I went out the SmartCare senior Trainers Training (they were having a retreat outside of Lusaka) and presented on the reporting tool I was helping the team’s DBA to code.  Here’s me and senior trainer, Shem at the retreat.

TTT

After that we went shopping.  One of my favorite places to pick up stuff from Zambia is Kabwata Craft Village (sign shown below).

kabwatavillagebillboard1

Being good visitors we did the expected shopping at the local craft village (Kabwata) and loaded up our now emptied suitcase (had been filled with electronics) with various wooden carved artifacts.  It was difficult to make selections from the many hand-made items available.  Shown below is one vendor’s selection of carved masks.

masks

We settled into a rhythm of working in Lusaka, and spent Mon-Fri with the team in the cube.  We found ourselves also working weekends, because we needed to continue to prepare for what we had planned AFTER our time in Lusaka – that is TechEd Africa in Durban.

TechEd 

After 3 weeks in Lusaka, it was time to head to Durban, South Africa to speak at TechEd Africa.  This was my second visit to Durban (as a TechEd speaker) and I was really looking forward to connecting with speakers (both local and international) and the delegates there.

TechEd_Africa_main

We arrived a sensible couple of days early, thankfully our flights were completely uneventful. The location is quite modern and convenient – with the ICC (conference center) and speaker hotel (Hilton), being co-located.  We were happy to see that Llewellyn’s co-speaker, Jason Malinowski, arrived from Seattle as well.  We actually met him in Jo’berg, so we all took the last leg of the flight to Durban together.

Also, the luggage gods smiled on us and all of our bags arrived.  We we quite surprised that we were able to carry on the large wooden walking stick that I had bought as a souvenir in Zambia.  At various points at the airport, ‘absolutely not, you can not bring that on board’, however smiling and carrying on seemed to prevail.

I was also happy to have a nice dinner with TechEd Africa star speaker, and all-around brainiac, Bart De Smet.  We had fun geeking out, catching up on his world (Rx) and talking about other Belgian techies that we know (particularly Dandy).

TechEd Africa began formally with the opening keynote on Sunday afternoon at 4pm.  However much preparation was being done (at the Hilton) before.  I was quite happy to hear that the show was a sell-out, being the largest gathering of Developers and ITPros on the African continent with around 3,200 delegates attending.  Another thing I really like was the HUGE keynote stage (picture below).

TechEd_huge_stage

TechEd on Monday

*note all of my slide decks can be found on SlideShare.

My role in the show began with the first session at 8:00 am Monday morning.  I presented ‘What’s New in SQL Server 2008 R2’ to a completely packed room.  At the end of the session, one of the developer volunteers for SmartCare, Sydney du Ploy walked up and introduced himself.  He told me that he was interested in learning more about the kid’s programming work that I do.

In my typically reticent way, I said, “Great – let’s go!”  I hauled him into our taxi as Llewellyn and I headed over to DigiGirlz South Africa.  This event was hosted at TechEd and at Derivco.  There were 16 high school aged girls at this event.  We had a great time introducing the girls and their teachers to programming using our Small Basic recipes.  Sydney jumped right in, as a proctor to our team.  He’s excited to share this information with the developer community in Jo’berg.

DigiGirlz_SA

I headed back to the conference center to speak next to the university students attending TechEd.  I was invited to speak on Windows 7 development as part of a team which included SoCal’s own Tim Huckaby (RD / InterKnowlogy), Katrien De Graeve (DE – Belgium) and more.  The students challenged me, actually ‘booing’ when I started to demo a ‘Hello World’ WPF application.  Realizing these future programmers were further ahead in their studies than I had thought, I switched mid-stream to show them how a more advanced Windows 7 multi-touch application was coded.

Next up was the WomenInTechnology cocktail.  While there I re-connected with some women delegates whom I had met last year (last year I had been the keynote speaker for the WiT event) and enjoyed the presentation by Norm Judah from Microsoft.

After this I headed back to the hotel lobby for my Amarula nightcap, only to find Anton Delsink doing the same.  We are both volunteers on SmartCare, so we caught up on that as well as synched our presentations – he was presenting on Windows Azure and me on SQL Azure.

Tuesday at TechEd

This proved to be an incredibly busy day for me.  I started by presenting my second formal session ‘What’s New in SQL Azure’ to another completely full room of DBAs and Developers.  Due to infrastructure limitations, commercial availability of Windows Azure for South Africa isn’t planned until 2012, so it was important for me to frame my talk in this context for this audience.  However the talk was also recorded, so I tried to balance local relevance with general information.  Apparently I succeeded, as this was my highest scored session.

Next I was off to put last minute touches on my next session, ‘Windows 7 APIs for Developers’.  While doing this, I sat in on Donald Farmer’s ‘Data Cleansing’ session and was quite interested to hear about real-world he’d done on this problem to aid in disasters – such as location of missing people after hurricane Katrina.  Also Donald gave a sneak preview of some of the roadmap for SQL Server 11.

At midday I presented to an overflow room on Windows 7 for Developers.  After that I headed to the press room to do an interview for the most popular radio station in Jo’berg.  Aki, the host decided to do a quick video interview.  An irony was that we literally got locked INSIDE the interview room without any means of getting out (no cell phones).  He decided to use social media (twitter) and I decided to go ‘old fashioned’ by using a folded paper from the flipchart saying ‘HELP, let us out’ slid underneath the door.  Guess which way got us out of the room faster?

My next event was my book signing (“Smart Business Intelligence Solutions with SQL Server 2008” / MSPress).  Thankfully a few of the people in line waiting for me checked twitter, so they actually believed my story of being ‘locked in with Aki’.  My books were gone in less than 15 minutes, so it was then off to the next activity.

Next up was closing keynote practice.  The local Microsoft office had invited me to speak about SmartCare as part of their presentation.  To that end, I had arranged for the Zambian project lead, Derrick Muneene to showcase his work of 10 years.  He and I attended the practice and then decided to have dinner together to practice further and to catch up on what Llewellyn and I had accomplished on our volunteering visit to SmartCare earlier in the month (Derrick had been on vacation the last week of our time there.)

TechEd on Wednesday

Up early on Wednesday to present the last of my sessions ‘Migrating to SQL Azure’, I was happy to see that I had at least a few delegates joining me after the party the previous night.  This session was also recorded so I tried to present considering both local needs as well as broader applicability.

Immediately after I headed over to the keynote room for our dry run practice for the closing keynote.  We were in this practice for over 3 hours, during which time I got to know the keynote co-presenters a bit better.  Soon enough the time came for the keynote.  Derrick and I hit our stride, running through our presentation with no glitches, on times, capturing the attention of the audience as well.

It was particularly gratifying to walk through the halls of the conference at closing with Derrick.  Many delegates were moved by SmartCare and his work and reached out to personally thank him.  I really felt proud for him and was quite happy to have helped to have made him part of TechEd.

Post-TechEd

To celebrate another show, some of the international speakers decided to have an informal dinner after the show.  It was quite fun to chat with Derrick, Bart, Katrien, Llewellyn, Jason and more.

We were quite happy about the show – it was a sell-out!  The largest meeting of technical professionals on the African continent.  Also we were in capable company – all of our sessions were top rated for the show!

Top speakers 1-10 - "King" Bart and also Katrien

Top speakers 11-20 - hey, look- it's me!

Top Sessions - Go Llewellyn and Jason!

Actual Vacation

Now most people who take 3 weeks vacation would actually plan for more than 2 days of vacation, but as I said at the beginning of this blog post, I am really just not ‘most people’. 

After TechEd we headed over to George, South Africa.  We enjoyed an invite to stay at Anton Delsink’s beach house in Tergniet.  The Southern Cape (coast) and Indian Ocean were quite wonderful. We took walks along the beach and explored the wonderful tide pools there.  The highlight was seeing a large octopus in the tide pool!  We were literally just steps from the beach, and we took the steps down (as shown below) several times.

beachUs

Of course, when geeks take vacation, they also take their laptops.  Note that Anton was playing ‘Plants vs. Zombies’ on Llewellyn’s Mac, while Llewellyn was working on the SmartCare codebase. What was I doing? Preparing abstracts for future talks!  Also ironic is that Anton was wearing a Google shirt and Llewellyn was wearing the Microsoft speaker shirt from TechEd.

geeksonholiday

But it wasn’t all laptops and code.  We had a particularly memorable meal at ‘De Vette Mossel’ – a local beach restaurant.  It was really great to end our time in Africa with great conversation, food, scenery and sleep!

Our month in Africa went be quickly, as they always do for me.  One thing is for sure, I’ll continue to do my volunteer work with the SmartCare project (both remotely and in country) and I’ll continue to speak as part of TechEd Africa.  I had a great time, as usual, and am already thinking about going back next year for an even longer time period.