Friday, September 29, 2006

Two very busy weeks

The last two week were rather busy. I arrived Jo'burg airport at about 5pm which was perfect timing for the infamous rush hour commute to Pretoria. I was prepared for it though, having kept the sandwich from the plane and a bottle of water. I noticed several people in the stop and occasionally go traffic on the freeway pull over to use a handy roadside bush, it was that long. A few pulled a U-ey to go back the other way. I wonder if they were low on gas. Sorry, "petrol."

Arrived at the guest house shortly after dark. Followed Fourie's directions with only a few mishaps. Hadn't remember the name but it's the only one here. Got shown the room, unpacked, etc. and did a bit of work. Still working on Martel2. I had stayed up late the previous night and crashed early.

Pieter picked me up at 8am for the braai (sorry, "BBQ") at a not-so-nearby reservoir. It was a group event and most of Fourie's students and staffed showed up. I left the guest house too early and the shop at the lake served only junk food, which tied me over until the meat was ready at 1ish.

Fourie has a small catamaran stored at the lake. We helped him get it ready. I volunteered to go on the first run. It had been many years - since 1987? - since I was last on a sailboat, and '86 since I was last on a cat. My uncle Larry and cousin Rob took me out on Biscayne Bay. This was Fourie's 2nd or 3rd time out and we ended up in irons a few times, pushed into the reeds at the edge of the lake. Reminded me of "African Queen" as Pieter jumped out to turn us around. It felt like the cat doesn't have enough momentum to tack about so Fourie switched to jibing.

The water was chilly. It is spring here and the lake water still has the winter in it. Wait a month or two and it'll be great, like Lake Vermillion for Dylan's wedding. Then again it would be full of powerboats and other craft, with people all along the water's edge.

After lunch we had a pickup game of volleyball. Hard ball too. Painful. It was fun though. Talked with Hamilton for a while. He's a YEC. I don't know how you can be in bioinformatics and believe the world is <10K years old. There's simply not enough time to explain the Messian event, ice sheets in Greenland, or the formation of Carlsbad Caverns. All of which I mentioned to him.

Took a walk about on Sunday, but this neighborhood is pretty boring. Many would say that Pretoria is pretty boring. This area is dense with embassies. The Italian one is down the street and the Mexican one effectively in what we called "campus town" at UIUC.

I finished of Jerod Diamond's "Collapse." Good book. Well told history. I should follow up on some of the recommended readings. If only my own back list weren't so backed up.

Walked in to the Universiteit van Pretoria on Monday morning. Though this area is in the process of migrating to the name "Tshwane" and the local paper is titled "Pretoria News" with the slogan "The paper for the people of Tshwane." Read the wikipedia for details.

The university is 1.5 blocks away. More like 1.1 as the guest house is on the corner. Like other schools it has guards checking people coming in and security gets with key cards to get it. I didn't have a key card so I followed the lead of about 10% of the students and stepped over the gate. Real safe there. With a hint from Pieter I remembered how to get there from my visit in January. Stopped at a small tuck shop (snack shop) to grab a cooldrink (soda) and bumped into Ayton, who let me in.

The group there has an ambitious project to develop a LIMS system for about 200 users in this area. It's mostly data management, with a lot of different data types. Sequence, genomic, genomic annotations, structure, small-molecules, assays, user comments -- the works. Very ambitious. They planned to do it in Java but that's proved too complex for them. When I visited last summer I showed them the TurboGears 20 minute wiki video, and with the help of Laura in Sweden managed to get Fourie to EuroPython to give a talk and see more about the state of Python web development.

I taught Python at the NBN a couple of times and in July spent two weeks training people on using Python, specifically TurboGears, to develop bioinformatics web applications. Fourie asked that I come up here and work with them for a couple of weeks to get them up to speed and along the right path. They've seen the Pythonic light. It slithers so luminously.

Most of the people here were my students last winter, so I knew a bit about them already, and they of me. They had even been in my usability course, which helped a bit. I could remind them of things like paper prototypes and scenarios. My frequent comment was "so when would someone actually use this" and "have you talked with a user?"

I came across Guy Kawasaki's blog, or perhaps recame across it. He mentioned the feeling of what I'll translate as booyah-ism in answering questions on the fly. You know, you're asked an esoteric question and answer it, correctly and quickly, showing just how smart you are. Make you want to exclaim "booyah". According to the UrbanDictionary.com that's an early 1990s slang. So sue me.

The consulting I sometimes do is like that. I have to figure out what's going on, why it got there, how to help out (if I can) and be outgoing, helpful, friendly, etc. I never got formal training in this, though I've read some on it and had some practice now. What training is there? It's very exhausting.

I spent the first couple of days working with each student, asking questions about the projects, suggesting various approaches. I then started working with Ayton and Charles on implementation, and stayed with them the rest of that week and all the next week. We got a prototype system going with two external databases (one using MySQL, the other Sleepcat's DbXml) connected via XML-RPC, a central system which knows how to search and fetch from the other databases, and a schema for handling per-record annotations, including links between records. We used a wikipedia-style [[link notation]] to refer to other records.

We then rewrote it using the dispatch module, for more generic functions, and various bits of cleanup. Oh, and AJAX. Of course. The last feature we added was a trashcan, from which deleted elements could be restored. It was a *lot* of work in under two weeks. Charles and Ayton are good. They have a lot to learn, but they are quite capable.

The biggest problem is the sheer number of languages you need to know to do database-backed web applications development. Python, HTML, the kid templating language on top of HTML, Javascript, CSS, and SQL - for starters!

Last weekend I went with Hamilton to his home turf of Durban. That's "the Miami of South Africa." Coastal city, warm beaches, holiday place. It was a long trip. We left at 5:30 Saturday morning. He sped and we got there at about 11. On the return we left at 3:30pm Monday and we got in at 10:30. Which means we really sped. Though night-time driving was slower. If I get a ticket he's paying! I told him that about 1 minute before we saw the cop on the road with the radar gun.

We stayed with his parents. They were very good hosts and made me feel like I was at home. It was very much like visiting my Mom's family in Michigan. The only thing really missing was a piano in the living room. They are an Indian home, and it's the first time I've been to one here. A major plus side to that was the food. I've been complaining about how South African foods aren't that spicy. Meaning neither flavorful nor hot. People responded saying "for spicy foods you need to go to Durban." They were right.

Hamilton quizzed me on what I meant by hot. He asks his Mom to make the food extra hot when he comes home. I said it wouldn't be a problem, and mentioned the whole "red or green?" New Mexico State Question, and its context. But to prove it to him we went to Nando's the Friday before heading down. I ordered the hot/spicy chicken. The South African hot chile is peri-peri. I've tried things before with that spice and (again) complained that it was tingly and that's it. It's a single note of hotness, without texture, without diversity. Well, Nando's chicken was indeed tingly, but it really needed green chile sauce.

Hamilton was surprised. So it seems was his family. Hot Indian food was wonderful. 8 years living in New Mexico does wonders for one's chile tolerance, and the extra Indian spices rounded out the flavors nicely. Excepting the first meal I used my fingers like everyone else. The first was hard because it's rice and getting the texture of the rice just right to eat without bits falling off takes more practice than my 1/2 dozen time in Indian and Ethiopian restaurants. (I've been in more Indian places than that, but only once tried utensil-free.)

My 9th-grade world history teacher was quite good. So were my 11th grade American history and my 12th grade European teachers. She taught us about only eating with our right hands, and the caste system in India, and well, a whole bunch of things. Turns out that "Indian" in South African is it's own universe of complications. Hindu Indian? Muslim Indian? Christian? And a few others. Hamilton's family is Christian Indian, ethnically Tamil. The caste system didn't make it over. Neither did the right-hand-only thing. (The left is for cleaning.)

In passing Diamond mentioned the caste system, and suggested it evolved out of an environmental stability system. If you know you will only do X and your children will also do X ad infinitum then you'll do your best to make sure X stays around. One example of X was "in-shore fishing." That's makes for a very conservative culture. And stable, if the balance starts off close enough to the attractor in phase space.

Hamilton was happy to visit in part to see his girlfriend. We went shopping on Saturday looking for clothes for me. My jeans and slacks were on their last legs and I wanted a couple of new shirts. I didn't find any of the former in the mall we went, though I did pick up underwear and socks.

I am a small-town hick. I admit it. Santa Fe only has 65K people. The mall we went to has one of the highest climbing walls in the world, a mega-theater-plex *and* an IMAX theater, and a surfing ride. The last uses pumps to generate standing waves along a pre-formed tube. I had the same feeling when I visited Hamburg last December. "Look at how much shopping there is here!" At least I'm a well-traveled hick and don't think that the customs of my tribe and land are the laws of nature.

On Sunday we went to downtown Durban so I could have bunny chow. Mmmm, tasty. I was the only white guy in the restaurant and was given silverware. Used my fingers though. Looking it up now, only 4.4% of the city is white. Took a walk in the flea market outside the restaurant. Towards the end was the used books. The smell of incense and the sight of used books will always remind me of the bookseller at the student center at FSU. I picked up a lot of great books there. The seller had a good feel for what students would buy. While the books at this flea market - not so good. Then again, different target audience.

We headed off to Venture Golf at another mall. That's fancy putt-putt course, and all of the courses had split levels, slopes, and various nasties to them. It was the hardest putt-putt course I think I've ever played. Hamilton was about 2x better than we were, score-wise, and Sharon and I quickly switched over to play-for-fun mode, and finally convinced him too.

On the way there I finally found a store selling shirt and slacks I liked. Happy-happy-joy-joy (also early 1990s slang).

On Monday we went to the beach for a bit. More specifically Umhlanga Rocks. Which is *also* in the wikipedia. It knows all. Though it doesn't have a pronunciation guide. It's not a swimming beach as the waves mostly break on rocks. It is a nice beach, and I went waist deep into the water. That makes 3 oceans I've been in. North and South Atlantic. North and South Pacific. Indian. Need to visit Longyearbyen for the Arctic. And the Mediterranian for historical significance.

After that Hamilton and I joined his family at a park were people from their church were having a braai. I chatted with people there for a while, ate, etc. and most definitely stayed away from the soccer ball. I don't have anywhere near the training or practice of anyone from a country outside the US. Now if it had been a Frisbee-like object. From there we headed back to Pretoria.

There were still many things left undone in Durban. Guess I'll need to go back there. Fourie and the others would like me to visit, but I've much to do on other projects. Perhaps May or June of next year. I have got to improve my timing. I'm supposed to follow summer from hemisphere to hemisphere and not winter.

Friday, September 15, 2006

familiar strangers

My stay here in Fresnaye is coming to an end. Tomorrow I head up to Pretoria for a couple of weeks of teaching, training, helping out, and having fun. This Saturday the Pretoria group is going to a lake for some fun on the water. I'll be back at altitude - they're at 5,000 ft or so, I think.

I read once the term "familiar strangers." Though the power of Google I see it's originates from Stanley Milgram in 1972 and that my understanding of it was wrong. Quoting one page: "By definition a Familiar Stranger (1) must be observed, (2) repeatedly, and (3) without any interaction." I've been in this area for about 6 weeks. Main Road is a few blocks away, with many stores, shops and restaurants. It's reminds me of television shows I saw growing up, most specifically reruns of "The Streets of San Francisco." Cape Town and San Francisco have much in common. Despite the beach it doesn't have a Miami feel; more sepia than pastel.

This is part of the city proper, constrained by geography between Lion's Head and the Atlantic. People build up not out, with many 3, 4 and 5 story buildings. Short enough to not need elevators, tall enough to get density to support 3 grocery stores within easy walking distance, 4 laundry places, 4-5 internet cafes, tool rental, mobile phone service, seamstresses and tailors, clothing shops, a toy store, a pasta place - which is not a restaurant, and more.

The streets are made for people. The main street is mixed use zoning with housing above shops, though off main it's almost all residential. It's a street supporting providing services to the people who live here. There's some street parking but not much. This is still spring and the summer crowds will certainly change that. Go out into the suburbs and of course that changes, with large stores and malls surrounded by free parking. Here you pay. Every block has a parking attendent, employed by the city I think, to take your money and give you a receipt. More formal than the parking guys more often present in the evenings and nights. I hate parallel parking on the left with a right-hand drive car and so totally appreciate their help.

I go to Que Pasa on Thursdays. It's always the same parking guy there. He recognizes me and I him. I walk down the street here and see the woman who works at Lolly's, a nearby cafe, or the woman at the laundry, the man behind the counter at the internet cafe. I assumed these were familiar strangers because I know little about them. I don't know their names, or anything else other than the limited role from their jobs.

But it seems they are not strangers enough as I've interacted with them, while Milgram (according to secondary sources) uses that term for a "relationship in which both parties agree to mutually ignore each other, without any implications of hostility." I have not ignored these people.

There are others who are true familar strangers. There's a guy who lives across the street. On the street. He used to sleep in the bus stop shelter but a few weeks ago it disappeared. It was there one day and gone the next. He slept on the slab for a while but not he sleeps in the green space off the sidewalk. During the day he mostly talks loudly to himself. Like I said, many things here remind me of San Francisco. He and I have never interacted but I would be (slightly) concerned if I didn't see him around.

The "implications of hostility" reminds me of an account in Diamond's "Guns, Germs and Steel" where in Papua New Guinea when stranger met they would work how how they were related, even if distantly. Elsewise there would be the cultural obligation to fight. Given the world's long history of distrusting strangers, I am amazed that people can now travel widely and not fear, say, being stoned for not being one of The People.

On Tuesday evening I went to dinner with Åsa, whom I know from salsa. She's Swedish (in case you couldn't tell) and I practiced some with her. It reminded me of just how much more I have to go. I know enough to make people think I know the language when I'm really just doing a lot of inferencing. A friend of her's - phonetically "Lynn" - came at the end before heading over to salsa. Her friend has been here for 8 years and has the South African accent down pat. Not just language use like "hey?" for "sorry?" (as in "sorry; could you say that again?") but really all throughout the accent. Quite impressive. Åsa said she first thought my Swedish pronounciation had a Norwegian accent and that she doesn't hear (much?) of an American one.

Wednesday was dinner with Sylvia from tango. She's one of my favorite dance partners here because with her I can be extemporaneous and let everything just flow. With some others I have to think harder about what I'm doing. For example, with beginning dancers I try to be very clear and not do fancy things. Even with more advanced dancers some just don't like leans and dips and the other salsa-influenced things I can add.

Wednesday day I went over to NBN central and to SANBI. I got reimbursed for the flight down here. It's much more of a hassle for them to wire money to a foreign bank account to pay for a plane ticket. I would have to wait until I leave so they have proof that I used the full ticket, or something like that. They don't need that if I'm paid in cash. Now the largest common bill here is R100 (about $15) and the flight was about US$1,600. That's a stack of money. Guess I'll but some new clothes before going back to Sweden, though perhaps not as they don't really do winter clothes here. New glasses perhaps? Shoes? But I have a rather small luggage allowance at 22kg so I can't buy much.

I spent some of the last couple of days working on "Martel v2". Martel was a parser generator I wrote some years back for the Biopython project. It was supposed to simplify parsing the types of file formats often found in bioinformatics. In that respect it failed. I as the Martel author still found it easier to write parsers by hand than use Martel. It did work, but it was hard to use and debug. Martel 2 uses several different approachs to address and hopefully fix some of the problems in Martel 1. It's getting there but there's probably another week of development time before it's usable by anyone else.

When I dropped by central I talked with Paul some about my new approaches. He's the Python lecturer for this year, which is what I was last year. He's here for all 2+ months of the class, which is quite impressive. I got rather burned out after 5 weeks, though I did also teach usability and chemical informatics, and offered some help with basic probablities. As an interesting one, one of the students is Moslem and she didn't know the details of a deck of cards. My mother's family was pretty strict and they also didn't play cards nor were allowed to go to the movies. My dad's parents had a Rook set, which I've since learned was more common in religious households because it's different from a normal regular deck. Though I think you could still use a Rook deck to play poker, with a bit of mental renaming.

I then went upstairs to the NBN to talk with Heikki about DAS2. I'm a bit stymied with DAS2 development because I don't have good domain expertise. I have some GFF3 data sets which I can convert to DAS2 but there are fields I don't know how to convert properly. I also want some more complex data sets. The DAS2 feature model is more complex than GFF3 and I want something which can stress various parts of the spec. Vlad has a regulatory dataset which might be appropriate, and Heikki filled me in a bit about some of the nuances of SNP and haplotype data sets.

In explaining DAS to him I found I need to rethink how I explain DAS2 to others. It's really several parts. There's the reference sequence, which is pretty well understood. There's the types document, which I had to stress is not a type system. And there are the features, which are hierchical components located on subranges of the features. Those together are the core of the DAS data model.

The expected default visualization for this is a set of tracks, one data type (or ontology type) per track, with the regions denoted. This is an implicit part of the DAS spec but should be mentioned explicitly.

The last is the search interfaces. It's a simple filter-style interface with a required set of filters and some extensibility built-in. For more complex queries there's yet another way to extend the system.

Too configurable means that no one supports everything and interoperability suffers. I think we're pretty close to the right balance, but I want to test it out, and come up with a set of recommended use-practices for those converting from other data sets into DAS.

There's a lot of work left to do, especially given the other projects I've been working on and the 3 weeks of teaching I'll be doing over the next month.

Friday, September 08, 2006

good hamburger

It's been hard to find a good hamburger here. Lots of places serve "100% beef burger"s which makes me suspicious now of places which don't have "100%" in the name. Well, some sell chicken burgers too. I wonder if it's partially a halal thing, or simple the extra boost by saying "pure". And Ivory's 99 44/100ths was all marketing.

The taste of the beef is a bit different than a US burger and the meat is thinner and .. wetter. Not quite the same as "jucier" and I don't know why. Perhaps it has a bit of a marinade. "Mrs Ball's Original Recipe Chutney" is very popular her and is put on meat about as often as ketchup in the US. Ketchup here is called tomato sauce. I haven't figured out what's put on pizza - it's a tomato sauce but not the same as in ketchup.

I've wondered what the longest chain of alternate words is between English (Commonwealth) and English (American). Ketchup -> tomato sauce -> pizza sauce, for example. Or cookie -> biscuit -> scone. Or hood -> bonnet -> hat. Starting from Commonwealth; yob -> punk -> rock music, perhaps?

I've been trying the nearby restaurants, working my way along the street (Main Rd). There's a region with few restaurants and today was the first time I went beyond the no food gap. I saw a burger joint - Saul's Saloon and Grill - with faded American flags on the sign and boasting "largest burgers in town." It's a 1.2kg one, free if eaten in < 15 minutes but give them 45 minutes to prepare it. I decided to give it a go. The joint that is, not the mega burger.

And it was good. The best burger I've had here. It helped a lot that it had a thicker, denser bun. Most South African breads are light and fluffy while I prefer something medium weight. Not German dense bread, but in that direction. Saul's served normal buns and not fluffy mushable bread. Great fries (-> chips -> potato chips -> crisps) too.

Now if I can only convince people to put more than a token tomato slice and lettuce leaf on the meat. Though as Johann says "there's nothing wrong with eating vegetables; some of my favorite foods are vegetarian." To me there's something intrinsically good about adding the crisp of lettuce and juicyness of tomato to a burger.

There was an early indicator that I might be in a more American-style burger place. In addition to the American flags and (perhaps) the word "saloon" (indicating the American West the way 'dacha' indicates a Russian summer house?). The waiter asked how I wanted it cooked. Normally everything is "well done" and no one asks. I prefer medium rare. What I got wasn't medium rare - more like medium - but I'm not complaining.

This is a big meat culture. The national past-time is the braai the way a BBQ is to some parts of the US. I've been to a few braais. Usually there's beef and chicken and boerewors. Always well done. There are also fish braais and no doubt veggie ones too. I went to Heikki's for a fish braai a few weeks ago. He used some high quality Namibian charcoal. And yes, I'm still a bit giddy with the knowledge that "we're using Namibian charcoal - we can do that because after all we're close to Namibia. I could drive there if I wanted to. In a (long) day."

Afterwards I walked along the sea front. It's a popular place around sunset, walking dogs and children, chatting, jogging, watching the sun set across the Atlantic. The sea's been quiet the last couple of days, though at 12.5C / 55F it's frigid.
In the last stretch back to the apartment (->flat->tire->become exhausted) a guy I know from tango stopped his car and said hello. He and his wife, whom I enjoy dancing tango with, live about 2 blocks from here. He invited me in, I met their young son and bulldog, and us old people talked for a bit.

I left, got back to the flat, changed, and headed off to salsa classes at Que Pasa. I missed the intermediate lesson but didn't mind as I rather enjoyed the conversation I had. Sadly though only 2 women showed up to the advanced class so John canceled it.

Saturday, September 02, 2006

Head in the Computer

I have spent most of the last two or three weeks in an introspective mode. Not quite that. I was evaluating a lot of technology as part of a feasibility study and in part to catch up with the state of the art in Python and web development. Two weeks ago I worked on a DAS2 sprint. It started at 6pm local time with a phone conference call and I would work on it until late, because the sprint proper took place in California.

In addition to the spec proper I looked at two technologies which may affect DAS2 system. The first is content negotation, sometimes written conneg for short. I like the idea that clients can include an ordered list of formats, languages and encodings in the request. My Safari browser knows that I can read English and some Spanish and Swedish so when it includes that in the request, in the extremely rare chance that 1) the server understands the Accept-Language header and 2) a document isn't available in English but is in Swedish. Which is effectively never. The other things I looked at was Sleepycat's XML database.

But my technical writings page is at http://www.dalkescientific.com/writings/diary/ and I won't go into details here, much as I would like. I've made several updates there over the last week as I look into various Python technologies. I had heard of most of them before and had a general feel for how they were supposed to work. What I was mostly doing was getting a hands-on feel for how to use them and if they were worthwhile for the way that I develop software.

I like to think I'm quite good at that. It took a lot of intense single-minded effort though and there were a few times where I looked up to realize it was 5am. That's been going on for a few weeks and includes today when I did some work from 11:30am and seemingly a few minutes later it was 5pm and I needed to get ready for James' birthday parties.

I haven't been a complete homebody. I went to the Lehvaslaiho's last weekend. I write that with a smile on my face because I always say Heikki's (or Heikki's and Minna's) place as while I've heard that Finnish pronounciation is very phonetic using Swedish phonology, even if I the surname correctly no one would know who I'm talking about.

Today was James's birthday party. It was at an all-you-can-eat sushi place in Panorama. (Which, yes, does have a good view of the city and Table Mountain.) I wasn't much impressed with the fish or the service. Being in a highly introspective mode I talked shop. James is one of the students I taught last year at the NBN. He's at Stellenbosch now. He and his girlfriend (also one of my students) moved here from Durban so they mostly know bioinformatics students. Hence people I could talk shop with.

After that was salsa dancing at a bar near Cavendish mall, in Claremont. Not a big crowd so an open floor. It was Kim's birthday celebration, at least for her dancer friends. Her birthday is Monday. Lara and Lenine showed up. Of the people I dance with here they top the list.

Question for my dancing friends who read this: how well does a person's dance style reflect one's personality? What would be a good test for this?

My birthday was 1.5 weeks ago. I celebrated by ordering dessert after lunch and that evening I went to Rouge for tango dancing. Turned out to be a great night. Birthday circle and everything. The next night was more of a party for me. The students have a weekly social as part of the course, on Wednesday. It was Riaan's birthday that day as well so it was turned into a birthday party for him, and I crashed it. With warning so it was more like a bump than a crash. Good party.

Then that weekend was a party at Nicole's place in Kennelworth. (That's close to Claremont, in the Southern suburbs, in case you wanted to learn some about Cape Town geography.) I went there directly from Heikki's. Turns out the invitation didn't contain a map but with some mapping service help through Minna I got there.

Most of the intense work was this week. I worked on a parser generator, three different asynchronous toolkits, Javascript libraries, and some thoughts about using Amazon's S3 and EC2. A few years ago in my technical writings page I proposed EBI open up their systems so remote users can install software on local machines, to reduces the bandwidth and update problems. I didn't think it would happen as it's rather outside the EBI/Sanger mandate. Looking at the costs for those services through it should only be $1,000/year to maintain such a system. I'll be cautious and say $5,000/yr. That's still in the range of a hobbiest. Amazing.

Grr, see, I told you that my mind's still thinking too much about work. When I do these sorts of evaluations I'm not only concentrating hard but I'm thinking about the different ways to use a project, how it might improve things, does it fix something that I didn't know was broken, how it can fail, is it maintainable, etc. Like a blind person figuring out the elephant. To that I'll add "and what do I need to do to prove that I understand correctly." That for me requires embracing self-doubt, which can take a toll. I went a tango class and practica on Wednesday and ended up doing very poorly in part because my head was elsewhere and in part because an aspect of being a good lead is the certainty which comes from confidence.

I've planned out my schedule for the rest of my stay here. Looks like I'll go up to Pretoria for a couple of weeks then back here to be in Stellenbosch for a week. In clear traffic it's less than an hour from there into Cape Town, so like Santa Fe to Albuquerque.

One final thing - yesterday (Thursday) I went by SANBI to give a talk about what I've been doing. I turned it into more of a "how better technology and understanding may affect the way bioinformatics software is developed."