Dr. Stuart Spence, collector of contemporary art and a key contributor to the development of 3D printing, died of pneumonia Saturday, May 29, 2021, at USC Verdugo Hills.

Stuart Spence at an art opening in 2016, courtesy of Marlene Picard

Stuart, who generally preferred not to mention his doctorate, was born March 18, 1938, in Belfast, Northern Ireland to Thomas Everard Spence and Kathleen Forbes Morehouse. He was sent to live in America for the duration of World War II, where he developed a lifelong affinity for California.

As a young man he was named a Winchester Scholar and attended Balliol College at Oxford. He was an avid participant in the sport…


Part four in a series: A collection of little things that are often easy to overlook

In the decade since I first started designing REST APIs, I’ve seen truly confusing problems as well as obvious ones. We all know that we need a high performance API with good documentation, but it’s a big world out there and lots of different things can go wrong.

Some problems are just rare enough that you might not encounter them. If you have customers working with your API using client libraries in various programming languages, you might uncover some interesting issues that aren’t strictly…


Part three in a series on API design: Common mistakes that affect response time

There is a thin boundary between a performant API and one with latency issues. Without sustained effort and monitoring, it’s easy for API programmers to lose performance through a thousand small cuts, or by a few big mistakes.

The reasons for this fragility are easy to understand: Our code is complicated, our teams are large, and we are always shipping new features!

Since there’s no magic solution, we will make performance considerations part of our daily processes. …


The second in a series of articles on API design for SaaS projects

Although the exact text of Jeff Bezos’ famous Amazon API Memo is lost in the mists of time, reports indicate that it said something similar to the following:

There will be no other form of interprocess communication allowed …

All service interfaces … must be designed from the ground up to be externalizable. That is to say, the team must plan and design to be able to expose the interface to developers in the outside world. No exceptions.

(Source: Nordic APIs article)

Did Bezos intend to forbid…


The first in a series of articles on API design issues for SaaS projects

Most software-as-a-service companies present their feature set to the outside world as an API: a set of tools that can be invoked from anywhere across the internet, via a standardized set of tools.

I tend to work in a limited area — accounting software — where APIs have significant inherent risks. Since we are working with financial data, are our customers safe? Is their money safe? Is the data, itself, safe?

Can you navigate through the rough patches of danger and make your API safe and…


Help your company avoid chaos and thrive on predictable releases

Few things are more tempting than the lure of a quick patch or a hotfix to solve a specific customer problem. Everything works except this; and if you fix this the customer will be happy; happy customers win deals, and so on.

Isn’t it better, a developer argues, to hotfix this one tiny little thing?

But constant chaos is addictive. If you succumb to the temptation to rush out a fix, you create the expectation that future small fixes can be rushed the same way. …


Using command line trickery to clone repositories and inspect them

To those of us more familiar with GitHub and proprietary source code control systems, Microsoft’s Azure DevOps system is an interesting change. Let’s take a look at a common problem: How much code do we have?

This article will show how to use a PowerShell script to clone all repositories for a company, and measure the file size and count for each repository.

The power of shells

The Azure DevOps Client

To start, you’ll need the Azure command line client. It’s a fairly simple installation, but once you’re done you’ll need to login from the command line:

>…

As your team grows, you should find new ways to enforce standards

Small teams are fun. When I joined the months-old startup EEDAR, I was the only engineer. I could design a completely new codebase in a language I enjoyed, which at the time was C# and .NET 2.0. I chose my own programming conventions and changed them whenever I felt the need.

Ten years later, I was managing teams of 30+ engineers at Avalara and I instructed them in the Amazon “service-oriented” strategy. …


Learning from a successful career in engineering and helping the next generation

I began lecturing at Bellevue College a few months prior to the spread of COVID-19. I had always been an autodidact myself, hacking together code in many languages as I bounced from job to job. But over time I gained a deeper appreciation for teaching, and I hoped to do it justice.

I had been fortunate to get my first break almost thirty years earlier, when a talented senior engineer hired me during summer break from college. …


Sprite-based arcade consoles conquered the world over for ten years

The year was 1985. Nintendo’s Famicom had conquered Japan and was about to launch in America. The affordable 6502 processor had taken over our living rooms, and the imminent arrival of Super Mario Brothers would introduce the world to side scrolling platform/adventure games.

But arcade games manufacturers continued to launch new products. Each arcade board was a new computer in its own right; hardware designers got lots of practice. …

Ted Spence

Software development management, focusing on analytics and effective programming techniques.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store