Thoughts on Best Practices

With many years of web development under his belt, Jacob has a lot of ideas abut best practices. Some of them reflect general industry beliefs while others are a bit more… radical. All of them are based on practical experiences, discussions with other professionals, and lean a bit towards a pragmatic approach.

Middleware and API Gateways

After spending quite a few years working with services, and, more recently, API gateways, I've become intimately familiar with the desire to add layers and layers of middleware. When a service is initially designed it focuses only on pure functionality - each endpoint offering a unique business…

  • Category Web Development
  • Posted October 28, 2020
  • read more

What is an API Developer?

For the last two years I've been working in the role of an API developer at Shutterstock. This was, initially, a career move that seemed to be both simple and stable. After all, working on an API is just making sure some lightweight application spit out JSON to match an interface, right? Wrong. The…

  • Category Personal
  • Posted November 25, 2017
  • read more

Swagger Inheritance

Swagger spec is an awesome tool for describing APIs in a standardized way, allowing programs to understand and interpret them. It is a set of files (often just one) written in JSON or yaml that defines the routes, parameters, responses, and metadata of an API. After a spec has been written it can be…

  • Category Web Development
  • Posted September 12, 2016
  • read more

Using Mocks with PHPUnit

Creating test doubles, or mocks, is a feature of PHPUnit that I recently discovered and am quickly falling in love with. Previously I would find other ways to mock my system, like creating SQLite connections instead of a persistent database, or even duplicating an entire mock class for injection.…

  • Category Web Development
  • Posted August 25, 2016
  • read more

Empathetic Web Design

Recently at work (and outside of work) I've been re-entering the frontend world of javascript and responsive web development. It hasn't been an easy return. The last year or so of working with package management, server configuration, and API best practices has been a lot of fun. I've never enjoyed…

  • Category Web Development
  • Posted August 23, 2015
  • read more

Validating Email Addresses

Validating email addresses is one of those annoying little tasks that long-time PHP developers will need to deal with again and again. Well, maybe. I've spent the last year and a half with only one email checker request, something that makes me very grateful that I get to work on a single large…

  • Category Web Development
  • Posted May 27, 2015
  • read more

Building an API Client

Over the last few years I've found myself writing and implementing a number of client libraries for different APIs. PHP to scrape dailymile and twitter, PHP to post updates to twitter, and even more PHP to interact with customer.io. Okay, so maybe most of my API building and consuming experience has…

  • Category Web Development
  • Posted March 26, 2014
  • read more

Midwest PHP: 2014

It's been a long year since the initial Midwest PHP conference kicked off in the Twin Cities. During that time the community has changed, new technologies have cropped up, and other things that once seemed so shiny and cool are starting to show a bit of tarnish. Also, I've personally had the…

  • Category Web Development
  • Posted March 17, 2014
  • read more

Fuzzy Distance

Around this time last year I was playing around with fuzzy dates - that is, formatting a machine date (like the UNIX timestamp) as a human-friendly string (like, 'last week'). At the time I was working on my lifestream site and wanted to display elapsed time in a convenient manner. Now that I'm…

  • Category Web Development
  • Posted December 11, 2013
  • read more

Keeping Things Simple with Sculpin

Earlier this week I had the pleasure of learning about Sculpin, a sweet PHP tool, from Ben Benesh at the local PHP meetup. Sculpin is a static site generator that takes a bunch of Twigs and/or Markdowns and compiles them into a set of static HTML files for easy deployment. There are some rather cool…

  • Category Web Development
  • Posted November 14, 2013
  • read more

Activity Stream

  • Read 'Salem's Lot by Stephen King.
  • Read Elantris (Elantris, #1) by Brandon Sanderson.
  • Read It by Stephen King.
  • Read Mistborn Trilogy (Mistborn, #1-3) by Brandon Sanderson.
  • Read Tress of the Emerald Sea by Brandon Sanderson.
View more activities…