Shanti Rao

About Shanti Rao

Physicist, serial entrepreneur, musician. Transplanted Seattle native. Learning how to build spacecraft. Really.

I am a senior engineer at JPL. I have a PhD. in physics from the California Institute of Technology, two Bachelor's degrees from the UW and am a co-founder and principal of Raosoft, Inc. I also play the piano, grow plants and enjoy Ultimate Frisbee.

First-time soccer coach survival guide

My kids play soccer, so I get to coach their teams and help run Pasadena's AYSO club. Here's some of what I've learned about it.

If the league organizers did a good job, you'll lose half your games. Half the kids you're coaching are below average. Actually, more than half, because the best players are driving all over the state in a fancy club team. So, for your team, success isn't winning, it's helping everyone (including the referees) to have fun so they return next year.

Strategies I've learned from coaching my kids' soccer teams

Investing in new technology

Part of my job at JPL is to promote and advance new technology. Of course, the usual problem with new fancy things is that nobody wants them. Or, as they say in Silicon Valley, "the business plan doesn't close." I use a one-page improved Heilmeier catechism to describe why it's worth the time and effort to invest in inventing something cool.

How I Start Companies

My fastest-growing and most profitable business ever was the store the back of Ellen Nottingham's classroom at T.T. Minor Elementary School. I bought a box of pencils at a store near our bus stop, and Cy Keener and I sold them the next day at school for 15 cents each.

The next week, we diversified into erasers, pens, and paper. A month later, after expanding into higher margin, about 3 weeks of reinvestment, and annoying pink things that Cy claimed that girls would buy (he was right). We were netting about $20 per week, which was back when $20 meant something.

The partnership worked pretty well: Cy had a good idea of what peple would buy, and I was stingy with the money.

Initial investment: five dollars.

Read more: Lesson 1. Don't get a MBA

Business Development

This is just about the startup deal. Running an organization in which stakeholders are empowered to grow and contribute is a different story.

Business development is not selling a product. It's predicting what people will want, and then figuring out a way to deliver it. Success requires more than technology. Development is applied game theory, because for an idea to catch on, it has to be in everyone's best interests. As with any game worth playing, you start from a losing position. If you started in a winning position, someone else would have already done it, right? So, as with any game (in the Von Neumann-Morganstern sense), you can change the rules, change the facts, or change the players.

Most of the players aren't trying to manipulate the game, so all you have to do is let them know they're playing, and they'll find the Nash equilibrium on their own.

Read more: The Game of Business Development

The Mad Max Theory of Project Management

  1. There is a goal, and we are moving toward it on a flaming bus.
  2. We are going Somewhere, but for now, we are in the middle of Nowhere.
  3. There is a driver. She's not quite sure where we are going, so she's moving us very fast in what we think is the correct general direction.
  4. A lookout watches for evidence of the location of the goal. The search space continually narrows.
  5. The engine is on fire.
  6. Someone is fixing it. We trust her to do that, because we are busy throwing sharp things at the people next to us, unless she asks for help, in which case we help her right away.
  7. The rest of the bus is on fire, too. We might get around to fixing that. Or not. Someone is watching it and will probably do something if it gets worse.
  8. The horde saw our smoke. They are chasing us. We must move very fast to get there first or they will stop us or cut us off.
  9. If you're at all close to us, you're going to get hit by something. You don't want to be beside us. You definitely don't want to be close behind. It's not particularly healthy to be in front of us, either.
  10. In fact, good places to be are a) on the bus, b) very far away, c) waiting for us at the goal, d) moving the goal.

Bringing a new technology into a new market

  1. Most people will only do one of these at a time.
  2. Willingness to do both gives you moats.
  3. Use as little money as possible to prove that it works and that it makes money.
  4. Then use as much money as you need to scale as fast as you can before you lose your moats.
  5. Don't stop innovating.

Shanti's raytracer

A fast, accurate, and precise raytracing code, based on Bill Breckinridge's dyadic formulation of conic sections. Unlike traditional optical design programs like CODE V or Zemax, Shanti's raytracer describes all coordinates in 3D, so you can apply 6DOF mechanical distortions and see what happens.

This improves on JPL's MACOS by being in MATLAB instead of FORTRAN, is faster (especially if you have a GPU and want to trace a million rays in parallel), and it comes with nifty visualization programs. I've rearranged the order computations to reduce the effects of rounding errors, so you can model beams coming from the surface of the a planet, and propagate them all the way to a telescope in space. I don't know why you'd want to do that ... but you could. Note: it doesn't handle propagation time and relative velocity (yet).

It also handles deformations such as aspheres, Zernike polynomials, and arbitrary meshes (that don't have to be on a rectangular grid) that you might get from a finite-element model. It also handles diffraction gratings on arbitrary curved surfaces -- even for rays coming in at weird angles!

If you want to research polarization effects, define the rays.local vector, and watch how it rotates at every reflection and refraction. This is also handled correctly for curved diffraction gratings.

Shanti's Raytracer was developed in part with US Government sponsorship and is released as open source by JPL.

Google Apps Scripts

Did you know that you can make Google Sheets act like a database? Well, sort of. Go ahead and use my Apps Script Database Library for the Table Object to abstract reads and writes on a spreadsheet. If you're running a youth soccer program, you might like the AYSO menu plugin that adds team-generation scripts to a division roster. You can do neat things like assign players to the coach who lives closest to them, or randomly generate balanced teams using a nonlinear optimization iterative algorithm.

Serial entrepreneur

Starting a business? Have a new idea? I'd love to hear about it!.

Maybe I can point you to someone who has similar interests. Maybe I can help you define a good business plan that'll save you from losing your shirt.

Good questions to ask yourself are: Is there an easier way to earn a living? Has it already been done before? Is your business idea suited to your risk tolerance? Is running a business compatible with your values?

Check out the business I helped start:

  • Raosoft, Inc.. Profit = Revenue - Expenses. Keep your expenses low.


Musique du Cour (Badinage, Ballade, Menuet, Scherzo) by Jean Francaix performed by Melissa Todd, Lilach Somberg, Shanti Rao.

Khatchaturian trio performed by Melissa Todd, Julie Casperson Brewer, Shanti Rao.


JSDB is a lightweight Linux/Windows JavaScript shell for gluing together databases, XML, web sites, and email. "a superbly powerful and extensible environment for managing batch tasks." If you like Perl, you'll probably like JSDB too.

Raosoft, Inc. was a pioneer in filling out forms and surveys on computers. Raosoft Survey was the first nonprogrammable database that automatically generated a form interface. EZSurvey® was the first web survey software (by two weeks), and introduced such innovations as the Previous button, questions arranged in tables, write-in-text with ###-###-#### that automatically put the dashes in the right places, calling them write-in-text instead of "character input fields". and error messages that told you which required questions you needed to fill out without making you go back and submit the form again. Also, we called our customers "customers," "people," or "Ronald" (in one particular person's case) instead of "users".

Driver code for daptive optics. Buy the 128-channel MEMS driver circuit from Alta Via Technologies.

Video Authentication Steganography
A system for traceable photography. Provisional patent application filed by Caltech on Jan 2001, abandoned Jan 2002, placing my rights to the invention in the public domain. A professor at Princeton filed a similar patent in Sep 2000.

Scope interface
Talk to your Tektronix digital scope through a serial port.

System Plotting Interactive Tool is a graphical Matlab program for plotting Bode, Nichols, and Nyquist spectra of Simulink models (wihout having to use the command line interface).

Calculate suspended interferometer mirror resonance frequencies in Mathematica. This is based on the complete linearized Lagrangian for a single mirror. It is more accurate than the SUSRES Fortran program, but less accurate than Mark Barton's model.

Thermal noise plotter
Calculate thermal noise spectra for LIGO mirrors. Uses the latest (but not necessarily correct) theoretical models.

Mode matching calculator
Propagate Gaussian beams through lenses, cavities, and optics in an Excel spreadsheet.


Current project: Direct imaging of extrasolar planets.

Thesis: Mirror Thermal Noise in Interferometric Gravitational-Wave Detectors. Selected portions: Thermal noise encyclopedia, cross-polarized interferometer experiments, Interferometers, circuits, polarization noise, and lab checklists.

Gravitational lensing by binary black holes
Qualitative visualization of gravitational lensing of starlight by nearby black holes. Gravitational redshift and retardation are not included in the model. Windows.

Measuring zero better than ever before at the Laser Interferometer Gravitational-wave Observatory (LIGO)