euchre etiquette

How do you know you have an enduring friendship? When after more than 27 years as friends, and seven days of traveling together you can play Euchre – couple against couple – and still be friends at the end of the train ride from Seward to Anchorage. Now you might think that a simple card game means nothing, but there a few members of our party of 4 who are a little on the competitive side.

The controversy in this story came after our third missed bear siting on the train. “There’s a bear up ahead on the left side of the train… No now its on the right… no, now its on the left…” This is some kind of weird plan by the conductor to get the train rocking back and forth, or something to get the people in the back cars of the train to drink more. So, here it is dear readers, as we are all in a state of frustration over bear sitings, the up card is a heart, I’m holding three diamonds (but no bowers). Everyone passes, and it comes back around to me. I bid diamonds. This is when the trouble starts. As it turns out, Holly has both red bowers and only passed because she had better diamonds than hearts. Needless to say we get set, and I launch into some kind of self righteous tirade about “maur passing” just to set us. This scenario plays itself out three times again over the course of the train ride… Now last night I might have said some mean words about Holly’s card playing ethics, but today in hindsight, and in the spirit of type 2 fun, I can see that I might have been overly harsh in my judgement.

The card playing on the train was the culmination of a long day. The last day of a cruise is always a long hard day. For one thing, I think thats one of the things that all cruise lines suck at. You are an awesome person who must be waited on and pampered at every turn, until the last morning of the cruise. Then you yesterday’s news, who must get up early and off the ship as soon as possible, so your room can be turned over to someone new and wonderful who must be pampered at every turn. Or maybe I’m just grumpy that I’m not the new wonderful person anymore. In any case we love cruising and its ability to allow you to see great places in the world, all the while knowing that you have a safe comfortable place to eat and sleep each night.

We spent our day on a Kenai Fjord tour. We had another day of wildlife sitings. The new animals we saw today included Dahl Porpoises and up close views of Puffins and Stellar Sea Lions. The tour company was really good, it was Major Marine Tours. Its not the largest tour company in the marina but the service can’t be beat. When we got out into open ocean areas and the swells got large they were especially kind to the large number of people at the back railing “going for distance.”

As I post this picture of the sea lions – whose population has been declining for the last several years – I am reminded of one especially redeeming quality of the day. SUN!! This is the first day since we left Minneapolis that we’ve had a sunny day.

After a long day, we arrived at the Anchorage train station at 10:30 PM. We got our luggage and the hotel shuttle picked us up for our ride to the hotel. Holly and I transported all of our bags to our room, while Jane and Brian stayed on the shuttle to go to the airport to get our car. We lucked out on the emerald aisle and got a good sized Dodge. At least its big enough to hold all of our luggage and all of us. We had envisioned a number of scenarios in which we stored our luggage at the hotel while we went North to Denali.

As I write this we are in our room in the Mckinley Creekside Cabins. Its not quite the same as our cabin on board the ship, but as Gabe would say, in Alaska, “Warm and Dry is more than you can hope for” We had a pretty good drive in the rain to get here, including a swell stop at the liquor store in Wasilla, and some fake pictures of where we imagine Sarah Palin might have lived. We got our tickets for tomorrows bus tour of Denali and then spent some time visiting with the sled dogs of Denali. We took the very scenic Rock Creek hiking path back to the visitors center and then headed out to Prospectors Pizza for a delicious meal.

Tomorrow will be another long day of hiking and bus riding as we go in search of Bear and Moose here in Denali National Park. We are hoping for another clear day so that we can see Mount McKinley.

- Posted using BlogPress from my iPad


icy strait / hoonah

I mentioned type 3 fun in a previous posting, and although there was plenty of type 1 fun to be had in Icy Strait I’d like to begin this post with a little description of some type 3 fun. As a reminder, the definition of type 3 fun is something that is lame when you do it, and remains lame and not fun even in the retelling. Thus was our bike tour of Hoonah.

I should start out by saying that it is not the fault of the bike tour guide, or anyone else involved with tours at Icy Straits. We signed up for the bike tour / zip line combination tour through the cruise line because that was the only way we could sign up for a zip line tour in the afternoon. The idea of an eight mile bike ride sounded appealing, a bike tour is a great way to see an area at a faster pace than walking, and is a nice way to get to know an area better than you do in a tour bus. but, the simple truth is that Hoonah is a nice small fishing town in Alaska, but there really isn’t that much to see. So, we saw the ferry terminal (3-4 ferries per week), the office bar, the seaplane dock, the library, the post office, and the airport. Oh yeah, and it was RAINING yes really really raining. We were absolutely soaked to the bone through our pants and jackets and everything. Yuck!

We all agreed that what we should have done was just not ride the bikes. We could have stayed at the visitor center for a while staying warm and dry and then gotten on the bus to the top of the zip line. Our mistake. So, yes a wet cold bike ride through a town of 800 is virtually the definition of type 3 fun.

But, lets leave that in the past and talk about the highlights of our day in Icy Strait.

It began in the morning with our whale watching adventure. We had booked a small tour with a private operator. I would highly recommend that everyone does this. The small boats are so much more nimble, and you get to know some of the local people in a way that you can’t when you are on a big boat with 100 other people. So it happened that there were only six of us on the boat with captain Floyd. We had plenty of room to spread out and we were not vying for position with other people when the whales showed up.

As whale watching trips go, this one just couldn’t be beat. We were not even out of the harbor before we were treated to a humpback bubble netting. Bubble netting is one feeding strategy used by the humpacks. They circle under the water making tons of bubbles that confuse the smelt to the point where they don’t know which way is up. Then the whale swoops in from below with mouth wide open and scoops up hundreds of gallons of water and fish. The whale closes its mouth and strains out all the yummy fish through its baleen. Here’s a picture of the first whale we encountered.

Now, of course, anyone who has ever been on a whale watching trip has seen lots of whale tails. As the humpbacks typically come up, show their hump for a while, and then dive deep. When they dive deep they do so with their tail straight up in the air. What most people do not get the opportunity to see first hand is a humpback breaching. This is when the whale propels its whole body out of the water. This is an amazing feet for an animal that averages 40 feet in length and weighs about 1000 pounds per foot of length!

We were lucky enough to see several such breaches. I was lucky enough to have my camera pointed in the right direction when this one happened!

Finally, we were in for one more bonus. Orcas! Its pretty rare to get to see Orcas on a whale watching trip! After watching the humpbacks for a while our captain informed us that there were Orcas in the area. This is another great example of the benefit of going on a smaller ship. The captain can just take off and follow the whales you want to see.

Here are two Orcas from the small pod we were following. For a while we thought we were going to see the death of one of the sea lions swimming perilously close to this group, but I guess they were not hungry at the time. The dorsal fin in the picture above is about six feet tall!

So, the whale watching was awesome, but our final act of the day was also a real blast. The worlds longest, highest, fastest zip line! Its a one shot ride from the top of the mountain outside of hoonah, down to sea level. This was really a stretch for Holly, who is a not a lover of heights, but the ride was fun. Unlike other zip lines, this one actually has a harness that allows you to sit quite comfortably. You don’t have any brakes to worry about as that is taken care of for you at the bottom by Physics.

At the top of the zip line you brace your feet against the starting gate, six people at a time, and then they count down from three. The gates open and you are off. In our case we started out in the clouds, flying downward. Suddenly you are out of the clouds and the ship and the water all come into beautiful view right in front of your eyes. In just about 90 seconds the ride is over, but its a real thrill. I’ve got some great video from the head mounted camera, but I’ll have to wait until I get home to edit that and post it.

- Posted using BlogPress from my iPad

Location:Hoonah, AK

type 2 fun

Our guide for the Mendenhall glacier trek told us that there are 3 kinds of fun. Type 1 fun, is just “fun fun.” Its good while its happening and afterward you remember it as fun. Type 2 fun is the kind of thing where you do something and even though you might be totally exhausted or in pain when its all over you remember it later as being an awesome thing to do. Type 3 fun, is no fun at all, it sucks when you do it and it doesn’t get any better in your memory over time.

Yesterday was all about Type 2 fun. Today was 8 hours of hiking, rock scrabbling, and walking on the glacier. The last two and a half hours of hiking were in pouring rain. But already, just one day later we are remembering yesterday as an awesome day.

We left the ship at 8:15AM to meet our guide, Gabe, who drove us out to the trail head. Gabe had backpacks for us with our glacier gear in them, a hiking pick axe, a helmet, a harness, and crampons. Also some light snacks. We were in our Alaskan layers of Dry Fit, Kuhl Fleece, and North Face. To this we added rain pants and a rain jacket. There was a light rain falling at the beginning of our hike, but that stopped somewhere along the way. The hike starts out pretty easy, and gets gradually more difficult the closer you get to the glacier. There was one point where we were truly climbing up the rocks next to a small waterfall. It was great, but it wasn’t easy.

After only a half a mile, people were stopping to shed layers of clothing like crazy. We continued this process for a good portion of the hike.

After two and a half hours of hiking and climbing over rocks we were really getting close to the glacier. With Gabe’s help we did some estimating on where the glacier would have been the last time we were in Alaska. It was really interesting to take a picture from that point and to see how far it has receded.

We took a short break to get our glacier gear unpacked and to gear up for our trek on the glacier itself. About this time it started to rain a bit harder, and it even looked like a few snowflakes by the time it hit the ground, so we cooled off very quickly while we were getting ready.

On the glacier, we found some cool blue ice holes and practiced walking with our crampons. Then Gabe asked if we would like to try some ice climbing. Why not?! The vacation has been injury free so far so we might as well try something new. This was really a blast even though it was just a short little climb to get the hang of it. Ice climbing involves driving your crampons straight into the ice wall, while hanging from two pick axes. Of course we had a safety line so we wouldn’t fall, if we lost our grip. It was really fun but took a lot of effort. Brian and I made it all the way to the top, and Jane and Holly both made a good run at it.

At this point we had been hiking and on the glacier for about three and a half hours. We knew we had two and a half more to get back so we were just about at the point to say it was time to head back, but Gabe had one last surprise for us. He took us over to the side of the glacier where we took off our crampons and hiked down to a spot where there was a cave. We hiked right inside the glacier. There was a little stream flowing into the glacier, and the ice was really amazing. Overhead the ice was glowing blue from the light filtering in from above. On the sides it looked like polished metal, which was because the ice was dirty and there was no light coming in from that direction. The idea of being inside this glacier, with the blue glow all around us made the whole day worthwhile.

When our spelunking was finished it was time to pack up our gear into the backpacks again and head back. By this time our feet were dead tired and the rain was coming down very steadily. Up until now the day had been all type 1 fun, but a two-and-a-half hour death march back to the car in the rain turned it into type 2. One fun little bonus on the trip back was that we saw some salmon swimming up one of the small streams. After catching them and seeing them jumping in the ocean it was interesting to see them heading up stream.

We got back to the ship, and headed to the hot tub. That did wonders for our legs, but we were so tired we didn’t even bother to dress for dinner in the dining room, we just threw on some clothes and went to the buffet. I believe this may be a first for us in skipping dinner in the dining room in favor of the buffet! Holly was sound asleep well before 10:00, I went to the magic show, and along with Jane made it to 10:30. Gone are the days of partying on the ship until midnight or after I guess.

- Posted using BlogPress from my iPad


Its a lazy, rainy afternoon here in Ketchikan Alaska. We are back from fishing and have warmed up with some lunch and a nice soak in the hot tub. The ship should be pulling out of port any minute now and we’ll be on our way to Icy Strait.

The last 24 hours have been a lot of fun. In terms of a sea day, yesterday would have to rank way up there for the unique experience it provided us. As you know from my previous blog post I can’t say much about it. We were part of a very familiar kind of scene to those of you who actually watch this particular kind of show. Meaning we were a part of a large group that got to try out some wonderful food and then share our thoughts. Whether or not we’ll ever be seen by millions of people is all in the hands of some editor at this point. But I know I’ll look forward to this episode. It will always remind me that Holly does not know what Jamie Oliver actually looks like, since he wasn’t here.

Last night we had our second phenomenal dinner in Qsine. This is the restaurant that features the iPads, we were rewArDed by seeing someone faMous at the tAble next to us. We didn’t intrude on her privacy since she was having dinner with her family and celebrating her father’s birthday.

This morning we were up bright and early for our fishing expedition. It was just the four of us and captain Bob. Bob was a great captain, he’s a salty dog that has been guiding fishing trips here in Ketchikan since the 1970s. We had a lot of fun fishing for salmon, even though it was a bit on the cold and rainy side. The high for the day was about 57 degrees, and we had rain off and on.

Of course we had to turn even a small fishing expedition into some kind of a competition. Although as competitions go this was pretty tame since we took turns reeling in the fish. At the end of the morning we had 14 fish in the hold. All of them nice pink salmon, that we’ll look forward to receiving via Fed Ex when we get back home. Here’s Holly and Captain Bob netting one of our first salmon.

And here’s Jane

Tonight we are looking forward to eating in the main dining room, and relaxing at one of the shows on the ship. It looks like the main entertainment is a comedian and that is often fun.

Tomorrow we are looking forward to a day of whale watching, biking, and zip-lining! Stay tuned.

- Posted using BlogPress from my iPad

secrets onboard the millenium

Good morning from stateroom 7199. I’m looking out the back of the ship at a lot of very low hanging clouds. We are in a “family view” stateroom, which means that we have one of the largest decks of anybody onboard. It is perfect for this Alaskan cruise as we can see both directions and even have a great forward view. When the ship is moving we can sit out on the covered part of the deck where we are sheltered from the wind.

Yesterday was a really fun day. We woke up in our two room suite at the Executive Hotel in Vancouver. Jane and I walked the two blocks down to Tim Horton’s to get coffee, bagels and donuts. The plan for the day was to shop for wine, water, and soda to bring on board. With shopping complete the next activity is to rent bikes and ride around Stanley park.

As we headed out for our shopping Holly realized that she was missing her tongue scraper!?? What the heck is a tongue scraper? Brian and I were full of extremely unhelpful suggestions for what might substitute as a tongue scraper. My suggestions of Emery boards or repurposed floss were particularly unhelpful since I had no idea what one should even look like. When Holly did finally describe one to me, it seemed perfectly reasonable that a spare plastic zip tie would work. Many pharmacies later we found one, and all was well with the dental hygiene world.

I must say the neighborhood we were shopping in was a bit sketchy. We passed by several very interesting sex shops, one featuring mannequins dressed in thongs fighting with light sabers. We tried to convince Holly that we had seen tongue scrapers inside the adult book store, but she didn’t go for it. The liquor store we were going to opened at 9:30 and it was quite an interesting study in humanity. People were literally waiting outside the door for the store to open. When the iron gate of the front door was finally unlocked there was a rush inside for people to buy their first drink of the day. Needless to say we were left alone in the fine wine section of the store. We found a nice selection of British Columbia wines to try including some very interestingly named varietals. Hatfield’s Fuse, Quails Gate, and Sandhill. As we checked out with our bottles to take aboard, the guy ahead of us in line was literally shaking to pay for his two beers and get out the door so he could pop one open.

With all of the shopping behind us, we returned to the hotel, where we were granted a late checkout time of 12:30. This worked perfectly for our bike ride. The bike rental place was just around the corner. Vancouver is an extremely bike friendly place. There were great bike lanes that took us from the bike rental place to the pier area and then around the park. It was really beautiful. Although it wasn’t a workout pace it was a fun ride, and a good way to get to know the city a little better. We will definitely come back someday just to spend some time in and around the city.

With the bike ride complete we ordered a taxi and headed to the pier. As we were going through the customs line we were joking with one man who was sent to the much shorter line for ‘the film crew.’ Yes, much mystery surrounds this first night on the ship. Our reservation in Qsine had to be changed at the last minute because of a filming for a ‘food related show.’
We of course pumped this guy for information, but he couldn’t tell us anything. I even tried the old, ‘blink once if its Alton’ line but he just laughed and headed through customs.

Later in Qsine we had a really great time with the wait staff and the maitre de. We said, OK, look we know something is happening because they changed our reservation, so who is it? Whats going on? Finally, a member of the staff, who identified himself as James Bond, agreed to the you guess and I’ll nod game. I got the person and the show right on my second guess. For which we were rewarded with an invitation to dinner at Qsine again tonight where we may be part of the taping. We will have to sign non-disclosure agreements, so although I would love to reveal the name of the show, I can’t. I will say that this could be at the Top of my list for exciting happenings aboard the ship. If I get to meet a celebrity Chef that would certainly be a highlight of my amateur culinary life.

- Posted using BlogPress from my iPad

Location:Inside Passage, enroute to Alaska

how to think like a computer scientist interactive edition

After hosting the interactive edition of How to Think like a Computer Scientist on the Google app engine at for over a year, we finally made the switchover to a new domain.  As of today all requests to thinkcspy will be automatically redirected to

This new domain, is hosted by  They have very reasonable hosting rates, along with plenty of bandwidth and disk space.   I have more control over the development platform that I use, I get to keep my data in a real relational database (postgresql) where I can write queries and export my data as much as I want, and finally, if I ever need to move from Webfaction, I own the domain and can move it with me, and I won't need to go through this name change again.

For those of you who have used the thinkcspy site, you will notice a few upgrades to the content of the book have taken place.  In addition, we are now hosting another book along side thinkcspy.  So we now have coverage for both CS1 and CS2.

CS1 --  

CS2 --  

The CS2 book is based on our paperback book, Problem Solving with Algorithms and Data Structures using Python by Brad Miller and David Ranum.  Our forward thinking publisher has given us permission to convert the paper book into an interactive version and make it available online!

The other great thing about the move to is that you can now host your own course.  That is you can use one of our books online, but you are the instructor, so you can grade homework assignments, and look at activity reports for the students in your class.  So far we have 20 different institutions hosting one of the two books for a course currently,  or for the upcoming fall term.  The links to create your own course are right there on the home page, so if you are interested in using this site for a course go right ahead.

The one downside to this move is that I did not migrate any of the data from the old thinkcspy site.  So if you have saved programs there you will need to recreate them at the new site.  I gave people plenty of notice about the move, so I'm hoping this won't turn into a big issue.  If it is, let me know, and I'll try to pull your code out of the google datastore for you.

The second issue with the move is that I don't use google accounts  anymore.  If you want to save your programs you will need to create an account on the site.

If you have a link to on any pages you control, please make the change to point to the new domain and location.  Thanks!

If you are interested in contributing to the project, have a book you would like to host, or are just interested in how we are doing this, you can check out the code on github:  [](   If you don't want to go that far, but have assignments, or assessment questions you would like to contribute, please contact me!


saying goodbye to namibia

Sitting in the lobby of the Hotel Safari this morning.  We've checked out and are just hanging here until about 11:00 before we head to the airport.  It seems like a lifetime ago that we checked in here, exhausted, and grubby after 39 hours of travel from the USA.  Now we are refreshed, our bodies are on the right time zone and heading on to the next segment of our journey.  Its really strange to think that I'm heading to Israel, while the rest of the group is heading to cape town.  One consolation is that I'll be enjoying nice warm 90 degree weather, while they will be in Cape Town's winter at 59 degrees.

Last night we had a very nice dinner at Nampa and Matty's house.  I'm very jealous of Matty's indoor wood fired oven.  He had obviously been grilling meat for us all afternoon.  Not only does it make delicious meat but it also heats their family room.  It was amazing to hear the story of these two Luther College Alums.  They were at Luther in the mid 90's, but by the time they found their way to college in the USA they were married and had small children.  They are so grateful to the people of Decorah for their hospitality and help that they are always eager to open their home to Americans who are traveling in Namibia.  We worked hard on their youngest daughter to convince her that she must come to Luther to go to college.

As I think about the two purposes of our trip, the philanthropic, and the cultural I am inspired to try to return someday, and to help to keep up the good work that EmpoweringLearnersNamibia has started.  There is so much more we can do to help, and it really doesn't take much money to accomplish a lot here.  For example a new Kindergarden school could be built to replace the 10x12 metal shack for about  $5000.00 US.  

almost back to windhoek

Well, here we are on the B2 not 55km from Windhoek and the Safari Hotel.  Suddenly our coach makes a very bad noise and we begin to coast down the road.  Joey looks rather concerned.  We coast to a stop and pull over to the side of the road.  One of the few places in all of Namibia where there is almost no shoulder.  The diagnosis is dire, the clutch plate is out.  Luckily its only 1:15 in the afternoon and we are close to our destination.  David is on the phone getting another coach on its way.  This bus that we've spent so many hours with is not taking us any further.

So far we are all in good spirits.  The sun is out, the weather is nice.  We are joking about our plight and assessing our provisions.  In the cooler we have some apples, a half bottle of Riesling and one Windhoek light.  Suddenly Joey says… "I need a beer!"  We all crack up, we'd be happy to give Joey our last beer, he's been such a good sport with great humor this entire trip.

We are thankful that this little mishap happened here.  When we think of all the places this could have happened. The middle of Etosha, the middle of the desert, Each of which would be hours and hours from anywhere likely to have the ability to come and get us.  We'll be just fine, and this answers the important question of what to write about in today's blog.

UPDATE:  We're moving again, in a lovely, highly air conditioned coach.  Its just 2:55 so we were only delayed about 1:45.  When the replacement bus got here we formed a bucket brigade and transferred the luggage from one to the other in no time.  We're looking forward to arriving at the Safari and we'll still have some time to relax and refresh before we go to our dinner at Nampa and Matty's house.

photo highlights from namibia

Well, its really hard to pick out the photo highlights from this trip, but I decided to take a quick stab at it during my hour at the internet cafe today.  So, here's a link to the flickr photoset.  Hope you like it.

lions and rhinos and springbok, oh my! etosha!

If someone had told me six months ago that in the span of 24 hours I would see nine Lions,  two Rhino, four Elephants, three Hyena, one Jackal, a Journey of Giraffe, a Dazzle of Zebra, and countless Wildebeest, Springbok, Oryx, and Impala I would never have thought it possible.  But that is exactly what happened this last day.  As Ann remarked, "whoever thought I would be so casual about seeing another Zebra"

On the drive into the park we got really excited about seeing  a couple of Elephants and Giraffe in the distance, then Joey pulled off onto one of the many side roads that takes you to a water hole and we were able to get a little closer.  But later we were to find out that that initial excitement was just an appetizer.  A couple of water holes down the road, we pulled up and there were two huge elephants just standing 20 yards from the bus.  And the Giraffe seemed to be everywhere along the side of the road.  It was really incredible to get so close to all of the animals.

We stopped for a late lunch and then walked to the water hole at the Na… Rest Camp, someone had sited another elephant and it looked like we could get close to this one standing on the observation platform.  However when I got out there it had disappeared into the bush.  I had turned around and was headed back toward the bus when Josh Martin softly called me back -- "Rihno!"  I got back but the Rhino had wandered into the trees so I was only able to get a partial shot of it with my camera.  I have a great 70-200mm zoom, but I was now wishing I had upgraded to the new 100-300 model!

When we got to our rest camp we were all planning to sign up for an open air Jeep excursion.  It was a little confusing, but our options were to go out at 5:30AM, midday, or an evening excursion starting at 18:30.  I don't think any of us was particularly excited about getting up for another early morning drive, so lots of conversation ensued.  In the end we all booked the 5:30AM tour and were not disappointed.  Remember that we are in Africa, so even though the days are long in the Northern Hemisphere we are at some of the shortest days here.  At 5:30 it was still completely dark.  However we were treated to a spectacular view of Venus and Mars.  Our guide and driver for the morning was named Samuel, he's been working in the park for 20 years and does an amazing job of spotting the game.  We told him that we really wanted to see some cats and he smiled and told us that what you see on any given day is mostly luck.

We drove for quite a while in the dark with Samuel illuminating our path with a red handheld light.  It was COLD, we all had on many layers including winter coats, and luckily Samuel provided us with ponchos to put over our legs for another layer of warmth.  We never really did see anything in the dark.  At the first water hole we stopped we didn't see anything so we drove around to the other side of the water hole where Samuel said 'Lion!'  We looked and at first none of us could see it, but eventually we all saw what he was pointing to.  A male lion laying down at the edge of the water hole munching on something that was freshly killed.  As I was watching the lion through my long lens I noticed something much darker pop up from the grass behind the lion.  Samuel confirmed that it was a Hyena, in fact there are probably several of them waiting for their chance to eat whatever the lion leaves behind.  We also discovered that there was another lion that had been lying a few meters away from the first.  We were just starting to pull away when we were rewarded with a final view of the Lion who stood up and took a big stretch.

We drove on through herds of Zebra and all kinds of antelope when Samuel spotted another pair of Lions just on the edge of the pan, these were farther away than the first but the light was much better so I was able to get some good pictures and really zoom in on these.  In fact it turned out that there were seven Lion in this area, and Samuel said probably two more that we didn't see, because the pride is eleven, and we had already seen two of them at the previous water hole.  The drama of seeing this group of Lions was heightened by one lonesome and apparently suicidal Springbok.  This poor creature seemed completely unaware of the Lions and just kept wandering closer and closer.  Samuel said that Lions only strike if they know they won't have to chase their prey for more than 100 meters, but would could see the lions get very still and very low to the ground, they clearly had not missed this Springbok.  Eventually the little guy came to his senses and escaped with his life, at least for today.

When we got back from the drive we went to breakfast and we have spent the rest of the day sitting and observing at the water hole, or lying around the pool area soaking up some of the warm midday and afternoon sun.  We are hoping for a return of the Rhinos that appeared here last night, but as Samuel said its mostly luck as to what might show up on any given day.

And just as I finished writing those words we were rewarded.  A giraffe came ever so slowly and cautiously out of the trees to get a drink.  This is a really amazing process.  First she approaches the water hole very slowly, checking each way several times.  Then she must get in position to drink, which involves spreading her legs very wide  so her neck can reach the water, but you can tell this puts the giraffe in a very vulnerable position so much stopping and starting and looking around ensues as she prepares to drink.  And when she does its a long one.  Twenty seconds maybe with the mouth in the water, and then with a mighty shake she raises her body up and assumes a position that looks like she's ready to flee.  With all of us sitting up here taking pictures and whispering she is very cautious of us.  What a site, this whole trip to the water hole probably took just over an hour between her cautious approach to the hole and then multiple long approaches and drinks.  Patience is a virtue.

rev. p. hanock kindergarden.

Our second stop of the day yesterday was at the Rev. P. Hanock Kindergarden.

This 'school' was a metal building that was a maximum of 12 feet by 12 feet and barely tall enough for Josh Martin to stand in.  This school housed 24 students, about half of which had chairs to sit in.  The students were prepared for us to come, and gave us a concert and a number of demonstrations of their ability to count, and name the colors and the shapes.  It was really impressive and they were all so eager to show off their knowledge.  From the very beginning they instill in these learners the importance of knowledge and going to school. "Knowledge is our future" they sing.

In addition to this small classroom there are outhouse facilities donated by Luther alums Orv and Cathy Johnson. The Luther connections here in Namibia are many and strong.  It is almost heartbreaking to see what a relatively small amount of money by American standards can accomplish over here.  We left the kindergarden some blocks and a soccer ball.  The look on the children's faces when they emerged from the building to kick the ball around was another of those moments that make you realize what this trip is all about.

okahandja woodcarvers market

Here we are back on the bus after a stop at the woodcarvers market all of us laughing our heads off.  About 70km North of Windhoek we stopped at the woodcarvers market.  In my mind I had a vision of a sedate little market where Namibian men were sitting and carving interesting wooden masks and bowls.  What ensued was the first "holy shit" comment of the day from one of our co-travellers.  While Jane went across the road to the market, I went to the coffee shop to get some coffee.  As Josh and I crossed the road I was approached my a young man who said "I have your wife"  A swarm of young men descended on us, come to my shop, come to my shop, the next 20 minutes were pure chaos of bargaining in both US$ and Namibian $.

Now that the dust has settled a bit it appears that the best strategy is to offer somewhere less than half of what they first tell you is the price and work your way up as slowly as you can.  However, we all learned that the hard way.  Our first purchase of this manic shopping spree was a marble bowl.  The asking price was N$650, we countered with N$400 and settled at N$500.  Way to high.  As Jane was literally pulled out of that shop and on to another shop I saw an elephant hair bracelet.  I didn't have any Namibian dollars left so I told him I would buy it with US$.  He said $70 US for the bracelet.  I told him no way; but by then the bracelet was already on my arm.  So I told him the leather bracelet I had cost less than $20 he said make me an offer, so I told him $10.  But its made from Elephant hair!!  With that he wrote $50 on his arm.  No way, I said so I came up to $15.  Eventually we settled at $20.  I really do this is one of the best deals I've ever made.

As all of this was taking place young men were trying to lure Mary (Ethan's mom) to the outskirts of their little woodcarving village.  Mary resisted with the help of her sister Carol who exclaimed, "I'm not letting you get sold into white slavery"  Mary was the smartest among us as all she purchased was a single woven basket.

Meanwhile, Jane was embroiled in making a bargain for a couple of giraffes.  We were rapidly running out of cash, and she was desperately trying to get back to the first stall where she had found a bowl she really liked.  We ended up with the giraffes and two bowls.  Now this young man grabbed the bowls and told us he'd wrap them for us.  As he was wrapping them he insisted that Jane look at the Salad tongs in his stall.  He proceeded to hold our bowls hostage until Jane finally bought two sets for US$10.  Meanwhile Josh was standing outside the stall saying Mom, we have to go, the bus is going to leave.  Apparently this is a common ploy as one young man was stuffing marble candle holders into Jerry's backpack.  Ann had to pull them out and pull Jerry out of the stall in order to escape.

Jane is now trying to sell two of the salad tongs she bought to Josh Martin.  She told him she'd sell him the one pair for $20 US.  Just think of your mother she said!  If you brought these home to her she'd know you were thinking about her.  So, Karen, if you want some Namibian salad tongs just let us know, we'll make you a really good deal!

I think at the end of the session we had spent about $100 US, or 800 Namibian dollars.  Even if we overpaid for every item it was well worth the price just for the experience.  Plus we figure we are helping these guys make their living and propping up the economy of Okahandja.  Josh Miller and Josh Martin were the only two people who didn't spend any money.  Josh had 20 people approach him, and he just kept telling them, I don't have any money. I don't have any money. 



After a quick stop at the Parliament, and an unsuccessful attempt to visit the Christkirche we visited the meteorite monument in downtown Windhoek.  Evidently Ethan was getting a little tired of site seeing by this time and needed a break for lunch.  Which we took at Schneider.  Jane had some delicious Curry Wurst, and Josh, Josh, and I all went for the Stroghanoff with Spaetzel.  Schneider had some nice outdoor seating, and was surprisingly fast and cheap for a center city lunch stop.

After lunch was the well timed trip to the 'Diamond Factory'  We learned a little about diamonds, and then had a tour of the showroom.  The tour began with some free glasses of Champagne and ended at the Tanzanite stand.  Long time readers of this blog may remember the Tanzanite story from Mexico and how that ended.  This was had a somewhat similar, though less expensive, ending to the story.  It seems fitting to get some Tanzanite while we're in Africa,especially since our 26th anniversary is only 2 days away.

you must really like to fly

"You must really like to fly"  was the comment of the  flight attendant from Scotland on our British Air flight from Heathrow to Johannesburg.  What prompted the statement was my comment that I would have the curried chicken because "that was good last night." -- We'll return to the concept of good airplane food later.   Its Monday.  We left Chicago on Saturday. Two overnight flights in a row with a nine hour layover in London.  I feel like I've been in the airport forever.  Now we are waiting out our final layover in Johannesburg for the final leg of our flight to Windhoek.  We are in Africa, but it doesn't really seem like it yet.  We've got to get out of the airport and into the real world.  The Empowering Learners trip is well underway.

Because we had such a long london layover we did leave the airport and take the tube into London.  We walked around the London School of Economics with Josh Martin, and then meandered through the South Bank area having lunch at Giraffe.  Yesterday was a hard day, the overnight flight with the 6 timezone change really messes you up.  This morning was easier as we flew mostly north to south, crossing only one time zone.  We are really thankful to the gate agent in Chicago who rearranged our seats on this flight so that we had the aisle seats in the middle section with nobody in between us.  We were able to stretch out and get some decent rest last night.

About this trip.  This is not just a trip for fun, this is partly a mission trip and partly a cultural experience.  The trip is organized by Empowering Learners, a non profit organized by Ethan Schultz, and Ann Sponberg-Peterson.  The goal is to bring 24 laptop computers and 50 calculators to the Oshigambo high school in Northern Namibia.  We also carried along an assortment of Braille books, and Soccer balls to distribute along the way.  There are a total of 12 of us on the trip and we got all of this stuff along with us in carry on and checked baggage, we are definitely going to be a lot lighter on the drive home than we on the trip here.  Once we complete our business working with the high school we'll be visiting the Etosha Game Park and the Atlantic Coast in Swakopmund.  More detail to follow.

For now we are safely checked in at the Safari Court Hotel.  After two nights sleeping on airplanes and having our morning coffee in airports, we are all ready for a shower!   As a group we will have a little break before meeting with our tour guide for the trip and then heading to downtown Windhoek for a meal at a nice German restaurant.

runestone interactive

What a week its been!   So much has happened in the last week that I just have to take some time out to organize my thoughts and get some of this information out there where others can read it.

What is Runestone Interactive?

Runestone Interactive is primarily a home for both the content and the technologies that go into publishing interactive textbooks.  At the moment interactive textbooks for Computer Science, but who knows how far this could go.  Probably the best way to see this is to actually visit our site and play around.  But in the meantime here is a short video to give you an introduction.


  1. Home to our open source publishing tools.  My goal as that these tools become the LaTeX of interactive publishing. There is lots of work to do before we can claim success here, but I think we have a good vision and a decent start.
  2. A model for a new online only publishing house. At some point, I think it is important for content to go through an editorial process, not just for copy editing quality, but for coherence, and quality of approach. Right now the number of content creators using our system is pretty small, but I can already see that starting to grow. We have lots of thinking to do about this.
  3. A home for hosting online courses or textbooks.

Who is your audience?

At the moment, I think we serve three distinct groups of people.

  1. The  teacher out there who wants a good quality textbook, but is not interested in forcing their students to pay $100+ and is interesting in trying an interactive book, all for free.   So to serve this audience we have You can select one of our pre-defined books and set up a course where you are the instructor and have access to grading etc. Or you can use the drag-and-drop interface to put together a book by selecting from the library of modules. Maybe some of these teachers have an exercise or two they would like to contribute, but mostly they are just looking for good materials to help them with their course.
  2. Authors who would like to contribute significant chunks of content – chapters or section sized – or videos. For example I’m working with an entrepreneur who wants to add content and a graphics package that looks more like Nodebox. He’s very interested in putting together materials for middle school kids.  Others, including other Computer Science researchers, are more interested in algorithm visualization and working together on building in more visualization tools to the tool box.  Others have their own CS course materials that they would like to get into an interactive form and make available to the world.
  3. People who are interested in learning CS on their own.  We get a ton of people coming to the site just to learn on their own. I had the most heartfelt letter from a guy the other day who found our site as he is trying to retool after being laid off for a couple of years. He said this is the first thing he’s come across that really worked for him and helped him learn a bit of CS.  How does this compare with Udacity and Coursera?  Both of those companies are primarily video oriented, and both of those companies are running courses that are in some sense synchronous.  You have to move through the course on their schedule to get the full benefit.  Our books/courses can be done at your own pace, on your own time.

I would like to use this for my own class how do I get started?

Its easy, just follow these steps:

  1. Go to and register yourself as a user.
  2. Click on Create a Custom Course link in the right sidebar.
  3. Select a short name for your course that uniquely identifies it among all the other courses.
  4. Type in a short description for your course
  5. Now you get to choose.  Do you want to use one of our standard configurations, either How to Think Like a Computer Scientist: Interactive Edition, or Problem Solving with Algorithms and Data Structures using Python  or do you want to build a custom book by choosing modules from both of the above?
  6. Click on the build button.  Wait a few minutes and you will have a page with a link to your new course.
Now you can send your students to and simply tell them to register for your course.  


Why would you choose to build your own course when you could just use one of the open books?  When you create your own course you become the instructor and admin for that course.  You can grade your students assignments right online, and even access their homework in progress if they have questions.  You can also get a sense for the different activities they are choosing to use in the textbook.

How can I get involved?

There are lots of ways you can get involved:

  • We need readers who are willing to be critical and report bugs on everything from typos to activecode blocks that don't work exactly right.
  • We need web developers who are willing to work on the back end, developing reports for instructors and making sure our infrastructure is sound.
  • We need web developers who are interested in developing user facing features, everything from algorithm visualizations to interactive assessment tools like the multiple choice and fill in the blank questions you see already.
  • We need compiler geeks who can help fix bugs in our Javascript implementation of Python.
  • We need authors who want to add new and interesting content, either entire courses, or new modules that could be combined with the modules already there.

hosting a web2py app in the cloud

I consider myself pretty up to speed on web development.

I’ve spent the last two days trying to find a hosting solution for the data structures eBook…. I looked at too many of the following:

  • Google App Engine — I’m a long time GAE user, but the setup I have uses sphinx to generate content on the fly which it wants to store in pickle files on the local file system.  This doesn’t work with a GAE and some other systems that treat the file system as read only and expect any writing you do to go to a database.
  • heroku — seems very promising, but I’m not sure how to configure web2py so it doesn’t need any local file system write access.  The lack of ssh access is a bit disconcerting.
  • dotcloud — seems promising but the app kept hanging for no discernible reason.  I fought with it for the better part of the afternoon before deciding to move on.
  • fluxflex — easy to get web2py installed, (1 minute)  but a real pain to try to work with a real app.  I’m not going to use the web interface for all my editing.  I want to git push and/or git pull to deploy and update the app.  It doesn’t seem possible to get both ease of installation and robust configuration management.
  • pythonanywhere - non-starter
  • webfaction — Its not free, but at least it has a command line I can work with and I’ve got the whole thing running.  The only confusing thing about webfaction is that they don’t list web2py as a supported framework, but when you type it in under other it magically works for  you….  The other annoying thing that I just discovered is that the 256MB limit is way too low for the default configuration.  I just now got a helpful email saying a support ticket had been opened for me because I was using too much memory.  This was like 15 minutes after I finally got my app running and I’d made about 5 page requests.