Go Formatting with rgblog

Example output of ANSI escape codes in Terminal (Mac OS)

One of my projects involves a lot of console output, and to make it readable, I added some color. Cyan for important messages, red for errors, and yellow for normal (everything is fine) logs.

The short of it is: I wanted to do the same somewhere else, so I published it.

If you’re a Go developer and want some quick and easy functions to color things, check it out.

Here’s the GitHub repo if you want to see the README. Or, you can just go get github.com/foresthoffman/rgblog and use it right away.


React Counter Customizer

Eons ago, I briefly looked into ReactJS, to see what all the hype was about. At the time, I didn’t see much value in it since it didn’t look applicable to the projects that I was working on. Recently, I decided to give it another go. I took a deeper dive this time, and tried making a React-based customizer for my radial Counter JavaScript library.

Read on! “React Counter Customizer”

Running WordPress PHPUnit Tests With Docker

I recently moved my web development workspace from MAMP to LAMP with Docker. The transition was difficult, due to issues with Ruby and RVM on my host machine. Now that it is working, all is well!

When I started tinkering with Docker, my goal was just to see if I could replicate my WordPress development environment. After I did that, I improved it a bit. Now, i’ve suitably compartmentalized each project. Each WordPress project has its own WordPress installation, MySQL server, error logs, plugin and theme directories.

The only thing missing was being able to run unit tests!

Read on! “Running WordPress PHPUnit Tests With Docker”

I Switched From Pixelmator To Affinity Designer, and It’s Awesome!


On Friday, I dropped $49.99 via the App Store to get the MacOS edition of Serif (Europe) Ltd.’s Affinity Designer. Already, I’m very impressed. Previously I had been using an outdated version of Pixelmator. It was outdated for various reasons, but the point is, it ultimately became unusable. That situation was unfortunate, but understandable.

When it was working normally, Pixelmator was leaps and bounds better than any of the other Adobe alternatives—read, “Inkscape and GIMP”. Pixelmator allowed me to do raster and vector graphic work, without having to sell my soul (and wallet) to Adobe. I’m very grateful for that. However, any mildly complex operations such as working with vector shapes, paths, or masks were very unintuitive.

Oh, and the UX in Affinity Designer is infinitely better. Pixelmator suffered from a plethora of disconnected menus that could cover up the workspace. Affinity Designer’s UI follows the lead of Adobe Illustrator in that the viewport is actually inset. That way the UI outlines the viewport and doesn’t cover up whatever you’re working on. From what I gather the menus are customizable (I didn’t have a reason to do that, so I can’t confirm). Best of all, the viewport isn’t limited by the dimensions of the canvas I’m working on! I can actually move around!

Anyway, I thought I’d share my initial experience with the program. I think that it will be a fantastic edition to my design toolbox. If you’re in a similar situation, Affinity Designer is worth a look.

Setting Up GitHub Pages (For Beginners)

I’ve frequently heard questions about getting started with Git and utilizing GitHub pages. Things like, where to start and if there are any good resources to follow. It got to a point where I deemed it worthy of a tutorial! In this video I touch on:

  • installing Git
  • making basic Git configurations
  • creating a GitHub repository
  • pushing to a remote repository from a local one
  • creating a gh-pages branch for project-based hosting (e.g. https://username.github.io/repo)

For non-Mac users, the downloads page on the Git website contains everything necessary to install Git.

Useful Sublime Text 3 Snippets

An example of the auto-completion dropdown in Sublime Text 3.
Sublime Text (3) Snippets!

I have been using the Sublime Text for a while now—it’s already up to version 3!—and have grown very fond of it. One of the many features that I have found extremely useful is the snippet system. Snippets allow you to store blocks of code that can be accessed with a keyword via the auto-completion pop-up when typing. I have a few snippets below that I tend to use over and over again. Perhaps you’ll find a use for them as well.

Read on! “Useful Sublime Text 3 Snippets”

So, you want to be a programmer?

Hello there! This article is targeted toward individuals that have an interest in programming, but are still on the fence. I hope to clear that up by answering some common questions/concerns that i’ve heard. I’ve paraphrased those questions of course. Enjoy!

“Where should I start?”

If you’re unsure where to start, the first thing you should do is pick a language. A language that I frequently recommend is JavaScript as it is a lenient language. The next step is to find a tutorial for the language and follow it to completion. That means physically typing out every line of code verbatim; it is impossible to learn a language without writing it. I recommend TheNewBoston’s JavaScript tutorial, as it is easy to follow and only requires a basic understanding of HTML (the structure of websites). Other excellent tutorials can be found on lynda.com, however a subscription is required after a short free trial period. If neither of those suit your fancy you can always use the mystical Google!

Read on! “So, you want to be a programmer?”