Streaming Video with HTTP Live Streaming (HLS)

16 Mar 2023

This post is about how to stream video from a webserver that isn’t technically a “video streaming server”. As it turns out, for “modern” video formats and browsers, if you just want to display a short video in your web page, you might be able to just link to the .mp4 and that will be good enough for most people. However, there are still cases where a stream or an adaptive stream is a better solution.

Book is Out!

01 Mar 2023

cover image of the new book

Icons for Old Versions of Xcode

09 Dec 2018

It has become that time of the year again when there are multiple versions of Xcode living on my development machines.

Color Utilities

20 Nov 2018

I was creating some demonstration code for a talk recently about working with binary and hex numbers in a Swfit project. After the talk, more than one person seemed more interested in the demo code than the other parts of the talk. The demo code was a quick utility to convert from the color values that a designer often provides (web hex values) to the corresponding UIColor values. I have cleaned up the code and repackaged it as a Swift playground for use in your project. Please remember to retain my copyright in the source code if you use it.

Bitwise Operations

14 Nov 2018

I was laughing to myself the other day realizing that the blog post on is and as operations is likely impossible to find using a search engine. So to will be today’s post on the bitwise operators of & and >>. A developer can go their whole career and never run across them but when we get into a problem that will benefit from them, they save us a lot of time. It’s a case of the right tool for the right job.

Using is and as Keywords

09 Nov 2018

Imagine that you have a number of sub classes (say perhaps of UITableViewCell) and you want some code to do something differntly for each kind of subclass. Recently I came across some code in a project that did it like this:

Orchid Minder Hardware v0

29 Nov 2017

The first version of the hardware consists of an Arduio Uno and two moisture sensors. The v1 of the system is depected with this fritzing layout

Orchid Keeper Project Overview

28 Nov 2017

This next series of posts will document the creation of a system to use for monitoring the soil moisture, ambient humidity and other environmental events for my orchids.

Xcode Crash with xib Files

10 Jun 2014

Ran into a little issue today that I wanted to post about, if for no other reason than I wasted a lot of time searching for the answer.

Section Headers for NSFetchedResultsController

25 May 2014

Recently, I wanted to add section headers to an NSFetchedResultsController, so that I could have sections in the corresponding UICollectionView. The Apple Documentation is clear that you add a value to the sectionNameKeyPath method when you are creating the controller. Setting the value to nil will return a fetched results controller with only 1 section. Providing a value for the sectionNameKeyPath will create one section per unique value of the key path.

First Day of Release

20 May 2014

Today we released version 3.0 of the Massage Therapist Notebook. It’s an update that was over a year in the making for a number of reasons. Because it had been so long we released it as soon as Apple approved it rather than waiting until we had the marketing materials in place.

Integrating Ensembles into MTN

18 May 2014

Sync is becoming an expected feature of any serious application. I have begun to add the Ensembles Framework to the Massage Therapist Notebook. I expect it to be in the 3.1 release.

Concatenate Strings with Defines

03 May 2014

I have a project that uses URL’s for my test environment when I am debugging and URLs to the production environment. These URL’s are long and the API team seems to keep changing them. Originally, I had the URL’s in each of the classes that talked to the API and they looked something like this.

Back on Track

01 May 2014

Let’s try this again.

Using Xcode-select and bash aliases

04 Oct 2013

Here is how I have set up Xcode 4 and 5 on my Macs and how I switch between them.

Test Device Tango

28 Sep 2012

With the release of iPhone 5 and Apple dropping support for arm v6 (so, effectively dropping support for anything that won’t run iOS 4.3) we have to shuffle some things around.

Our Philosophy on Apps for Kids

14 Jul 2011

Caroline’s Cat Game hasn’t even been in the App Store a whole day and we already got our first complaint: why are you charging money for this app?

Quote from Today's MacTech Magazine

09 May 2011

“you may find yourself struggling to achieve something, and then later find that there’s a Cocoa class that does it for you.” - Edward Marczak