Self-hosted Single Sign On

14 May 2022

Single Sign On is widely considered to be an enterprise feature. Most enterprises already have a username and password database and don’t want to manage the complexity of syncing all those user identities and credentials for all the online services they make use of. In the days before the Cloud, we used LDAP and Active Directory to solve these problems, but by todays standards, these protocols are lacking. Facebook, Twitter, Google, Apple and others created a mechanism called OAuth that would…

A Crack in the Metaverse

13 November 2021

Facebook and Microsoft recently declared themselves spokes-companies for Metaverse. These companies have built, acquired, influenced much of what came from the web the past 20 years. We are living in a future that they had a large hand in influencing. I’m not so sure we should assume that this phase will have better results. It seems that they are taking their same approach of: "trust us, we know what we are doing. We are all from Stanford and Harvard and Very Smart (TM)." Just like humans…

Trading our Capabilities for Ever More Complex Computer Models

13 September 2021

A few years ago, I observed that the wealthiest people on the planet all had one thing in common: they all seemed to have a significant amount of control over a very large amount of compute power, or be in close proximity to someone with that control. It's stuck with me ever since. Sometimes I relay it to other people, partly in jest, but lately it's seemed a bit more "real". I recently came across the ideas of Jaron Lanier and that very much triggered some reinforcement bias, but what he had…

A Startup Serial Killer Masquerading as a Software Architect

9 June 2021

A few years back, I joined a startup in the Cloud Security space. I was hired to take ownership over the React app they had built. On my first day, I met the rest of my new co-workers. One of which was responsible for the API that I needed to interact with, let's call him Happy. I had enough problems to deal with in getting their web application ready for prime time, so I didn't focus a ton on the backend. I assumed that it was being competently built. That is until I started having to nag…

Sacrifice your Good Ideas

18 December 2019

“Good ideas" are just that. Good. Not great. Not the ones that hit with such impact that people’s jaw’s drop. Not the special ideas. The ones that are just good enough to warrant speaking life into them. Don’t be afraid to sacrifice the good ideas. The good ideas, while sometimes clever and useful, aren’t what matter. The value they deliver when implemented is linear, not exponential. There is far more value in being willing to sacrifice these ideas than stubbornly refusing and forging…

KC Startups, Revisited

20 July 2019

I've been thinking about how to build a billion dollar technology company in Kansas City for awhile now. This post represents a slow hunch that's been gathering steam in my mind for the last few years. A little over 4 years ago, I published a post called Starting up in KC with some tactical advice and lessons I'd learned up to that point. Then a few years later I wrote What Kansas City Lacks for Startups, where my premise is we lack the density of experience required to truly take a company from…

API First

13 June 2018

In the last few years I've learned a lot about how a business can continue iterating on a product built upon a software stack that is starting to show a bit of age. One of the lessons I've learned is that products that target businesses should be built API-first, particularly B2B SaaS. What this means is that you start by building the API for the product, the API isn't an after-thought that gets added on when a customer wants to integrate. What is an API? API stands for Application Programming…

Implementing Timezones

20 May 2018

I sometimes find myself giving technical advice on how to handle different issues to founders or engineers at their companies. One thing that usually comes up is timezones, so I'm writing down my advice here. I've implemented timezones a number of times in my career as an engineer. A calendar app whose concept of a timezone was only the offset (-5) from UTC was one of my first implementations. Each time I've implemented timezones, I've done it better and my understanding has improved. First…

Creating a Better Middleman

5 February 2018

They said the Internet promised a new way. That software was eating the world. That travel agents, brokers, and middlemen were a thing of the past. But, look around us. That’s not what we’ve achieved. Nor are we even close to achieving it. We’ve simply created a better middleman. While it might have brought less friction, it also has a downside, these middlemen are based on algorithms we cannot read and cannot hope to fully understand. Maybe what we’ve achieved is removing the humanity from our…

What Kansas City lacks for startups

15 August 2016

In the early half of 2016, the hot topic around the Kansas City startup community was funding, specifically outside investment. There isn't enough of it. Which companies were moving away to get it. Which were staying here because of it. Whether the problem is actually late stage funding. Or whether you actually need outside investment at all. I've always disagreed that the problem is funding. The money will come if the companies we are creating are good enough. What Kansas City lacks is the…

Vertical integration

16 January 2016

Vertical integration. It's one of those words that they use so much business school that makes you wonder if it actually means anything. I hate those words as much as the next developer, but this is the best word I can think of to call the concept I want to write about. If your company builds a product, the more of the different kinds of work your company does itself that go into the product, the more vertically integrated the company is. Most software startups are fairly vertically integrated…

Why?

5 January 2016

It's a question I ask often. In fact, my girlfriend regularly gets annoyed because I ask this question so often and without even thinking about it. It's one reason she refers to me as her six foot toddler, because kids are notorious for asking this question without relent. I choose to think this is because I've managed to hold on to part of my child-like sense of wonder. She probably would give you another reason. I'm trying to break my habit of asking her 'why' so often, but I think most people…