Using S3 for Digital Goods Distribution

I recently ran into a situation where a client of mine (my only “client,” who also happens to be my Mom) wanted to sell a digital video on her website. Until now, everything she sold had been a physical product, so I was able to get away with simple Paypal forms on her web store. Someone would click the “Buy Now” button, and Paypal would email my client so she knew to package and ship the product. That workflow is fine for physical goods, but doesn’t really hold up for digital downloads…

Read full article

Self-Hosting GNU Social

I remember telling a friend about Facebook back when MySpace was still the most popular social network around. I explained how it was similar, in that you could connect and share messages, links, and photos with your friends and family, but—unlike MySpace—the interface was professional and clean. Everyone who used Facebook saw basically the same thing; you wouldn’t run into any profile pages with animated backgrounds, auto-playing MP3 music, and comically unreadable font color choices. “You can’t make it your own?” she asked, head cocked slightly to one side. “Why would anyone want to use that?”…

Read full article

Configuring Push Notifications from Fastmail

This post documents the process that I’m using to receive Pushbullet alerts on my phone for emails with a specific sender or subject line. The purpose of this setup is to continue getting phone alerts for these emails even though I am automatically filing them into a sub-folder that my phone’s email client is not set up to monitor.…

Read full article

On Javascript

Sorry, you need Javascript enabled to view posts on this blog.Just kidding. In the Hacker News discussion that sprung up around my expulsion story, one of the larger sub-threads was focused on the fact that the blog theme I was using at the time required Javascript to display the content.…

Read full article

The Website that got Me Expelled

I was in grade eleven, and it was already late in the school year when I returned to the principal’s office after my five day suspension. My dad was sitting next to me while the principal—a tall, stocky woman with short black hair—calmly informed us that the administration had decided I could no longer attend Sir Winston Churchill High School. Of the three friends who had been suspended with me, Paul and Kevin would be allowed back in, but Philip would also no longer be welcome.…

Read full article

Three Ways to Script Processes in Parallel

I was recently troubleshooting some issues we were having with Shippable, trying to get a bunch of our unit tests to run in parallel so that our builds would complete faster. I didn’t care what order the different processes completed in, but I didn’t want the shell script to exit until all the spawned unit test processes had exited. I ultimately wasn’t able to satisfactorily solve the issue we were having, but I did learn more than I ever wanted to know about how to run processes in parallel in shell scripts. So here I shall impart unto you the knowledge I have gained. I hope someone else finds it useful!…

Read full article

Coding C# in Vim

At work we’ve made the jump from back-end coding in Visual Studio and running our APIs on Windows with IIS to coding and hosting everything on Linux. We also switched from SQL Server to Postgresql. It took several months to complete the transition in steps, but we’re almost there. It can be done.…

Read full article

How Comcast got me to Pay More for a Slower Connection

Welcome to NashvilleI am one of the “fortunate” few who live in one of Comcast’s “trial” markets where they offer a “flexible data usage plan” to their consumers. Okay, I’ll stop with the sarcastic quoting (Sarcastiquotes™) and just call it what it is. Where I live, Comcast essentially has a monopoly and uses that power to fuck over its customers by charging exorbitant overage fees for using the service that they’re already charging exorbitant fees to provide to you.…

Read full article

A Practical Edge.js Example

A side project I’ve been working on during my free time for a while now is Ficdown, a system for creating choice-based interactive fiction in Markdown. The meat of the project is in the form of a “compiler” that will take a Ficdown source file and generate an epub that can be read on any hyperlink-capable e-reader.…

Read full article

Exploiting Android Users for Fun and Profit

A Dark PastI’m going to tell you about some stuff I’ve done that I’m not particularly proud of. This happened during a period of my life when I was working for a company in the advertising industry. The company already had a pretty strong handle on the email and display advertising markets, but the team I was hired into was a newer group whose job was to break into the desktop advertising game.…

Read full article