The Kollected Kode Vicious

Kode Vicious - @kode_vicious

  Download PDF version of this article PDF

The Worst Idea of All Time

Revelations at 100!

Do not attempt to adjust your copy of acmqueue; we control the horizontal and the vertical. You are reading the 100th kolumn by Kode Vicious—fondly known simply as KV, and KV has decided that at this 100th-column juncture, it's OK to talk about KV, how we got here, and KV's future. I thought of doing something like this for my 69th article, or as George Carlin might have suggested, the 71st, but I didn't think I could get away with that in a polite publication like this.

Don't worry, in KV's 101st column you'll get the same level of anger and entertainment you're used to. In fact, I might get angry and even be entertaining before I finish this piece, since, after all, like Johnny One Note, anger is KV's stock-in-trade. I'm hoping Marvel will pick up the rest of this piece to do my backstory movie. It would be as much fun as Deadpool, the only character in the Marvel universe with whom KV has even remote sympathy.

"So, now I'd like to suggest the worst idea of all time." With these words from Queue editorial board member Wendy A. Kellogg, the idea that was to become Kode Vicious was born. "The writer of the column should be someone from the Queue editorial board. Someone with an attitude problem. Someone bald." And, in those early days, I was the only bald board member—I'd been shaving my head for a decade.

In February 2004, with the other members of the Queue editorial board, I was at our monthly in-person dinner meeting, where we gather to come up with interesting discussion topics that will result in practitioner-oriented articles (and the best authors to write them) for publication in Queue. It was only our second year in business, and although we had published some successful and widely read articles, Queue still had no regular columnists. I was initially invited to board meetings by another editorial board member, Eric Allman, and had written a couple of articles for the publication. I was also co-authoring my first book but had never been a columnist. Although the concept seemed appealing at the time, perhaps due to too much wine with dinner, I was at a loss on how to actually make it work.

The original idea for KV was for more of a "Miss Manners" approach, based on the famous work of Judith Martin, whom I had read with my mom when I was a kid. I would write the pieces "in drag," as it were, and this seemed like an interesting challenge. The first name for KV was actually "Mother Code," and I submitted two pieces based on this persona.

A bit of the character sketch from our meeting might give a better idea about where this was going at the time: "Although Mother is never harsh in her advice or criticism, she is firm in her beliefs. The image is of a strong but flexible and kind advice giver. She also has a signature line on every piece, something like, 'Don't forget to wipe your shoes!' or 'Remember to wear your galoshes!' but which is then tweaked for Queue's computing practitioner readership. So, it ended up something like, 'And remember, make sure your code builds before you check it in to the source tree!'

This original idea turned out to be unworkable for a couple of reasons. The early pieces didn't work well because it's very, very hard to write as someone you're not. Although one or two pieces might have been possible in a very different guise, it's far easier to write as someone closer to your own persona than it is to write as someone so completely different. We had to face it, Miss Manners I ain't!

I actually spent quite a while trying to come up with the persona I would eventually use, including some obvious ones such as "Code Confidential" and "Code Critic," as well as the embarrassing "Captain Safety," "Bug Basher," and "Lint Picker," before hitting on "Vicious" as the perfect nom de plume. From there it was a quick romp through "Kid Vicious," "Code Vicious," and "Vicious Kode" to finally arriving at something that looked and sounded right: "Kode Vicious."

With the new name came a new character sketch: "KV—asshole with a heart of gold. Always willing to teach but unwilling to teach those unwilling to learn. Think Zen Monk in a Sex Pistols t-shirt—the one you worry about bringing to dinner. Often uses nose tweaks to show the student the way or at least a way."

And I was off and running. I rewrote the original "Mother Code" piece, called "So Many Standards," about picking coding standards, and thus began my career as a Queue columnist in the October 2004 issue ("Kode Vicious to the Rescue," https://queue.acm.org/detail.cfm?id=1035604).

So, is the author behind Kode Vicious really a big, loud jerk who throws coworkers out windows, flattens the tires of the annoying marketing guy, drinks heavily, and beats and berates his colleagues? The answer is both yes and no.

KV is a caricature, and people who know me and have worked with me can easily see how I write the pieces I do. Of course, KV is someone I might want to be, or turn into, from time to time, a Mr. Hyde to my Dr. Jekyll. Usually I want to be KV when I'm in one of those meetings where I take off my glasses, drop them loudly on the table, and run my hand over my still-bald head, thinking, "How can anyone be so stupid?" If you are ever in a meeting with me and I do this, it's a tell-all that whoever just spoke is a moron. The fact is, however, that beating or berating stupid people never makes them any smarter, so instead, I turn those thoughts into articles for KV, who can rant about things without winding up in jail and, hopefully, do a small amount of good at the same time.

At this point, it's odd to think about literary influences for KV, but as with any writer, I have several, not the least of whom was my mother, whom I wrote about in "Standards Advice" (https://queue.acm.org/detail.cfm?id=1687192) and who was a hard-ass and a harsh critic. My favorite authors have always been harsh, direct, and looking to mess with people, and a lot of KV comes from wishing I were Hunter S. Thompson in the three truly great books he wrote: Hell's Angels, Fear and Loathing in Las Vegas, and Fear and Loathing on the Campaign Trail '72. The more salacious and surreal moments come from reading William S. Burroughs, and if you think it's Naked Lunch, I laugh, because that's a nice children's bedtime story compared with The Wild Boys.

Of course, a direct influence has been the folks involved in the Queue process itself. For 15 years, I've enjoyed the opportunity to discuss a wide range of technical topics with Queue's editorial board and guest experts—those folks who accept our invitation to come to a Queue dinner meeting and help us frame various technical topics, solicit authors, and review articles for publication. It has been one of the most amazing learning experiences of my career, and I have been lucky enough to have some truly amazing minds, slightly besotted by wine, violently pointing steak knives across the table telling me just why some idea was either interesting or total bullshit.

Of course, KV would not be who he was without his ACM editor, Jim Maurer, who has, for the past 15 years, read KV and turned his insane ravings into something that ACM would not only accept but also publish in two magazines—Queue and CACM. From time to time, I read a really great line in the finished KV and I'm always intrigued, did I write that or did Jim? Jim has turned a lot of average bits of writing into something that is actually intelligent and enjoyable, and for this he has my deepest thanks.

What's next for KV? Well, I guess I'll have to write KV 101, which, for once, I have partially written before the deadline (poor Jim may faint of shock). I've been planning a book for a while, but it's hard to maintain the level of energy it takes to write as KV for more than about 1,500 words at a time, at least without substances that are available only by prescription or, since I live in Brooklyn, just down the block. I'll keep writing, of course, because my writing comes from anger, and anger is what I'm good at. Anger also leads to the dark side, and the dark side has cookies. The book, well, it'll get done—the question is, before or after rehab.

KV

 

Kode Vicious, known to mere mortals as George V. Neville- Neil, works on networking and operating-system code for fun and profit. He also teaches courses on various subjects related to programming. His areas of interest are code spelunking, operating systems, and rewriting your bad code (OK, maybe not that last one). He earned his bachelor's degree in computer science at Northeastern University in Boston, Massachusetts, and is a member of ACM, the Usenix Association, and IEEE. Neville-Neil is the co-author with Marshall Kirk McKusick and Robert N. M. Watson of The Design and Implementation of the FreeBSD Operating System (second edition). He is an avid bicyclist and traveler who currently lives in New York City.

Copyright © 2019 held by owner/author. Publication rights licensed to ACM.

acmqueue

Originally published in Queue vol. 17, no. 1
Comment on this article in the ACM Digital Library





More related articles:

Nicole Forsgren, Eirini Kalliamvakou, Abi Noda, Michaela Greiler, Brian Houck, Margaret-Anne Storey - DevEx in Action
DevEx (developer experience) is garnering increased attention at many software organizations as leaders seek to optimize software delivery amid the backdrop of fiscal tightening and transformational technologies such as AI. Intuitively, there is acceptance among technical leaders that good developer experience enables more effective software delivery and developer happiness. Yet, at many organizations, proposed initiatives and investments to improve DevEx struggle to get buy-in as business stakeholders question the value proposition of improvements.


João Varajão, António Trigo, Miguel Almeida - Low-code Development Productivity
This article aims to provide new insights on the subject by presenting the results of laboratory experiments carried out with code-based, low-code, and extreme low-code technologies to study differences in productivity. Low-code technologies have clearly shown higher levels of productivity, providing strong arguments for low-code to dominate the software development mainstream in the short/medium term. The article reports the procedure and protocols, results, limitations, and opportunities for future research.


Ivar Jacobson, Alistair Cockburn - Use Cases are Essential
While the software industry is a fast-paced and exciting world in which new tools, technologies, and techniques are constantly being developed to serve business and society, it is also forgetful. In its haste for fast-forward motion, it is subject to the whims of fashion and can forget or ignore proven solutions to some of the eternal problems that it faces. Use cases, first introduced in 1986 and popularized later, are one of those proven solutions.


Jorge A. Navas, Ashish Gehani - OCCAM-v2: Combining Static and Dynamic Analysis for Effective and Efficient Whole-program Specialization
OCCAM-v2 leverages scalable pointer analysis, value analysis, and dynamic analysis to create an effective and efficient tool for specializing LLVM bitcode. The extent of the code-size reduction achieved depends on the specific deployment configuration. Each application that is to be specialized is accompanied by a manifest that specifies concrete arguments that are known a priori, as well as a count of residual arguments that will be provided at runtime. The best case for partial evaluation occurs when the arguments are completely concretely specified. OCCAM-v2 uses a pointer analysis to devirtualize calls, allowing it to eliminate the entire body of functions that are not reachable by any direct calls.





© ACM, Inc. All Rights Reserved.