| |
May the Fourth Be With You
|
Last Blog |
Index |
Next Blog
4 May 2014
Alot has changed since I was a kid. Disney bought the Muppets. Then they bought Lucasfilm. And now they've hired the same guy who
directs Star Trek movies, J.J. Abrams, to direct the next Episode of Star Wars. When I was a kid I memorized Kirk and Khan's
lines and tried to use the force to lift things. I had more success with the former than the latter. I can think of probably 3
movies that, seeing them in theaters for the first time, gave me goosebumps of excitement: Back to the Future Part II,
Star Wars Episode I, and Star Trek. I'd watched previous pieces of each story in my living room and been captivated,
and hearing/seeing those familiar themes in a new iteration was immensely exciting in each case. Not to mention all the arguments
I'd had on the elementary school playground with other kids who claimed they'd seen the first 3 episodes of Star Wars. This past
week saw the announcement of the actors who played my childhood heroes coming back in yet another iteration of Star Wars. Not sure
who they'll be fighting with the Emperor dead and the rebellion against the Empire successful, but I'm sure J.J. Abrams will
make it exciting. I am a little worried he'll try to make the Millenium Falcon look like the Apple store, but hopefully he'll
keep visual continuity with the original three films. He can't do worse than the CGI Yoda in Episode I.
The other half of the excitement is taking my kids. Alora and Brittan were too young to see any but the most recent of Star Wars
movies in the theaters (Episode III) and Maxwell and Zara haven't seen any. While I've enjoyed encountered cinematic iterations of other heroes
from my childhood (X-men, Iron man, Batman, Enders Game, Star Trek, etc), they've never seen a Star Wars on the big screen. If
Disney is smart they'll re-release the other six before VII comes out. And, naturally, if I could ask J.J. Abrams one question it
would be, "When are you starting work on the Back to the Future Part IV?"
Google, on the other hand, has chosen to ignore the slowly building hype on this May the Fourth and instead celebrate one of my
favorite actresses, Audrey Hepburn:
|
Surprisingly, it seems that Google has never acknowledged the StarWarsness of this date with a doodle. Here are the May Fourth
doodles (mostly Japanese) for the years I could find:
|
2000 |
2003 |
2004 |
2005 |
2006 |
2007 |
2008 |
2010 |
2012 |
2014
Of course, at Hack Nashville it's not very Star Wars themed either, despite all the geekdom present. As it turns out, the guy I
was working with could only come the first night. Apparently he had to graduate from college or something. Some people's
priorities.... We had plans to build a hybrid OLAP tools along the lines of a recent
data analytics conference paper.
He'd sketched out some of the code beforehand and entitled the
project "Locke" after one of his favorite philosophes. Not a surprise we got along there.
To say my Java's a bit rusty is something of an understatement. I last used it professionally in 1999, the same Summer The
Phantom Menace came out in theaters. That, plus having never used JDBC meant it was a steep learning/remembering curve
this weekend. I managed to knock out
a very rudimentary application
that does basic hybrid OLAP caching with a MySQL database. It has a simple ORM only allowing full joins between tables, where
clauses and group bys, but the power is in the caching. The first time a query is run it hits the full database and it takes ...
however long it takes. The serialized lists of tables, where clauses, group bys and query results are then stored in the
cache table. Each subsequent execution of the query takes less than a second because it hits the cache table instead of the full
database.
The next obvious step is to further abstract the queries and store the results as key-value pairs in a NoSQL database
rather than MySQL. Outside of star schema databases this appears to be a non-trivial task, however. Additionally, this particular
flavor of hybrid is felicitous to databases that have batched ETL rather than ones that do OLTP. As part of the ETL process
this hybrid method also adds the additional overhead of invalidating cache table entries during ETL. The simplest method for invalidation is
probably to invalidate all the cached queries referencing tables touched by the ETL, but if the ETL frequency is high enough it
may make sense to recalculate certain frequently used cached queries as well as invalidating old ones.
|
|