About Me - Programming History

I grew up with a Windows 95 computer that had Word 97 on it. As a kid I explored every nook and cranny of what that computer had to offer, and learned a lot about Windows and Office this way. Word 97 also had an amazingly robust customization system that I'm still enamored by, and also one other key feature: macros. I was fascinated by macros, but didn't fully understand how the VBA code a macro generated translated into the actions I saw on screen.

That changed in 2008 (when I was in 8th grade), when I picked up the book "Build a Program Now! Using Visual Basic 2008 Express Edition". This was the key that unlocked programming's mysteries to me, and set me fully on the path of being a computer nerd.

As the years went by, I continued to follow the improvements to Windows and Office. I poked and prodded the UI design present in Windows XP a lot, and then in 2006 Microsoft unveiled the Ribbon interface, which debuted in Office 2007. This was fascinating to me and it was the first time I got to see, first-hand in real time, the UI and UX considerations that led to the Ribbon we have today. (The video ""The Story of the Ribbon"" is an amazing presentation I recommend everyone to watch, it's just a shame Microsoft took down the original website so now the video's only available through the above archive link or crappy YouTube reuploads.)

With Office 2007 and my Visual Basic 2008 book as inspirations, I became fascinated with not only programming but also building a pleasing, colorful, and customizable UI.

I started in Visual Basic with my own projects, including building my own calculator program, but in high school I joined on to the Better Explorer project. I worked on that for years, and learned a lot from others on the team, including the lead developer Dimitar. Better Explorer also served as my introduction to C#.

Nowadays, C# is my primary language of choice, as I feel it's the perfect combination of speed, safety, features, and simplicity. Also, C# works on all the platforms I care about: desktop, web, gaming, mobile, even Office. Most of the time, I've paired C# with WPF, building desktop apps on Windows. I'm now trying to branch out more, including using ASP.NET Blazor on this very website and trying out Avalonia UI and .NET MAUI to build apps for multiple platforms. I've also done small things in Java, C++, Python, and JavaScript/TypeScript.

As I keep going, I've started working on larger and larger projects, such as building my own game engine, a calendar program, and a digital system for creating and editing TTRPG character sheets. Not everything I've done has turned into a releasable product, but I've learned something new with each project I take on, and my hopes for the future is to keep learning and expanding my horizons and get more products out and hope people use/like them.

For UI design, I now have my own UI library and icon set I use for my desktop programs and I'm still continuing to learn on this front too. With my programs and UIs, my aim is always to develop projects that look nice, are fairly customizable, and also have accessibility support.