Cassandra MVP Achievement Unlocked

| Comments

I was more than a little bit jazzed a couple of weeks ago when DataStax announced that I had been nominated as a Cassandra MVP for the 2012-2013 term. I wasn’t able to be at the Cassandra Summit to receive the designation in person, but I was no less grateful for it.

As an MVP, I’ll be able to participate in the occasional Cassandra webinar, blog in an official capacity, talk to press like a boss, and generally just enjoy an enhanced reputation in the world of the best scalable non-relational datastore on the planet. Best of all, I’ll continue to speak on Cassandra when I’m able. Be sure to look for me to talk about what my new employer, GitHub, is doing in this space.

It’s one thing for DataStax to recognize members of the C* community who have contributed to its success, but it’s another thing entirely for them to shower generous gifts on them. When I got home early on Saturday morning from a week away, I was delighted to find that they had send me tee shirts, an awesome pint glass (pictured with homebrew), and a new iPad! Thanks, DataStax. This was truly a classy gift for a guy who loves you and your product.

The Maven

| Comments

After I wrote Oh, The Methods You’ll Compose last year, I started casting about for what I’d do next. I had just finished writing Building and Testing With Gradle with Matthew, so JVM build tools were on my mind (and in the case of Gradle, they still are). Standing in my kitchen one spring day, not thinking about anything in particular, it hit me that Maven rhymes with Raven. The rest is, of course, history.

A long and interesting history, as it turns out. One filled with glued-on muttonchops, an awesome sister who knows far too much about period costumes and has more 19th-century-looking artifacts lying around her house than ought to be allowed, and a son who shows no small amount of promise as a composer. It is therefore with great pride that I present to you The Maven:

Full Text of The Maven

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
Once upon a midnight dreary, while I pondered weak and weary,
Over files from a project which I'd never built before,
While I nodded, nearly napping, suddenly the build was crapping,
As if some build script's code was jacking, jacking up my source code store
"'Tis a little bug," I muttered, "crapping on my source code store—
Only this, and nothing more."

Ah, distinctly I remember I was just a junior member,
Of a staff who counted building code as something to ignore
An open-source solution neatly I had sought to use completely
In vain hope that I deplete the problems in my source code store—
To fix the troubled build that kept a hold on my poor source code store—
My broken build, for evermore.

And the sullen sad surrender of my servers to the end of
Days when code would build had lent me terrors never felt before
So that now, to still the beating of my heart, I stood repeating
"'Tis some little bug entreating entrance to my source code store—
Some little bug entreating entrance to my source code store—
Only this, and nothing more,"

Presently I took to guessing how my build script might be messing
Messing up the build I thought should work as in the days of yore
But the fact is I was coding, not counting on the foul foreboding
Of a Tool now overgrowing the bound'ries of its building chore
It made its mark upon my code beyond its humble building chore
It owned my build, still wanting more

Deep into the POM file peering, long I stood there wondering, fearing,
Doubting, dreaming dreams no coder ever dared to dream before;
But the silence was unbroken (the error message gave no token),
And my greatest fear unspoken was if again I'd have control
Could I again believe myself to be the one who had control?
To own my build, and nothing more?

Back unto my laptop turning, all my soul within me burning,
Soon again the build was crapping somewhat harder than before.
"Surely," said I, "surely that is what happens when a depend'ncy graph is
Stretched until the length of path is b’yond what man has seen before
Let me see what jars are needed, and their dependencies explore—
'Tis just the jars and nothing more!

"Now adopted as our standard to build each project I commanded
Maven be the tool that we would use to ease our building chore
Straight away it took to forcing us to follow, not endorsing
Its coerc’d opinions now divorcing sense from all my source code store
It took control of every build inside my troubled source code store
I built with Maven, evermore

From the enterprise beguiling this tool my fancy into smiling,
By the standard settings and conventions rigid that it bore,
"Though thy brackets angled, Maven, thou," I said, "art sure no craven.
Mayhap you'd ease the maintenance of my builds and their Sis'phean chore
Tell me, can you ease the burden of my Sisyphean chore?"
Quoth the Maven, "Nevermore."

Much I marveled this ungainly tool to hear discourse so plainly,
Though its answer little meaning—little relevancy bore;
For we cannot help agreeing that no living human being
Ever yet was blessed with speaking tools within his source code store—
Tool or script within the central repo of his source code store,
With such name as "Nevermore."

But the Maven chosen boldly as our standard now spoke only
That one word, as if its soul in that one word it did outpour.
No more meaning then it printed—though its output scrolled and dinted—
Till I scarcely more than hinted "Other builds I've built before;
On the morrow it will leave me, as my builds have failed before."
Then the tool said, "Nevermore."

Startled at the stillness broken by reply so aptly spoken,
"Doubtless," said I, "what it utters is its only stock and store,
Written by a tortured coder whose melancholy's only token
Left both code and coder broken till his tool one burden bore—
Till the dirges of his hope that melancholy burden bore
Of 'Never-nevermore.'

"But the Maven still beguiling all my sad soul into smiling,
Straight I wheeled a cushioned seat in front of build and editor;
Then, upon the vinyl sinking, I betook myself to linking
Fancy unto fancy, thinking what this ominous tool of yore—
What this grim, ungainly, ghastly, gaunt, and ominous tool of yore
Meant in croaking "Nevermore."

Thus I sat engaged in guessing, but no syllable expressing
To the tool whose fiery eyes now burned into my coder's core;
This and more I sat divining, with my head at ease reclining
On the Aeron's vinyl lining which the backlight gloated o'er,
But whose charcoal vinyl lining which the backlight gloated o'er,
My code shall see, ah, nevermore!

Then, methought, the air grew denser, perfumed by an unseen censer
And dependencies whose downloads glut my cache, and even more.
"Wretch!" I cried, "VanZyl hath lent you—by these downloads he has sent you
Respite, respite! and some Red Bull from my cursed source code store
Quaff, oh quaff this can of Red Bull, and forget this source code store!"
Quoth the Maven, "Nevermore."

"Prophet!" said I, "thing of evil!—prophet still, build tool or devil!
Whether useful tool, or whether bane of every coder on this floor
Desolate yet all undaunted, on this code base yet enchanted—
On this build by horror haunted—tell me truly, I implore—
Is there a tool that would not own me? Tell me, tell me, I implore!"
Quoth the Maven, "Nevermore."

"Prophet!" said I, "thing of evil! Prophet still, build tool or devil!
By that Heaven that bends above us—by that God we both adore—
Tell this soul with sorrow laden if, by building with the Maven,
Shall I never make the claim that I retain just some control?
Could some little token of my build remain in my control?"
Quoth the Maven, "Nevermore."

"Be that word our sign of parting, building fiend!" I shrieked upstarting—
"Get thee back to Sonatype deep in the night's Plutonian shore!
Leave no jar file as a token of that lie thy soul hath spoken!
Leave my project's build unbroken!—quit my central source code store!
Take thy POM from out my heart, and take thy cache from my code store!
"Quoth the Maven, "Nevermore."

And the Maven, never quitting, still is sitting, still is sitting
In that pallid project's repo deep inside my source code store;
Its POM files' eyes have all the seeming of a demon's that is dreaming,
And the backlight o'er me streaming throws my shadow on the floor;
And my soul from out that shadow that lies floating on the floor
Shall be lifted—nevermore!

Now would probably be a good time to re-read the full text of the original work. It’s truly a brilliant poem, without which this remix would not have been possible.

I Am a GitHubber

| Comments

I started my consulting business five years ago so I could upgrade my computer more often and go to more conferences. Okay, that’s a little bit of an exaggeration; not all of my concerns were so quotidian. I had also run out of opportunities for technical growth at that company, and didn’t want to become obsolete in my mid-30s. So I went into business for myself. I named the company after a Church Father of whom I happen to be a moderate fanboy.

I had several goals when I started. I wanted to become noteworthy, I wanted to work on cool tech, I wanted to build consequential systems, I wanted to make a lot of money, I wanted to build and mentor a team, and so on. I also wanted a new laptop every two years and to go to No Fluff when it came to town. Was that so wrong?

I reached a few of those goals. I successfully bought laptops and attended No Fluff four times before I joined the tour myself. I’m as noteworthy within my circles as I need to be. I’ve established a decent reputation as a conference speaker, with the promise of additional growth in the future. I have aligned myself with some technologies I think are cool. I’ve discovered a passion to teach, which I’ve been able to pursue rather fully. I don’t build a lot of truly consequential things—at least not on a grand cultural scale—but I have done good work that has been a practical means by which I could love my neighbor and produce small islands of order in a world of chaos. And the money has been fine.

I’ve never quite succeeded in building a team, though, and this has been an impediment to me. I really like the ethos of eating only what I kill, but in reality, that ethos is economically inefficient in the extreme. Hunter-gatherers do not accumulate wealth. Worse yet, I am deeply satisfied by mentoring people, which is hard to do alone. If you will forgive me a small shift in the metaphor from the paleolithic to the neolithic: hunter-gatherers may be permanently afraid of being hungry tomorrow, but shepherds without sheep are not even shepherds.

A few months ago, I very rapidly came to a point where I had to decide what it is that I really care about. To what am I called? Is it entrepreneurship or is it building useful things together with other people? If my calling (to coin a Pauline phrase) is to build where no one else has laid a foundation, then I am compelled to stick it out on my own and fix the character defects that have kept me from achieving the goals I had not yet met. If, on the other hand, my calling is to build consequential things, and to shepherd other people in the process of building the same, then whether I work for a company I own or a company owned by someone else suddenly becomes unimportant. It became time for me to know whether I am essentially an engineer or an entrepreneur.

With that question at hand, I found myself with a generous offer of employment from quite possibly the best technology company on the planet. I had already fallen in love with their culture and the deeply humanizing way they build things and organize work internally. I am truly excited about being able to work alongside and learn from some of the best in the business. And I am definitely not above being attracted by the cachet they hold as a beloved member of the development community. An opportunity like this is a very clarifying thing, and has helped me refine my understanding of my calling. I am most certainly an entrepreneur, but only incidentally. Essentially, I am an engineer. And so I go.

This company doesn’t do titles and doesn’t assign you work, so I don’t really know what I’ll end up doing at the end of the day. But if I understand things correctly, my work will really only be limited to my own vision, innovation, and ability to inspire others to cooperate with me. I’m keenly aware of where my weaknesses lie as a person, but on these three counts, I should be just fine.

This is the part where I should say it’s been difficult to say goodbye to five years of independence and the dream of building on my own the kind of company I am joining today. But the fact is, it wasn’t really difficult at all. Once the opportunity was clear to me, it was pretty easy to figure out where I was going, what I would spend the coming years doing, and what a nontrivial portion of my identity was going to become. And today, I am happy to be able to tell you what that is.

As of today, I am a GitHubber.