# Engineer i en terminal

Dette site svarer på fire protokoller, fra én mappe med filer på én server.
Arbejder du helst i en terminal, behøver du aldrig åbne en browser for at læse det.

Alt herunder virker i dag mod sitet i drift. Intet kræver en konto, en nøgle
eller en klient, du selv skal bygge.

## Hver side findes også som Markdown

Hver side udgives to gange: som HTML og som ren Markdown ved siden af. Bed om
hvilken som helst af dem.

```sh
# Tvillingen, ved navn
curl -sL https://engineer.company/da/about/index.md

# Eller bed serveren om den og lad den vælge
curl -sL -H 'Accept: text/markdown' https://engineer.company/da/about/
```

Send det videre til det, der gengiver Markdown for dig:

```sh
curl -sL https://engineer.company/da/portfolio/index.md | glow -
curl -sL https://engineer.company/da/what-it-costs/index.md | bat -l md
```

Alle sprog virker ens — `/about/index.md`, `/uk/about/index.md`.

## En Gemini-kapsel

Gemini er en lille protokol med samme sans for tingene som dette site:
tekstdokumenter over TLS, ingen scripting, ingen cookies, intet at spore dig
med. Hver side på dette site findes også som [gemtext](/da/glossary/#gemtext).

```text
gemini://engineer.company/
```

Enhver Gemini-klient læser det — **Amfora**, **Lagrange** eller **Bombadillo** i
en terminal, **Castor** eller **Kristall** i et vindue. På en Mac eller en
Debian-maskine:

```sh
brew install amfora && amfora gemini://engineer.company/
```

## Et Gopher-hul

Gopher er en menuprotokol fra 1991 — ren TCP, ingen kryptering, ingen scripting
— og sitet er et sæt menuer dér, én pr. mappe.

```text
gopher://engineer.company/
```

**Lynx** taler det uden videre, og det samme gør **Bombadillo** og
**gopher-cli**. Eller bed om en selector manuelt, hvilket er hele protokollen
på én linje:

```sh
printf '/da/contact\r\n' | nc engineer.company 70
```

## En onion-tjeneste

Samme site over [Tor](/da/glossary/#tor), for en læser, hvis netværk ikke bør
vide, hvad vedkommende læser:

```text
http://engineer2ezpeji52ipphljcflzyhetvy5r6tnqubtq45nzlxxv6rsqd.onion/
```

Det er med vilje almindelig `http://`: en [onion](/da/glossary/#onion)-adresse
er tjenestens egen offentlige nøgle, så forbindelsen er autentificeret og krypteret,
før der overhovedet tales HTTP, og et certifikat ville kun bevise et navn,
adressen allerede har bevist. Kører Tor lokalt, når `curl` den direkte:

```sh
ONION=engineer2ezpeji52ipphljcflzyhetvy5r6tnqubtq45nzlxxv6rsqd.onion
curl -sL --socks5-hostname 127.0.0.1:9050 "http://$ONION/da/index.md"
```

## At læse arbejdet som data

Porteføljen udgives i tre formater, som hver har den fulde tekst af hvert
punkt og ikke bare en smagsprøve:

```sh
curl -s https://engineer.company/da/feed.json | jq -r '.items[] | .title'
curl -s https://engineer.company/da/index.xml     # RSS
curl -s https://engineer.company/da/atom.xml      # Atom
```

Og sitet fører et kort over sig selv til alt, der læser i stedet for at crawle:

```sh
curl -s https://engineer.company/llms.txt
curl -s https://engineer.company/humans.txt
curl -s https://engineer.company/.well-known/security.txt
```

## Kildekoden, over SSH

Sitets egen kildekode ligger på vores git-server, og git taler SSH:

```sh
ssh git.engineer.company
```

Så havner du i en liste over de repositorier, vi offentliggør. Webudgaven af det
samme findes på [git.engineer.company](https://git.engineer.company/).

## Hvorfor noget af det findes

Én udrulning skriver én mappe, og fire hoveddøre læser den — så ingen af dem kan
komme ud af trit med de andre, og ingen af dem er en version af sitet, der
vedligeholdes for sig. En side, der læses godt som gemtext, er en side, hvis
struktur er ægte og ikke malet på, og det er den samme egenskab, der får
den til at læses godt i en skærmlæser og blive printet korrekt på papir.
[Kolofonen](/da/credits/) nævner de dæmoner, der står bag hver enkelt.

Vi bygger ting, der læses godt uden en browser, fordi det som regel er et tegn
på, at de er bygget ordentligt —
[bed os bygge en til jer](/da/contact/) *(pipes, exit-koder og det hele)*.

<https://platform.engineer.company/da/cli/>
