40 Years of Computing (Part 2: 20 Years of Blogging)
This year, I have hit two significant milestones. In May, I reached the 40-year mark of using computers. And this month I celebrate my 20-year “blogiversary”.
My previous blog covered the first 20 years, here is now the timeline of the second 20 years:
- 2003
- After reading the .NET-related blogs at weblogs.asp.net for a while, I decide to start my own blog on that platform.
-
Two articles about Windows Forms turn out to be pretty popular, even years later:
- An article about documentation patterns inspires what will later become GhostDoc, a Visual Studio add-in for auto-generating parts of XML doc comments.
- 2004
- My first, but definitely not last, article about fonts: My Transition from Fixed to Proportional Width Fonts for Editing Source Code. You can find the other articles under the tag “Style”.
- GhostDoc wins Roy Osherove’s Visual Studio add-in coding contest, which is the start of an incredible ride for many years: 1st Place for GhostDoc !!!.
- 2005
- GhostDoc keeps me busy during the year. The add-in is featured in MSDN magazine, and I am asked to write a chapter for the book “Visual Studio Hacks”. I also create a video that is shown in an evening session at PDC05.
- Speaking of PDC05: Winning the add-in contest in 2004 scored me a Microsoft Campus Tour, on the condition that I get to Redmond on my own expenses. One year later, the trip from Germany to Los Angeles for PDC finally offers the opportunity to make a small detour to Seattle.
- After the summer, I start looking for a .NET user group in the Cologne/Bonn area, to no avail. I talk to the owner of Comma Soft, and can convince him to let me use the conference rooms.
- 2006
- I announce my .NET user group “Bonn-to-Code.Net”: .NET User Group für Bonn und Umgebung (in German).
- GhostDoc wins the Audience Award at BASTA! Conference.
- The Telekom Baskets Bonn install video walls just a couple of weeks before the season starts – and I fill the need for software: When the 0.1 Version of Your Software Better be Good...
- 2007
- GhostDoc appears in another book: GhostDoc in “Windows Developer Power Tools”.
- I give my first public talks outside of my own user group: At the user groups in Paderborn, Leipzig, and Braunschweig, and at the NRW07 and BASTA! conferences.
- 2008
- I win another programming contest – not necessarily because of crazy coding skills (which I don’t have), but because of nailing the absolute basics, like documenting what, why, and how to use it: 1st Place for EventFilter!
- The “Afterlaunch 2008” community conference is the first large event that I help to organize. While the conference is a success, the drama behind the scenes is pretty disappointing. On a positive note, the event inspires the non-toxic part of the organizing team to band together and start their own conference series called “dotnet Cologne” in the following year.
- My various activities take a toll on GhostDoc development. When the owner of SubMain asks me whether I would be interested in selling all rights to the add-in and its source code when we talk at PDC08, I consider my options and agree.
- 2009
- The new community conference “dotnet Cologne” is a huge success: Das war die dotnet Cologne 2009 (in German).
- After the contract has been finalized, I officially hand over GhostDoc to SubMain: The Future of GhostDoc. The transition turns out to be extremely smooth, and I immediately have more spare time, as I hoped I would.
- 2010
- The second dotnet Cologne conference is again a massive success and continues to grow in the following years.
- The MIX10 conference in Las Vegas features a design fundamentals workshop that would later turn out to be important for my move from a pure developer to a mixed UI/UX/design/dev role.
- It seems I cannot stop publishing freeware tools. Emaroo is a free utility for browsing most-recently-used (MRU) lists of various applications. There is no other self-written software that I use as often as this program.
- 2011
- After too many conference sessions where live coding was not as effective as the speaker envisioned (to put it mildly), I just have write a rant: Live Coding in Presentations – Don’t Waste my Time!
- As a member of the German INETA speaker’s bureau, I give talks in Berlin, Leipzig, and Dresden (in German).
- 2012
- At Comma Soft, I switch from being a frontend developer to a role as a user experience specialist / product designer.
- Another INETA user group tour: Rückblick: 5 Tage, 5 Vorträge im Zeichen von UI/UX. That turns out to be a great experience (pun intended).
- To offset the very little coding I do at work, I start a new digital signage application for the home games of the Telekom Baskets Bonn, using WPF. Some of the code and XAML for this is still in use in 2023.
- 2013
- My software development for the Telekom Baskets Bonn picks up steam. The video walls in the Telekom Dome are used more than ever before for advertising, information, and entertainment. This inspires blog posts like An Example for Self-Hosting Nancy in an Application
- For the 2013/2014 season, the club plans to buy a LED-based perimeter advertising system. A technical demo of the solution looks promising, and the system is open enough that I can write software that complements the “official” software. The idea is that the solution provider’s software takes care of the boring part, i.e., displaying advertising videos and images in a loop, while my software is for special effects, e.g., during the team presentation. I write about some technical details in Using a VisualBrush for Slicing Content.
- When the season starts, it turns out that the production software by the solution provider cannot drive all eleven LED modules for a prolonged period of time without running into timing issues and finally crashing.
- 2014
- Even though the stability of the LED banner software improves from version to version, it becomes clear that I have to write my own software. Which is kind of a chore because I have to deal with the “bread and butter” features of business software in a hobby project.
- A C# Feature I’d Really Like to See in a Future Version: property-scoped fields. Being discussed for years (see this Github issue), but now, in 2023, we are still not closer to an implementation. The alternative, the “field” keyword, has been teased to be included in C# in recent years, but nothing is certain at the time of writing.
- weblogs.asp.net moves to a new platform, Orchard CMS.
- 2015
- My take on a new technology: WebAssembly – A new Hope
- My tool of choice for blogging, Windows Live Writer, is released as an open source project called Open Live Writer. Unfortunately, the excitement is rather short-lived, and activity dies down after a few pre-1.0 releases.
- 2016
- Two articles on empathy: The Importance of Empathy and The Importance of Empathy, pt2: It’s Good for You, Too!
- I seriously try to get into programming for the Universal Windows Platform (UWP) over the summer, but time constraints stop me before I can develop anything remotely useful.
- 2017
- To reduce stress and free up some time, I make an important decision over the summer (see Zeit für Veränderungen, in German):
- I close down the .NET user group after nobody else wants to take over, and
- I pull out of organizing the dotnet Cologne conference. I continue to visit the conference as a speaker and help setting up the digital signage system, though.
- 2018
- After a frustrating summer of working on a new version of my digital signage software using the Universal Windows Platform (UWP), I give up. Programming a UWP app feels like each hour of productive programming is matched by many hours of diagnosing obscure problems. Insufficient error messages and silent crashes of important tools take away any enjoyment.
- Scrambling to finish at least some new functionality until the start of the 2018/2019 basketball season, I turn to ASP.NET Core (Web API, SignalR). The difference is like night and day. With enough resources available on the web, this is a surprisingly pleasant experience.
- 2019
- My article How to Approach Problems in Development (and Pretty Much Everywhere Else) turns out to be popular, being mentioned multiple times on Twitter and other platforms. The comment, “This is the wisest post I've seen on software development in a while. It strikes the right balance between ‘it depends’ and giving some good heuristics about what the problems are” makes my day.
- With the release of .NET Core 3.0, I complete the migration of all my digital signage-related software. My desktop software is now using the Windows Presentation Foundation (WPF) on .NET Core. While I am aware that WPF is legacy technology, I am not convinced by any other UI alternative from Microsoft. For now, I take a “wait and see” approach on that issue.
- 2020
- Covid-19 strikes and everybody is working from home. Comma Soft is prepared; remote access is not a problem. In terms of handling the situation not only from a technological, but also human point of view, the company absolutely shines.
- I publish a number of non-technical articles:
- A Much Too Short Explanation of UI/UX/Feature/Scenario
- UI/UX for Devs: Have You Thought About the Mental Model?
- UI/UX for Devs: An Illustrated Mental Model for Empathy
- Working from home means dealing with webcams, which inspires the following article: How to Access Webcam Properties from C#
- 2021
- I release another freeware tool: Adjust, Save and Restore Webcam Properties With CamProps (también en español)
- The work on my digital signage software leads me to a topic that I have only watched from far away before: Office Automation (How to Create a PNG File with Transparent Background from a Powerpoint Slide in C#)
- 2022
- 25 years at Comma Soft. It is almost unbelievable, but with diverse areas of work, and competitive pay without being forced into a management role – why change?
- More articles on PowerPoint
- Using PowerPoint as a WYSIWIG Editor for HTML Templates (Proof of Concept in C#)
- An update to the code on GitHub
- Another non-technical article: Thinking About the Costs of a Software Feature
- Three blog posts dealing with fonts and text rendering in one year:
- 2023
- I have finally built a new desktop computer that is capable of running Microsoft Flight Simulator in VR. When I think back to my first flights in Flight Simulator on a green CRT monitor, it is incredible how far technology has progressed.
- In July, I have completed 20 years of blogging. A lot has changed. In the early years, weblogs.asp.net was the go-to .NET blogging community. I was lucky to get in just before no new authors were accepted. Then some well-known bloggers left, and the Microsoft employees (were) moved to their own community. And at some point, using an RSS reader became something that old people do.
Where to go from here?
With the huge number of things I’d like to do in my spare time, I have to make an honest assessment every once in a while. What is really important to me? What do I want to spend my time and energy on? In the case of blogging, I feel that 20 years is a good point to call it quits.
I plan to conserve a snapshot of the current content of my blog, just in case weblogs.asp.net gets shut down. Orchard has a feature to export the raw data, so I will definitely do that. But before I do anything with the data, I will first try what I did with the website of my .NET user group Bonn-to-Code.Net. There, I used httrack for turning the CMS-based pages into a static site, which I then cleaned up using the HTML Agility Pack. Let’s see how things work out.
When the move is finished, I will write a final blog post to say goodbye.