The past couple weeks' geekery has been focused primarily on RSpec and improving the quality of my Ruby objects. So while I've been knocking out some practical stuff with the RightAWS API from a top-down, procedural programming paradigm, I've had to rethink in order to refactor. That means applying some different principles to my coding.
In some ways, RSpec makes that very easy, in other ways it's complicated by the inner and outer loop priorities of using it with Cucumber. One is behavior driven and the other is test driven, rspec being the latter - and when I know exactly what I'm doing in the context of an embedded system, one is pretty much the same as the other. What I'm missing, of course is the vocabulary of Web based programming with its object models and its brokers, controllers and whatnot - abstracts for generality. My bias, of course, goes to having the damned code do what I want it to do, and I have generally known how to make that happen, living off of code from Christmas Past.
But since I'm not familiar with all the objecty things I can do with Ruby or how marvelously it abstracts up with elegant constructions, all this Cucumbering and RSpecing can be pretty useful. Now just combine that with not only git but git-flow, and you've got something. Well, I've got something - a handful of tools which are starting to feel natural in my hands. So now while I'm still a sophomore journeyman, I'm starting to use more vocabulary, and getting even a bit wonky perhaps. We'll see. I've got code reviews coming. Still, I did get a chance to eyeball some code that was totally perplexing just nine months ago, and I have the nerve to be haughty about how it ought to go. What's clear is that we're starting to gel as we generate more code, common language and recognize each others' coding style.
In the meantime, I just concluded the Vertica Bootcamp. And I forgot to ask for stickers.
Everybody has seen the Wikibon (or was it Gartner) report that Vertica is number one for big data market share. Right about now, as they are newly on version six, I would say that they are about as advanced as Essbase was - technology-wise, at its version six a dozen years ago. But Vertica is a much smaller company and big data seems to be a newer market. So that's all to the good. Their technology is baked and almost nobody is pushing their limits. I predict, of course, that the big data market will swallow the rest and not much of what lives in todays relational stores will remain relevant for very long. The technology is being tested, by the likes of Zynga as everybody knows, but will do much more as people wrap their heads around what is possible.
That leaves me thinking about a number of things. The first is the availability of cheap vizualization tools. So I'll add that little task onto my part-time plate. The second is a review of what is actually possible. And since I'm cool with the open sourceable, that means looking at NASA's new technology transfer portal. But there's also the obvious.
What's obviously possible is the upgrade path of the mediocre. I shouldn't care as much as I do, but I don't like the idea that Microstrategy might just now finally have a backend that makes all of its promises actually work. Sucking up that back-end business ought to be a no-brainer, and if HP or anyone here in the States can make heads or tails of exactly what it is that Autonomy is supposed to be accomplishing (The company reminds me so much of ePiphany.com, that it's creepy) then maybe it will get sucked into that marketing. But I try not to worry about that, because I still have my own ideas.
So next I'm off to master a bit more resource management for Vertica and then bring some of my old models along and see how well they work. I'll tell you this for sure in a heartbeat, Vertica is perfect, and I do mean scary perfect for Essbase drill-through. In fact, I'm fairly certain that I could make it work in a hybrid cube. So maybe if I have some time, I might try that out with the latest Essbase Studio. I just love the idea that for Vertica, entry-level means a three server database cluster with 5TB of data.
So that's what's new, Magoo.
By the way, Cringely is right about Microsoft Surface. The new MacBook Pro is not worth my money but still brilliant. Google Plus is fading into my background but remaining high quality. And I think Evernote is going to remain a winner.