Recent Posts

5 Tips for Writing Better Python

I’ve been writing Python for some time now, and when I reflect on some of the older code I’ve written… I sometimes cringe. For example, when I was just starting out, I wrote this Sudoku game in python (available on GitHub here). I thought that this was one of my better pieces of work at the time. It turns out I can’t even clone and run this because I didn’t add a setup.py or requirements.txt file, a mistake I would never make today!

Read More
Why You Shouldn’t Import Functions and Classes Directly in Python

Why You Shouldn’t Import Functions and Classes Directly in Python

Today I was doing some programming, trying to finish up an old project that was 80% done, but I never finished. The project is an API for sharing beer ingredient data, being the avid homebrewer that I am. I was in the middle of writing some pretty simple authentication logic, when I found a weird bug in my code. The code, featured below, was pretty straightforward, or so I thought.

Read More
building construction site with crane

Building a Web App with React and Django: Getting Started — Part 1

So you want to build a web app. Well, what’s stopping you? If you’re reading this, you’ve probably already been programming for some time, but you’re just missing some of the steps. I’ve been there before. I know how frustrating it can be to know 70% of what you need to do to build a killer web app for an idea you have, but not have enough knowledge to take the idea from beginning to end.

Read More
An Overview of Web App Architectures
May 9, 2021

An Overview of Web App Architectures

In the modern world of web app architecture, it’s truly too easy to become lost in the variety of options available to us. When it comes to building web applications, a few stand out. But the task of deciding which architecture to use is still daunting. We’re all probably familiar with the classic Model-View-Controller pattern (MVC). But then there’s MVVM, MVP, Flux, and a variety of others. What are the differences? Which is right for me? How do they compare to each other? These are the questions I’ll try to answer. I will make general recommendations regarding the use of certain architectures, but these cannot be applied to all projects, as every project is unique.

Read More
Man drawing on a white board

4 Reasons to Separate Your Web App’s UI and API

Unless your web application is 100% client-side code, you should split it into a backend API and a frontend client. Too often people fall into the trap of believing that because they need a “quick” turnaround they shouldn’t spend the time developing a separate API and client-side app, or they believe that their application is small enough that they can get by without doing this.

Read More
Austin Texas skyline, To ICSE ’16 and Back Again: A Research Tale
May 9, 2021

To ICSE ’16 and Back Again: A Research Tale

I recently went to Austin, Texas to present my research on best practices and common mistakes in game development at the International Conference on Software Engineering (ICSE ’16). My paper, titled “What Went Right and What Went Wrong”: An Analysis of 155 Postmortems from Game Development, presents an empirical study on postmortem reviews from game development. I coauthored this paper with Pavithra Sathiyanarayanan, Meiyappan Nagappan, Thomas Zimmermann, and Christian Bird.

Read More