All Posts

How To: Install wkhtmltopdf on Amazon Linux

The other day I was optimizing a reporting engine and needed a quick and easy way to generate PDFs from HTML templates. There are several options out there, but after some research, I decided to use wkhtmltopdf ( It then took me a few hours of scouring the Internet to find the appropriate steps to install it on Amazon Linux. I kept running into a series of problems with the version, required libraries, and font kerning. Some trial and error, and help from some others, finally got me up and running. Here’s what worked for me.

Continue Reading…

The Curious Case of PHP Template Engines

Update: Since this post was written, serverless technology has become my go to choice for most projects. I still like and use PHP, but I would most likely not build another major project with it. 😬

I’ve been writing PHP code since 1998, so it feels very familiar to me. I built my last major web project in PHP, and if I had to do it again, I’d make the same choice. So whenever a task comes up that could be automated with some quick code, I typically default to PHP. Recently I found myself battling with some reporting templates I inherited that were coded as a mix of Python, SQL, HTML, and Javascript. The finalized reports need to be converted to PDFs, which means the PDF converter needs to be able to process Javascript. This has proven to be a problem since the prior developer was unable to find a good solution. So now I’m left with a highly inefficient, manual process.

Continue Reading…

Beacons and Geofences: Why we’re Limiting Proximity “Networks”

I’ve been doing a lot of work lately with beacons and geofences as we ramp up our proximity offerings at ShopAdvisor. There are some very cool things being done by companies such as Skyhook, Urban Airship, and Gimbal. Other companies such as Swirl and Mobiquity are also using micro-location with beacons to record interesting foot traffic patterns in malls and retail stores. Well established players like ShopKick are using beacons to earn in-store rewards, and Starbucks, Apple Stores, and Macy’s have all jumped on the micro-location/beacon bandwagon.

What I’ve discovered with all my research and talking with many of these companies, is that most are still defaulting to simply sending a push notification when a beacon is sighted or a geofenced region is entered. I don’t think this is the intention or the vision of these companies, in fact, many have elaborate scenarios documented on their websites. I think the problem here is with the retailers. I don’t think it is because their vision is short-sighted, more likely, it’s just extremely limited. This certainly isn’t a criticism of retailers, as I know many are quite interested in beacons and micro-location. I think the closed “network” of beacons is what has made truly interesting campaigns difficult, if not impossible.

Continue Reading…

Getting Things Done: the art of stress-free productivity (2015 edition) by David Allen

Getting Things Done by David Allen

Let me start by saying that I’m a big fan of the GTD method. I read the first edition of this book back in late 2007 soon after I had finished The E-Myth Revisited by Michael E. Gerber. At the time I was running my web development firm and was in desperate need of some operational clarity and organization. While I didn’t commit myself fully to GTD all those years ago, I certainly wish I had. The principles taught in David Allen’s book are simple in theory, but sometimes hard in practice, especially for those of us that have had our own “systems” for so many years. It took me awhile, but once I moved on from my web development firm and began committing myself to more narrowly-focused startups, I found the GTD methods easier to apply. It was partly my own maturity, but more likely the fact that we had a project tracking system at my web development firm that was ingrained into my daily life, that made adoption so difficult. Once I started using the core principles of his system, I found my ability to stay organized and make more progress immeasurable.

Continue Reading…

Thought Experiment: Will Autonomous Cars Try to Kill Us?

I came across an headline on Medium this morning that grabbed my attention. The subheading softened it a bit, but nonetheless, I was intrigued. The article, titled “A Self-Driving Car Might Decide You Should Die”, used a series of well-known ethics questions to reach the author’s ultimate point. That point, at least what I got from it was, if you build an algorithm that removes human error by calculating the optimal outcome of a life-threatening situation, how do you assign value to human life so you can choose who lives and who dies? It is in the programming of this algorithm that our values are truly reflected, and that is, in fact, very scary.

Continue Reading…

Curating Your Social Streams

Getting valuable content from your social streams has become increasingly more difficult with all the noise out there. Learn how I curate my content feeds with a few tips, tricks, and interesting (Twitter) analysis, to get the most out of each platform.

Reading versus Filtering

Whenever I have a free minute (usually during my morning coffee, stretching after a run, or waiting for my burrito order to be ready), I’ll take out my phone and look for something actually worth reading. Between Facebook, Twitter, Medium,, TechCrunch, Mashable, and others, I always have plenty of content to choose from, but often my few minutes of reading time turned into my few minutes of filtering time. My ability to consume content, rather than just read the headlines, became a crap shoot. Most of the time if I find something even remotely interesting I start to read it, and then quit after the first few paragraphs if I misjudged it. Great, more time wasted.

Lately, I’ve been trying to rid my life of as much noise as possible by either better curating the content on the platforms I use, or by stop using the platforms with subpar content. First up, rid my life of useless content.

Continue Reading…

Hooked: How to Build Habit-Forming Products by Nir Eyal

Hooked: How to Build Habit-Forming Products by Nir EyalA few years ago I was invited by a colleague to attend Nir Eyal‘s Hooked Workshop at Wentworth Institute of Technology. At the time I was still working as the CTO of Lifeables, and we were desperately trying to find strategies to keep our users engaged. Needless to say, the thought of being able to “hook” users and have their use of it turn into a habit was very appealing. The opportunity couldn’t have been more timely.

The workshop was a fantastic experience. I found Nir to be exceptionally well-versed in behavioral psychology and how it could be applied to the current technological landscape. I remember thinking at the time that his “hooked model” was a collection of common sense concepts simplified, organized and packaged in a way that made them actionable. I left that workshop excited and overflowing with ideas.

Continue Reading…