When Microsoft announced that they were shutting down the legendary MSDN Magazine, it caused a stir, but a small one. After all, today’s developers have plenty of options for getting information about bleeding-edge Microsoft technologies. The web is stuffed full of tutorials, articles, API references, videos, courses, forums, and presentations that cover even the newest tech.
But life was different in the year 2000, when Microsoft fused together two tech journals—Microsoft Systems Journal (MSJ) and Microsoft Internet Developer (MIND)—to create the first issue of MSDN Magazine. In 2000, you got what the product shipped with. In the case of Visual Studio, that meant terse HTML Help in a .chm file. It looked like this:
Developers who’ve been around a few decades will remember the broken search feature, and the utter exhaustion of clicking through endless book icons in the table of contents. So many book icons. So little practical advice.
If you wanted to go beyond the standard documentation, or learn about something new before it was released, life was more challenging. If you were one of the lucky ones, you had a contact on a Microsoft team — someone who could be counted on to answer an occasional email about a pre-release product. If not, you had to learn from someone with an inside track at a conference of training event. Knowledge was valuable and sometimes difficult to get. Publishers raced each other to put out best-selling books based on beta versions of new technologies (and some appeared with serious errors). One publisher, Wrox, became known for their hilariously photoshopped “yearbook” covers — because if developers needed information about new technologies, the fastest way to get it to them was to cobble a book together with the contributions of a dozen people or more.
If you didn’t have a connection to Microsoft — well, at least you had MSDN Magazine. It wasn’t just a journal of good reads about software development. It was a priceless window into what Microsoft was thinking and doing. It was also a lifeline for developers hunting for new information.
To commemorate the end of MSDN Magazine, I took some time to re-read some of its best old issues. Here’s my own highly subjective pick of five seminal MSDN articles (plus one bonus!), along with a bit of background about what made these pieces so important.
1. The lore of Don Box
Article: “A Young Person’s Guide to the Simple Object Access Protocol”
Author: Don Box
Issue: March 2000 (the first issue of the newly named MSDN Magazine)
Money quote: “Today the average programmer is more interested in building scalable, distributed applications than implementing floating, semi-transparent, nonrectangular, owner-drawn Coolbars in MFC.”
It would be hard to write a history of Microsoft development without meeting the colorful character of Don Box. In the days when programming gurus could be as eccentric as they wanted, Don Box was famous for coining the phrase “COM is love,” driving a car with the license IUnknown, and presenting a TechEd talk about web service standard SOAP — while partly clothed and in a bathtub. (Because SOAP, get it?)
In this MSDN article, Don Box explains the history of remote procedure calls, and then describes a bold new future where messages will travel over the open standard HTTP. Ultimately, SOAP’s bulky XML encoding fell by the wayside in favor of simpler approaches, like JSON encoding. But the core philosophy of plain-text message exchange over HTTP remains intact. It’s surely no accident that the very first article of MSDN Magazine called out to the future — and the future answered back.
2. The .NET reset
Author: Jeffrey Richter
Issue: September 2000
Money quote: “.NET represents a whole new way of developing software. You’ll notice that I didn’t say developing software for Windows.”
If you had to pick MSDN Magazine’s most influential moment, it would surely be the September 2000 issue, which presented Microsoft’s dramatic platform reset: the .NET Framework. Every article in this issue introduced a different mini-revolution, with close looks at the new Visual Studio IDE, the C# language, web services, and ASP.NET (which was still called ASP+). To say developers were shocked is an understatement. It was as if someone had flipped the table on the world of Microsoft development.
Two decades later, Jeffrey Richter’s introduction to .NET is still a solid starting point for anyone wanting to understand the platform. He digs deep into the .NET runtime, the compilation process, metadata—and this is only part one! But most prophetically, he imagines a web where one business can query information from another. He dreams of third-party web services that can coordinate restaurant reservations and run online marketplaces — which is pretty much exactly what happened.
3. The cost of bad code
Article: “Code Cleanup: Using Agile Techniques to Pay Back Technical Debt”
Author: David Laribee
Issue: December 2009
Money quote: “In every codebase, there are the dark corners and alleys you fear. Code that’s impossibly brittle; code that bites back with regression bugs; code that when you attempt to follow, will drive you mad.”
MSDN Magazine is best known for pulling back the covers on Microsoft technology, but it also featured softer pieces with coding advice. (See, for example, it’s early exploration of test-driven development.) This piece about technical debt remains nearly perfect ten years later. It clearly exposes the problem: the way that all codebases drift toward complexity and chaos. It goes on to give practical advice that developers can use to meet the challenges of old over over-complicated code. In the years since, many articles have been written on the same subject, but few have truly added to the discussion.
4. 3D rendering for mere mortals
Article: “Pixel Shaders and the Reflection of Light”
Author: Charles Petzold
Issue: October 2014
Money quote: “If you could see photons … well, you can see photons, or at least some of them. Photons are the particles that make up electromagnetic radiation, and the eye is sensitive to photons with wavelengths within the range of visible light.”
This is not the normal way to start an article about DirectX. But it is vintage Petzold — someone who is never in too much of a hurry that he can’t give readers the full background picture on every subject he touches. So when Petzold tackles 3D rendering in DirectX or WPF, he also explores the mathematics of shapes, the workings of GPU hardware, the history of art, and the physics of light. Naturally.
Many old-school Windows programmers owe Petzold their early careers for his work explaining the quirks or of the Win32 API (yes, Windows was 32-bit back then) in his legendary book Programming Windows. Those who were still reading MSDN in 2014 could follow him along yet another new frontier. There, he penned a regular column that gave a surprisingly accessible introduction to the world of DirectX 3D.
5. Final words of coding wisdom
Article: “3 Things: A Few Last Words on Software”
Author: Dino Esposito
Issue: November 2019 (the final issue)
Money quote: “Perhaps a problem did not want to be solved so much as to be understood.”
What’s the best response when your programming magazine shuts down? You could explain the way things have changed, talk about the future, or just thank everyone for being at the party. Or, you could keep working down to the wire, and share a few more useful coding lessons. This is the approach that Dino Esposito takes in his last column.
Always a voice of relentless practicality, Dino Esposito uses his final pages in MSDN Magazine to spark new conversations. He reminds us of the dangers of over-engineering, talks about what it means to understand code, and quickly sizes up a practical way of thinking about machine learning. And he reminds us why we loved MSDN Magazine — not for the early-access information, but for the good advice that never expires.
BONUS: A throwback to another era
Article: “Microsoft Operating System/2: A Foundation for the Next Generation”
Author: Tony Rizzo
Issue: May 1987 (in Microsoft Systems Journal)
Money quote: “After much waiting, speculating, and hoping, the word from Microsoft and IBM is out, and that word is Operating System/2 (OS/2), their new single-user, multitasking operating environment.”
Tracking down articles from the early Microsoft developer journals is tricky. If you do get hold of one, you’ll be rewarded with a window onto a very different world of software development — one that was pre-Internet, pre-multithreading, pre-multimedia, and pre-GUI. Many of these articles are just historical curiosities. But some are fascinating stops in the story of computing.
This article from Microsoft Systems Journal sounds almost like a timeline from an alternate universe, with Microsoft and IBM planning to jointly release a new graphical operating system. Sadly, the project was destined to fail. Computer users found OS/2 too complicated, too demanding, and lacking hardware and software support. Instead, they flocked to Windows, which was still nothing more than a fancy graphical shell over the limited operating system called DOS. Eventually Microsoft abandoned OS/2, built their own graphical operating system, and took over the world. The rest, like MSDN Magazine, is history.
With twenty years of MSDN Magazine, and another ten years of Microsoft developer journals under different names, there’s plenty I didn’t cover. If you’re feeling nostalgic, Microsoft has put all issues of MSDN Magazine online. Hopefully, Microsoft Systems Journal (MSJ) and Microsoft Internet Developer (MIND) will also reappear someday soon. After all, as every developer who’s been around knows: you leave your mistakes in the past, but you keep the lessons for the future.
For a once-a-month email with our best tech stories, subscribe to the Young Coder newsletter.