WallLabel – Experiments with Apple’s open source machine-learning frameworks

WallLabel – Experiments with Apple's open source machine-learning frameworks

On-device models are still someone else’s models but having the flexibility to choose one model over another, to recognize that they are systems with strengths and weaknesses rather than all-knowing oracles, and the ability to incorporate those choices in to how our projects are designed and implemented is a small, but important, step in retaining some degree of control and agency in our work.

This is a blog post by aaron cope. It was published on October 29, 2025 and tagged swift, ios, mlx, machine-learning and roboteyes.

Registrar – Experiments with Apple’s on-device machine-learning frameworks

Registrar – Experiments with Apple's on-device machine-learning frameworks

We are releasing this work in a spirit of generousity and to encourage others to suggest improvements with the larger goal of providing resources to help the broader cultural heritage sector think about how to use machine learning technologies outside and beyond the promises of the billboards advertising these same technologies in Silicon Valley and the world over.

This is a blog post by aaron cope. It was published on October 16, 2025 and tagged swift, ios, llm, machine-learning and roboteyes.

Searching the SFO Museum Aviation Collection website by color

Searching the SFO Museum Aviation Collection website by color

The search-by-color functionality works by taking an input color, represented as a hexidecimal string, and then “snapping” it to its nearest match on a fixed palette of colors. The RGB color space contains over 16 million individual colors so searching for exact matches will usually yield too few results to make searching by color useful. By “bucketing” all those millions of colors in to a fixed set of a couple of hundred colors, a “palette”, things start to get interesting.

This is a blog post by aaron cope. It was published on June 16, 2025 and tagged collection, search, color, api and webassembly.

Updates to the SFO Museum text and image “embossers” (and a brand new tool for color matching)

Updates to the SFO Museum text and image

In addition to all these changes the go-image-emboss package now includes a new command line tool, called review-colors, to perform image segmentation, color extraction and “snap-to-grid” matching with one or more color palettes for images, displaying all the results in a handy webpage.

This is a blog post by aaron cope. It was published on May 29, 2025 and tagged golang, swift, roboteyes, grpc and color.

Building a custom Placeholder geocoding database

Building a custom Placeholder geocoding database

Placeholder is great but there are three things it doesn’t support by default which are pretty important for SFO Museum: The inclusion of airports, historical records and SFO Museum architectural records in the search index. I am happy to say that we are now able to build our own custom Placeholder SQLite databases which address all of these issues.

This is a blog post by aaron cope. It was published on April 28, 2025 and tagged golang, placeholder, geocoding and history.

The SFO Museum Application Programming Interface (API)

The SFO Museum Application Programming Interface (API)

Today we are announcing the availability of the SFO Museum Application Programming Interface (API). The API allows developers to access SFO Museum-related data programatically over the internet. The SFO Museum API has actually been around for a while now. It’s what powers the object counts as you add and remove filters on the advanced search page on the Aviation Collection website and is how items are added to and removed from your shoebox from both the Collection and Mills Field websites. The various SFO Museum websites are API consumers just like any other application. We are pleased to be able to (finally) open up access to the API to you and we look forward to seeing what you create with it.

This is a blog post by aaron cope. It was published on January 14, 2025 and tagged golang, python, api, shoebox and picturebook.

SFO Museum flight data records now available as GeoParquet exports

SFO Museum flight data records now available as GeoParquet exports

This is a short blog post to announce the availability of flight data for of the over 8.4 million (and counting) flights that have traveled in and out of SFO, since 2006, as GeoParquet files.

This is a blog post by aaron cope. It was published on January 07, 2025 and tagged flightdata, geoparquet, geo and duckdb.

Updates to the SFO Museum shoebox

Updates to the SFO Museum shoebox

It is now possible to add individual flights and Instagram posts, in addition to collection objects, to your shoebox. The goal is to slowly (and then quickly) add the ability to save any of the “first class actors” involved with the SFO Museum websites to your shoebox: Twitter posts, individual terminals and gates, airlines, aircraft and airports. Anything, really. Flights and Instagram posts are just what we’ve started with and what we’re using to make sure everything works.

This is a blog post by aaron cope. It was published on December 05, 2024 and tagged shoebox, flightdata, instagram and socialmedia.

Updates to the SFO Museum ActivityPub services

Updates to the SFO Museum ActivityPub services

The ability for SFO Museum ActivityPub accounts to both signal and promote one another provides a mechanism where people can subscribe to a single (SFO Museum) account can keep up with everything that all the other (SFO Museum) accounts are talking about. The introduction of a message processing queue, currently just to handle nearby requests, opens up a whole world of possible interactions between people inside (and outside) the terminals and everything SFO Museum has to offer. These small incremental changes and small and incremental in keeping with our goal “to keep things simple and prove that everything can work in a low-cost serverless environment without the need for a lot of babysitting”.

This is a blog post by aaron cope. It was published on November 12, 2024 and tagged activitypub, socialmedia and golang.