Paradigm shift
Programming languages by themselves aren’t very interesting to me. I’ve never been a language geek in that sense. One thing however that is interesting to me, and has been for some time, is the web. Something changed for me in the fall of 1998, towards the end of the first semester of my freshman year. That was when my dorm’s newly-wired Ethernet was switched on. Suddenly the internet wasn’t something I had to go stand in a line at the library in order to get access to. Suddenly my computer wasn’t just a glorified word processor.
Where programming languages are means for me to get closer to the web, I’ve learned programming languages.
This is probably why PHP, as ungainly and homely as it is, has been such a natural fit over the last several years. It is programming language intended squarely for the web. Its primary goal is making web pages more dynamic, more programmable. Only later were command line features bolted on, quite the opposite of its more elegant scripting-language counterparts (Perl, Python, and Ruby), which tend to deal with the web after the fact.
I didn’t quite realize it at the time, but at work I’ve been meaning to do some datamining. Or at least that’s what I’m going to call it here. My requirements are simple. I want my database schema to be flexible and expandable, and I want my queries to be ad hoc and fast. They don’t have to be Google Search fast, but fast enough that most queries take less than a minute to run. And I want to do this for cheap. None of that Oracle, DBA, enterprise, 6 month build cycle nonsense. I want flexible, fast, and cheap, and I don’t want to have to choose two. I mean if Google Search can return infinitely unique result sets in less than two tenths of a second, why can’t I?
And why does MySQL get so goddamned slow when it gets over a few million records?
If Google can do it why can’t I? This is the paradigm shift. Maybe I can use Google to mine my data. Not Google the company or Google the search engine, but Google the infrastructure. This is what makes search plays like Cuil seem so laughable. It’s not the algorithm silly, it’s the infrastructure. If I were ever to work for Google, I’d prefer it to be in operations, as opposed to engineering. That’s where all the fun is. I digress.
The whole point of this post is to inform you, dear reader, that tonight I went through the Google App Engine Hello, World! tutorial. And I’ll probably start using/learning Python. The blogosphere’s initial reaction to Google App Engine was lukewarm. Basically Amazon S3/EC2-lite. Or something like that. But as of yesterday, or sometime last week, I’m seeing things differently. Like maybe Google App Engine is simply a way to use Google’s world-class, paradigm-shifting, grid-computing infrastructure without actually having to get a job there. That’s pretty cool. We’ll see how it goes.
hidee ho, California friend! Unrelated to your blog, I thought of you because Carissa is going to visit Napa Valley and was looking for good recommendations. Could’ve emailed, but it gave me an excuse to check out your blog :o) Drop me a line!