Writing I don't do it often but when I do, it's here.

Running React Native With Expo Offline

As you may or may not know, my wife and I are spending the year traveling around the world with our kids, having left on our journey in December ’17 intending to return in December of ’18 having completed a full circumnavigation of the globe.

This nearly constant state of travel leaves me with a spotty connection at times. As you can imaging, this poses an issue for projects built with the always-on Expo. If you’re not familiar with Exp, it’s a great tool set to get up and running with React Native apps more quickly (there are some limitations but that’s a story for another time).

Completely undocumented, and unknown to the Expo community at large, is the ability to run Expo offline. One would think passing the flag --dev --lan to Expo would provide exactly what it indicates, dev mode over lan, but it does not. You need to pass the super obvious --offline flag instead, which does exactly as it suggests, runs Expo completely offline.

A blast from Shopify past

Today I was pitching a Shopify based redesign for a fairly large components distributor and after the call we got to talking about early work and careers and so on. I started thinking back to the very early days with Shopify, and remembered Tribble.

I built it in 2008 and it was released on the Shopify themes page (before they had a theme store), as the first theme available there that was made outside of Shopify. It’s a bit dated now, and was released just months before media query support hit the major browsers so sadly it’s not responsive. But all in all it held up really well being 10 years old!

It’s taken me aback a bit to realize I’ve been using Shopify for over 10 years – the first site I built for it was in 2006! That’s just crazy. A lot has changed since then, and Shopify is huge now, but it’s still the best hosted ecommerce platform. 12 years is a long time to hold that crown though…

Skipper out now on Steam

I’ve just released Skipper on Steam and Itch.io.

Skipper is a lowpoly atmospheric puzzle game built in Unity, written in C#. The 2d art was created in Photoshop, while the 3d geometry was made inside unity using the wonderful Procore toolset.

Development on Skipper started September 9th, it was completed on October 6th, and released on October 18th to Steam and Itch.io. Skipper was then released on Facebook Gameroom on October 24th. iOS, tvOS, and Android releases are all hitting in November.

If you haven’t checked it out yet, I encourage you to do so. It’s a fun, very challenging game, and a great example of what can be done in a short time with the right tools and a disciplined development approach.

CodeFort – Learn to Code in Idaho Falls

This was a pretty fun project. I designed CodeFort to be a clean and light experience, built with completely custom HTML & CSS with LESS, and powered it with WordPress.

CodeFort is a new coding bootcamp in Idaho Falls, that offers two development tracks, front-end web development and mobile game development.

Checkout the site or just have a gander at the screen grab attached here.

Prospecting on Intagram

If you’re freelancer or a small business that provides a service, Instagram is the holy grail for prospecting.

Prospecting is the step before you begin the sale, where you find the client/user/etc that you will eventually sell to. And right now, Instagram is the single most useful tool in the soloprenuer or freelancers arsenal. Unlike Facebook it’s actively used for new content outside of a friend list, and unlike Twitter it continues to grow organically.

The interest, eyeballs, and visibility you can gain on Instagram is greater than anywhere else. And it’s short form focus on the visual lends a direct in to any brand/freelancer/soloprenuer smart enough to take advantage.


To successfully prospect on Instagram you first need to get into the mindnset. You’re not going to see a value return on your time unless you treat every use and interaction like a conversation. When you have a conversation with someone you pay attention to what they have going on, their needs, and how they respond (both verbally and otherwise) to what you are saying. Inauthenticity is spotted instantly in the real world, and Instagram users are no less expectant than any one else you’d have a conversation with.

Getting Started

You need to build a complete and active Instagram profile. Take a couple days and fill your feed with Real Content. Remember mindset? That honesty in conversation starts here. Make your Instagram a honest, if curated, version of yourself/brand. Write a catching and honest profile intro, and link it out to your website.

Do this. It’s not hard, but somehow this is the step that kills most people who could otherwise be killing it on Instagram. If you don’t get started you have no chance, so take the step and push out your profile.


This is so simple. Let’s say you are a beautician

  1. Hit the search button up top, and go to your local place
  2. Browse through the posts, click the interesting ones from women
  3. Browse the profile, and if it has something that stands out, hit “Follow” and then “Message”.
  4. Say something like “Hey! I love the picture of you diving in the Bahamas, looks alike a blast! If you’re ever looking to get your nails done stop by my shop I’ll hook you up with a Beach Girls discount!”
  5.  Head back to the local list and repeat.

There is another method too, but not everyone is comfortable with it. Hit that local tab again, but instead of looking for people to connect with, look for competitors. Hit their images, and look at the comments. These people are ripe for prospecting. Hit their profiles, and follow the steps above.

Follow Through

Do this for an hour, at least, Every. Single. Day. Every. You’ll reach hundreds of potential new clients every week, for just a bit of time every day – let’s be honest you were probably going to spend an hour on your phone wasting time anyway, right?

Don’t forget to keep that profile active. You need to be keeping it going, and fresh, every day. Most of the messages you send won’t get a response, and more of the people you reach out to will follow you rather than immediately decide to come down and get their nails done, but that’s the point. You are now in their feed, showing off your awesome content, every day, to people already primed to love it. And it’s free.

This is the map to prospecting on Instagram. Commit to it, stick to prospecting at least an hour everyday, and keeping your profile fresh and on brand, and you’ll reap the benefits.

Starting a Vlog

I started a Vlog recently. The first five episodes were standard Youtube fare, but I realized one day that no one was doing a proper vlog on Instagram. So now I’m doing the vlog in 60 seconds and that is tough.

Most days there isn’t anything interesting or story driven enough to put in a vlog, but when there is, telling a story in 60 seconds that means something is a real challenge. And I like that, it gives the vlog some spice and constraint that keeps it interesting.

Right now my goal is 50 episodes before we leave on the trip in December, but we’ll see how that pans out.

Free tile set from SDB

Here is a free tileset created a while back for a prototype rogue-like platformer that never materialized. They’ll make a solid start for a little platformer or other pixel art game.


They are free as in freedom, use them however you like.

Download this free tileset.

Just Wrapped: OV Parks & Rec

My buddy David and I just completed the redevelopment of a new site for the Orangevale Recreation and Parks Department.

David is a super talented designer and her worked hand in hand with OVParks to create the strategy behind the new OVParks design and implementation, while I led the front-end and WordPress development for the project.

The new OVParks site is built on WordPress with LESS preprocessing, with a number of custom post types, widgets, and fields.

The city of Orangevale should be launching the new site within the next few weeks, until then you can grab a glimpse at what’s coming in the screenshot below.



Get mesh vertex colors in Unity

I use Probuilder & Polybrush with vertex colors for all the art in VThree. Keeping track of all the colors can be a chore, and if I lose one figuring out which it is visually is impossible. So I whipped this up quickly this evening. It’ll print all the colors on your mesh (if you’re using vertex colors) to the console.

Right click on an object in the hierarchy and choose “Get Vertex Colors”

Hopefully useful for someone.

using System;
using System.Linq;
using UnityEngine;
using UnityEditor;

public class MilkGetMeshColors : MonoBehaviour {
    [MenuItem("GameObject/Get Vertex Colors", false, 0)]
	private static void GetVertexColors(){
		Debug.Log("Getting mesh colors for " + Selection.activeTransform.gameObject.name);
		Mesh mesh = Selection.activeTransform.gameObject.GetComponent<MeshFilter>().sharedMesh;
        Vector3[] vertices = mesh.vertices;
		Color[] colors = new Color[vertices.Length];
		int i = 0;

		foreach (Color c in mesh.colors){
				colors[i] = c;

		Color[] uniqueColors = new Color[i];
		Array.Copy(colors, uniqueColors, uniqueColors.Length);

		foreach (Color c in uniqueColors){
			Debug.Log("<color=" + ToRGBHex(c) + ">▉</color> " + ToRGBHex(c));

	public static string ToRGBHex(Color c){
		return string.Format("#{0:X2}{1:X2}{2:X2}", ToByte(c.r), ToByte(c.g), ToByte(c.b));
	private static byte ToByte(float f){
		f = Mathf.Clamp01(f);
		return (byte)(f * 255);



Red Star – The North Korean Operating System

Somebody posted up a torrent on pastebin for the North Korean operating system, Red Star, a while ago. I had intended to download it and check it out a lot sooner, but as so often happens with intended fun, it happened late.

I don’t speak Korean, or know much at all about North Korea really, so pretty much all I could do was get it installed and grab some screenshots. Whoever built it out did a better than expected job ripping off OSX which is surprising, not surprising though that it is OSX that they ripped off.

I need to go back and figure out how to flip through any included wallpaper, I’m interested to see what that might be. For now though, this is what it’s looking like.

NK Red Star [Running] - Oracle VM VirtualBox_251 NK Red Star [Running] - Oracle VM VirtualBox_252 NK Red Star [Running] - Oracle VM VirtualBox_253 NK Red Star [Running] - Oracle VM VirtualBox_254 NK Red Star [Running] - Oracle VM VirtualBox_255 NK Red Star [Running] - Oracle VM VirtualBox_256 NK Red Star [Running] - Oracle VM VirtualBox_257 NK Red Star [Running] - Oracle VM VirtualBox_258 NK Red Star [Running] - Oracle VM VirtualBox_259 NK Red Star [Running] - Oracle VM VirtualBox_260 NK Red Star [Running] - Oracle VM VirtualBox_261 NK Red Star [Running] - Oracle VM VirtualBox_262 NK Red Star [Running] - Oracle VM VirtualBox_263 NK Red Star [Running] - Oracle VM VirtualBox_264