January 2018

Volume 33 Number 1

[Cutting Edge]

20 Years of Cutting Edge: A Conversation

By Dino Esposito | January 2018

Dino EspositoA lot has changed in the IT world since the mid-1990s, yet MSDN Magazine—or more accurately, its progenitors Microsoft Systems Journal (MSJ) and Microsoft Interactive Developer (MIND)—were there, informing developers of the latest tools, techniques and technologies they needed to get ahead in the world of Windows programming.

The idea of writing for either of these publications was at the time a dream. I had always been fascinated by writing, going back to my high school years in a small beach-front home on the eastern coast of central Italy. In an era where e-mail seemed to suddenly give everybody the chance to talk to nearly anyone, I worked up the courage to propose technical articles to prestigious magazines like Dr. Dobb’s Journal. By 1996 I was a published author, but I still hadn’t written for either Microsoft magazine.

That all changed when I came across a column called “The Visual Programmer” in MSJ. At the time I was the epitome of the “real” programmer, doing pointer-based stuff in raw C without even the thin protections of the emerging C++ language. I used to look with suspicion on things like Microsoft Foundation Classes (MFC), which seemed designed to shield lazy developers from the harsh realities of programming. I didn’t think highly of those doing “visual” development.

Then, in the October 1996 issue of MSJ, I read a column that boldly claimed to teach readers the way to add VBScript to their existing apps. The author, Josh Trupin, started by apologizing for having missed the last couple issues due to a new role he’d taken at Microsoft. “If you’ve written to me and I haven’t sent you a reply, it’s not because I’m ignoring you. It’s because I’m busy and I’m ignoring you,” he wrote.

I was impressed with the article, but felt also that I was every bit as sharp as the author. If he could write a column for MSJ, why not me? So I contacted Josh to praise his work, only to learn that he had just assumed the role of technical editor at MIND. It didn’t take me long to offer to write for him.

The Inception of a Digital Friendship

Josh and I started collaborating right after that, and we’ve remained friends ever since. The first article I wrote for him was published in the June 1997 issue of MIND (Figure 1). A few months later in January I published what would be the first of many Cutting Edge columns, initially in MIND and later in MSDN Magazine.

Dino’s First Article in the Contents Page of  Microsoft Interactive Developer
Figure 1 Dino’s First Article in the Contents Page of  Microsoft Interactive Developer

Now, exactly 20 years after my first Cutting Edge installment, I wanted to take a moment to look back at the last two decades. And what better way to do that, than to rope in my old friend and colleague Josh Trupin to provide some perspective. Here’s our conversation.

Dino Esposito: Josh, do you remember my first article in the June 1997 issue of MIND?

Josh Trupin: I remember you sending me so many e-mails that I couldn’t just ignore you. But, yes, I really enjoyed your first article ever. What was it? CryptoAPI, right?

Dino: Right. I still have a paper copy of the magazine. I liked it so much (well, I especially liked the check) that I wanted to get working on a second article right away. But getting a response from you was hard! You then told me you had been lame on replies because of your dentist.

Josh: Really? Well, you were more painful than him.

Dino: That’s why you gave me the Cutting Edge column?

Josh: Not really. John Grieb had just started writing a new column called Cutting Edge in the November 1997 issue, but after the first article he resigned and I needed to find a replacement. Giving you the column solved two problems with a single move.

Dino: My first column dates back to January 1998. I think it was on something called Active Scripting.

Josh: Your memory is better than mine. You’re really able to recall that?

Dino: Well, 1998 was a memorable year. In February I joined the first big company in my career. In May my son Francesco was born. In September I left the last big company in my career and decided that I could spend my life writing and coding.

Josh: Your son should be a man now. Does he do any programming?

Dino: He does, actually. He wrote his first mobile app when he was 12 years old, for Windows Phone. He even got a free device from Microsoft.

Josh: Amazing!

Dino: Well, I’ve been doing pair programming for quite some time, and with some success I’d add. You see the picture of my son playing on the computer (Figure 2)? There’s an old copy of MIND in there about e-mails. I was actually reading that magazine cover to cover. I always had it around.

My Dad Is Not That Good with Computers
Figure 2 My Dad Is Not That Good with Computers

Josh: Does Francesco have more programs planned for the years to come?

Dino: He has a math mind and loves esoteric things like neural networks and quantum computing. To my great surprise, the other day he mentioned that he has two goals at this stage of his life. One is to meet Scott Guthrie in person. He can’t believe that a demigod like a Microsoft vice president could really have any memory of me. He also can’t believe that there was a time when I was more popular than Scott! I met Scott for the first time back in 1999 when he was unveiling an antediluvian thing called ASP+.

Josh: And the other desire?

Dino: Joining Michael Freedman’s team at Microsoft.

Josh: Awesome. And what’s that, exactly?

Dino: Michael Freedman is the brains behind the quantum computing effort at Microsoft.

Josh: I heard about Microsoft’s quantum computing work at the Ignite conference, but it seems rather futuristic to me.

Dino: Well, I find it excitedly scary. For example, quantum computing could make affordable exponential calculations that today guarantee data privacy in crucial transactions. Have you ever realized that most of our stuff is secured by the unknown binding between a pair of lovely prime numbers?

Josh: Call me romantic, but I wish I could go back to the early days of scripting.

Dino: You could do a lot of JavaScript today!

Josh: Yeah, but even JavaScript is no longer the thing it was 20 years ago. But it did manage to survive while scary three-letter acronyms like OLE and COM went the way of the dinosaurs. What was the weirdest thing you wrote about in your 20 years of columns?

Dino: Well, in 20 years there have been plenty of technologies I covered that in the end were fated not to last. One I recall is ActiveX Documents, the technology to edit Word and other files in a browser. Another is Silverlight, which was furiously evangelized for a few years before being dropped. Perhaps worst of all, I repeatedly assured people that ASP.NET themes were about to overtake CSS stylesheets in a very short time. Oops.

Josh: You survived. I mean, 20 years of technical writing is a long time. We were two old men of 30 back in 1998, and we’re two old men of 50 today. What do you see today in front of the current generation of old men of 30?

Dino: Interesting question. I see the next decade as the comeback of algorithms and modeling over pure technology and tools. Look at artificial intelligence (AI), for example. Sure, Microsoft is giving us wonderful tools like bots and Cognitive Services, and maybe enterprise-level Blockchain protocols in the near future. To make AI in the real world, to make it scale from the level of cool demos and articles to the real world, we need to learn about problems and problem domains. We need to learn how to build effective AI architectures, which, in essence, is understanding and modeling problems onto abstract structures. It seems to be an executive summary of the operational research exam when I was at college.

Today, we have big amounts of data but only run raw, stupid, brute-force algorithms on it. We have neural networks that still largely rely on the principles of Bayesian statistics, which were formulated back in the 18th century, over two centuries ago. We have a lot ahead of us, but most of it is still hidden.

Josh: Let’s get back to planet Earth. How is your family? You also have a daughter, right?

Dino: The funny thing is that I got married when Microsoft released Windows 95, had my first son when Windows 98 was on its way, and our daughter was born around the time that Windows 2000 shipped.

Josh: So you’re on Linux now or you’re still upgrading your editions of Windows?

Dino: Haha. I just disabled automatic updates. No more kids for me, thanks.

Josh: Me too.

Dino: When was the last time we met? It’s been a “long time, no see” kind of thing.

Josh: We didn’t meet more than two or three times, I think. Then I left the magazine and a lot has happened since. But it’s great to see that MSDN Magazine is still alive and kicking, putting out great content, even in the era of blogs and StackOverflow and Google.

Dino: When we started the Cutting Edge column, digital photography was in its infancy, Google was in beta, and smartphones were the stuff of science fiction. At the same time, the amount of knowledge needed to be a good professional has grown unbelievably. One could spend the weekend in the office—I did it a few times—bent over a collection of MSDN CDs, and on Monday be up-to-date on the state-of-the-art of Windows technology.

Today’s knowledge base is like CosmosDB compared to Microsoft Access. The way developers gain access to technical information has changed, but being quick-to-find information is not the same as learning, or getting acquainted with, a new technology or a framework.

Josh: Is this the reason why you still write articles?

Dino: I write because I love writing. It also helps that I probably have a knack for abstracting core facts and concepts and conveying them in compelling and useful ways.

Josh: What was your best article ever?

Dino: I can’t recall all the articles I wrote, but I remember the days of ASP.NET 2.0 as being very exciting. That was during the first half of the 2000s. More recently, I loved writing about event sourcing and CQRS (msdn.com/magazine/mt185569).

Josh: What will you never forget from these 20 years of Cutting Edge?

Dino: The e-mails we exchanged the morning (actually, my afternoon) of 9/11. I was not watching TV, just listening to the radio and one of your e-mails told me a couple of minutes before the radio that the towers had collapsed.

Josh: What’s in store for the next 20 years of Cutting Edge?

Dino: AI in some way, I guess, but not sure which way yet. Since 1998 we’ve seen the advent of the Internet as a first-class developer platform, the rise of scalability as a problem, and the evolution of serious SQL and then NoSQL databases. We saw the browser evolve from a target for simple JavaScript development into something more. Developers began writing browser-based Web apps in Silverlight, then in C#, and then in JavaScript again. On the data front we went from plain data access to object/relational mapping (ORM) and now toward micro ORM.

Those who start with computers today should be aware that programming languages are like any tool. Handling it well helps, but you can only do a good job if you know how and where to use it.

Dino Esposito is the author of “Microsoft .NET: Architecting Applications for the Enterprise” (Microsoft Press, 2014) and “Programming ASP.NET Core” (Microsoft Press, 2018). Pluralsight author and developer advocate at JetBrains, Esposito shares his vision of software on Twitter: @despos.

Discuss this article in the MSDN Magazine forum