Data

The full Uplink archive — 1,838 articles from 145 issues, October 1990 through March 2007 — is available as JSON. It documents how computer-assisted reporting was actually practiced as it evolved: the tools, the data sources, and the stories, issue by issue for sixteen years.

Downloads

Field dictionary

FieldTypeDescription
id string Permanent identifier, minted once into the corpus. Never changes, even if the headline is later corrected.
slug string URL slug derived from year, month, and headline. Currently identical to id, but regenerated at build time — use id for longitudinal work.
url string Canonical URL of the article page on this site.
year / month / monthNum number / string / number Issue date. monthNum is 1–12 for sorting; some issues cover two months (e.g. "July/August"), in which case monthNum reflects the first.
headline string Article title as printed.
kicker string Section label or eyebrow above the headline (e.g. "ENERGY"). Often empty.
author_name string Byline name. Empty for unsigned items (about a third of the corpus — many short listings ran without bylines).
author_title string The author’s job title only.
affiliation string The author’s publication or organization.
summary string One-paragraph abstract, generated during archival processing.
keywords string[] Free-text tags assigned during archival processing.
topics string[] One to three entries from a controlled 12-topic taxonomy (see data/taxonomy.json in the repository).
technologies string[] Software, hardware, formats, and services mentioned in the article, normalized against a controlled vocabulary (data/technologies.json) and alias map (data/technology_aliases.json). Useful for tracing tool adoption over time.
full_text string Complete article text, OCR-extracted from the original scanned PDFs. Occasional OCR artifacts remain.
provenance object How the record was produced: extracted_by (extraction model or "pre-v2" for legacy records), extracted_at, and verified (whether the extraction passed anchor checks against the source text).
similar {slug, score}[] Per-article JSON only: top five related articles by TF-IDF cosine similarity, computed at build time.

Example

Count technology mentions by year with curl and jq:

curl -s https://dwillis.github.io/uplink/data/uplink-articles.json \
  | jq -r '.articles[] | .year as $y | .technologies[] | "\($y) \(.)"' \
  | sort | uniq -c | sort -rn | head

Notes for researchers