Blog

[Screencast] Testing GitHub Webhooks with Ngrok and PHP's built-in web server

Published: October 26, 2016

Tags:

I recently heard about Ngrok on The Changelog podcast. It sounded cool at the time, although I wasn’t exactly sure what I would need it for.

Then, when the new GitHub projects feature was announced I started thinking about how we could start using that to manage statuses of individual tasks and have it update the ticketing system we use at work. While, unfortunately, Github projects doesn’t seem to support webhooks when moving cards between columns at this time, I still had some fun setting up Ngrok and directing Github webhooks to my local computer. In the end, I decided to record a screencast so you can get started playing with these fun tools too.

Auto-updating software: Diving into oh-my-zsh

Published: October 12, 2016

Tags:

Recently I’ve been working on a little side project called pngarbage. It’s a command line tool for scanning webpages and identifying image bloat. The tool is written in Go which allows me to distribute a single binary with no dependencies. I’m just in the infancy of the project and plan on (ok…hope to be) adding a bunch of new features. With that in mind, one thing I’ve been thinking about recently is auto-updating strategies.

I spent some time thinking about tools I use daily that implement auto-updating. The first one that came to mind is oh-my-zsh, one of the most starred repos on Github. If you’ve used it before you’re probably pretty familiar with this screen…

oh-my-zsh auto-update prompt

I spent a bit of time reviewing how oh-my-zsh goes about auto-updating and thought it would be worthwhile to do a short write up of my findings.

Should Magento Certification Exams Be "Open Book?"

Published: October 5, 2016

I recently obtained my first Magento certification, passing the Certified Developer exam. I had taken the exam a year and a half prior and didn’t pass. I’d been doing Magento development professionally for nearly 18 months at that point.

I spent a bunch of time studying this time around and one question stuck with me in the end…Should the certification exam be “open book”? I have my own opinions on the matter, but rather than sharing them, I decided to take a poll of the Magento Twitter community first to get the lay of the land.

Now, the results are in, let’s take a look at what the #realmagento community on Twitter thinks. Then I’ll lay out my own opinion on the matter.

Beware: Path mangling introduced by Mage::getUrl()

Published: September 26, 2016

I dealt with a pretty interesting issue today. The symptom can be summarized as follows…

When I access example.com/1/2/3/4 I get redirected example.com/1/2/3

I spent some time reviewing and ultimately found that Mage::getUrl() was the cause. In this post I’ll explain to you how and why.

Scalability Driven Development

Published: September 21, 2016

As software developers in the present day, we hear about all different kinds of approaches to writing code which end in “DD”. You’ve got TDD, BDD, DDD, FDD, ATDD and probably more. While each of these philosophies has merits of it’s own, in this article, I want to outline yet another approach for writing code that ends in DD which I’m dubbing SDD (Scalability Driven Development).

SDD is a mindset that should be used while working out the implementation details for a given problem. Simply put, as you think through a specific approach ask yourself…

Image of lady sitting in meeting asking "Will this scale?"

The image above is used ironically in a post titled 10 Tricks To Appear Smart In Meetings, but as a developer, it really is a good question to be asking.

SDD and doesn’t prevent you from using TDD, BDD or any other approach you currently employ when writing code.

Let’s take a look at real life example and demonstrate how an SDD mindset can be utilized to implement a more resilient solution to a given problem.

Managing Multiple Versions of a Deck with Reveal.js

Published: September 8, 2016

I’m currently in the process of paring down a 60 minute talk to fit into a 30 minute time slot. Going in, I had a pretty good idea of what needed to be cut, but one challenge I wasn’t sure how to tackle was how to manage multiple versions of a single deck.

Aside from my co-worker Gil’s “insightful” idea I didn’t get much of a response on Twitter nor did I find much on Google. I did, however, come up with a solution for this that I think it pretty sweet. I figured I’d write up a quick blog post to outline what I did.