Career
In Jan 1993 I started working as a full-time employee at Lawrence Livermore National Laboratory. I co-authored many research papers during this time together with Nelson Max and Roger Crawfis. We had a fun time developing new techniques for scalar and vector field visualization. The field was new and we had more ideas than we could implement. It was a 3 year internal research project. At the end of that time, I could continue employment at LLNL or look elsewhere. I didn't spend much time interviewing. I was recruited by Mario Schkolnick to join the newly formed MineSet group at SGI.
In October 1995 I started working at Silicon Graphics Incorporated in Mountain View CA (before they changed their name to SGI - Servers, Graphics, Insight). At first, I commuted from Fremont, but after a few agonizing months of that, I decided to buy my first home. I bought a condo in Mountain View for $145k (In 2019, that same condo would be worth close to $1 million). For over 4 years my commute was a 10-minute bike ride. MineSet was an exciting project and I worked with a lot of smart people in the group. There were MineSet reunion dinners for years afterward. I would have been really surprised to know then that I would return to working on the project again 15 years in the future.
In 1998, SGI started to stumble badly. Our group was never affected by layoffs, but attractive opportunities elsewhere in the valley lured many of the veteran members away in 1999. I remember telling Ed Karrels that options worth 0.1% of the company did not seem like much - as he went off to become a very early employee at Google. I was the last of the long-time engineers to leave. MineSet was developed for several years more at SGI after I left. A whole new group of engineers had been hired to work on it. Eventually, however, it was sold to Purple Insights around 2002, and later was acquired by Vero Insight.
In October 1999, I took a 6-week sabbatical from work (this is one of the benefits of working at SGI - you get 6-week sabbaticals every 4 years). We spent 2 weeks in Texas with Shanna's sister's family, and 2 weeks with my parents.
On January 17, 2000, I started working at Blue Martini Software, an exciting e-commerce startup. We had a real roller coaster ride. In less than a year, the number of employees went from under 100 to 600, and the stock went from $1 to $77. Then the dot-com bubble burst and the urgent demand for this type of software dropped dramatically. Many of our customers were dot-coms that went bankrupt. We had 2 rounds 30% of layoffs and several smaller ones. The stock went back down to $1. It was a tough time. I was foolishly optimistic about the company's future while I worked there. We had a great product and Java-based architecture. I just couldn't see how it would fail with such a great team working on it.
In March or so of 2001, the MineSet project at SGI was finally shut down. All the ex-team members got together for a requiem dinner to memorialize the project. It was good to see everyone gathered together again one last time. That is not quite true. We were together for reunions quite a few more times in the following years. Then 12 years later, in 2013, Christian Tanesescu resurrected the MineSet project again. He approached me while I was working at PROS to help him restart the project. Initially, I told him no, but then a year later, I decided to join the team that he was building.
In September 2001, I started getting serious about my hobby of writing a computer Go program on my computer. The Go-moku program I have posted on this site was just a warm-up exercise. I also implemented checkers and chess as a warm-up. Both are nearly unbeatable by humans in my opinion. The checkers game was very easy to implement once I have the overall infrastructure in place. Go turned out to be much difficult. I eventually created something that sort of played, but when AlphaGo came out in 2017, I had to give up entirely. I have made some small contributions to Leela-zero - which is a faithful open-source implementation of the AlphaGo zero paper.
In September 2002, we had another big layoff at Blue Martini. Our 5th in the last 7 quarters. It was a difficult time. We all hoped the economy would turn around soon.
I did not get laid off from Blue Martini, but I decided to quit in 2004. I joined a startup company called Metreo in Palo Alto. I took 2 weeks off between jobs to spend time with my family and work on an XML based aikido technique builder application. Went to the visualization conference in Austin at my own expense this year. Brian was a vampire for Halloween.
At Metreo, I worked with the chief software architect, Hannes Marais, on a next-generation pricing application called Vision. I worked on a number of new pricing specific charting components in SVG. In the summer of 2005, Hannes developed an incredible home-grown Ajax framework that allowed us to make tremendous progress in a short time. Unfortunately, the company ran out of money before we could really leverage the new technology that he had created. I stuck it out to the end when we were all laid off in early January 2006. Hannes went off to work by himself on software that would later be the basis for a new company called Kalexo that was later sold to AutoDesk.
I interviewed at a number of companies, and after considering a number of offers (including one from Google), decided to accept an offer from PROS in late February 2006. PROS is located in Houston, so I got to work from home in California, and visit Houston once a quarter or so. At PROS, I worked on a pricing analytics application that is not too much different from what we built at Metreo. One exciting aspect is that at the beginning of 2007, we decided to start porting the UI to Adobe Flex. However, by 2013, that decision to port to Flex was starting to look like a bad decision because the browsers started dropping support for Flash. That meant porting back to some javascript framework. When I visited Houston I practice aikido at Shobu dojo.
Once a quarter or so, I would fly out to visit PROS in Houston for a week. This usually coincided with planning for the next major software release. It was really nice working from home most of the time. Flying to Houston and staying at a hotel and eating at nice restaurants always seemed like a vacation in many ways.
In 2014, I decided to resign from PROS and join SGI to work on Mineset again. During the next 4+ years, we completely rewrote Mineset. Not a single line of original C++ code remained. The C++ client code was replaced by Java, JavaScript, and HTML. The backend MLC++ code was replaced by Scala and Apache Spark. When I first joined, we spent a lot of effort trying to come up with a new name. The end result was that it should be called "Mineset" instead of "MineSet". In early 2016, SGI sold Mineset Inc to ESI-group, right before SGI was itself acquired by HP. We continued to work on Mineset at ESI for several years, until March 2019 when they decided to cancel the project and lay off the team. It was sad, but not entirely unexpected. We were never able to generate the sort of revenue with it that we had hoped.
In 2015, I created an Android app called Mapland. It was supposed to be a joint project that Brian and I could work on together, but I did most of the work. It was interesting to see all the powerful hosted Google services that were available and to learn the Android API.
In April 2019, I joined the team at ThousandEyes as a principal engineer. They produce visualization that helps the world understand where the problems are in the global internet. In March 2020, right after our company kick off, where empoyees flew from all over the world to San Francisco for planning and team building, the coronavirus hit. Shanna, Brian, and I are all locked down at home. We consider ourselves lucky because Brian can do his schoolwork remotely, I can work remotely, and Shanna's job in medical device manufacturing is considered essential.
Having the flexibility to work from anywhere came in handy when in the summer of 2022 my sister and I needed to help our parents transition to assisted living and sell their house. I was in NJ for nearly 4 months processing and cleaning everything from the house, getting it ready for sale. As my friend Rich said, it was a monumental task. I made it back in September just in time for in-person company kick-off meetings in San Jose and San Francisco.
In January 2026, I decided to retire from Thousandeyes Cisco. With the help of AI agents, I feel like I can move faster and accomplish more on my own than in a big company. I have a lot of ideas for projects that I want to work on.