From February 1999 to August 2002 I worked as a software engineer and scientist for Inktomi in Inktomi's Directory Engine group and Inktomi's Web Search Group where I did a variety of machine learning programming and analysis projects aimed at improving web document retrieval and categorization.
Here are a few of my papers (published and unpublished) that I like -- most of these were written in response to specific technical problems as a way to organize my thoughts and findings for a particular industrial audience.
As of 2003 I was still doing research at UC Berkeley's department of Industrial Engineering and Operations Research (IEOR) where I recently earned a second Masters in Operations Research with an application focus in computer science. I've taken courses in Stochastic Processes, Mathematical Programming, Dynamic Programming, and Machine Learning. From late 2000 to 2003 I was exploring actor-critic reinforcement learning algorithms and dynamic programming with Prof. Stuart Dreyfus. The theme of the research was building computer programs that interactively learn how to make decisions in a complex or dynamic environment.
My work on AI is tempered by the extensive conversations on the limits of AI with Prof. Stuart Dreyfus and his brother Prof. Hubert Dreyfus -- some of which lead to citations in the book On The Internet by Hubert Dreyfus which sharply highlights the limitations of the internet's role in human society.
Before working as a full time software engineer, I earned an MBA from UC Berkeley (1992) with an emphasis in Computational Finance and Operations Research completing a masters thesis on exotic options with Prof. Mark Rubinstein. I worked for several years writing computer programs for derivatives analysis and pricing for large buy-side money management firms.
As a consultant I usually do my best work when supporting other software engineers with software components providing sophisticated analytics as high level services. When called upon to write complete applications I always implement them as thin wrappers around core components or libraries. In other situations I have worked with teams to create new algorithms (typically tweaks or adjustments to known algorithms) which have occasionally resulted in patent applications.
12/2004-2/2005
Wink, Mountain View CA
Consulting Research Scientist: Machine Learning and Search
Worked with Luke Lu, Bruch Karsh, and Michael Tanne, to help
design personalized search engine rankings. Two weeks of full time
contract programming to complete first version of innovative model
fitting code also resulted in provisional patent application.
3/2003-7/2003
Symphoniq, Mountain View CA
Consulting Research Scientist: Machine Learning
Advanced R & D for the application of machine learning to large
scale systems management for the founders of NetIQ.
2/2001-6/2001
Optimization Science, San
Francisco
Consulting Scientist
Developed several algorithms for
sequential stochastic optimization of website visitor
offers. Techniques included dynamic programming and reinforcement
learning. Patent filings in process for four algorithms. Work
performed remotely while living in Eastern Europe during leave of
absence from Inktomi. (Matlab and Java)
8/2000-12/2000
Centrata Inc., Menlo Park
Technical Advisor
Advised senior management in the application of peer to peer
computing models to text retrieval and other related machine learning
tasks. Contact was then CEO (now board member) Shishir Mehrotra.
1/2000-2/2001
Lawrence Berkeley Labs, Berkeley
Consulting Software Engineer
Developed a high
performance neural network package for use in one of LBL's
computational biology groups -- group's Principal Investigator is Dr. Stephen Holbrook. (C++)
7/2000-8/2000
U.C. Berkeley Math
Department, Berkeley
Consulting Software Engineer
Developed a web robot to crawl and index data from a web
site. Wrote code to process data and apply matrix algorithms to analze
membership relationships using eigenvector methods. Work done in
conjunction with Prof. Allen
Knutson. (Perl and Matlab)
10/1999-5/2000
Preference Metrics, LLC, San
Francisco
Application Library Developer
Developed a commercial
quality C++ library that implments a general collaborative filtering
engine based on an algorithm by Prof. Ken
Goldberg. Note: This work was done as a research project while a
graduate student in the IEOR department at U.C. Berkeley. Here's a
link to the brief api tutorial I wrote for
the library.
10/1999-12/1999
Heavy Gear Java
Game, San Francisco
Independent Software
Engineer
Developed a simulation of Heavy Gear a popular
science fiction tactical board game. (Java Applet)
1/1998-1/1999
Memetix Corporation, San Francisco
Chief Technology Officer/Cofounder
Helped design and write a prototype for a knowledge management
application based on distributed object oriented "small world
networks" of information. Team leader for development (team composed
of myself and two other software developers). Completed technical due
diligence to get seed funding of $400,000 with D.H. Blair. As of late
2002 the company was fully funded and operating as CriticalPoint
Software. (Java and XML)
3/1996-11/1996
NightScope
Stock Pricing
Developed a website for stock pricing based on a neural network
(now archived but still accesible but the server isn't allowing my old
scripts POST priveliges) (C++, HTML, and Perl/CGI)
10/1995-10/1996
TCW Group, Inc.
Principal Designer and Cofounder of a startup acquired by TCW
Developed a genetic algorithm based portfolio optimizer for a high yield bond index fund product. Startup principal was Mark D. Senkpiel.
(S+ and C)