Functional programming is a universally-applicable programming paradigm that yields clear code with evident effects, that is easier to debug and maintain. This functional approach has become popular in the software world, and I wanted to do my best to provide a thorough introduction. Here’s what you can expect: Fundamental functional programming concepts and basic examples […]
Generative art has consumed my free time for a few reasons. First, there’s few experiences that match creating and holding your own art. Second, my degree didn’t prepare me to make paintings, but I did build the skills for generative art. Finally, generative art focuses on writing code to make something you enjoy. Much better […]
I recently worked on a legacy Flask app that was in need of refactoring. We were unfamiliar with a lot of the codebase, and we had a monolithic server.py with over a hundred routes. Using Flask’s blueprints, we were able to break the app into logical segments and gain familiarity with the codebase.
Git is the ubiquitous version management tool, but most of us work with it only through the higher-level commands. However, under the hood, it uses just a small set of powerful commands. Today, I’m going to walk you through the process Git takes to go from untracked files to commits on master. I’ll cover some […]
Mentoring student hackathons is one of the best ways to have a direct impact on your local tech community. Hackathons are essentially invention/creation marathons that focus on building small software or hardware projects. I’ve been mentoring and attending hackathons for over two years now, and they’re consistently among the most enjoyable experiences in my life.
HHVM and Hack are some interesting innovations that Facebook has brought to the PHP ecosystem. In this post, I’m going to explore a few aspects about each of these technologies, including their features, development experience, and platform support.
I had the unfortunate experience of getting my laptop stolen last summer. Luckily, I was able to restore most of my development environment pretty easily from my backup Git repository. I wanted to share how I set up that repository and how I back up my system package list.
Regular expressions (or regex) are incredibly helpful tools to have at your disposal as a software developer, but they’re often dangerous tools. In this post, I’m going to focus on the times where you shouldn’t use regex, and then I’ll go over some strategies and features to use when you do write regular expressions. Lastly, […]
Well-named variables are one of the most useful tools for building a maintainable and predictable codebase. Poor variable names can confuse users, but good ones make code seem effortless. As Ward Cunningham put it: You know you are working on clean code when each routine turns out to be pretty much what you expected. Naming […]