General Dynamics (GD) is the sixth-largest defense corporation in the world. Obviously, it's an American company. To realise how important GD is, we have to know that they were the original developers of F-16 Falcon, arguably the most lethal fighter jet engineered by mankind, and then sold that division to Lockheed Martin. However, GD is more involved and more prolific in land and marine weapons, especially guided missile systems on battleships.
In Navy terms, a Destroyer is a fast and maneuvrable battleship used to escort larger battleships and defend them from attackers. In order to defend, they have a variety of guided missile systems to launch against enemy aircraft, submarines, even land targets. We go back to 1999, on one such Destroyer in the US Navy, where GD is trying to solve a seemingly intractable computer problem. Their man responsible for managing computer systems on that battleship is a 38-year-old experienced programmer named Dwayne Richard Hipp.
The problem was deceptively simple. Every system having a computer - be it a laptop, a car, a refrigerator, a factory machine, or a guided missile - needs to store data. This data is almost always stored in the form of tables linked with each other, called a database. We can talk to a database using a special language called SQL. So, if you want to read or write data, you submit SQL commands to the database through your program. For example, if I deposit money in a bank, the cashier makes entries into the bank program, which sends the account number and amount to the bank's database using SQL and the balance is updated. The US Navy at that time was using Informix database developed by the mighty IBM. Although Informix was a great database for normal usage, it had two problems.
One, it was too big in size to fit on small computers like the ones on guided missiles. It was impossible to do so. Two, even if you did the impossible and somehow fit it on a missile, it needed to be 'installed' and 'administered' by a person because it was a separate process running on the missile's computer. Think how much time it takes to install software on your laptop. Now think how a missile - which after being fired is going to be destroyed anyways - might need tens of such databases for each task. One might be a GPS trying to calculate trajectory, another might be a fuel control mechanism, and another monitoring explosive material. If each database required a separate administrator, a few hundred missiles on a Destroyer would require thousands of non-military personnel only to manage databases and soon the battleship would be turned into the floor of an IT company. And what if a war starts? Would you take them into battle? I am sure some of my veteran IT friends would love to go!
We can imagine Richard Hipp sipping coffee aboard, thinking continuously why the hell did he take up this project from General Dynamic. Although a PhD in computer science, Richard had believed the doctorate market was too saturated with far more talented people than him. So he started his own small software consulting firm, got married, lived a happy and settled life by 35. Now he was in the middle of a very real problem and the only way out was to solve it.
And solve it he did.
Within a year, in the spring of 2000, Richard came up with an answer. His solution was a single file written in the fastest programming language invented by humanity, the C language. This file could be simply copy-pasted in your program and it allowed the program to use any normal file (think notepad .txt) like a 100% SQL database. No need to install anything, administer anything or hire anyone! Once a program to calculate GPS is written, the special C file creates a complete little database inside which lives symbiotically with that program. The program would just do its job and manage its data somehow, making no fanfare about how it went about doing so. But inside, there is a complete, self-contained database engine at work.
This was how SQLite was born and used first to enable destroyer-guided missiles of the US Navy, without filling their battleships with nerdy techies.
Can you guess the size of that special file? It's 900 KB. Means you can fit five such files in the space required to store a .mp3 song!
The story doesn't end here. In a great act of selflessness, Richard made his creation free for anybody to use for whatever purpose. Within 5 years, SQLite was being used on 8 out of 10 machines in the world from your music player, your smart TV, your car, and your consumer durable. And the funniest place: there's a little SQLite that lives in your browser, like Firefox and Chrome. Isn't that amazing! A tiny database that lives inside a program.
Because it's rarely advertised, very few know about SQLite. It's not taught in any engineering class across India. However, I like to think it a proof of its greatness that none of us know about something that is present everywhere.
Whether anyone understood the importance of SQLite or not, Google did and in 2005 Dwayne Richard Hipp was awarded Google-O'Reilly Open Source Award. Google also secretly roped him in to consult on the development of a new mobile operating system it was building, called Android. And 15 years later, every app on your smartphone whether it is Android or Apple, has a tiny SQLite living inside it.
D. Richard Hipp is one of the most underrated inventors of our generation. He went on and invented many other things, but SQLite will remain his greatest gift to humankind, because if ever spaceships embark in search for habitable planets, they are sure to have millions of little SQLites ticking away inside them.
A respected salute to the selfless inventor!