Tweet Process Pipeline

Sun, Aug 4, 2019 | 1000 Words

Preamble A long time ago I built a Twitter bot which allowed you to play a text adventure game by tweeting commands at it and receiving personalised responses. I’ve always been interested in doing more with this project, but there’s been two major holdups: I’ve lacked personal writing inspiration (and found no interested writers) to help with content for the game. The original code is an absolute mess. Eventually during a skint section of my life I had to get rid of the virtual machine that runs the bot and it’s remained dormant and inactive for years.

My Site On Gopher

Tue, May 21, 2019 | 400 Words

Having played around a bit with Gopher lately I decided to take the next step and try and create something more meaningful then test directories and dummy text files. My ultimate goal was to have this personal blog available via Gopher as well and I’m pretty confident that I achieved it. You can visit gopher:// and you’ll be able to browse my personal, dev, and ops blogs via the Gopher protocol.

Outpost 73 - Building A Game Without Code

Wed, Mar 27, 2019 | 1100 Words

For a few years now I’ve had a small project in mind. I wanted to make a game where you’re on a host computer and need to work out the story by navigating around the filesystem and using Linux applications. Finally this year I started experimenting with a story and came up with the first tiny and short demo for Outpost 73. You can play it in it’s current form via a web browser.

Getting Started With Homestead

Sun, Jan 20, 2019 | 500 Words

Recently I needed to get to grips with the Laravel PHP framework for a personal project and thought a small tutorial on getting started with the Homestead development environment would be good to help beginners. Prerequisites You’ll need the following: macOS or Linux Latest version of Oracle’s VirtualBox Latest version of Vagrant from Hashicorp (optional) Latest version of Composer Installing Homestead Start by installing the Homestead Vagrant box on your machine by running the following command from a shell prompt:

JavaScript Event Loop

Mon, Feb 12, 2018 | 600 Words

A lot of people talk about JavaScript as an asynchronous, event-driven language but don’t dive further down on what that means or how best to take advantage of it. Even more important is to be wary of the pitfalls that this can involve which I’ll cover in later posts. The most common asynchronous code you’ll find in JavaScript is usually Ajax (asynchronous JavaScript and XML) requests when dealing with client-side requests, or API calls/database access when dealing with server side systems like Node.

PHPUnit And Guzzle For Testing APIs

Fri, Jan 19, 2018 | 400 Words

Testing code is important, but can often feel like a burden or task, especially if you have strict deadlines. It doesn’t help if your unsure about what tools to use to implement testing on new parts of a project. PHPUnit is the gold standard framework for testing PHP projects and there are many testing platforms that work directly with it. While it’s perfect for writing small, composable unit tests it can also work perfectly for integration and functional tests.

Setting And Fixing Email In Git Commits

Tue, Sep 12, 2017 | 500 Words

Setting email in git commit When you first set up a new dev environment, you’ll want to set the name and email you use for Git commits. The easy way to do this is with two commands: git config --global "Adam O'Grady" git config --global "" This means all future commits in this dev environment will use that name and email address combination. In some cases you may want to use different details for a particular repo.

Coding Standards

Sat, Sep 2, 2017 | 600 Words

TL;DR: Readability, followed by consistency. The Eternal Arguments Tabs vs spaces Braces on same line or next line camelCase or snake_case variables These are just a few of the positions at the centre of ideological arguments in developer communities that run the gamut of friendly banter to vitriolic ALL CAPS flamewars. Each side has it’s merits and can present solid arguments for it’s use. But all these debates do is cloud the actually important factors behind coding standards.

Not Reinventing The Wheel

Wed, May 31, 2017 | 1000 Words

We all have those personal learning projects that inspire pride in us. Many are our own takes on existing frameworks and tools such as content management systems, math libraries, billing systems, layout frameworks, game engines, etc. Attempting such projects is a vital part of learning to code, picking up new languages or approaching new ways of thinking. I’d be remiss not to encourage people to take on such tasks as a method of improving their skills and a liar if I said I hadn’t done it hundreds of times over myself.

Code Review Excuses

Sun, Feb 26, 2017 | 500 Words

We’ve all heard the term, we’ve all seen spiels about it’s importance, but we also have so many excuses why not to do it. The place I’m currently working at ran into two of the most common reasons I’ve seen and here I document how we overcame them for the benefit of anyone who thinks code review might help (hint: it will) but feels they can’t justify it. No proper tools Whether the answer is no budget for Crucible or not enough time to set up Phabricator, this is an incredibly common cop out.
First - 1 - 2 - 3 - 4 - 5 - Last