HTTPS static site with Hugo and Terraform

May 11, 2020

Using Hugo to generate a fast static website that can be hosted on Amazon S3/CloudFront; and using Terraform to configure all of the Amazon infrastructure.

Read More →

Network handover in Google Fi

Aug 20, 2015

Google's Project Fi represents a major shift for the cellular industry. I explore how Google's Project Fi switches between Sprint, T-Mobile, and Wi-Fi.

Read More →

Sideloading Windows 8 apps with WiX

Aug 26, 2014

Using WiX to create a Windows Installer that can install and update Windows 8 (modern/metro/windows store) apps for testing.

Read More →

Debugging Windows 8 Wake Issues

Feb 10, 2013

Windows 8 seemed to have an inability to stay asleep on my machine. What was going on? Here are a couple tools that helped me debug the problem.

Read More →

2012 Mobile Outlook

Jan 16, 2012

2011 was an active year for mobile platforms -- new versions of the major smartphone operating systems were released, Android tablet manufacturers responded en masse to the iPad, and partnerships, acquisitions, and new players that will shape the space in the coming year all came about. What does that mean for 2012?

Read More →

EXIF Quick Reference

Feb 19, 2010

Over the past few years, I've used the EXIF data stored by modern digital cameras in a couple of programs I've worked on. Having access to the date the photo was taken -- or which way the camera was rotated when it was -- is useful information to have. Even though it's relatively easy to do, finding the right identifier for the information you want is much harder than it should be. This page fills that niche -- the most useful/popular EXIF properties in an easy-to-find format.

Read More →

Better Printed Photos: Naming with Date Taken

Jan 5, 2010

Labelling printed photos is a hassle -- I show how to use PowerShell to rename photo files before printing so that the date is printed on the back.

Read More →

Sending Email with PowerShell: Implicit and Explicit SSL

Dec 13, 2009

I never quite understood the attraction of scripting; sure, not having to set up the scaffolding code of a more formal language is nice, but the limitations of the environment just seemed too great. The Unix community has it far better than the Windows community in this regard; shell scripting can accomplish amazing feats – as long as all of the appropriate utilities are strung together in the right configuration, that is. And though scripting languages like Python and Ruby do hold some allure, it’s one more thing to install on my Windows box and learn the syntax for. So for most tasks that needed scripting, C# filled the bill – when I could justify the start-up cost.

Read More →

Technical Protectionism

Oct 18, 2009

There’s a well known concept in economics known as comparative advantage. A formal definition has many nuances, but the basic principle can be summed up as each party undertaking the work that they are most productive at, such that the overall production of the system is higher than it would be if each party performed tasks they were less productive with. For example, if Farmer A’s farm could grow 100 bushels of apples or 200 bushels of carrots a year, and Farmer B’s farm could grow 75 bushels of apples or 50 bushels of carrots, then the highest production occurs when Farmer A grows carrots and Farmer B grows apples (75 + 200 = 275 bushels total). This is the case even though Farmer A can grow more apples than Farmer B; if there were demand for 100 bushels of apples, the best way of growing them is to have Farmer A grow 25 bushels and Farmer B grow 75 – total output is 100 bushels of apples and 150 bushels of carrots, which maximizes total output under the constraint that at least 100 bushels of apples must be grown. Since Farmer A is better at growing carrots, then it’s always economically beneficial for him/her to do so.

Read More →

ECE 150 Programming Samples

Sep 21, 2009

This term, I've been given a position as a teaching assistant for ECE 150 at the University of Waterloo. Here is a handful of applications that demonstrate various features of the C# language for programming beginners.

Read More →

subscribe via RSS