Introducing Basement Programmer .COM

Welcome to the launch of Basement Programmer Dot Com. Yes, the site content is a bit limited as of now, but this is still day 1. Or rather day -1 as I am finishing up some of the initial files on an airplane on my way home to Boston from Seattle. Basement programmer will serve as the new home for all my things technology related. The point of Basement Programmer is to provide a central location to index and announce all the technical content that I create and make it easy for people to find.


As with everything in life, there are disclaimers required:

All opinions expressed on are my own.

They do not reflect the opinions of my current or former employers, or any groups that I may be, or come to be associated with.

No warrantee of any kind

Everything is a work in progress, and as such your results may vary from my own. Any content provided on Basement Programmer is not guaranteed to be suitable for any purpose. There may be bugs, there may be defects. Anything that you choose to use from this site, you do so at your own risk. While I do take efforts to ensure that anything published is accurate to the best of my ability, I will not accept any liability for anything that is published here. As with all code that you get from the internet, review and take every caution when it comes to using code. The things that I published should be considered experimental / proof of concept. Do not deploy any code into a production environment without fully reviewing and testing it in your environment. That said, if you do find issues with my code, feel free to contact me and let me know so that I can see about fixing it.

Creation of Content

Content published here is my own creation unless otherwise noted. Any similarities to and code that may already exist is purely coincidental. If you believe that I have mistakenly use some of your content without appropriate attribution, please let me know so we can discuss.

All rights Reserved

Content that I publish is intended to be of assistance to you. I will generally publish using a license that allows you to reuse my code and examples. Feel free to use the code I publish as a starting point for your code, commercial or hobby related. However if you are using my code in your project please provide attribution where appropriate. Content should not be reproduced on other sited without my written advanced approval. If you do want to copy any of my content for your site, then get in touch and we can chat about it.

Why Basement Programmer?

Well… mainly because I work predominantly out of a home office that is located in my basement. Now I realize this has become common place since 2020 when COVID pretty much shut down the world. However, I was working predominantly from home for a few years before COVID. I live about an hour and a half outside of my official office location, Boston MA. However, as an out bound customer facing resource. (Solutions Architect) there really was very little reason for me to go into the office on a regular basis. As such I had set myself up in my basement with a desk, comfortable chair, and multiple large monitors. I quickly found that in my case, I was more productive working out of the basement than I was heading into the office.

Given that my background is as a software developer, I became Basement Programmer… and here we are.

Tech Stack

I have been programming for a living since 1995. Simple math puts me at about 27 years in the field as I write this. Back in 1995 the tech stack was pretty simple… I wrote in C/C++ and deployed in DOS, or I wrote Windows applications using Visual C++ and deployed into the Win32 environment…

When .NET first came out, I quickly started moving from C++ to C# as my default language. It’s my default go-to for most things. When I need, or want, to cut code my first thought it usually C# and the .NET runtime. However, in a world that is more and more cloud based, programmers need to be able to function in more than one language. I quite often find myself dabbling in Node JS or Python to get things done. Neither of these has displaced C# for me, but have become “and also” options. I would not call myself fluent in either language at this point, but I dabble… I can pick my way through the code slowly. But that’s the great thing about technology… there is always something to learn, and something to get better at. The majority of my code base these days will be shifting over to the .NET runtime. (Not to be confused with the older .NET Framework runtime.) .NET is the modern, cross platform version of .NET and the natural successor to .NET Core 3.2. For development tools I use a combination of Visual Studio and Visual Studio Code. Each has it’s own place, and I typically choose the editor based on the level of functionality that I need. For example, this site is being developed using the Hugo framework and Markdown. Given this, my editor of choice is Visual Studio Code. I will also use Visual Studio Code for tasks such as writing serverless applications in the AWS Serverless Application Model (SAM) or the Cloud Development Kit (CDK)

Common Frameworks

Two common frameworks that I enjoy working with are the above mentioned Serverless Application Model (SAM) and Cloud Development Kit (CDK.) Both of these make it easy for developers to code Cloud Native applications using C#, as well as other languages. I find productivity to be substantially higher writing my code in C# then trying to work with native Cloud Formation Code.

Wrapping up…

If you got this far, thanks for reading. Hopefully you will be back as the content expands. If you want to get in touch with me, or follow me, the social links are all maintained over on the left. Sit back and enjoy the ride…

All the best