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.

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

Another Kick at QR Codes

There's been a lot of kicking around of QR codes since they first cropped up, complaints about their usability or a specific implementation (see WTF QR Codes for plenty of examples). I recently bumped into them in a discussion with some coworkers regarding 'short URLs' vs longer keyword-stuffed URLs…

  • Category Web Development
  • Posted May 15, 2013
  • read more

Code Like a Butterfly, Perfect Like a Bee

After reading and practicing a slew of different methodologies in development projects I've noticed an interesting trend emerge, especially when working mid- to large-scale. In an effort to get an initial working example I'll write code very quickly, only slowing on occasion to optimize or clean up…

  • Category Web Development
  • Posted May 3, 2013
  • read more

Activity Stream

  • Pushed some code at jacobemerick/lifestream-service.
  • Pushed some code at jacobemerick/lifestream-service.
  • Pushed some code at jacobemerick/lifestream-service.
  • Pushed some code at jacobemerick/lifestream-service.
  • Blogged about hiking | Descent to Fossil Creek.
View more activities…