silicon valley 2010 - summary

Here is a great summary put together by the students after we returned. I think it does a wonderful job of capturing the lessons learned on the trip.

Silicon Valley Final Presentation

a new year in silicon valley

The second ‘Understanding Entrepreneurship in Silicon Valley’ started this week. Yesterday was our first full day of meetings.

We started out with Steve Larson at Callspark. Then had lunch at Suriya Thai with Alison Johnston from Aardvark, beers with Matt Van Horn at Digg, and a great experience at sfnewtech.

Here’s the gang at Lunch. It was fun, everyone was trying new stuff that was a little out of the comfort zone for a bunch of midwesterners.



IMG_0045.JPG


The words of the day are “stalking” and “audacious.” This seemed to be a theme from many people in terms of both job hiring and job seeking.



I’ll update this initial post to include the blogs the students are writing:



dinner at the chefs table

After spending a ton of money in town, what could be better than a great meal on the ship. One of the activities that Jane had researched before the cruise is called the Chef’s table. This is a really exclusive experience that they only do once a cruise for a very limited number of people. In our case there were ten of us lucky passengers that called toget our name on the list as soon as we got on the ship. Of the ten all of us were experienced multi-cruise passengers. A couple of Florida cruises 3 times a year. Another couple from Ohio had cruised many times with their family. They were a bit older than us as their kids were out of college by now. The two other couples were both gay men. Ha, no stereotypes here that a foodie event should have four gay men in attendance! One couple was from LA and the other from New York.

We all met at the International cafe for a short pre-dinner briefing. We met the Executive Chef who was our tour guide for the galley and the rest of the evening. The chef directs a staff of around 250 spread throughout seven galleys on the ship. We began our tour of the galley that served our dining room by putting on our white FDA inspector lab coats. As the tour was happening during dinner service we had to wash our hands wear the lab coats.

The chef was really friendly and very willing to answer any of our questions. We told him how much we liked the parmesan crust under the fettucine alfredo and he launched into a very detailed explanation of how they made the crusts each day. I got the whole thing on video with our little video toy.

At the end of the galley tour we gathered in an out of the way corner and had hors-de-ouveres and champagne. We started out with a sashimi tuna with wasabi sauce, served on a little scoop made of a fennel root. This was followed by: a delicious pate, vegetarian quiche, Escargot, and caviar served on a little potato pancake. Yes I ate everything including the caviar which was really very good served on the potato pancake with a little sour cream. As he introduced each appetizer we got a summary of how it was prepared. It was really interesting. None of the appetizers or anything in our meal is available anywhere else on the ship. It is a meal that is totally unique to the Chefs Table dinner.

After the appetizers we made our way through the dining room to a special table. As we walked through the dining room everyone applauded the chef and many applauded us as well having no idea that we were just on a special tour!

While we were in the kitchen we were promised a lobster risotto and some “special surprises” We began with another little appetizer and some Pouilly Fume. The latest appetizer was beef carpacio on foccacia. The carpacio was layered with alternating layers of parmesan cheese and arugula. It was good but too much considering everything else we knew was coming. Next was the Lobster Risotto. This was probably the best Risotto I’ve ever had in a restaurant. (except maybe that one exceptional night at LaRanna where I had the Asiago cheese risotto with cauliflower)

By now of course our pallets were in real need of cleansing. So the maitre de brought out a round of lemon sorbet. Of course sorbet alone would not work as well as sorbet with Grey Goose vodka poured over the top.

With clean pallets we finally moved to the main course. Potatos gratin with lobster, veal, and tornados of beef. Plus some veggies thrown in for good measure. I can only describe this course as a cruise size portion. Each person had their own platter full of meat, potatos and veggies. Everything was just great. At this point we switched to a Wolf-Blass Shiraz to accompany the main course.

After the main course was done we moved on to the cheese course. Roquefort balls and a bridge of parmesan cheese. This was not my favorite course as the roquefort was really strong, and the parmesan bridge was ‘more ‘structural than edilble’ in the words of one of our dinner companions.

The next course was the true dessert course, presented by the ships pastry chef. He had constructed a really nice Amaretto desert plate for us which was really a sculpture on a plate. Desert was served with a delicious desert wine.

Next we had our espresso or capucino served with some home made chocolates.

The grand finale was nice glass of limoncello.

After the meal was over the maitre de and photographer showed up. Each couple got their picture taken with the chef and staff, and each ‘lady’ recieved a cookbook. Notably the gay couples did not receive any cookbooks! This was rectified after one of the guys took the maitre de aside and explained that it probably wasn’t fair for them to be excluded from the cookbook. Since they paid the same as us and probably cooked just as much as the rest of us. One of the guys was a professor at Loyala Marymount in LA and he and I talked a little college shop during the dinner.

When one of the other guys found out I was leading a J-term trip to Silicon Valley during January he volunteered to connect me with a friend of his that works at Pixar! Wow that would be an awesome dinner result if we are able to get a tour at Pixar.

airboat ride in the everglades

This morning started out like any other morning. The alarm went off at 6:15 so that we could get up and get on our way to the everglades. We left the Embassy Suites and walked down 17th Avenue toward the intercostal waterway where we were picking up our rental car. On the way we split our forces with half of us going to Einstein’s Bagel Shop and half to Starbucks for Tea, Chai Latte and Cocoa.

We beat the traffic heading out of town easily on our way to the Sawgrass recreation park. It is part of the Everglades national park. We had an appointment with Captain Randy and his airboat at 8:00. Our instructions were to meet him 1/2 mile past mile marker 38 on highway 27. We got there early, the sun was still pretty low in the sky and finished our breakfast in the small parking lot. A few minutes later a pickup truck pulling an airboat with seating for nine pulled into the lot. We watched as the captain fired up the 500 horsepower Corvette engine hooked up to a four blade airline propellor. After the short checkout period he backed the boat and trailor into the water and brought the boat around to the ground.

We greeted Captain Randy, who showed us onto the boat and gave us a short intro to our safety equipment, which consisted of headphones to protect our eardrums from the sound of the engine and airplane prop. He invited one of us to join him in the topmost pair of seats as the co-pilot. We took off, and after a short lesson in steering the airboat, push forward for right and pull back for left, he turned the steering over to me. Driving an airboat takes a lot more anticipation than driving a ski boat. When you want to turn a corner on one of the trails in the everglades you need to start doing so a few seconds in advance. Luckily if you cut the corner to sharp, or too late you really don’t run into any problems. You make the trail a little wider as you mow down the Sawgrass and cattail, but there seems to be enough of both to go around.

Taking the early morning trip was a great idea as the angle of the sun was just beautiful, and we saw hundreds of birds as we cruised through the trails. We saw hawks, and herons, and vultures and birds of all different colors and varieties. In addition to the birds we were always on the lookout for gators.

Captain Randy seems to have come from a long line of Everglades boat captains that have been involved with all kinds of dubious activities. Pappy was an alligator poacher, and Randy and his brother kept small alligators as pets when they were younger. As Captain Randy fed one of the gators along the way hotdogs and marshmallows he informed us that feeding the gators was strictly against the law. That didn’t stop him, and we got some great pictures of Randy feeding his Mi Amoure Catalyna.

Shortly after our gator feeding experience, we reached the farthest point on our tour. By this point we were all pretty comfortable with the boat and so I was sitting in the bow taking pictures and the rest of the family was comfortably spread around. Randy headed the boat down a narrow trail and suddenly I noticed that we were boating in mud instead of water. As the mud got thicker and drier the boat went slower and slower until we finally came to a halt. Stuck in the mud!

After trying to gun the giant engine on our airboat for many minutes Randy finally admitted that we were stuck and going to need some help getting out. At this point we learned a couple of things about Randy’s friend Lyle. First, Lyle had an extremely long message on his business phone, and his cell phone. Second we learned that Randy had helped Lyle out of a similar situation just a couple of days ago. After failing to reach Lyle by phone we resorted to the old fashioned VHF radio. “Laxahatchie, Laxahatcie, Laxahatchie, Lyle this is Randy are you there, over….” With those words our 3-hour tour became a rescue mission.

Our airboat was partway down a trail that had been drained of water. We were about 150 feet onto the mud and it looked like the mud continued for another 300 before it rounded a bend. The trick was to turn the airboat around and pull it out the short way. Unfortunately in the Everglades walking on mud is not so easy. When Randy got out of the boat to try and use a rope to turn us around he sunk up nearly to his waist. To get back to the edge of the water required him to crawl on hands and knees to distribute his weight.

The four of us stayed in the boat feeling somewhat amused at our situation. Clearly we were not in any sort of life threatening emergency but for Randy this was clearly a pain in the butt and probably somewhat of an embarrasment. We were not dressed to jump in the mud and help him, although Kaia seemed very willing to do so. Josh was protecting his new green and white Nikes that Grandpa Miller bought him for Christmas but other than that I think he would have helped too. I had on a brand new pair of Tommy Bahama shorts that I was definitely not interested in getting covered in Everglades mud.

The rescuue mission was long and tedious as Lyle’s big boat could not turn around at the end of our trail. This required the help of a third airboat driven by a kind stranger. The third boat acted as a tug boat getting Lyle in the proper position and ferrying the rope into Randy when necessary.

The procedure that Randy and Lyle determined for getting us out involved tieing a line to the bow of the boat and then pulling with Lyle’s larger airboat. To a physicist this seemed like a dumb idea as the angles involved were all wrong, but neither Randy or Lyle were physicists so this was not an issue. After breaking Randy’s bowline there was some thought that the way to resolve the issue would be to bring a couple of pieces of plywood so that the tourists would be able to walk out of the trail but going from plank to plank and moving the planks as we made progress.

Walking the tourists out was not an acceptable plan to Captain Randy. It was clear that Lyle’s larger rope needed to be connected directly to the bow of our airboat and then threaded through the side of the boat about halfway back. Randy decided that he would get to the side with a second rope and pull to try and provide the needed force vector to get the boat to turn to the side. After several long pulls we finally had the boat turned at a ninty degree angle to our original course. (This only took about three hours to get us to this position).

We repositioned the rope to the bow of Randy’s ship and he got in his captains chair. At this point the plan was to have one last pull by Lyle with Randy ready to “Give her Hell” as soon as we were headed in roughly the right direction. With this plan in mind and one last pull we were finally free!

Once free of the mud we followed Lyle back to his docking area where hugs were exchanged and many thumbs up were given to our kind helpers. By this time Captain Randy had completely missed his 11:30 trip and was wanting to make sure we got back to the landing in time to meet his 2:30. So we took off for home base at high speed. After a while he slowed down so that Jane or Josh could drive. Josh wanted to have nothing to do with driving as by this time he was convinced that he would do something even worse than get us stuck in the mud. So Jane took her turn and did a great job of driving the boat.

Just before we got back to the landing we made one last stop with captain Randy to make sure that we had our stories straight. Clearly he was a little nervous that his muddy appearance might be offputting to his next group. Particularly if we were unhappy and complaining about the trip. He really had no reason to worry, all of us thought the trip was a great adventure.

After our exciting airboat trip we planned to stop at the Sawgrass Mill, an enormous shopping center. It took us almost a half hour of driving around to find the Ron Jon outlet store. Even after we found it it took forever to get in because the parking lot was so busy and full. The plan was for us to stop there to get Kaia a swimming suit. Since I had discovered that my old suit was too big for me I decided to get one too. Josh also found himself a nice suit and a football for using in the water.

The next big surprise of the night came when we walked over to Pazzo’s for an italian dinner. We walked in the door and talked to the hostess who told us to wait just a minute as she checked the tables. As we stood waiting for a minute a familiar figure came across the bar headed toward us. Sasan Mokhtari and his family were in the restaurant! they were in town for the soccer tournament. It was really fun to reconnect with Sasan after several years. We had a great talk with Sasan and Mary and their kids Tara, Eva, and Daniel. Tara is a first year at MIT and Eva and Daniel have transferred to Breck. It took Sasan only about 3 minutes to ask me if I would be interested in doing some consulting for him!

We had a great meal, although Josh was feeling a little sick and didn’t eat very much.

beautifulsoup, bonktown and growl

Here’s a little script that combines two of my favorite pass times. Python programming and cycling. bonktown.com is a great site that has steep discounts on road cycling gear. They only sell one item at a time and they typically sell that item until it is gone. I’ve gotten some great deals on clothing and other stuff on that site. Bonktown helps you know whats currently for sale in a number of ways, including a nice dashboard widget that pops up a notifier when something new comes on sale. The problem is that over time I’ve started to ignore the growl notifiers for bonktown, because I’m not interested in lots of the stuff they sell.

So, I wrote this python script that allows me to look for the stuff I am interested in buying. It works by having a file of regular expressions that I use to search the item descriptions when something goes on sale at bonktown. If the item matches something I’m looking for then I get a Growl notification. If not then I don’t hear about it.

Here’s the code:


#!/usr/bin/env python2.6

import re
import urllib
from BeautifulSoup import BeautifulSoup
import Growl

name = “MyBonk” # was BonkMe
notifications = [“search_hit”]
notifier = Growl.GrowlNotifier(name,notifications)
notifier.register()

# Read file of search Terms
myTerms = open("/Users/bmiller/lib/bonk_items.txt").readlines()


# Get the latest page
bt = urllib.urlopen("www.bonktown.com")

doc = BeautifulSoup(bt.read())

itemlist = doc.findAll(id=re.compile(“item_title”))
price = doc.findAll(id=re.compile(“price”))
desc = doc.findAll(id=re.compile(“item_description”))

for term in myTerms:
for i in range(len(itemlist)):
if itemlist[i] and re.search(term[:-1],itemlist[i].contents[0],re.IGNORECASE):
notifier.notify(“search_hit”,
itemlist[i].contents[0],
desc[i].contents[7].contents[0],
sticky=False)



This script makes use of several modules:

  • Growl

  • BeautifulSoup

  • urllib

  • re



I would have liked to use one of the standard library html/xml parsers, but I could not find one that was as convenient or easy to use as BeautifulSoup. If you can tell me how to parse messy html with one of the standard library xml modules please let me know.

aquamacs 2.0 elisp fun

While waiting for the white smoke to emerge on Textmate 2.0, I decidedto revisit an old friend. It turns out the emacsen have been busysince I've been using TextMate. Aquamacs 2.0 is a great Cocoa port ofEmacs 23. Not sure whether I should call it a port since emacsofficially supports the OS X operating system.The first thing I did was check out some of the old modes I used touse. AucTeX, GNUs are both packaged with emacs now. The SQL mode that comes withis great and "just works" with mysql and postgresql. There is goodsupport for Python and of course HTML. Two minor gliches in thoseareas that I wish I could fix:
  • I cannot get MMM (multi-major-mode) to work properly. I wouldreally like to have both HTML and Javascript colorized properly whenI'm working on my Django projects. If anyone has any advice ongetting MMM to work right in emacs 23 I would really appreciate apointer.
  • Completion in iPython does not work right. Instead of completingin the ipython shell it just indents more.
In addition to some old friends I discovered a bunch of new modes thatare really nice. JDE for Java development, Muse for creating lecturenotes in a personal wiki style. In addition Muse lets you publish amarkup style format really easily in lots of differnt output formats.I've been a big fan of using Pandoc with TextMate over the last fewyears, but Muse is every bit as nice.One thing lacking in Muse was the ability to quickly bold or ital ortt some part of the text I'm working on. So I decided to dust off mylisp coding ability and cook up my own. The result is shown below. Ithink it is a nice example of a lot of what you need to do in writingbasic lisp extensions for any text processing mode. I'd be happy toget comments on how to improve this.The idea of these simple commands is that pressing cmd-b should boldthe word the cursor is currently on, or the region (if there is one)or simply insert **|** when the cursor is not on a word. It alsotook some research to figure out how to bind a function to the commandkey. (side note: I've finally gotten comfortable with using the optionkey for meta in emacs.)


(defun muse-bold-word ()
(interactive)
(muse-wrap-with-string "**" 2)
)

(defun muse-ital-word ()
(interactive)
(muse-wrap-with-string "*" 1)
)

(defun muse-tt-word ()
(interactive)
(muse-wrap-with-string "=" 1)
)

(defun muse-wrap-with-string (str len)
(if mark-active
(progn
(kill-region (point) (mark))
(let ((myword (car kill-ring)))
(insert (concat str myword str) )))
(let ((myStr (thing-at-point 'word)))
(if myStr
(let ((myBounds (bounds-of-thing-at-point 'word)))
(kill-region (car myBounds) (cdr myBounds))
(insert (concat str myStr str)))
(progn
(insert (concat str str))
(goto-char (- (point) len)) ) ) ))
)

(define-key muse-mode-map `[(,osxkeys-command-key b)] 'muse-bold-word)
(define-key muse-mode-map `[(,osxkeys-command-key i)] 'muse-ital-word)
(define-key muse-mode-map `[(,osxkeys-command-key k)] 'muse-tt-word)

3 days of r&r in sedona

After all of our hiking and rafting adventure we are ending the trip with 3 days of rest and relaxation in Sedona. Our major activities here are a Pink Jeep tour, Golfing, and a massage for the women in the family. Otherwise we are doing lots of pool time and have even played a hand or two of 500. Sedona is known for its red rock and beautiful scenery, along with crystal shops and the Ye Olde UFO Shoppe.

IMG_8141.JPG


We did the Broken Arrow tour with Pink Jeep, which was fun. I think we would have appreciated it even more if we had not already done all the hiking through Zion, Bryce, and the Grand Canyon. Nevertheless it was a good excursion. While we were out there the kids decided to do some rock climbing. Don’t let the pictures fool you this was dangerous stuff:

IMG_8147.JPG


IMG_8151.JPG


This morning Josh and I played a round of golf at the Sedona Country Club which is part of the Hilton complex. It was a very nice course and Josh and I both played well. It was a great morning to go as there was nobody in front of us and we were able to play at our own pace and move around the course pretty quickly.

Josh got a new shirt and hat out of the deal as the club had a dress code and Josh did not have any clean shirts that would get him on the tee. I played so well that I had to buy a new shirt to commemorate the occasion. It was 25% off for fathers day so happy fathers day to me.

Jane and Kaia both had facials and hot stone massages. I can’t go into any more detail about that. :-) But they were both glowing and relaxed when they got back.

Tonight we are going to go out for some barbeque and then come back to the room and get packed for the final leg of our journey. Its been a great trip!

grand canyon - river to rim

The call for “Hooaaahhht Coffeeeeee” went out at 4:30AM. It was already twilight in the East and it was time to pack up camp and get on the rafts for the final 3/4 mile of our journey. We had all come a long way on this trip. From the first night where everyone managed to find a place to sleep in private, this last night looked like a refugee camp. We didn’t have much room and everyone slept right next to everyone else. Here you can see everyone’s gear and a corner of what we at first called the “Miller plot” and then renamed to Miller Estate.

IMG_8125.JPG


Here you can see the bridge that connects the Kaibab trail from the North to the South wall. We went a little further downstream to Phantom Ranch and crossed our own bridge.

P5310154.JPG


The facts of the Phantom Ranch trail are as follows: Its a 10 mile hike from the river to the rim. It is a 1 mile vertical difference from the river to the rim. Now the mathematically inclined will say that is only a 10% grade. Not a problem… It was a challenge. They tell you to have two one liter water bottles and to fill them full at the bottom. there is a halfway stop called Indian Gardens with a water station and a 3 mile (from the top) stop with a water station and a 1.5 mile stop with a water station. We filled our water at every stop. You do drink a LOT of water on this hike. You are also advised to rest for 30 minutes at each stop if you are having difficulty.

We left the river at 7AM and were to Indian Gardens by 10:30. This is going well we thought. Unfortunately when you get to Indian Gardens you have only gone 1/4 of the vertical distance. We finally arrived at the rim at 3:30. We made a lot of extra stops on the last half of the hike. Jane did not drink enough water during the first half and was struggling a bit during the second part of the hike.

P6010159.JPG


In fact with half a mile remaining she was completely pooped. We asked one of our fellow hikers to send Josh back to carry Jane’s pack the last half mile. Josh wins the good sport award for the day.

P6010162.JPG


Now you might wonder is the hike worth it for all that work? Yes, absolutely you get to see the Canyon in a way that you just can’t imagine by looking down from the rim. Here you can see some of the trail we came up. But not all the way to the river that is hidden in the distance.

P6010161.JPG



Pictures don’t do justice to the amazing beauty of this corner of the world. We are all really glad we did this trip. As I’m writing this from the comfort of the Sedona Hilton, I’m inspired by the message on my plastic Gin and Tonic glass which says that “Travel is not about getting from point A to B, Travel should renew your zest for life.” This trip has certainly done that.

down the colorado into the canyon

For three days we had a great raft trip with Wilderness River Adventures. The trip was amazing! For three days we saw the Grand Canyon in a way that few are lucky enough to see, from the bottom up. As we rafted along we literally saw the history of the world from today to 2 billion years ago. The beauty of this place is just awe inspiring.

We began our trip at Lee’s Ferry, just south of Page Arizona and ended up at Phantom Ranch at the bottom of the Grand Canyon. We shared the trip with another small group (Rocky, Joe, and Denise) and one large group from Lafayette College.

The Lafeyette group really made the trip for us. The group of Geology students was led by Dr. Larry Malinconico (Dr. M) and Dr. Dave Sunderlin. In my slightly biased opinion I thought that Luther students were the friendliest students anywhere. The group from Lafeyette taught me that there are other colleges with really great students. Not only did we learn a lot from lurking in the back of the impromptu lectures but we had a great time getting to know them all.

Here are a couple of examples of how beautiful the canyon is. Here we are in calm water:

P5300099.JPG


Here was one of our short day hikes. You can see our rafts to the right.

P5290087.JPG


Of course no rafting trip would be complete without the opportunity to get wet, which we are about to do here:

P5310138.JPG



And no trip report from me would be complete without a review of the food. In a word, awesome. Here are the two swampers (Kari and Everett) preparing our last dinner. Spaghetti and meatballs, or Alfredo Sauce. We had Salmon and rice one night, grilled New York Strips and Baby Red Potatoes another night. It was all “good eats”.

IMG_8120.JPG


The leaders of the trip were Richard and Matt. Two excellent raft drivers. Not sure what the proper term is for the captain of a giant rubber raft. But they got us safely through some really “fun” rapids. At one point the Miller family did experience a collective flashback to being stranded in the Everglades when our raft got hung up on Whale Rock. This was right in the middle of the biggest rapids of the trip and we were just starting to wonder how we were going to get rescued when the raft freed itself and we were on our way.

The sleeping accomodations were better than expected by my standards. For three nights we just slept on our mats under the stars. No tents, just sleeping bags, tarps and mats. It was great. Since Arizona does not observe daylight savings time, it was dark by 8:30PM and light by 5:00 AM. So it was an early to bed early to rise kind of trip. One night I woke up at midnight and got out the camera. This picture doesn’t really do justice to the beauty of the night sky in Arizona but it gives you some idea of what we saw from our sleeping bags:

IMG_8061.JPG


The last day of our trip we got up at 4:30AM and went about half a mile downstream to Phantom Ranch. From there we hiked 10 miles linearly and 1 mile vertically to get out of the Grand Canyon. I’ll cover that experience in another post.

bryce canyon sunrise -- antelope canyon

It was an early morning today. The alarm went off at 5:30 and we were out of the hotel by 5:43. We made a short drive up to Bryce Point in twilight. The temperature was only 37 degrees but it did not seem too cold. We waited a few minutes for the sun to come up over the distant horizon. When it did we were rewarded with some amazing colors in the canyon:

IMG_7744.JPG


After sunrise we had breakfast at the hotel and then headed south toward Page. We had a slot canyon tour booked for 10:30 Arizona time so we thought we had plenty of time. Unfortunately we ran into an accident that closed highway 89. We had a nice chat with an over-the-road truck driver as we waited for the ambulance and fire crew to clear the road.

We still made it in time for our Antelope Canyon tour. This was an amazing photographic experience. I took way to many pictures but I’m going to have a hard time picking out 10 favorites from the 200 I took. Here’s one as a sample.
IMG_7879.jpg


After checking out the view of the Colorado River we relaxed at the hotel around the pool. We just got back from our orientation meeting tonight. We got our waterproof bags to pack all our luggage in. We are all looking forward to the raft trip starting at 8:15 tomorrow morning. This will be my last entry until we hike out of the Grand Canyon four days from now.