diff --git a/content/agoranomic.md b/content/agoranomic.md
new file mode 100644
index 0000000..153eeda
--- /dev/null
+++ b/content/agoranomic.md
@@ -0,0 +1,74 @@
+---
+title: Agora Nomic
+---
+
+Agora Nomic is a game of Nomic started in 1993 and still running today.
+
+I have watched over the game since April 2020 and started actually playing
+in November. I paused everything due to some family events and health
+issues.
+
+## Discussion media
+
+* agora-business@agoranomic.org
+ Mailing list for normal gameplay.
+* agora-official@agoranomic.org
+ Works the same as agora-business, but intended for official reports and
+ more important messages.
+* agora-discussion@agoranomic.org
+ Mailing list for discussion related to the game, nothing sent here counts
+ as actual gameplay.
+* agora@listserver.tue.nl
+ Backup mailing list, if the normal lists go down.
+* agoranomic@groups.io
+ Backup mailing list, to circumvent some of tue.nl's limitations.
+* Freenode: `##nomic`
+ IRC channel for discussion related to Agora.
+* Discord: Agora Nomic Chat Server
+ Discord server for Agora discussion, with a bot relaying to IRC.
+
+## Links
+
+* Website:
+* GitHub:
+* Full ruleset:
+
+## Current status
+
+Not exactly current as I have months of gameplay to catch up on, if I feel like
+coming back again.
+
+* 174 coins
+* 2 Victory Cards
+* 1 Justice Card
+* 1 Legislative Card
+* 1 Voting Card
+* 1 Karma
+* Ministry Focus: Legacy
+* Reportor
+ * 0 Credit
+ * Published 2020-11-09.15
+ * Published 2020-11-30.12-06
+* Orchador
+ * Can plant a tree and pick fruit every 7 days
+ * Orchadoror soon, amendment pending
+ * Remaining consents: Trigon, Cuddlebeam, P.S.S.
+ * 1 Tree Tree
+ * 1 Bread Tree
+ * 1 Nomic Tree
+ * 1 Binary Tree
+ * 1 Potato Tree
+ * 5 Tree Fruit
+ * 4 Bread Fruit
+ * 3 Nomic Fruit
+ * 2 Binary Fruit
+ * 1 Potato Fruit
+* Farmer
+ * Can plant once per Agoran week
+ * Names are unofficial
+ * 4 Potato
+ * Lucidot
+ * Insert Joke Here
+ * GLaDOS
+ * 🥔
+ * Potato Fruit
diff --git a/content/books.md b/content/books.md
index 6ec2f00..633a974 100644
--- a/content/books.md
+++ b/content/books.md
@@ -13,15 +13,17 @@ title: books
* Bruce Benamran, Prenez le temps d'e-penser 1 and 2
* Alain, Éléments de philosophie
* Roberta Allen, Écrire une histoire en 5 minutes
+* Randall Munroe, What If?
+* Randall Munroe, How To
## reading
Aka books that are on my phone's ebook reader, and that I read at least one page from
in the last year… I want to read more often!
-* Randall Munroe, How To
* Thomas T. Barker, Writing Software Documentation
* Sven Ove Hansson, Vincent F. Hendricks, Introduction to Formal Philosophy
+* Sönke Ahrens, How to Take Smart Notes
## to read
@@ -69,7 +71,6 @@ in the last year… I want to read more often!
* Code Lyoko Chronicles, tome 4 : Le retour du Phoenix
* Andy Hunt, Pragmatic Thinking and Learning
* Ka Wai Cheung, The Developer's Code
-* Sönke Ahrens, How to Take Smart Notes
* Lori Gottlieb, Maybe You Should Talk to Someone
* John Yates, Matthew Immergut, Jeremy Graves, The Mind Illuminated
* Celeste Headlee, Do Nothing
diff --git a/content/brainshit.md b/content/brainshit.md
index 977e438..9186e8a 100644
--- a/content/brainshit.md
+++ b/content/brainshit.md
@@ -1,13 +1,85 @@
---
-title: brainshit
+title: Brainshit
---
-Brainshit is my oldest website; a French blog that I initially made as part of
-a PHP tutorial, then that grew into a collaborative blog with 200 articles
-from me and a friend I met on Habitica.
+Brainshit is my personal blog, with some occasional posts from other people
+I have given access to. My best friend used to write with me in the early
+years, but is now just an avid reader. Lord Vlad joined me there after we
+got to know each other through [habitica](./habitica.html).
-Started in 2009, it got two full rewrites, three migrations, three name changes
-and four domain changes. After moving around on various free hosting services,
-I decided to self-host it, at first on a Raspberry Pi Zero-W, then on an Intel
-NUC named Carthage. It is now hosted on [mountain](./mountain.html), and is a
-part of the [cybrecluster](./cybrecluster.html).
+Brainshit is now part of the [cybrecluster](cybrecluster/).
+
+## History
+
+* 2009-2010: A very blue and orange website hosted on Freeheberg, using code
+ from a PHP tutorial on the *Site du Zéro*
+ ([OpenClassrooms](https://openclassrooms.com/)'s old name), and with
+ [.tk](https://dot.tk) domain name.
+* 2010-2012: Renamed it from my old nickname to *BubbleLand*, redesigned it by
+ filling it with `` tags and scanning drawings from a notebook, and moved
+ to Kelio.org, a French non-profit.
+* 2013-2015: Made the initial design using [Amaya](https://www.w3.org/Amaya/),
+ then integrated it again into the old PHP tutorial code. Moved to Hostinger,
+ another free PHP hosting thing. Rewrote the whole admin page using jQuery UI
+ once I had learned it during an internship and even tried to make a JSON API.
+* 2015-now: Rewrote from scratch using things I learnt from doing a PHP project
+ at school and reusing that project in an internship. Articles can have just
+ a summary, or a summary and content, or a summary and chapters. A simple
+ permissions system is available, as well as comment moderation, private
+ messaging between writers and an idea board.
+
+## Next rewrite
+
+As per my [cybrecluster](cybrecluster/) rules, I want to move Brainshit away
+from PHP and MariaDB and use a static site. I wanted to do that long before I
+even thought about the cybrecluster. I had written a Python exporter that took
+in a MariaDB database export and generated Markdown files and some tar.gz
+archives for the features that I would drop during the transition.
+
+It took me a while to decide, but I chose to just not include comments at all
+in the next version of Brainshit. It will just be articles, and that's all.
+We got very few comments, half of those were spam, and replying was hard since
+there were no email notifications. If we want replies, we'll just publish our
+email addresses or other contact info. This makes a static site much easier
+to consider; the few solutions available for comments either require me to host
+another service that gets backed by a database somewhere, and the whole point
+was to remove the dependency on binary files, or require me and the readers to
+have GitHub accounts, which is not acceptable considering the fact that GitHub
+is an American company, owned by Microsoft, and makes questionable choices
+regarding its clients.
+
+I had considered at one point rewriting Brainshit in Python with Django, before
+coming up with the cybrecluster and deciding that Brainshit is simply not large
+enough to require something non-static. While I definitely am able to pull off
+that rewrite, I don't want to host it.
+
+I am struggling to find the static site generator that will allow me to make my
+transition. I was considering moving Brainshit further away from a blog and
+more into a wiki, but now that I have this wiki, this feels less relevant;
+these change of plans definitely slowed me down. For now, I am considering
+using [Zola](https://getzola.org).
+
+## Article ideas
+
+* Going to a public library felt empowering
+* Coding for myself or for others
+ * Introduction on the Lua script generating SQL
+ * One-off shell scripts, immediate usage
+ * Learning can be transferred to PKM
+* Personal knowledge management
+* tilde.town
+* breadpunk.club
+* twtxt-registry-client
+* Urbex adventures in Grenoble
+* Minetest
+* A d7 throw costing 400 billion euros
+* Nomic
+* A more abstract approach to ITSB
+* On imperfection: "Le talent d'Achille"
+* How many points do we get by shooting every basketball in existence
+ through a hoop at once?
+* Literate programming
+* A conclusion on my use of the [integrity report](./integrity-report.html)
+ * Projects that do not follow an integrity report or that do not
+ seem to matter in some kind of productivity methodology aren't always
+ negative distractions, they can also be just *hobbies* that we do for fun.
diff --git a/content/cybrecluster/carthage.md b/content/cybrecluster/carthage.md
new file mode 100644
index 0000000..ffe0f4a
--- /dev/null
+++ b/content/cybrecluster/carthage.md
@@ -0,0 +1,14 @@
+---
+title: carthage
+---
+
+:::{style="text-align: center"}
+Here lies
+
+[carthage]{style="font-size: 200%"}
+
+\* 2018-09-08T14:30Z
+† 2020-10-27T17:59Z
+
+R.I.P.
+:::
diff --git a/content/cybrecluster/index.md b/content/cybrecluster/index.md
index 4daafc0..c99d8ae 100644
--- a/content/cybrecluster/index.md
+++ b/content/cybrecluster/index.md
@@ -94,7 +94,7 @@ This sounds rather close to an [integrity report](../integrity-report.html).
* Migrated my French blog to Mountain
* Stopped all Docker services on Carthage
* Migrated all my Syncthing folders to Mountain
-* Sold Carthage to a friend at a fair price
+* [Sold Carthage](./carthage.html) to a friend at a fair price
* Added a Cybrecluster banner to all of my websites
* Started posting about my tilde projects on my self-hosted French blog
* Created this wiki
@@ -121,6 +121,7 @@ to my French audience and describes the actions to take regarding
* Add a Gopher version of my breadsite
* Add a Gopher version of this wiki
* Add a Gemini version of my french blog
+* Add a Gemini version of my town site
* Add a Gemini version of my breadsite
* Add a Gemini version of this wiki
diff --git a/content/feeds.md b/content/feeds.md
index c9479fe..c5c7723 100644
--- a/content/feeds.md
+++ b/content/feeds.md
@@ -5,7 +5,7 @@ title: feeds
## rss
* [my french blog](https://brainshit.fr/rss)
-* [a quest to identify plants](//tilde.town/~lucidiot/plants/feed.xml)
+* [a quest to identify plants](//tilde.town/~lucidiot/plants/feed.xml) (no longer updated)
* [#fridaypostcard](//tilde.town/~lucidiot/fridaypostcard.xml)
* [rsrsss](./rsrsss/)
* [this wiki](./rss.xml)
@@ -18,9 +18,10 @@ title: feeds
## everything
* hundreds of feeds of [transport accident investigation reports](//tilde.town/~lucidiot/itsb/)
- in rss, atom, rdf, [cdf](./cdf.html), …
+ in rss, atom, rdf, [cdf](./cdf.html), [hina](hina/), [lirs](lirs/), …
## planned feeds
* my breadsite
+* itsb updates
* rocket launches, with georss and/or eventrss support
diff --git a/content/links.md b/content/links.md
new file mode 100644
index 0000000..a775187
--- /dev/null
+++ b/content/links.md
@@ -0,0 +1,29 @@
+---
+title: links
+---
+
+Various things that I want to read sometime later.
+Who needs bookmarks anyway?
+
+* The Coming of Age of Calm Technology
+* Anti-Mac Interface
+* wsinatra's interview
+* ‘Pataphysical Software: (Ridiculous) Technological Solutions for Imaginary Problems
+
+* TempleOS
+* Learn Perl in 2h30
+* In the Beginning Was the Command Line
+
+* The Prevention of Literature
+* Why software has convinced me to believe in the reality of cats and apples
+
+* Steal Those Buttons
+*
+*
+
+## technical writing
+
+* Write The Docs
+* GNOME Style Guide
+* The Elements of Style
+* Practical UNIX Manuals: mdoc
diff --git a/content/meta.md b/content/meta.md
new file mode 100644
index 0000000..db18109
--- /dev/null
+++ b/content/meta.md
@@ -0,0 +1,127 @@
+---
+title: About the wiki
+---
+
+## Why?
+
+There has been a recent trend to set up [[zettelkasten]]s, which got me to
+look around and see how other people handled their knowledge using a wiki.
+Personal wiki articles are often short, and the focus is more on browsing
+around and discovering new links between ideas.
+
+Going public-first instead of private-first is also a trend, with wikis on
+Git repos or special websites like Andy Matuschak's [[evergreen]] notes.
+Going public encourages curiosity, invites others to notice what you want
+to learn on or what you know and give you their input, and inspires others.
+It feels less like a waste of time.
+
+I initially started a private wiki using Vimwiki, as I just needed a space
+to store random ideas and notes and wanted something I felt more in control
+of than something like HedgeDoc or CryptPad, and something that I could edit
+with a proper text editor and not a web browser.
+
+I decided to move to a public wiki for various reasons:
+
+* Some pages in my private wiki were worthy of being published, but did not
+ really fit as blog posts on my french blog or on my other sites.
+* Most pages did not fit as blog posts because a blog post gives the feel of
+ something becoming permanent, becoming something you cannot go back to edit
+ on. Posting a journal of sorts about your research on a topic to circumvent
+ this issue just makes it much harder for someone to read your results, as
+ they need to read through the entire archive.
+* Publishing online makes it feel, for me, that an idea I have, a thought,
+ anything I write will not be lost.
+* Publishing makes my writing more worth it than just writing for myself.
+* All the arguments mentioned in other personal wikis, blog articles about
+ personal wikis, research about personal knowledge management, blog articles
+ about blogging, etc., all apply here too.
+
+## Links
+
+*
+*
+*
+*
+*
+*
+*
+*
+
+## Software choice
+
+Wikis that use relational databases or non-human-editable formats go against
+my new ethics on web services: the most static possible, and the less risky
+if [[mountain]] goes down, even if i do not set up anything for backups.
+
+Wikis that would be to annoying to use (not available on every device, not
+available offline, …) would make me give up earlier, so the choice of
+software is pretty crucial I want to keep up this practice.
+
+What follows is probably pretty harsh, biased, and not well thought-out enough,
+and that's just how most of my software decisions go anyway :D
+
+Paper
+: Basically a Zettelkasten.
+ I would not have access to it on the go, would not be able to search quickly,
+ and would not be able to publish easily, but I would definitely not have the
+ UX or modern tech issues I have with everything else.
+
+Vimwiki
+: Does not use Markdown by default, but well integrated with Vim. I tried it
+ out for a bit and I actually do not use most of it, so I found out I was just
+ fine with regular Markdown.
+
+TiddlyWiki
+: I had tried it for a fiction writing project, to describe the entire lore
+ a la Wikia. The UI is far from being uniform since everything is a plugin,
+ and it is pretty resource-heavy and requires Node.js; the software does not
+ easily get out of your way for you to just focus on writing.
+
+Org-mode
+: I have yet to find something that cannot be structured using Org-mode, and
+ there are many Org-mode-based software out there, but having to learn Emacs
+ implies that I will very quickly give up on that.
+
+MediaWiki
+: Definitely not text-file-based, can be pretty heavy to host compared to all
+ my sites. Promotes long-form writing when most personal wikis tend to have
+ shorter articles and more links, similarly to a Zettelkasten.
+
+[Weewiki](https://pbat.ch/wiki/weewiki/)
+: Interesting, and it uses literate programming which I like, but it still
+ uses Org-mode and a binary format.
+
+[Obsidian](https://obsidian.md/)
+: Proprietary, paid, and it looks like the UIs you get from Electron apps
+ so I expect it to be too resource-heavy.
+
+[Zettelkasten](http://zettelkasten.danielluedecke.de/) (the software, not the method)
+: Uses Java and seems to use its own format, not just regular text files.
+
+[Neuron](https://neuron.zettel.page/)
+: Interesting, but felt too complex at the time I started this wiki for what
+ I expected to need.
+
+[Dendron](https://wiki.dendron.so/)
+: Hierarchical, while what got me more interested in a system such as the
+ Zettelkasten was the ability to spawn relationships between random unrelated
+ items (which would not be hierachically related at all). Also requires
+ Visual Studio Code, which means it will be resource-heavy.
+
+## Goals
+
+I am currently moving most of my private Vimwiki-based wiki into this public
+wiki or into other places such as my notebooks, my archives, or other sites
+on the cybrecluster.
+
+I want to try to use this wiki more as a tool for research than as yet another
+place to publish things, and instead publish the completed research on my
+French blog, as I did for the [Chinese date parsing](./cn-date.html) for
+example.
+
+I am reading *How to Take Smart Notes* by Sönke Ahrens, a book that introduces
+to the Zettelkasten, and am now considering adding a "reference" folder in this
+wiki for various blog articles, books, etc. that I might stumble upon and find
+interesting thoughts on, to reproduce the reference system mentioned in that
+book. One blog post, for which I had written an incomplete two thousand word
+draft, then gave up on it, could benefit from that.
diff --git a/content/mountain.md b/content/mountain.md
index a130171..6b0b006 100644
--- a/content/mountain.md
+++ b/content/mountain.md
@@ -13,9 +13,121 @@ the other sectors; Desert, Forest and Ice.
I am considering hosting some other small services such as Gopher, Gemini, or
Finger. I however want everything to only be purely static; if it does not
-fit in a Git repo, it does not get into my server; Syncthing is the only
+fit in a Git repo, it does not get into my server. Syncthing is the only
exception.
A WebDAV server is also hosted there, although it is only exposed to my LAN;
I use it purely to make transfers between my IBM ThinkPads running old Windows
versions and my Linux systems easier.
+
+I tried to write some setup docs when I first set it up, but of course I did
+not write everything down, that would be too easy.
+
+## Base setup
+
+* Boot on an Alpine Linux ISO.
+* Run `setup_alpine`.
+* Set the keyboard to `fr-oss` (layout `fr`, then `fr-oss` variant)
+* Set `mountain` as the hostname
+* Set the disks up; `lvm` on all disks
+* Reboot once prompted
+* Uncomment the `community` repo in `/etc/apk/repositories`
+* Recommended installation: `apk add --update vim figlet htop tmux pciutils zsh`
+* Edit the `/etc/motd` to taste, including a `:r! figlet mountain`
+
+## WLAN
+
+### Manual setup
+
+* Scan: `iwlist wlan0 scanning`
+* Set SSID to `bacon`: `iwlist wlan0 essid bacon`
+* Create WPA config: `wpa_passphrase bacon password > /etc/wpa_supplicant/wpa_supplicant.conf`
+* Start WPA supplicant: `wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf`
+* Start in the background: `wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf`
+* DHCP: `udhcpc -i wlan0`
+
+### Automated setup
+
+* Perform the above manual setup first.
+* Ensure the following is in `/etc/network/interfaces`:
+ ```
+ auto wlan0
+ iface wlan0 inet dhcp
+ ```
+* Nuke the interface: `ifconfig wlan0 down`
+* Start WPA supplicant manually: `rc-service wpa_supplicant start`
+* If all goes well, `rc-update add wpa_supplicant boot`
+
+## Graphics
+
+* Add the graphics driver: `apk add xf86-video-nouveau` (might not be mandatory?)
+* To set the screen resolution manually: `fbset -xres 1440 -yres 900 -match`
+
+> TODO: Keep the screen resolution set permanently
+
+## SSH
+
+* The base setup already includes a server
+ * Check it with `rc-status`
+ * Otherwise:
+ ```
+ apk add openssh
+ rc-update add sshd default
+ rc-service sshd start
+ ```
+* After updating the config at `/etc/ssh/sshd_config`, restart with `rc-service sshd restart`
+* Disable `PasswordAuthentication`, `ChallengeResponseAuthentication` and `PermitRootLogin`
+
+## Sudo
+
+* Install sudo: `apk add sudo`
+* Add a group: `addgroup sudo`
+* Add a user to the group: `adduser lucidiot sudo`
+* Use `visudo` to uncomment the line that allows access to the `sudo` group
+
+## Nginx
+
+* Install nginx: `apk add nginx`
+* Start on boot: `rc-update add nginx default`
+* Start manually: `rc-service nginx start`
+
+## MariaDB
+
+* Install MariaDB: `apk add mariadb mariadb-client`
+* Start on boot: `rc-update add mariadb default`
+* Initial setup: `rc-service mariadb setup`
+* Start manually: `rc-service mariadb start`
+* Run the installation wizard: `mariadb-secure-installation`
+* Keep passwordless access for root without UNIX socket so you can do `sudo mariadb`
+* Disallow remote login
+* Remove anonymous users and the `test` database
+* Run `sudo mariadb`
+* Run `INSTALL SONAME 'auth_ed25519';`
+
+## PHP
+
+* `apk add php7-fpm phpmyadmin`
+* `rc-update add php-fpm7 default`
+* Edit `/etc/php7/php-fpm.d/www.conf`:
+ ```
+ listen = /run/php-fpm7/php.sock
+ ```
+* `rc-service php-fpm7 start`
+
+> TODO
+
+## Brainshit
+
+> TODO
+
+## Let's Encrypt
+
+> TODO
+
+## UFW
+
+> TODO
+
+## WebDAV
+
+> TODO
diff --git a/content/psp.md b/content/psp.md
new file mode 100644
index 0000000..a6cd6ad
--- /dev/null
+++ b/content/psp.md
@@ -0,0 +1,67 @@
+---
+title: PlayStation Portable
+---
+
+## Games I like (non-exhaustive)
+
+* Little Big Planet
+* Need for Speed Most Wanted 5-1-0
+* Grand Theft Auto: Vice City Stories
+* Grand Theft Auto: Liberty City Stories
+* Bejeweled 2
+* wipeOut Pure
+* wipeOut Pulse
+
+## Projects
+
+A PSP is in that strange place in the middle of normal gaming and
+retro-gaming; I count it in my retro-computing hobbies.
+
+When it came out, it was way ahead of its time in terms of hardware,
+of graphics quality, or features. It was one of the first handheld consoles
+to truly be aimed at the Internet. The PSP's internet features have sadly
+been slowly degrading with the evolution of Internet standards and the lack
+of interest from various hackers to play with those; most people are only
+focused on PSP games.
+
+### Archival
+
+Preserve what remains of the PSP's official websites and documentation,
+especially what can be relevant to the PSP's internet features.
+
+### CXML
+
+Reverse-engineer a format used in multiple files of the PSP, such as
+Internet Radios, folder thumbnails, etc.
+
+
+
+### SensMe
+
+While archiving the websites, I re-discovered SensMe Channels.
+
+With some general knowledge I acquired about machine learning concepts at the
+workplace, I want to try to understand how SensMe works by comparing it to
+modern music classifiers and analyzing its data structures.
+
+### PSP Server
+
+There have been a few attempts at making PSP HTTP servers:
+
+* [PSP HTTPD](http://web.archive.org/web/20050827120434/http://www.microsith.com/psp-http/)
+* [PPSPS](http://web.archive.org/web/20060703011157/http://www.pspproject.net:80/)
+
+Another interesting project is [Peldet][peldet], a PSP Telnet/IRC client.
+
+We want to have a new take at this and make a server out of a PSP. Not just
+HTTP, anything goes; we just want to see a PSP in the wild being used as a
+server. Some ideas:
+
+* An HTTP server that returns the GPS coordinates
+* An HTTP server that returns a picture taken with the PSP's Go!Cam
+* A remote job entry service; send some code and the PSP returns its result
+
+We might place a PSP running the Go!Cam service on a hill, as we had done
+before with a Raspberry Pi.
+
+[peldet]: http://web.archive.org/web/20181215224438/http://localhost.geek.nz/telnet/
diff --git a/content/tank.md b/content/tank.md
new file mode 100644
index 0000000..07917f7
--- /dev/null
+++ b/content/tank.md
@@ -0,0 +1,195 @@
+---
+title: tank
+---
+
+A Lenovo ThinkPad X201 Tablet. My first ever ThinkPad, a very useful tool for
+my studies. It has been my daily driver, on and off, for over a year and a
+half in total. I really like it when I compute on the go, especially on
+trains or on mountains (not to be confused with [mountain](./mountain.html)).
+I now try to bring it with me and use it wherever, just to add to the list on
+this page.
+
+## Specifications
+
+* Product ID: 45N4955
+* Core i5-520UM
+* Intel HD Graphics
+* 12.1" 1280×800 (WXGA) TFT display
+* Wacom Serial Penabled Pen
+* 8GB PC3-8500 RAM
+* SanDisk SSD PLUS 240GB 19136F805340
+* Ricoh 5-in-1 Multicard Reader
+ * I never knew it supported anything other than SD cards…
+ * TODO: Test with a Memory Stick
+* Intel 10/100/1000 Ethernet
+* Intel HD audio with CX20585 codec
+* ThinkPad Modem (MDC-3.0, 56kbps HDA)
+* 2 MiniPCI Express slots:
+ * Intel Centrino Advanced-N 6200 Wi-Fi card
+ * Qualcomm Gobi 2000 3G and GPS card, Verizon-locked
+* ExpressCard/54 slot
+* 2MP webcam
+* UPEK Touchstrip TCRD4C fingerprint reader
+* Broadcom BCM2046 Bluetooth Controller
+* TPM 1.2 embedded security system
+* HDAPS support
+* UltraNav trackpoint
+* Intel Active Management Technology 6.x
+
+## Places it went to
+
+Just taking it with me without doing anything does not count; I have to turn
+it on and use it for a place to enter this list. This list is unordered.
+I sometimes add some fun things I did in each place, when I remember them.
+
+* Grenoble
+ * My student room
+ * Daily driver for a year
+ * Helped set up [Carthage](cybrecluster/carthage.html)
+ * My first apartment
+ * At my best friend's place in Championnet
+ * On a hill near the Désert de l'Écureuil
+ * Maintenance on an autonomous webcam and weather station
+ * IGA (abandoned geography institute)
+ * Saw the Tour de France on a road down there while listening to the organizer's radio comms
+ * Institut Dolomieu (abandoned geology institute)
+ * Tried to draw some floorplans, and ate breakfast there
+ * Charmant Som (a summit)
+ * Listed QRZs received during a hamradio contest
+ * Answered random people's questions about the 6 meter-high antenna we deployed there
+ * La Coop
+ * [La Turbine](https://turbine.coop)
+* Lille
+ * Lille-Flandres train station
+ * Gaston Berger high school
+ * Removed the Windows partition, making it my first Linux-only computer
+ * Solved riddles in law class using regexes
+ * Played games, wrote blog articles, learnt Python during classes
+ * Lille university
+ * IUT
+ * Pierant's room
+ * Liliad (library)
+ * Plugged into [a dead drop](https://deaddrops.com/db/?page=view&id=1108)
+ * On the stairs to the opera
+ * Walking around a neighborhood
+ * Got a few WEP passwords using wifite
+* Wattrelos
+ * My great-aunt's house
+* Douai
+ * At home
+ * Walking around the city center, breaking into WEP passwords using Kali-Linux
+ * "Le Prince" kebab restaurant
+ WEP password: `1122334455`
+ * F.P.'s place
+* Brest
+ * My aunt's apartment
+ * Configured a router
+* Le Folgoët
+ * My grandparents' house
+ * Watching movies
+* Thionville
+ * My parents' home
+ * Daily driver for a few months
+ * Typed this list
+* Paris
+ * Teklia's previous office
+* Carcassonne
+ * My grandparents' house
+ * Finished a 4+ month-long group project alone in 2 days
+* Trains
+ * Grenoble → Valence TGV
+ * Valence TGV → Paris-Lyon
+ * Grenoble → Lyon Perrache
+ * Lyon Part-Dieu → Paris-Lyon
+ * Grenoble → Paris-Lyon
+ * Paris-Lyon → Grenoble
+ * Douai → Lille Flandres
+ * Lille Flandres → Douai
+ * Worked on my first C# project, a coffee machine simulator
+ * Played with my Windows 98SE VM
+ * Rewrote my [French blog](./brainshit.html)
+
+## Alpine setup
+
+[wsinatra](https://lambdacreate.com) got me interested in Alpine, and I am
+having issues with Ubuntu 20 on most computers with `tank` being the worst
+affected, so I am looking into switching it to Alpine. This section has some
+notes on setting it up with LVM on LUKS on a virtual machine before I really
+switch to it; encryption really matters to me on this specific laptop because
+I carry it everywhere.
+
+*
+*
+
+1. Go through setup-alpine until the disk prompt, then `^C`
+2. `apk add lvm2 cryptsetup parted haveged e2fsprogs syslinux`
+3. `rc-service haveged start`
+4. `parted -a optimal`
+ 1. `mklabel msdos`
+ 2. `mkpart primary ext4 0% 100M`
+ 3. `mkpart primary ext4 100M 100%`
+ 4. `set 1 boot on`
+ Use `print` to check.
+5. `haveged -n 0 | dd of=/dev/sda2`
+6. `cryptsetup luksFormat /dev/sda2`
+ TODO: try `cryptsetup -v -c serpent-xts-plain64 -s 512 --hash whirlpool --iter-time 5000 --use-random luksFormat /dev/sda2`
+7. `cryptsetup luksOpen /dev/sda2 lvmcrypt`
+8. `pvcreate /dev/mapper/lvmcrypt`
+9. `vgcreate vg0 /dev/mapper/lvmcrypt`
+10. `lvcreate -L 9G vg0 -n swap`
+11. `lvcreate -l 100%FREE vg0 -n root`
+ TODO: Also add a separate volume for /home
+12. `lvscan` to check
+13. `mkfs.ext4 /dev/sda1`
+14. `mkfs.ext4 /dev/vg0/root`
+15. `mkswap /dev/vg0/swap`
+16. `swapon /dev/vg0/swap`
+17. `mount -t ext4 /dev/vg0/root /mnt/`
+18. `mkdir -v /mnt/boot`
+19. `mount -t ext4 /dev/sda1 /mnt/boot`
+20. `setup-disk -m sys /mnt/`
+21. Add `/dev/vg0/swap\tswap\tdefaults\t0 0` to `/mnt/etc/fstab`
+22. Add `cryptsetup` and `keymap` to the `features` in `/mnt/etc/mkinitfs/mkinitfs.conf`
+23. `mkinitfs -c /mnt/etc/mkinitfs/mkinitfs.conf -b /mnt/ $(ls /mnt/lib/modules/)`
+24. `blkid -s UUID -o value /dev/sda2 > ~/uuid`
+25. Set the proper UUID in `/mnt/etc/update-extlinux.conf`:
+ `default_kernel_opts="… cryptroot=UUID= cryptdm=lvmcrypt"`
+ Also check this:
+ ```
+ modules=sd-mod,usb-storage,ext4,cryptsetup,keymap,cryptkey,kms,lvm
+ root=UUID=
+ ```
+26. `chroot /mnt/`
+27. `update-extlinux`
+ May cause errors on `/boot`, ignore them
+28. `exit`
+29. `dd bs=440 count=1 conv=notrunc if=/mnt/usr/share/syslinux/mbr.bin of=/dev/sda`
+30. `cd`
+31. `umount /mnt/boot`
+32. `swapoff /dev/vg0/swap`
+33. `umount /mnt`
+34. `vgchange -a n`
+35. `cryptsetup luksClose lvmcrypt`
+36. `reboot`
+37. Enable the community repo in `/etc/apk/repositories`
+38. `apk update`
+39. `setup-xorg-base xfce4 xfce4-terminal lightdm-gtk-greeter xfce4-screensaver dbus-x11 sudo`
+40. `apk add xf86-video-intel xf86-input-synaptics xf86-input-mouse xf86-input-keyboard setxkbmap elogind polkit-elogind gvfs-fuse gvfs-mtp fuse-openrc thunar-volman udisks2`
+41. Update the Xorg config:
+ ```
+ Section "InputClass"
+ Identifier "Keyboard Default"
+ MatchIsKeyboard "yes"
+ Option "XkbLayout" "fr"
+ Option "XkbVariant" "oss"
+ Option "XkbOptions" "compose:rctrl"
+ EndSection
+ ```
+42. `adduser -g lucidiot lucidiot`
+43. `visudo` to allow `lucidiot`
+44. `rc-service dbus start`
+45. `rc-update add dbus`
+46. `rc-service lightdm start`
+47. Once everything works, `rc-update add lightdm`
+48. `rc-service fuse start`
+49. `rc-update add fuse`