Glossary #19

Merged
olli merged 12 commits from dev into main 2026-10-15 02:34:56 +03:00
Owner

First version of the glossary

First version of the glossary
olli added 12 commits 2026-10-15 02:34:34 +03:00
Add a glossary of cloud, Kubernetes, identity and LLM terms
All checks were successful
CI / lint (push) Successful in 3s
CI / image (push) Successful in 4s
CI / verify-staging (push) Successful in 39s
ea08f002e1
Abbreviations like PKCE or WIF and tools like RKE2 or OpenBao come up
in every conversation about this kind of work, and a list of
definitions on its own doesn't show how they relate. The glossary is
a graph: each term says what it is and gives an example, and edges
link it to its alternatives, the platform it belongs to, what it
builds on, and its counterpart on another cloud.

The data is one hand-edited graph.json, rendered by a small script
with no build step. Each edge is stored once and shown from both ends.
Relations show as headings ("Alternatives: k3s") rather than sentences,
because a Finnish sentence would need the target name inflected.
scripts/check-glossary.mjs runs in CI so a typo in an edge or a
missing translation fails the build instead of shipping a dead link.
Add auth, format and AWS terms to the glossary and fix its edges
All checks were successful
CI / lint (push) Successful in 3s
CI / image (push) Successful in 4s
CI / verify-staging (push) Successful in 39s
54272fa293
The glossary lacked terms its own entries lean on (YAML, JWT, TLS,
LDAP, SAML), the two login tools most often weighed against Authentik
and Zitadel (Keycloak, Authelia), and the AWS side of most GCP
services, so the AWS-to-GCP mapping only worked in one direction.

A review of every edge found relations that described one deployment
rather than the tools, such as LiteLLM using WireGuard, and many
optional integrations recorded as dependencies. A new symmetric
works-with type takes those, and uses now means every installation
involves the target. counterpart-of now pairs only services of two
clouds; self-hosted versus managed is an alternative. The check
enforces that through the aws/gcp tags, and README states both rules.

The review also corrected facts: Kubernetes came from Google rather
than GKE, OAuth 2.1 is still a draft, Vector Search does hybrid
search, MinIO's open-source repository is archived and Continue is no
longer maintained.
Explain abbreviations in glossary texts with links and tooltips
All checks were successful
CI / lint (push) Successful in 2s
CI / image (push) Successful in 3s
CI / verify-staging (push) Successful in 29s
e8f6d96014
Summaries and notes are full of abbreviations like TTL or CMEK that
the reader had to look up elsewhere, and most don't deserve a card of
their own. Now a term written like an abbreviation links to its card
with the expansion as a tooltip, and a new abbreviations list gives
the rest a tooltip and a line in search results. Only the first
mention per card is marked, so cards don't fill up with underlines
and tab stops.

SQL, CRI, TPU, CA, DDoS protection, AMQP and VM get cards, since they
are crossroads in the graph; AWS Shield pairs DDoS protection with
Cloud Armor. The check now fails on any capitalised word that is
neither a term nor an abbreviation, so new texts can't add
unexplained ones; it caught four in this change's own cards.

Tooltips measure against the layout width rather than innerWidth,
because a phone zooms out while one is open, and names don't wrap,
because a wrapped name anchors its tooltip off-screen at 320px.
Present the site as a personal site, not a consulting offer
All checks were successful
CI / lint (push) Successful in 2s
CI / image (push) Successful in 5s
CI / verify-staging (push) Successful in 20s
16365742e5
The site is going to be shared with colleagues at work, and a page that
sells architecture reviews, proofs of concept and AI search work reads
as a side business competing with my employer. The landing page now
introduces me and links the CV and the work, the service cards and the
project process are gone, and the CV no longer says I am available for
projects.
A symmetric edge is stored from one end, so a term can be the source
of some works-with edges and the target of others. The card grouped
relations by direction, and both directions of a symmetric type share
one heading, so ACME listed "Works with" twice. Symmetric types now
form a single group.
Every term already carries tags like identity or llm, but the page
never showed them, so the only ways in were a search word or a kind.
A row of topics with counts now sits under the filters, biggest first,
and each card shows its own topics as buttons that apply the filter.
A card's button moves keyboard focus up to the row, where the choice
can be undone.

The topic names live in graph.json next to the edge types, in English
and Finnish, so the data names its own topics. The check fails on a
tag without a name, a name in only one language, or a name no term
uses.
Focus the glossary on a term and its neighbours
All checks were successful
CI / lint (push) Successful in 3s
CI / image (push) Successful in 4s
CI / verify-staging (push) Successful in 20s
2b430a4143
Following a relation used to jump to a card somewhere in a list of two
hundred, so browsing the graph meant scrolling past everything
unrelated. A link to a term now narrows the list to that term, shown
first, and the terms it links to, with a bar that says so and a trail
of the last terms visited.

Search, a kind or topic, "Show all" and Escape all return to the full
list. Each adds a history entry, so Back returns to the focused term
instead of leaving the page, and after "Show all" keyboard focus stays
on that term's card.
Tell apart glossary terms that share an abbreviation
All checks were successful
CI / lint (push) Successful in 3s
CI / image (push) Successful in 4s
CI / verify-staging (push) Successful in 58s
d6572d2c61
MIG means Managed Instance Group on GCP and Multi-Instance GPU on
NVIDIA hardware, and RDS is both AWS's database service and Windows'
Remote Desktop Services. The glossary mapped each name to one card, so
the second meaning had no place, and a reader thinking of it landed on
the wrong card without a hint.

Following Wikipedia, the meaning the texts already use stays the
primary topic and keeps the abbreviation as its label. The other gets a
card titled by its full name, with the abbreviation as an alias so a
search finds both. A new distinguish field shows a "Not to be confused
with" hatnote on both cards. A label now wins over another term's
alias when a text is linked, so MIG in a text still goes to Managed
Instance Group.

The check allows a shared name only between two terms that distinguish
each other, and fails if the secondary term's own texts or notes use
the abbreviation, since there it would link to the other card.
Correct factual errors in glossary terms
All checks were successful
CI / lint (push) Successful in 4s
CI / image (push) Successful in 3s
CI / verify-staging (push) Successful in 57s
20a6b57534
A review before publishing found claims that are wrong or out of date.
The glossary sits next to the CV, so each one would read as a gap in
what it is meant to show.

- HCL: OpenTofu is a Linux Foundation fork, not a HashiCorp tool.
- RKE2: etcd runs as a static pod; embedded etcd is k3s's mode.
- EKS: Auto Mode lets AWS manage the nodes as well.
- Bedrock: current models in the EU run through cross-region
  inference profiles, which keep requests in a geography, not a region.
- CNI: the container runtime calls the plugin, not Kubernetes.
- ECS: ECS Anywhere runs tasks off AWS; only the control plane is
  AWS-only.
- Aurora: replica lag is typically under 100 ms, not guaranteed.
- Cloud Run functions: Cloud Build builds the container.
- VM: hypervisors virtualise, they don't emulate.
- Helm: the example command lacked its chart argument.
- GGUF: the spec defines no expansion, so none is shown.
- AWS KMS, AWS WAF, CrowdSec, GKE, JWT, PHP: overstated wording.
- TPU: Google now also places TPUs in partners' data centres.
- MinIO: forks exist; it is MinIO that stopped shipping fixes.
- MCP: governed by the Linux Foundation's Agentic AI Foundation since
  December 2025.
Retype glossary edges that claim more than is true everywhere
All checks were successful
CI / lint (push) Successful in 2s
CI / image (push) Successful in 3s
CI / verify-staging (push) Successful in 20s
315727b0c8
README defines uses as something every installation involves, and an
optional integration as works-with. Several edges said uses or part-of
while their own notes named the exceptions, so a card claimed more
than its note.

- Caddy serves plain HTTP when told to, as this site's Caddyfile does,
  so ACME and TLS are works-with.
- Only some DeepSeek, GLM and Qwen models are MoE.
- Ansible also connects over WinRM, locally and to containers.
- Small LLMs run on CPUs; WIF also accepts SAML and X.509.
- TLS can run without a CA; RDP still has its own security layer.
- cert-manager manages certificates, not the TLS protocol.
- Docker Hub is a Docker Inc. service, not part of the docker tool.
- MIG exists only on NVIDIA data-centre GPUs from the A100 on.
- YAML did not build on JSON; 1.2 was aligned to be a superset of it,
  so the two are alternatives.
Fix Finnish wording in glossary texts
All checks were successful
CI / lint (push) Successful in 2s
CI / image (push) Successful in 4s
CI / verify-staging (push) Successful in 20s
ba5498378f
A review of the Finnish texts found words that mean something else and
phrasing a Finnish reader would stumble on.

- "Työntekijä" is a person, so "Työntekijät ja tietokanta ovat
  yksityisessä aliverkossa" put employees in a subnet. Worker processes
  are now worker-prosessit; the cards about employees keep the word.
- "Helm-kaavio" is a diagram. Charts are Helm-chartit, as Helm's own
  card already says.
- "Varmennettu" reads as certificate-authenticated where the English
  says redundant.
- Grammar in the Raft, SQS and vector search texts; "katkeamaton"
  meant the opposite of resumable; Node.js is not a language.
- Anglicisms: pull request, endpoint, map.
- The extends heading, the serverless topic and RDP's gloss.
Link the glossary from the landing page and every footer
All checks were successful
CI / lint (push) Successful in 2s
CI / image (push) Successful in 3s
CI / verify-staging (push) Successful in 40s
9d50d10869
The glossary had no links to it, so a visitor could only reach it by
typing the URL. The landing page now points to it at the end of "What I
work on", whose layers are the glossary's topics, styled like the "Full
CV" link under recent work.

Every page's footer gets the same CV and Glossary links, so the CV and
the glossary reach each other too. The current page's link carries
aria-current. The top bar stays as it is: at 320px it already holds the
brand and three toggles.

README's layout tree still described the landing page as the consulting
pitch it no longer is.
olli merged commit 99768133e6 into main 2026-10-15 02:34:56 +03:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
olli/olli.puhakka.dev!19
No description provided.