| 17 Oct 2023 | The name "Minor" | About my name |
| 24 Sep 2023 | Horseshoes, hand grenades, and the sunk cost fallacy | Describing a common pattern in software projects |
| 04 Jun 2023 | Paying it forward | Guiding my personal projects and other efforts |
| Learning | ||
| 02 Sep 2025 | Eckert | Passage about J. Presper Eckert |
| 17 Aug 2025 | Metis | Passage from James C. Scott's _Seeing Like a State_ |
| 09 Aug 2025 | Two proofs | Passage about Andrey Kolmogorov |
| 28 Feb 2025 | Intellectual resources and incentives | Passage from Barry Smith and Werner Ceusters, "Ontological realism: A methodology for coordinated evolution of scientific ontologies" |
| 29 Jan 2025 | That man behind the curtain | Reading John Markoff's history of the personal computer |
| 04 Oct 2023 | Frontend development | My journey to frontend development |
| 28 May 2023 | Prelinger Library | Passage about the Prelinger Library |
| 04 Mar 2023 | Generous interfaces | Learning about Mitchell Whitelaw's work |
| 11 Jan 2023 | The noetic prism | Puzzling over the DIKW pyramid |
| 18 Dec 2022 | Mathematical consultant | Quote from Bret Victor's foreword to Richard Hamming's The Art of Doing Science and Engineering: Learning to Learn |
| 24 Jun 2022 | Interactionist models | Reading about interactionist models in human-computer interaction |
| 15 Jun 2022 | Slow technology | Impressions of the paper "Slow Technology - Designing for Reflection" |
| 09 May 2022 | Knowledge Graph Conference | Interesting talks from the Knowledge Graph Conference |
| 18 Apr 2022 | Tools | Thoughts on tool-building |
| 29 Mar 2022 | Long Now | The Long Now Foundation and John Markoff's new biography of Stewart Brand |
| 12 Jan 2022 | Turing lectures | Favorite Turing lectures |
| 12 Jan 2022 | Lessons from the Turing lectures | Passages from the Turing lectures |
| 12 Dec 2021 | Learning spiral | The way I approach learning new subjects |
| 12 Dec 2021 | Erasmatazz | Exploring Chris Crawford's web site |
| 15 Oct 2021 | Designing data-intensive applications | Impressions of Martin Kleppmann's Designing Data-Intensive Applications and projects at Ink & Switch |
| 28 Sep 2021 | Antiques code show | Alumni event at the Department of Computer Science and Technology in Cambridge |
| 17 Sep 2021 | McLuhanish feeling | Quote from Alan Kay's essay on "The Early History of Smalltalk" |
| 03 Sep 2021 | Library research serendipity | Reading a paper from 1992, from 1992, "Chance in the midst of design: approaches to library research serendipity" |
| 03 Sep 2021 | The future of programming | Thoughts on Bret Victor's talk on "The Future of Programming" |
| 19 Aug 2021 | Standing desk | How I got started using a standing desk |
| 18 Aug 2021 | Dvorak | How I got started with the Dvorak keyboard |
| 09 Aug 2021 | Personal mastery | Quote from Dan Ingalls's essay "Design Principles Behind Smalltalk" |
| 05 Aug 2021 | Warburg Library | Passage about the Warburg Library |
| 30 Jul 2021 | Mike Gordon | Rediscovering Professor Gordon's web site |
| 23 Jul 2021 | Text and object | Quote from Smith and Ungar's essay "Programming as an Experience: The Inspiration for Self" |
| 01 Jul 2021 | Haskell improv | Revisiting Erik Meijer's Introduction to Functional Programming course on edX |
| 29 Jun 2021 | Postmodern programming | Reading papers from the Onward! Symposium on New Ideas in Programming and Reflections on Software |
| 16 Jun 2021 | Humming | Guardian excerpt from a new book, Anthro-Vision: How Anthropology Can Explain Business and Life |
| 05 Jun 2021 | Book scavenging | |
| 24 Apr 2021 | MuseWeb 2021 | Interesting papers from the MuseWeb 2021 conference |
| 28 Mar 2021 | Computers for Cynics | Ted Nelson's "Computers for Cynics" video series |
| 21 Mar 2021 | Incongruity | Passage from Thomas Kuhn's The Structure of Scientific Revolutions |
| 13 Mar 2021 | Forgotten ideas in computer science | References from a Joe Armstrong talk on "The Forgotten Ideas in Computer Science" |
| 27 Feb 2021 | Primary sources | Understanding computer science through seminal papers |
| 06 Feb 2021 | Writing to learn | Reading Zinsser's Writing to Learn: How to Write - and Think - Clearly About Any Subject at All |
| 06 Feb 2021 | WCIT | Learning about Dame Stephanie Shirley and the Worshipful Company of Information Technologies |
| 16 Jan 2021 | Seshat | Discovering the Seshat project and the study of cliodynamics |
| 02 Dec 2020 | The virtue of boring | Passage from the Google Site Reliability Engineering book |
| 01 Dec 2020 | Commonsense psychology | Notes on Andrew Gordon and Jerry Hobbs's series of papers on commonsense psychology |
| 01 Dec 2020 | Commonsense estimation | Notes on "Optimal Choice of Granularity In Commonsense Estimation" by Jerry Hobbs |
| 28 Oct 2020 | Material culture | Notes on Jules David Prown's "Mind in Matter: An Introduction to Material Culture Theory and Method" |
| 10 Oct 2020 | Two logicians and a poet | Amusing slide from a John Sowa keynote on "Language, Ontology, and the Semantic Web" |
| 29 Aug 2020 | Speichertechnik | Remembering a class I took at the TU Berlin |
| 11 Jul 2020 | Under the sun | Why I study the history of science and technology |
| 11 Jul 2020 | Collective intelligence in groups | Two articles about collective intelligence in groups |
| 20 Jun 2020 | Ideas | Buckminster Fuller and the importance of building prototypes |
| 13 Jun 2020 | Andrew Odlyzko | One of my intellectual heroes |
| 06 Jun 2020 | Explainability | Reflecting on Robert Hoffman's talk about explainable artificial intelligence |
| 23 May 2020 | Personal projects | Using personal projects to learn and experiment |
| 10 May 2020 | W. Richard Stevens | The author of my favorite technical book |
| 10 May 2020 | David MacKay | A professional role model |
| 06 May 2020 | How to write a great research paper | Simon Peyton-Jones's talks for new researchers |
| 05 May 2020 | Bill Joy interview | Passages from a 2003 Wired interview with Bill Joy |
| 04 May 2020 | Wheeler lectures | Enjoying computer science war stories |
| 04 May 2020 | Jean Bacon interview | Video interview with my doctoral advisor |
| 05 Apr 2020 | Adjacent possible | Reading Steven Johnson's How We Got to Now: Six Innovations That Made the Modern World |
| 19 Mar 2020 | Computational creativity | Reading papers from the International Conference on Computational Creativity |
| 07 Mar 2020 | A clean architecture for semantic web applications | A talk about recent work I've done on user-facing applications of semantic technologies |
| 26 Feb 2020 | Learning to Listen for Design | Leading a discussion group on a paper from Onward! 2019, "Learning to Listen for Design" by Baniassad, et al. |
| 28 Nov 2019 | Strange Loop 2019 | Interesting talks from The Strange Loop conference |
| 28 Nov 2019 | History as a giant data set | Discovering cliodynamics and the Seshat global history databank |
| 11 May 2019 | The CEO as Salesman | Passage from "Portrait of the CEO as Salesman" |
| 14 Apr 2019 | Midwest Junto for the History of Science | Attending the Midwest Junto for the History of Science |
| 15 Sep 2018 | Strange Loop 2018 | Interesting talks from The Strange Loop conference |
| Opinions | ||
| 04 May 2025 | Betrieb | Problems worth solving |
| 29 Apr 2025 | Exemplars | Fit to be imitated |
| 30 Sep 2023 | Resisting the impersonal | Focusing on the personal and relational |
| 27 Sep 2023 | Good ideas vs. good execution | Ruminating on the relative abundance of good ideas compared to good execution |
| 02 Jun 2023 | Interviewing | Lessons learned from years of professional interviews |
| 23 Jan 2022 | T-shaped | The concept of T-shaped skills |
| 08 Jan 2022 | Tulsa BBS scene | Reminisces of the Tulsa BBS scene in the early 1990s |
| 23 Oct 2021 | What makes a job good? | Priorities |
| 14 Feb 2021 | Optimal experience | The changing nature of optimal experiences in my work |
| 04 Dec 2020 | Thinker-doer | What is a thinker-doer? |
| 30 May 2020 | Good enough | The space between "good enough" and gold-plating |
| 02 May 2020 | Code is for other people to read | Thoughts on consistency in software engineering |
| Projects | ||
| 13 Apr 2024 | Paradicms retrospective | Reflecting on a personal project |
| 13 Apr 2024 | Notablist retrospective | Reflecting on a startup experience |
| 08 Jan 2024 | Awesome Software Engineering History | An Awesome List of books, videos, and other resources for learning about the history of software engineering |
| 04 Jan 2024 | Dive Into Schema.org | Dive Into Schema.org project |
| 30 Dec 2021 | Bildungsroman | Exploring digital exhibitions with curated content |
| 16 Jan 2021 | Sharing Historic Costume Collections Online | Reflecting on "Sharing Historic Costume Collections Online" and how it's shaped my direction since 2015 |
| 03 Dec 2020 | Sampo model | Semantic portals for digital humanities |
| 16 Sep 2020 | Events | Reflections on modeling historical events |
| 10 Sep 2020 | Value of curation | Curation as a process of discovering, understanding, contextualizing, and synthesizing knowledge about the world |
| 10 Sep 2020 | CIDOC CRM | Exploring the CIDOC Conceptual Reference Model (CRM) |
| 23 Aug 2020 | Paradicms | New personal project: Paradicms, a multi-paradigm Collections Management System (CMS) for small museums and archives |
| 06 Jun 2020 | Costume Core 0.4 | New release of the Costume Core ontology for describing artifacts of historic clothing |
| 22 Dec 2019 | DressDiscover | Revisiting one of my personal projects, DressDiscover, a suite of open source web applications for digital collections of historic clothing |
| 01 Sep 2019 | NerdSwipe | NerdSwipe personal project |
| 19 Mar 2019 | ThingsWorth | Outline of an ongoing personal project, ThingsWorth |
| Teaching | ||
| 13 Sep 2025 | The History of Computing in 50 Books | Talk at the Brunswick Community Library |
| 09 Feb 2023 | Teaching Machine Learning | Experiences teaching Machine Learning classes at RPI |
| 05 Jun 2021 | Mentorship | Experiences mentoring and being mentored |
| 04 Sep 2019 | Test early, test often, and keep your master branch stable | Talk on software testing |
| Technical | ||
| 09 Oct 2024 | SPARQL CONSTRUCT queries over RDF lists | With examples |
| 21 Jun 2024 | RDF text compression experiment | Summary of the experiment and key results |
| 16 Jul 2023 | Integrating Getty Linked Art | Paradicms blog post |
| 12 Jul 2023 | Paradicms at LD4 2023 | Paradicms blog post |
| 07 Jun 2023 | RDF-backed models in TypeScript | Paradicms blog post |
| 05 Jun 2023 | Techniques for handling RDF in JavaScript | Paradicms blog post |
| 20 May 2023 | Digital collections: data first or interface first? | Paradicms blog post |
| 11 May 2023 | Data model fever and the case of the missing applications | Paradicms blog post |
| 11 Apr 2022 | Improving the faceted search interface in the Paradicms work search app | Paradicms blog post |