So ya, thought ya, might like to go to the show.
~ Pink Floyd (lyrics from their classic album, The Wall)
0. Welcome to the Show, Gophers! 🐭
Imagine seeing the world through the eyes of a gopher (I’m talking about the furry rodent, by the way). On top of that, just to make things fun, now imagine transporting our gopher somehow to the beach-side city that is San Diego, where a bunch—and I mean hordes—of Go programmers (aka Gophers) are about to converge for an annual pilgrimage. Yep, the annual GopherCon event is about as big as it gets for us Gophers.
What you get from all that, as you may well have guessed by now, is one giddy gopher!
And I’m here to tell you a story that has never been told before, at least not quite like this: Summoning all the powers of empathy at my disposal, I have—in the fine tradition of the fanciful flight that is the metaphorical fugue enshrined in the pages of Douglas Hofstadter’s Pulitzer Prize-winning book Gödel, Escher, Bach: An Eternal Golden Braid—braided together the furry rodent’s world-view with mine (last time I checked, I was still a non-furry human being).
Hey, I say, that’s plenty good for setting the stage. It’s nearly showtime. So we’re going to call our intros good, and join a behind-the-scenes tour of the amazing show that has been GopherCon 2019 in San Diego.
(Oh, and never mind the levitating rodent in the picture above of the conference hotel lobby, the one wearing what looks like The Sorting Hat from the Harry Potter movies—I’m quite sure the rodent wasn’t a part of the welcoming committee, and merely under the spell of a good old Wingardium Leviosa magical incantation. And yes, I know my gophers from my rats from my lemmings from…
Yeah, more on lemmings later; quite a bit more.
1. First Impressions 🍎
One thing that really, really stood out for me is just how friendly and welcoming the worldwide community of Go programmers truly is—it’s a fond memory I’ve brought back home with me to Austin. Yours truly (remember that I get to play the role of a non-furry human being in this tale) found gophers of all stripes to be eminently accessible.
Just to take one example, and if you would be so kind as to crane your neck upwards a bit to take in the picture above, I’m standing on the GopherCon 2019 floor (in San Diego) with the Go programming language tech lead at Google, Russ Cox, a really smart and down-to-earth guy. Many of you already know both—or at least one—of us, but should you need to disambiguate who is who, I gently direct you to check the conference badge each hanging from our respective neck.
Gotta tell ya, it’s awesome to come into contact with fellow Gophers who make up our vibrant and friendly community. We all contribute, in ways big and small. In my own (small) way, I’ve been contributing for a while now to an open source project that is powered primarily by the Go programming language—polyglot though that project remains since its inception—and which is hosted by the Linux Foundation: EdgeX Foundry.
Open source projects are cool. I urge you to join one today!
2. So Is This Where Lemmings Jump Off? 🐹
For the faint of heart—lest you break into a frenzy of panic—I hasten to add that the meme of lemmings jumping en masse (off the edge of the cliff) has been debunked. Yet it remains a prevalent and persistent myth. Go figure.
Oh, and never you mind the splash “sound” in the picture above. It was just me, sprucing up a picture I took on the very first morning after checking into my room at the hotel at the Marina in San Diego, the venue of GopherCon 2019.
Seaport Village—check the tasteful banner above—is an endearing spot for tourists of all stripes, gophers very much included (More soon on a related adventure that took place a scant 100 yards away, on the esplanade down from the sailboats-bedecked harbor. So stay tuned.)
Hey, speaking of traversing the physical landscape—and I invite you to think of this essay as a travelogue of sorts—two other fairly recent travelogues come to mind, the following, the first one of which was to a tech conference that took place in Edinburgh, Scotland, and the second one in Seoul, South Korea:
Disclaimer: Please don’t expect National Geographic-level material; just to remind you, I’m (only) a veteran software engineer and architect, nowhere near the inimitable naturalist David Attenborough!
3. Thou Shalt Register 📒
So I did.
Hey, for all the naysayers out there—and I know there’s a few of you out there right now—check the picture above where your friendly gopher (the non-furry kind) can be spotted, having dutifully worked his way through lines of fellow gophers, emerging with my trophies: conference badge, the canonical T-shirt, and all.
So there you have it, my Good Housekeeping proof-of-purchase!
And for those of you who haven’t run away yet in disbelief—remember, I warned you at the outset that this tale aims to remain faithful to the fanciful flight of a metaphorical fugue in the evergreen tradition of Hofstadter’s Gödel, Escher, Bach: An Eternal Golden Braid—I give you a pat on the back.
Welcome again. The show is about to begin…
4. Woohoo, Speaker Highlights 📣
In full candor, I was oh-so pleased by the high quality of the talks. I sure learned a ton of Go programming tactics, techniques, and strategies to bring back and apply to my own work. For the past one year—and this is to establish some context so we’re on the same page—yours truly, an industry veteran in the area of architecting and implementing distributed computing software systems, and used to extensively wielding tools from the Java and Scala ecosystems, has been swimming full-time in the ocean that has arisen from the amazing language that is Go.
Relax, I’m not about to go meta; to drive the marine metaphors home, though, let’s just say that the beaches of San Diego were an especially appropriate venue for hosting the conference.
Back to the GopherCon 2019 talks now. These are the ones that stand out, and here I present merely a snapshot impression each. So in no particular order, other than this being the order in which I recall them, they were by the following speakers:
- Elena Morozova: I appreciated a lot how Elena’s talk (How Uber “Go”es) was delightfully replete with helpful, thoughtful, and often times humorous illustrations which shone a new light on an indispensable subject: How does one go about maintaining a large codebase for maximum readability and minimal overhead? In addition to being really well done, the talk was candid. Elena shared the challenges Uber faced in that process—including places where they ran into the occasional failure or two—yet emerged with successful solutions. Referring back to my notes, I remember now that Elena had also talked about actually introducing a software tool to actually enforce consistent code structure (“Glue” was that project name, and I’ll definitely be visiting that soon). All in all, excellent talk. Neat stuff.
- Marwan Sulaiman: The terrific thing about Marwan’s talk (Handling Go Errors) was the incredibly deftness with which he walked us through an actual use case of going about solving a complex problem by thinking in the unique paradigms of Go (Anyone remember the excellent Thinking in Java book from way back when? Hint: I want its counterpart for Go!) Anyhow, I can attest to the wisdom of resisting the urge to go your own way; instead, the way to go is to lean on the philosophy with which Go has been designed to solve programming problems. And hey, even if error-handling is not your heartthrob topic—I honestly can’t claim it has ever been mine—the way Marwan brought programmable errors to life (in how you can design your own architecture in this area, enabling you to get a solid grip on system failures) was cool. I was wowed. Frankly, an outstanding talk.
- Mat Ryer: If I were asked to point to (only) one talk which did an outstanding job of stripping away all accidental complexity, leading me and others in the audience to keep a laser sharp focus instead on the essential complexity of problem-solving in the domain at hand—adhering to the elegance of the Go way of doing things—it would be Mat’s talk (How I Write HTTP Web Services After Eight Years). So I’ve done this sort of thing at least 17 different ways in the past—using assorted tools from libraries that have evolved around more mature languages such as Java and Scala—Mat demonstrated just how elegantly (and simply!) it all can be done with Go. A talk (whose recording now) is not to be missed.
- Katie Hockman: What made Katie’s talk (Go Module Proxy: Life of a Query) so compelling was the command with which she had masterfully assembled a whole boatload of hardcore tech subtopics into a unified whole and the conviction with which she presented her stuff. Trust me, delving into the intricacies of how her team built a module mirror and checksum database is not for the faint of heart. But Katie somehow managed to pull it off, never for a moment shying from the guts of what makes authenticated module proxies tick (Merkle Trees and all!) The delightfully humorous (running) backdrop of “the dog people” versus “the cat people” was well done and genuinely engaging. And hey, from now on I will remember her advice to “Trust on your first use”! (At least that’s what my scribbled notes say; more on that later.)
- Russ Cox: I was expecting nothing less than exceptional quality from the talk (On the Road to Go 2) by Russ and came away really pleased. Let me remind you that this list of speakers that I’ve assembled here is in no particular order, other than this being the order in which I recall some of the stellar talks. For those not familiar with his name—is there anyone, really?—Russ leads the development of the Go programming language. His talk was methodical, precise, and enlightening. I got a really good feel for how the Go language (itself) is being shepherded and evolved (Simplify by reshaping, by redefining, etc. Abandoning failed experiments, growing stronger from the learnings. Etc.). Given that we’re on the road to Go 2, the talk answered the questions of (1) Where exactly are we? and (2) Where are we headed? I sure am glad I came to the fantastic talk by Russ to get the answers to exactly those burning questions.
- Ian Lance Taylor: The subject of Ian’s talk (Generics in Go) is incredibly dear to me, making it virtually a guaranteed success even before I heard a word of his splendid talk. I was pleased. Very pleased. Coming from a heavy background in Java and Scala—where generics rule the day—I’ve been hankering for generics since the day I immersed myself in Go programming over a year ago. Fast-forward one year to today, and Ian’s team continues to work hard to make genetics a reality for us gophers. He rightly pointed out that when it happens (i.e. when generics become a part of Go), programming should feel no different—become no more esoteric—than when working with the usual constructs: Yep, while there are clear advantages to introducing generics into Go, there also happen to be associated a bunch of requirements. Keep up the good work, Ian and team.
Oh, and FWIW, I took copious notes. I felt compelled to; yes, to be sure, the awesome conference organizers do make the slide decks available, yet this inveterate note-taking engineer continues to find that the best way to internalize complex subject matter is by way of pen and paper. (Physical) action does shape thought, methinks. (Hey, if it isn’t you again, in your naysayer splendor, kind of! Looks like you want to see for yourself my Good Housekeeping seal-of-approval of sorts… Let me tell you, I’ll prove myself trustworthy. Should you still need to see my seal-of-approval, I’ve got that, too. You stay tuned.)
5. There Is No Middleware 📬
Oh wait, that bold statement was from, or at least inspired by, a line from The Matrix (“There is no spoon“), now wasn’t it? Darn. Never mind. Scratch that one.
There is—and probably will be for the rest of our living days—plenty of middleware in the wild for us gophers to rummage through. And if you want to work with it without pulling your hair out, may I suggest that you listen to what Mat Ryer has to say on the subject? I took the picture above—all pictures that appear in this essay were taken by yours truly, on site, in the spirit of “Kilroy was here“!—in an inspired moment during Mat’s talk (How I Write HTTP Web Services After Eight Years).
And hey, hats off to the conference organizers—the names of Erik St. Martin and Brian Ketelsen jump to mind as I was already familiar with seeing their names from their Forewords to Go programming books—for making sure that there were a bunch of strategically-placed overhead (and, thankfully, oversized!) monitors in the ballrooms where the numerous talks were presented.
The picture above shows one such monitor in action; the thingamajigs and sound effects, as you have likely guessed by now, are mine alone (Yo, I snuck those embellishments in when nobody was looking. Truth be told, this blogs comes to you from a one-man-shop, so the number of people watching would’ve been approximately zero, zilch, nada).
One more time, for good measure—and please repeat after me this time—this narrative (sheesh, did I really call it a tale earlier?) aims to remain faithful to the fanciful flight of imagination in the evergreen tradition of Gödel, Escher, Bach: An Eternal Golden Braid. Hence the embellishments, amirite?
6. Gophers, Too, Get Hungry 🍩
Just sayin’. Our stomaches, too, rumble at times. Seriously, though, we were kept well-fed with sumptuous, catered meals. What redoubled our joy of dining, though, was chatting with a bunch of fellow gophers at the plethora of circular dining tables that decked the Pacific ballroom. We had a bunch of active and energizing discussions about how we gophers are going about attacking problems with the Go tools at our disposals.
By the way, and just by the way, see if you can spot an especially oversized—mutant, dare I say?—burger over there yonder, starboard, mostly to the left of my right shoulder… Folks, stand back: That one’s mine!
Oh, and taking a page from a talk by Mat Ryer—right here at GopherCon 2019 in San Diego—I remind you of the obvious in that we all get intellectually hungry, too. We happen to have the mindset of insatiable curiosity, always eager to learn better ways of solve programming problems, designing more robust solutions, and stuff like that. So go ahead and touch someone’s life for the better by sharing your experience through blogging.
Well, when it comes to blogging on Go, here’s a sampling of stuff I’ve written up over the past one year or so:
Oh, and speaking of the art of writing itself… (Wait, what’s that murmuring I hear!) Ah, but of course: I can almost sense (some of) my regular readers groaning—who know full well my fondness for digressing—and are now beckoning me to spare you the agony. But you know what? Practicing the art of writing is supremely enjoyable. So here you go, geek-out on a take on the craft by one person, yours truly. Woohoo!:
- On Writing: Or Why I Write
- On Writing: Or How I Write
- On Writing: Or Wow I Write
- On Writing: Or Now I Write
- On Writing: Or A Row With How I Write
While you read those musings, I’m going to wait for you right here…
Ah, you’re back. Good. Let’s see, if that doesn’t convince you that anyone—virtually anyone—can write, please take two pills and call your doctor in the morning (for a full cranial-checkup referral). Thanks.
7. We Do ML & AI With Go! 📺
On returning home to Austin, I had made a promise to myself to do a write up on the learnings that I’ve taken away from the awesome, daylong workshop (on ML/AI using Go) to share with you. Little did I know at that time my starry-eyed idea would transform into a full-fledged essay, one you’re reading; you still with me?
Pat yourself on the back if you’ve made it this far.
Anyhow, and while I know a thing or two about AI—my MS thesis back in the day involved designing and creating a hefty chunk of neural networks code, of the back-propagation algorithm species, if that means anything to anyone, in the C programming language—it is only recently that I’ve begun to see why Go (with its awesome heft in the concurrency area especially) is positioned so nicely to carve a niche for itself in the area of ML/AI.
Oh, the places a programming language will take you when something so crucial (to making hay in today’s multicore world) as concurrency is baked right into the language!
And never mind all those levitating objects with which I’ve embellished yet another picture I took outside the entrance of our packed classroom.
8. Inside The Wizards’ Room 🚧
Our excellent instructor, Daniel Whitenack, was ably assisted by his fellow data scientist, Miriah Peterson. In addition to all the hands-on coding we gophers eagerly did—with our furry paws, of course—we got to see a ton of cool demonstrations. For example, you’ll see above how Daniel is putting all the clout of ML & AI Go libraries into identifying that most essential of all objects that populate a programmer’s universe: the coffee cup.
So we did neural networks in Go, followed by a helpful foray—using Go as our implementation mechanism, of course—through the area of Deep Learning. Speaking of which, I would be remiss if I didn’t share the coordinates of some stuff I’ve written up on that very subject:
- Best Deep Learning Books (Pragmatic)
- Best Deep Learning Books (Foundational)
- Best Deep Learning Books (Popular)
Plenty for now? Okay, okay, if you want me to also throw some AI in there—and we might as well get our paws on it—here’s some (hopefully) helpful stuff by yours truly that you can check out, too:
9. Go Code Even Powers Bike Logistics 🚴
To the denizens of the stellar rodent family we’ve encountered so far—gophers, rats, and lemmings—let’s add the good old bunny, shall we? It’s only fair to do so, I think, given the central position our bunny has assumed in the picture above.
Speaking of which, I noticed this when I ventured outside the conference hotel one fine day: Our good friends at Uber are powering transportation logistics with software written (most likely, though I would need to confirm) in Go!
So there you go.
10. I Took Notes (Lots Of Them!) 📕
Well, I have space here to show but a page or two, all in my longhand writing, which was—as you can likely tell by the shaky, calligraphic penmanship sample above—all done at warp speed as yours truly did his best to keep up with the swift pace of all the fine speakers who spoke at the stage (Anyone tried drinking water from the proverbial fire-hose?)
This particular page—the one above with my pseudo-calligraphic penmanship on display—comes from a talk by one of my favorite technical writers, the excellent Mat Ryer, author of a terrific book named Go Programming Blueprints.
Keep up the cool work, Mat. You’re an inspiration to this gopher!
11. When Nighttime Falls 🌒
Sleep may be overrated, but gophers, too, need to sleep. We’re not nocturnal, you know. Just sayin’. But hey, what did I see one night when peering from my hotel room’s magnificent balcony—all the way up on the 19th floor—at the Marina landscape outside? Oh my!
It’s on you now—See if you can spot the following themes in the pic above:
- A raven (swooping in its stealthy flight)
- A mutant owl (cleverly perched along the Marina curbside)
- Another renegade, mutant, actually a feline friend (smack in the middle of the Marina intersection!)
- Oh, Batman, too?
Okay, I’m outta here, folks.
12. Breakfast Is Served ☕
Won’t you join us next time? Please. Pretty please? Just so you know, we gophers are real gregarious.
I can’t promise, though, that you, too, will be privy to spying a whale or two, blowing mist in one of the swimming pools yonder—your YMMV (In this gilded age of fake news, there’s even more to be said for truth-in-advertising, isn’t there?)
13. Your Lips Move, But… 👏
…I can’t hear what you say. Darn.
Did you, fine creatures that you all three patently are, really have to speak in empty (speech) bubbles! Like, do to you really want me to dig up my copy of Jurafsky and Martin’s classic text Speech and Language Processing and get to work on designing and decoding what you cuties are trying to tell me? (Especially you there in the middle, Ms. Owl, what kind of designs do you have, rolling your eyes like that?)
14. I Inventoried (The Cover Of) My Mac’s Lid… 📈
…before and after GopherCon 2019, to get a ballpark metric on just how fecund—or barren—my stickers menagerie is. So the picture above being the “before” one.
I’m not quite sure how my personal business card of sorts made it into the picture (That’s why I was trying to shine a flashlight, as you can tell). Anyhow, the rest of the story will be told later.
Don’t you go away!
15. The GopherCon Floor 🏄
As you can probably tell from the selfie above—taken in complete sincerity for the sake of coverage—the floor was abuzz with active discussions during one of the numerous thoughtfully-spaced-out program breaks.
And oh yes, it was bound to happen: With all that intellectual firepower concentrated in one place, a brainstorm or two was bound to emerge.
Needless to say, the ZAP above is my best artistic attempt to capture one especially potent thunderbolt during one such program break.
Good enough for now?
16. We Dive Right Back Into More Awesomeness 🏊
Wow, it sure was a ton of fun, sitting shoulder-to-shoulder with industry peers, all of us eagerly taking in Go programming wisdom by the bucketful. The metaphor of drinking water from the proverbial fire hydrant holds water and comes to mind, too.
Wait a second now!
How did that spunky yet harmless-looking alien above—you know the one with the foot long ears protruding from the generous head screwed atop its dwarfish torso—make it into my picture? Folks, this is an alien-sighting, I’m telling you.
But let’s not get ruffled up: We gophers are eminently receptive to all species, including the alien kind. And who knows, we may be on the threshold of discovering a brand-new member of the sterling rodent family, woohoo!
Someone call National Geographic. Quick.
17. How Does One Stop A Rhino From Charging? 💳
Easy. You just take away its VISA (credit) card.
But you see, the dilemma I faced the following morning—having slumbered and dreamed of Go programming Tao and having dutifully counted flocks of sheep the night before—was far more ominous.
There I was, as you can tell from the picture above of the esplanade on the Marina, unwittingly immersed in the imbroglio involving a renegade hippo looking me squarely in the eyes.
Yo, sheep—are you one among the flocks in my dreams last night that I had counted or did you get away?—you sure look prim and smug and all. Grrr… Can you, like, wipe that cherubic grin from your face? I’m facing the dilemma of my lifetime, frantically trying to bail out of the dire situation, and you’re posing as the very picture of serenity. Sigh, this is no time for venting.
Look, if this were merely a rhinoceros, I could’ve easily stopped it in its tracks (by taking away its VISA card, of course). But this happens to be a behemoth hippo, for crying out loud. What to do now?
My amygdala kicks in full time (heavens be praised for our evolutionarily-sound genetic makeup!) as I, or at least my subliminal self—frankly, I couldn’t care less which one of those two it was in that moment of life-and-death—realize exactly what to do: Elements of maladroitness notwithstanding, I scurry at warp speed to the ocean inlet on my right and dive headlong into the safe waters, feeling secure in the knowledge that hippos don’t swim.
Woohoo, I’m safe now, swimming in safe waters! After all, the distaste of hippos for water is matched only by the one harbored by cats. Right? (Or am I not up to snuff on my National Geographic magazine-based worldview of animal habits?)
What?! Now you tell me.
I hope I live to tell the rest of my tale…
18. Your Blogger Comes To His Senses 😴
And when I came to, slowly waking up from my reverie-like slumber, everything was calm. Eerily calm. A bit too much so, I thought. But my premonition was unfounded.
All is well, I think. Yay! The rest of the story can now be told:
- For starters: Remember the “before” picture from the “before and after” blurb earlier about GopherCon 2019, to get a ballpark metric on just how fecund—or barren—the stickers menagerie on my Mac’s lid is evolving into? Well, I’m happy to report that (as you’ll glean from the latest picture above, the “after”), we have indeed evolved. Quite a bit, too. Wont’ you say?
- Some more: Ah, their lips had seemed to move—if you will turn your attention now to the three fine creatures we had a skirmish with, the ones that spoke only in monumentally unhelpful empty speech bubbles—and how one of them, Ms. Owl to be precise, seemed to have designs of her own. Guess what? Ms. Owl somehow interloped—not eloped, mind you, merely interloped—along with my baggage (on my flight back home from San Diego) and I unwittingly lugged her, feathers and all. Rats, don’t they do any screening anymore for live animals in transit? Sigh. That cutie (you’ll spy her toward the bottom left in the pic above) is standing pretty much shoulder to shoulder with my very own gopher mascot. Ms. Owl is looking all dainty (and smitten!) But by whom? Surely not me… I mean, I’m just a gopher, you know.
- Wait, there’s even more: The levitating rodent we had seen in the conference hotel lobby, the one wearing what looked like The Sorting Hat from the Harry Potter movies, was evidently also able to manage interloping with my baggage. Sigh! Our screening processes (for live animals in transit) are in tatters. And yikes! The rat’s brought his Sorting Hat with him… Who knows what he’ll transform into, and I’m not taking any chances. Calling dog pound right now. Um, or maybe the exterminators. Or something. Help!
In the remote possibility that you’re still with me—I mean, dear reader, we’ve already been through a lot—let’s collectively soothe our nerves. This, too, shall pass.
19. Gulp. The Swallows, Akram, The Swallows 🐝
Allow me now to cite the farmers’ wisdom when they say that if you sight a swallow or two—like the slick one above that barely missed your blogger’s cranium while he was taking a selfie out a Seaport Village shop—and especially when they swoop close to the ground, a storm is surely brewing (I can, FWIW and in full sincerity, vouch to the veracity of the farmers’ predictive wisdom; I have evidence for the strong correlation, just no explanation!)
Hey, what, exactly, is that green, dragonfly-like thingamajig (hovering over my shoulder) doing here, hovering about in its gossamer flight? Just at that moment, though…
As if my harrowing escape from the jaws of the juggernaut on the Marina esplanade—does anyone even remember the ferocious hippo and my plaintive pleas?—hadn’t been enough, I find myself in the crosshairs of a smitten creature: Ms. Owl has declared her unrequited love for me in no uncertain terms (That teaches me a lesson to be careful and double-check what I’m lugging with me in all future travels!)
But there she is, drenched in the songs of innocence. Yo, and I’m perspiring profusely, drenched in sweat. Darn. What to do?
Ah yes. My evolutionarily-sound amygdala kicks into high gear again as innocent images of kindergarten days swim before my eyes: Owls, I feverishly recall, happen to be the very symbol of smarts, for crying out loud. So yes, I will appeal to Ms. Owl’s reason. I got this one nailed.
Tentative at first, our conversation proceeds like so:
— Akram, that’s me, your blogger: Why, hello there, Ms. Owl, how goes it for you?
— Ms. Owl, batting her eyes: Swell. And for you?
— Akram: Say, since you happen to find yourself in my study, shall we, um, study?
— Ms. Owl, demurely: If you say so.
— Akram: I do. Yep, do please get going with the following reading material—this should keep you busy for a while—starting with an appropriately-nocturnal meditation for your owlish outlook:
- Reveling In The Glory Of Software (On A Stormy Night!)
- Krazy About Kafka!
- Plato And The Nerd Strikes Back
- Blockchain Adventures!
- Microservices In Small Pieces
— Ms. Owl: Okay, if you say so, sugar plum.
— Akram: Sheesh… [I’m careful here, of course, to mutter under my breath so as to spare her owlish sensibilities].
Help! Ms. Owl here is showing no signs of slowing down. In fact, she has just spied my tome with the rather prosaic title of HTTP: The Definitive Guide, wedged as it was in one of the bookshelves in my library, and wants to regale me in the wisdom of the crucial role that HTTP plays in girding the very fabric of distributed computing, in particular the ins and outs of eventual consistency.
Man, I’m not getting anywhere. Somebody?
20. Afterword 🎬
Hey, we went right past The End. What’s up with that?
Relax. Afterwards, one’s gotta have an Afterword, or so I’ve been told…
So I didn’t want to leave you hanging, wondering whatever became of the spring that had sprung in dainty Ms. Owl’s heart…
This is what happened: Your trusty blogger—I’ve been called many things but you can call me Akram, yeah—had just about finished unpacking his suitcase on returning from San Diego (having bid farewell to hordes of friendly, fellow gophers) to his home in Austin when he felt something cushiony at the bottom of his suitcase.
Aha, there’s my cutie gopher mascot—so I had purchased it at one of the Diversity Fund shops on the GopherCon floor—the mascot from which I was fearing I’d been separated! So I blithely placed my stuffed mascot atop the lowermost ledge of the jumbo bookshelf in my study upstairs. I even gave him a name: Mr. Jowl.
From the get go, I kinda’ liked how it sounded (a gopher with such immaculately puffy cheeks ought to get a name befitting it!)
The rest, as they say, is history…
Remember Ms. Owl, the one scurrying about in my study, smitten twice-over, and lecturing me incessantly on the finer points of distributed computing? Yeah, easy for you to forget; not so for me. Guess what? No sooner did she lay her eyes on Mr. Jowl than her the wayward lectures—your blogger being her captive audience—came to an abrupt halt. My jaw dropped.
It took Ms. Owl a scant few moments, perhaps less, to flutter right over to Mr. Jowl’s side and perch herself demurely on the front-right tire of his oh-so-stylish Go-mobile. Well, what do you know! Mr. Jowl, our gopher, is looking positively giddy: Now we got ourselves two smitten creatures; not a moment too soon, either. I mean, my neck—if anyone cares about such mundane matters—has somehow gotten spared.
I’m getting out of their merry way. That’s for sure.
The two cuties have already vowed fidelity to each other, and plan to get married soon (Definitely before the next, annual GopherCon rolls around). Clearly, this is a boon for your blogger, and he readily agrees to keep an eye on the two; a small price to pay.
Yo, I heave a monumental sigh of relief, mopping sweat from my brow, realizing the bullet I have dodged. Whew!
The happy couple—and I invite you to come visit them, and me, the next time you swing through Austin—have since become permanent residents in my study (I serve as their unwitting chaperone. Oh well).
Now Ms. Owl lectures her beloved Mr. Jowl on stuff such as the best practices for building micro-services; more recently, I’m started hearing them excitedly exchange ideas on the ins and outs of Domain-Driven Design, aka DDD; but that’s only when Ms. Owl isn’t lecturing Mr. Jowl on getting his act together and stop speeding around in his spiffy Go-mobile.
The way I see it, better him than me.
And that’s how I’ve recently been seeing the world (through the eyes of a gopher, of course).