OWASP Top 10 – A02 Cryptographic Failures - Part 1
This is part 1 of my posts on Cryptographic Failures. It is part of a series of blog posts about the OWASP Top 10 . Cryptographic failures remain one of the leading causes of data breaches, and understanding them is key for developers.
Setting up an Ubuntu Server VM with Oracle VirtualBox
This guide shows how to install Ubuntu Server on VirtualBox running on Windows 11, though the process is similar for other host systems.
Setting up an Ubuntu Desktop VM with Oracle VirtualBox
This guide shows how to install Ubuntu Desktop on VirtualBox running on Windows 11, though the process is similar for other host systems.
Introduction to Virtual Machines for Personal Use
In this post we take a look at what virtual machines are and how they can be used to facilitate development, education and product evaluation.
Why You Should Learn Regex (Regular Expressions) - It's Not Just for Code
I spent a significant part of my career thinking of regular expressions as tools only for complex pattern matching in code—and the inevitable debugging nightmare when I had to revisit that code later. Now I know how helpful they are for tasks that support writing code, and I use them regularly for the massive productivity boost they can provide.
Entity Framework Core: The entity type requires a primary key - A common convention error
OWASP Top 10 – A01 Broken Access Control - Part 2
This is part 2 on the topic of Broken Access Control . This is part of a series of blog posts about the OWASP Top 10. This post will focus on securing applications on the server to prevent insecure direct object references (IDORs).
Viewing Environment Variables in VS Code: Pay attention to the Terminal Type
Here’s a quick tip based on a recent mistake I made while trying to view an environment variable in the VS Code Terminal.
Top 10 Software Development Skills for 2025
This is my list of the top 10 software development skills for 2025. The list is based mostly on my own experience. Both skills that I see and work with on a daily basis, as well as trends I see emerging in the industry. Being a software developer requires a lifelong learning mindset. (side note: I’m planning a follow up post on what I think are the best qualities of a software developer.) These are the skills that I think will be important in 2025 and going forward.