I believe in the imagination. What I cannot see is infinitely more important than what I can see.
~ Duane Michals
How exactly does one announce one’s new blog site? Let me try…
So to all of you familiar with our old digs—Programming Digressions of course—let me assure you: nothing changes. Nothing, whatsoever. Welcome back! Plus a big thank you to the nearly 100,000 visitors to our digs there
And to all of you discovering our brand new blog site right here, welcome anew! Wait till you see what we’ve got in store for you. I have imported (here) everything over from our old digs, including even your comments. With this first blog post, all new stuff will appear here; our old digs—Programming Digressions—will still be floating around in interspace, although you won’t find any new content there from here on.
Okay, with that minor announcement out of the way, shall we dive right in to (more) brand new content? I say we do!
Now how about that: How far-fetched is it really to talk about so nebulous a notion as the programming imagination? Not that much, I say. So let’s check it out.
The Context (More Like The Pretext, If You Ask Me)
The great secret, Eliza, is not having bad manners or good manners or any other particular sort of manners, but having the same manner for all human souls: in short, behaving as if you were in Heaven, where there are no third class carriages, and one soul is as good as another.
~ George Bernard Shaw
Just to add to the preamble we all waded through already–I was almost going to leave this out—I’ll continue to keep you slightly off-balance (with the juxtaposition of pictures and prose, plus some poetry thrown in for good measure!) because if you snooze, I lose, we all lose. Yep, let’s keep the fun in there, shall we?
So what’s up with the programming imagination? Here’s what: Let’s do some time traveling, and if you will, that is, allow me to take you back to my undergraduate days, in fact to my very first semester at the University of Houston. Clearly, we are doing some serious time traveling here—hey, we are harking back my undergraduate days—going all the way back to the Precambrian era! (I mean, one can’t quite forever remain at the stage of crawling around with a fellow toddler—pee pal if you will—or two, diaper-clad and all, on the esplanade lining the distant and enigmatically misty shores of pee bay; I say, evolve, shall we, lest we go the way of the dinosaurs which, over the earth, once held sway, eh?)
Anyhow, there I was, an electrical engineering major, bright-eyed and eager, alertly taking in every word pronounced by the lively professor of our sociology class (Bill Simon, with credentials from the University of Chicago, yes sir, that was you!)
And the subject of The Sociological Imagination came up—yep, we had already waded past the junk of the military-industrial complex and stuff like that (interestingly enough, classes in Sociology, along with classes in Philosophy and Music Appreciation, were, for reasons lost on me, known in our engineering student circles as “junk” classes. But I digress. Plus I don’t quite feel like doing penance right this moment.)
Oh My, A Connecticut Yankee in King Arthur’s Court!
The lunatic, the lover, and the poet
Are of imagination all compact.
~ William Shakespeare (in A Midsummer Night’s Dream)
So I was saying… Ah yes: things changed. OMG! Like, did things change or what? Good old Professor Bill Simon sure made the subject come to life with his unique take on The Sociological Imagination, replete with up-to-the-minute flash-forwards to the pages of the venerable New York Times newspaper! And what we beholden student got was—you guessed it—a rock-your-world tour of the vagaries (and relevance) of the human imagination.
But what does imagination have to do with the practice of programming? Um, nothing. Yet, everything. Okay, okay, you knew this was coming: I’m getting ready to do some handwaving (picture me wildly gesturing—or is it gesticulating?—in choreographed motions of waving away infestations of hovering horse flies) and lead you down the path of yet another collage of an essay…
But now you very well can’t say that I didn’t warn you: That’s right, as I jog your lovely memory—roving the realms of imagination in their full splendor—about some talk earlier involving my plans for keeping you slightly off-balance, because, as I said then (and as I repeat now) if you snooze, I lose, we all lose. Ready or not, here we go. Hold onto your hats. Speaking of which, just who is that Yankee below in a hat—and an Aggie hat at that!—peering back at us from the realm of Scotland? (Hint: He has been known to write a line or two of prose, and poetry occasionally, when he isn’t exercising his wayward imagination in the service of designing and coding up micro-services, distributed systems software, and miscellaneous stuff like that…)
The Building Blocks (Of Imagination)
Whenever the literary German dives into a sentence, that is the last you are going to see of him till he emerges on the other side of his Atlantic with his verb in his mouth.
~Mark Twain (in A Connecticut Yankee in King Arthur’s Court)
If we parse properly—and properly parse we will!—things come alive in our imagination. But it is in the sequencing and in the juxtaposition (in connecting the dots, if you will) of objects (themes, functions, grammars, and other such naughty building blocks) where the riches are to be found. And why should you listen to me? Glad you asked: You don’t have to, really, so go right ahead—if your sweet little heart so desires—in blowing off my pontifications. As they say, nothing lost, but nothing gained either.
And there I rest my case. Onwards.
Idling, Yet Busy. Imagining, Yet Creating Worlds (One Line Of Code At A Time!)
They change their sky, not their mind, who cross the sea. A busy idleness possesses us: we seek a happy life, with ships and carriages: the object of our search is present with us.
One of the (British) pioneering personal computer manufacturers, Sinclair, makers of the ZX Spectrum+ personal computer—see our trusty young detective Tintin rushing about—is to be thanked for introducing me to the amazing world of writing code. Ah, maybe that was the true black swan. Or maybe it wasn’t. At any rate, see that spunky octopus holding a platter aloft, ready to serve up some appetizing edge-computing capabilities just to whet your appetite? Yep. Very cool.
A Hat For A Bat (The Flying Kind, That Is…)
The point of philosophy is to start with something so simple as to seem not worth stating, and to end with something so paradoxical that no one will believe it.
~ Bertrand Russell
If you were given the choice to wear a hat—absolutely any hat, including, but definitely not limited to, the fabled Sorting Hat from the Harry Potter series—which hat would you wear, and why? To wear, or not to wear, that is the question. Do not your hair tear. Relax. It’s all good; all we are doing here is exercising the imagination.
Perhaps San Francisco is to mashup patterns what New York City—the city that never sleeps—is to information theory? See all those fortune cookies in the pic above? Therein lies the answer. And please remember this: I’m not the sage on the stage; I’m merely the guide by your side. All I do around here—and which I’ll continue doing unabashedly in our new digs here—is “glue and staple”.
Algorithms (Imagined), Ahoy, There She Blows!
How many things by season seasoned are
To their right praise and true perfection!
~ William Shakespeare (in The Merchant of Venice)
Putting Imagination In The Service Of Users
The pleasure in physics, for me, is that it’s revealed that the truth is so remarkable and amazing. I have this disease, and many other people who have studied far enough to begin to understand a little about how things work are fascinated by it, and this fascination guides them on to such an extent that they’ve been able to convince governments to keep supporting them in this investigation that the race is making!
~ Richard Feynman
When imagination meets the metal—when the art of the imagined possible meets the realm of realization—we get to see the fruits of labors. Out of thin air (the imagined possible, impossibly imagined) we grab and meld the bits of ether (the bits and bytes that make our software go) which, intangible though they might be, weave the loom of our society’s fabric (Look Professor Simon, at what the sociological imagination can eventually wreak in a far flung domain!)
With such concerns—let’s call them ambitions—in mind, I turned to a deep dive into the (digital?) ocean of Kubernetes, brushed the dust off the covers of a handful of Linux books, gleefully reminding myself of timeless wisdom such as the following:
- Is all fun and game until you are need of put it in production.
- To make error is human. To propagate error to all server in automatic way is #devops.
Feeling sober enough? OK good, I thought as much.
Where Will Your Imagination Take You, Today?
Logic will get you from A to B. Imagination will take you everywhere.
~ Albert Einstein
As Oscar Wilde memorably said, “Education is an admirable thing, but it is well to remember from time to time that nothing that is worth knowing can be taught.” And so it is that I salute the #girlswhocode organization for helping give wings to the imagination of the better part of our next generation; I salute those who stand up to oppression and tyranny; and I salute those who persist!
The Engineering Imagination At Work
“Only connect!” That was the whole of her sermon. Only connect the prose and the passion, and both will be exalted, and human love will be seen at its height. Live in fragments no longer.
~ E.M. Forster (in Howards End)
There sure seem to be interesting goings-on in the picture above… For more on the sparks that fly when the engineering imagination is at work, mens et manus style—too much to fit in here—I invite you to check out:
Now that should keep you busy for a while.
Architecting With Imagination: The Humble Beginnings
There are no rules of architecture for a castle in the clouds.
~ Gilbert K. Chesterton
Tuning in on echoes from the past (see that box which once housed the 5 1/4 inch floppy disks with the venerable Turbo C++ compiler etched into their magnetic media?) and peering into the skies of modern-day cloud computing (see my tape-flag-lit copy of design patterns in this domain?), you are generously forgiven if you overlooked the Escher lithograph situated smack in the middle. Oh, beauty transmogrified, or something! Yes?
Goodness, even I was going to overlook that cassette cartridge tape—now that should make those 5 1/4 inch floppy disks feel less old—that proudly stand its ground. What’s up with that?
Life is the art of drawing without an eraser.
~ John W. Gardner
To check out exactly that—to see what’s up with the cassette cartridge tape—we progressively swoop in now (and closer still in the next couple of pictures!) And to see where imagination can lead you (and this is purely at your own risk now, OK!), check out: Reveling In The Glory Of Software (On A Stormy Night!)
The Widening Gyre
Everyone is a genius at least once a year. The real geniuses simply have their bright ideas closer together.
~ Georg C. Lichtenberg
Take two of our cassette cartridge tape as we swoop closer still to our object of search: Isak Dinesen Herself
The closer a writer keeps to emotional reality, the more alive the writing will be.
~ Anais Nin (in The Novel of the Future, pg. 83) The Quotable Anais Nin: 365 Quotations with Citations (Sky Blue Press)
Finally, we do a take “three” of our cassette cartridge tape, face-to-face with it now, hovering in front of the eminence that is the acknowledgments page of the material on the tape: It all comes back to a life in Kenya, doesn’t it?
While You See A Chance, Take It
You wake up in the morning, and lo! your purse is magically filled with twenty-four hours of the magic tissue of the universe of your life. No one can take it from you. No one receives either more or less than you receive. Waste your infinitely precious commodity as much as you will, and the supply will never be withheld from you. Moreover, you cannot draw on the future. Impossible to get into debt. You can only waste the passing moment. You cannot waste tomorrow. It is kept for you.
~ Arnold Bennett
Whew, should anyone have felt claustrophobic—I don’t know about you, but I sure need to catch a breather and swoop back out into a widening gyre—and need to recompose and collect myself. And so it is that I leave you now (Good riddance Akram, we thought you just might never stop!) with the lesion of separation—temporary of course, lest you were getting your hopes high—smiting us. Hmm… Why, oh why, should parting be such sweet sorrow? Till next time, I invite you to find that selfsame architecture (the one we saw above, close-up) in the context of a wider expanse, a vista that greeted me over my shoulder as I turned around to cast a parting glance at the Edinburgh Castle (in Scotland). Farewell—oh, and welcome again to our new shiny blog site!