ArchiveJanuary 2018

How a Puppy Trained Me


At six months old, Azuli is quick to make friends. Her innate personality played no small role, but there are a few things I did to enable her to become smart and well-behaved. Still, she taught me as much as I taught her. I suspected this might happen, but I’m still surprised what I’ve learned so far. Communication There’s an old joke amongst enigneers that goes something like...

Building a GraphQL Gateway to a GRPC Server


GRPC and GraphQL are both fantastic technologies. Each have their advantages and disadvantages. I’ve long wondered if a server could easily allow the client to choose to use either. In this post, I’ll discuss how I built a C# server which serves GRPC calls over HTTP/2, and then added a Ruby on Rails gateway such that web (or other) clients could fall back on GraphQL over HTTP 1.1...

Architecting a Networking and Database Library


For one of my projects, needed to build a networking and data layer as a library which could be used in my Unity game. I wanted a single library which would provide data model classes, handling both persistence (database) and client/server transport (networking). It made sense to build the project using C# .NET 4.6, meaning that it’d use the same language / framework as Unity itself...

Cross-Compiling GRPC in C# and Unity, targeting All Platforms (iOS, Android, Linux, Windows, Mac)


Traditionally, game developers have been constrained in their networking choices. TCP and HTTP are typically far too slow for any seriously real-time game, leaving UDP and all of the… interesting problems that go along with it. Or WebSockets, for the truly masochistic. GRPC, or Google’s take on Remote Procedure Calls, are a fast and efficient use of HTTP/2. I had a dream of being able...

Day 2: Installing a Passenger Swivel-Seat for Maximum Living Space


There’s not much living space in a cargo van. A swivel-seat installed on the passenger side can help fix that. What to Know Swivel seats can rotate 180 degrees so that a seat is facing backwards. In the case of a van, this increases the effective living area by turning the cabin into more seating for the living room.   It’s hard to capture just how much of a space difference this...

A Million Ways to Spend Time Poorly


I’ve always held an entirely unsubstantiated and implicit belief that we all have much more time than we think we do. But it escapes us. Slips through the cracks. We mostly suck at spending time, and so we cope with it either by leaning in or dropping out. Most of our neurosis seem attributable to the feeling that tomorrow is coming either too fast or too slow. I’m not much better...

Day 1: Insulating a Van for Summer & Winter Living


The first thing I did to my new Ford Transit van was rip out all of the factory-installed cargo gear to make room for insulation. Insulation Needs I wanted to be able to park my van to the base of a ski mountain, like Tahoe, so that I could get first runs in the morning. In order to not freeze my butt off, I knew I’d need some good insulation. Heat retention in insulation is measured by its R...

How to Speak Human (as told by a puppy)


Humans are quite easy to train, if you have the time. It takes a lifetime, unfortunately; for humans never really learn anything. Oh they do wondrous enough things, to be sure. They’re quite adept of the conjuring of food, and other such magic. Their word for magic is “technology.” Of course, the Pupish word for technology is “boring.” It’s not a direct translation but it will suffice. Synonyms...

The Plan to Build a Van


About a year ago, a friend first told me that he was buying a “sprinter van” to live in. Knowing the friend, I laughed and shook my head at the prospect — something I’d later learned is called #VanLife. Come to find out, there’s a whole community out there of people who convert vans into tiny homes. Skip Ahead… Insulating a Van for Summer and Winter Living Installing...

Recent Posts

Recent Comments




Recent Posts




Thank you for your comments — they help motivate me to keep writing. The kindest show of support is to share this with someone who'd like it.

Get in touch

Quickly communicate covalent niche markets for maintainable sources. Collaboratively harness resource sucking experiences whereas cost effective meta-services.