// The blog

Field notes on building software.

Short, practical write-ups on the languages and tools I build with — PHP, JavaScript, CSS, Git, Flutter and Rust. Mostly notes to my future self, shared in case they help you too.

45
Articles
6
Topics
★ LatestGit

Git Flow vs GitHub Flow: Choosing a Branching Strategy for Your Team

Git Flow and GitHub Flow take very different approaches to team branching and releases. Let's compare them, see where trunk-based development fits, and sort out how to handle versioned releases, hotfixes, and everything in between.

June 14, 2026·7 min readRead →
Filter
More articles44 more
Jun 14, 2026
Git

GitHub Flow: Keep Your Main Branch Deployable

GitHub Flow is the lightweight branching workflow built on a single rule: anything in main is deployable. Here is the whole loop, branch, pull request, review, merge and deploy, with the git and gh commands and an honest look at where it fits.

7 min read
Mar 23, 2024
Rust

Starting with Rust: From Installation to Your First Program

Learn how to install Rust and write your first "Hello, world!" program.

2 min read
Oct 7, 2023
Flutter

Flutter Version Management

Managing multiple Flutter versions does not need not be a headache. Let's jump into FVM and see how it can simplify your Flutter journey.

2 min read
Oct 7, 2023
Flutter

Setting Up CocoaPods for FVM-managed Flutter Projects

A guide to installing CocoaPods for a Flutter project while using FVM to manage Flutter versions, ensuring a smooth setup for iOS development.

1 min read
Oct 7, 2023
Flutter

Troubleshooting Xcode 15 Build Issues in Flutter Projects

Uncovering solutions to common issues faced when updating to Xcode 15 in a Flutter project using an older version of CocoaPods.

1 min read
Nov 4, 2018
Git

Git: Tracking a Remote Branch for Changes

When you fork a project, you need a way to pull in changes from the original repository, usually called upstream. Here is how to wire up an upstream remote, actually sync your fork, and set up branch tracking so plain git pull and git push just work.

4 min read
Nov 4, 2018
JavaScript

JavaScript's map, filter, and reduce methods

JavaScript provides some amazing functions that can be called against your arrays to help filter them, manipulate them, or even reduce them down to a single value or grouped values.

3 min read
Nov 2, 2018
PHP

FizzBuzz in PHP: A Fresh Approach

FizzBuzz is a very popular programming question that tests your logic to see if you can build a simple program.

1 min read
Nov 1, 2018
PHP

PHP's array_reduce is not only for outputting single values

PHP's array_reduce is a simple way to partition a set of data or return a single value. It is super powerful and worth spending time learning.

2 min read
Dec 6, 2016
Git

Improve Your Git Workflow with Git Flow

Git Flow is a structured branching model built around versioned, scheduled releases. Here is how its branches fit together, a hands-on walkthrough of features, releases and hotfixes, and an honest take on when it is still the right call.

6 min read
Dec 5, 2016
HTML & CSS

Using CSS Transitions

CSS transitions are the standard way to apply transitions to your elements, and have been for years, replacing the old approach of using JavaScript. In this article, I'll go through each of the transition properties available, and provide examples of how to use them.

6 min read
Dec 4, 2016
HTML & CSS

Structuring Your Website With HTML 5 Semantics

Prior to HTML 5, there was no real markup to help explain the intent behind your HTML code. The goal of HTML 5 was to offer a more readable way of writing your code, so that any author that comes after you can have an easier time going through what you've created.

4 min read
Dec 3, 2016
HTML & CSS

Interpolation in Stylus

You can also use interpolation to improve your functions for reuse, as well as your other code within your stylesheet. The way it works is that you can wrap your expression within {}, which will then be outputted as the identifier.

2 min read
Dec 2, 2016
HTML & CSS

Creating Configuration Files In Stylus

It's super simple to create a configuration file for instance that would manage your media query break points. You could also use a configuration file for managing colors, font sizes, and other variables such as gutter spacing and more.

1 min read
Dec 1, 2016
HTML & CSS

Using Functions and Mixins with Stylus

Stylus allows you to create functions and mixins of reusable code for your stylesheets. You can also handle mathematical operations, unary operations, and more allowing you complete control over your stylesheets with ease.

4 min read
Nov 29, 2016
HTML & CSS

Setting Variables in Stylus

Unlike CSS, in Stylus you can assign expressions to variables that can be reusable throughout your stylesheets.

2 min read
Nov 28, 2016
HTML & CSS

Using Selectors in Stylus

Selectors are a way to pick the elements that you want styled. In Stylus, similar to CSS, you can apply a set of styles to any element by separating them by a comma delimited list. Stylus though, also allows you to select multiple elements by separating each on their own line.

5 min read
Nov 27, 2016
HTML & CSS

Learning Stylus: A CSS Pre-Processor

This mini-series will be a little different to how you may see other articles on my site. Really this article is more geared as notes for me as I go through the documentation for Stylus, and learn the ins and outs of this beautiful language.

1 min read
Nov 26, 2016
HTML & CSS

BEM Methodology Overview and Naming Conventions

BEM or Block Element Modifier is a naming convention used to help organize your code base. In this article, I discuss its uses within your CSS projects.

4 min read
Nov 25, 2016
JavaScript

Introduction to ECMAScript 6

The latest in ECMAScript 6 introduces new features to JavaScript which makes it so much more fun to use, while solving problems that have been around for years. The intent of this article is to provide you with resources you can use to start learning ES6 today.

1 min read
Nov 24, 2016
JavaScript

Babel Installation and Configuration

Babel offers a convenient way to transform your ES6 code to JavaScript that all browsers can understand. In this article we'll go over a basic configuration that will enable you to start using it with any project right away.

3 min read
Nov 23, 2016
JavaScript

Configuring Stylus CSS Pre-Processor with Gulp and Sourcemaps

In this article we'll go over how to configure your project to process Stylus files using Gulp. We'll also create source map file which your browser will use to help point you in the right direction of your files when developing

1 min read
Nov 22, 2016
JavaScript

Configuring Gulp With Less CSS Pre-Processor

Less is a CSS pre-processor allowing you to create variables, mixins, and functions in an effort to make your CSS more maintainable.

2 min read
Nov 21, 2016
JavaScript

Using Browser Sync with Gulp for Live Reloading

Browser Sync is a nice tool to use while developing. It allows your browser to reload live when changes are made to your files. For instance, assuming we're watching our CSS file for changes we can have the browser auto refresh/sync when it sees those changes made.

2 min read
Nov 20, 2016
JavaScript

Gulp Watch: Automate Your Gulp Tasks

Gulp watch is perfect for when you're editing project files since it allows you to not have to run the gulp command manually each time.

2 min read
Nov 19, 2016
JavaScript

Configuring Gulp On A New Project

Gulp may seem like a scary thing to wrap your head around at first, but it's actually quite easy to start using once you understand the basics.

6 min read
Nov 18, 2016
JavaScript

Yarn: Publishing a Package

Publishing a package to the npm repository has never been simpler. With a few steps, you can create a package that is redistributable to all of your projects.

3 min read
Nov 17, 2016
JavaScript

Yarn: Fast and Secure Dependency Management

Yarn is a super simple dependency management tool which is way faster to use instead of traditional npm. It acts as a drop-in replacement, so you can get started using yarn right away. The best way to install yarn is by using npm.

3 min read
Nov 16, 2016
PHP

Support for keys in list(), or its new shorthand syntax [] in PHP

Now as of PHP 7.1, you can define the keys of your array that will be parsed when destructuring your arrays. Prior to PHP 7.1, you could only use arrays with numeric indexes. Now with this new addition, our lives just got easier.

1 min read
Nov 15, 2016
PHP

Type Hinting With The Iterable pseudo-type In PHP

As of PHP 7.1, you can now type hint your method/function arguments with the keyword iterable for handling arrays or even objects that implement the Traversable interface.

1 min read
Nov 14, 2016
PHP

Type Hinting Callable Functions in PHP

As of PHP 5.4, you can type hint your method arguments with the callable keyword allowing you to enforce the type of data that is passed via your arguments.

1 min read
Nov 13, 2016
PHP

Setting Visibility for Your Class Constants in PHP

Now in PHP 7.1+, you can set different visibility modifiers for each of your class constants. The available visibility modifiers consist of public, protected, and private.

1 min read
Nov 12, 2016
PHP

Using Anonymous Classes in PHP

As of PHP 7, you can now create quick throwaway objects for use within your projects. This can be especially useful for your automated tests, for instance, with allowing you to create quick implementations of your interfaces.

1 min read
Nov 11, 2016
PHP

Symmetric Array Destructuring in PHP

As of PHP 7.1, you can now use the shorthand array syntax to destructure your arrays for assignment. Previously you would have had to use a function like list, but now you can use the simple new array shorthand syntax.

1 min read
Nov 10, 2016
PHP

Using PHP's array_map to format your arrays without loops

So let's face it, loops are a bit boring. So how can we mix it up? Let's assume we have a case where we have a CSV file that we want to quickly parse.

2 min read
Nov 9, 2016
PHP

SOLID Principles in PHP

The 5 basic principles for Object-Oriented Design, SOLID, were first created in an effort to improve maintainability in our code bases. SOLID is a mnemonic acronym that stands for each of the following principles: Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion.

7 min read
Nov 8, 2016
PHP

Filtering Arrays Without Using Loops in PHP

PHP has a built-in function called array_filter that allows you to filter through your arrays without the need for a loop. Personally, this approach feels much cleaner to me and simpler to comprehend.

1 min read
Nov 7, 2016
PHP

Void Return Types in PHP

As of PHP 7.1, we can now use void return types within our methods. This is useful for cases where you have methods that are just setting or processing data without the need of returning any values.

1 min read
Nov 6, 2016
PHP

Type Hinting with Nullable Types in PHP

As of PHP 7.1, you can now set your type declarations as nullable by simply prefixing them with a question mark ?. In doing so a null value can be passed in as a parameter or returned as a value for your methods.

1 min read
Nov 5, 2016
PHP

PHP Group Multiple use Declarations

As of PHP 7, you can now group your imported classes, functions, and constants from under the same namespace.

1 min read
Nov 4, 2016
PHP

PHP Null Coalescing Operator

One of my new favorite additions to PHP 7, is the Null Coalescing Operator. It cleans up your code by removing a tedious step of checking if some value is isset() and not NULL and returning it or if not setting a default.

1 min read
Nov 3, 2016
PHP

PHP Spaceship Operator

One of the new features to hit PHP 7 is the Spaceship Operator. This new trick helps improve the way you'd compare 2 expressions. In short, the comparison returns 1 of 3 values (-1, 0, or 1) depending on the result of the comparison.

2 min read
Nov 2, 2016
PHP

Return Type Declarations in PHP

PHP 7 now makes it possible to declare return types for your methods. This allows you better control over the data that will be returned from each method in your application.

3 min read
Nov 1, 2016
PHP

Scalar Type Hints in PHP

Starting with PHP 7.0, it's now possible to declare scalar type hints for your method arguments. Previously, we were able to use array and callable, but now with PHP 7+, we have much more control.

1 min read