Title: 2025 in retrospect
Date: 2025-12-31 23:59

In 2025, I did, amongst other things:

- Read some books:
    - [Torture Taxi: On the Trail of the CIA's Rendition Flights](https://en.wikipedia.org/wiki/Torture_Taxi)
    - [Outlaws Inc](https://www.mattpotter.com/latest-book-outlaws-inc/): a lot of storytelling, not much meat, still interesting.
    - [Boniments](https://en.wikipedia.org/wiki/Fran%C3%A7ois_B%C3%A9gaudeau): hard to find anything hiding under so much sarcasm.
    - [The Assassination Complex](https://theintercept.com/drone-papers/the-assassination-complex/): drone-powered war crimes made in USA.
    - [The Catcher in the Rye](https://en.wikipedia.org/wiki/The_Catcher_in_the_Rye): anyone who wants to ban this book didn't read it.
    - [Blank Spots on the Map: The Dark Geography of the Pentagon's Secret World](https://en.wikipedia.org/wiki/Trevor_Paglen): fascinating.
    - [How to Argue With a Meat Eater (and win every time](https://howtoarguewithameateater.com/): the amount of bullshit the author had to deal with is impressive.
    - [Art Crime and its Prevention: A Handbook for Collectors and Art Professionals](https://www.goodreads.com/book/show/29501956-art-crime-and-its-prevention),
      equally boring and cocky, gave up around the middle of it.
    - [Breaking Things at Work: The Luddites Are Right About Why You Hate Your Job](https://www.versobooks.com/products/688-breaking-things-at-work),
      trying to shove everything through a Marxist lens, felt tedious.
    - A handful of manga:
        - [Gantz](https://en.wikipedia.org/wiki/Gantz): didn't age very well.
        - [Deadman Wonderland](https://en.wikipedia.org/wiki/Deadman_Wonderland), uninteresting, gave up after 6 tomes.
        - [D.Gray-man](https://en.wikipedia.org/wiki/D.Gray-man): great drawings, everything else is tedious, gave up around book 10.
        - [Kokō no Hito](https://en.wikipedia.org/wiki/The_Climber_(manga)): great topic, terrible realisation on every level, gave up after 4 tomes.
        - [Mashle: Magic and Muscles](https://en.wikipedia.org/wiki/Mashle): something like "Harry Potter, but the dude can't do magic and has muscles instead." Refreshingly funny.
	- Some [Warhammer 40,000](https://en.wikipedia.org/wiki/Warhammer_40,000):
        - [Planetkill](https://wh40k.lexicanum.com/wiki/Planetkill_(Anthology)), nice bunch of novellas.
        - [Darkness in the Blood](https://wh40k.lexicanum.com/wiki/Darkness_in_the_Blood_(Novel)): [Mephiston](https://wh40k.lexicanum.com/wiki/Mephiston)-wanking
        - [Elemental Council](https://wh40k.lexicanum.com/wiki/Elemental_Council_(Novel)): properly written Tau novel.
        - [Angron: Slave of Nuceria](https://wh40k.lexicanum.com/wiki/Angron:_Slave_of_Nuceria_(Novel)), the birth of Angron's tragedy.
        - [Khârn: Eater of Worlds](https://wh40k.lexicanum.com/wiki/Kh%C3%A2rn:_Eater_of_Worlds_(Novel)), Khârn's post-Heresy comeback.
        - [Ordo Sinister](https://wh40k.lexicanum.com/wiki/Ordo_Sinister_(Short_Story)): short story about the eponymous [Ordo Sinister](https://wh40k.lexicanum.com/wiki/Ordo_Sinister)
        - [No Good Men](https://wh40k.lexicanum.com/wiki/No_Good_Men_(Anthology)): great [Warhammer Crime](https://wh40k.lexicanum.com/wiki/Warhammer_Crime) short stories anthology 
        - [Steel Tread](https://wh40k.lexicanum.com/wiki/Steel_Tread_(Novel)), a tank commander story wrapping up a planetary war, really nice.
        - [Day of Ascension](https://wh40k.lexicanum.com/wiki/Day_of_Ascension_(Novel)): a novel from the point of view of a Genestealer cult, refreshing.
        - [Leviathan](https://wh40k.lexicanum.com/wiki/Leviathan_(Novel)): Space Marines against Tyranids trying to save the day on a dying planet.
        - [The Oubliette](https://wh40k.lexicanum.com/wiki/The_Oubliette_(Novel)): with a Planetary governor balancing on the edge of heresy, really good.
        - [Scions of the Emperor](https://wh40k.lexicanum.com/wiki/Scions_of_the_Emperor_(Anthology)): [Horus Heresy's Primarchs](https://wh40k.lexicanum.com/wiki/Horus_Heresy:_The_Primarchs)
          short stories anthology, pretty great.
        - [Interceptor City](https://wh40k.lexicanum.com/wiki/Interceptor_City_(Novel)): yet another chef d'œuvre by Dan Abnett featuring the [Imperial Navy](https://wh40k.lexicanum.com/wiki/Imperial_Navy).
        - [The Silent King](https://wh40k.lexicanum.com/wiki/The_Silent_King_(Novel)): wrapping up the [Dawn of Fire](https://wh40k.lexicanum.com/wiki/Dawn_of_Fire_(Series)) series, nice to read the Imperium lose for once.
        - [Blood of the Emperor](https://wh40k.lexicanum.com/wiki/Blood_of_the_Emperor_(Anthology)): anthology of small novellas about the Primarchs, some are great, others less so.
        - [Angron: The Red Angel](https://wh40k.lexicanum.com/wiki/Angron:_The_Red_Angel_(Novel)), about the crushing of a World Eater leader's dreams thanks to Angron's return.
        - [The King of the Spoil](https://wh40k.lexicanum.com/wiki/The_King_of_the_Spoil_(Novel)): commoners fomenting a civil war, with nested political and judicial points of view.
        - [Oaths of Damnation](https://wh40k.lexicanum.com/wiki/Oaths_of_Damnation_(Novel)): bolter porn featuring the Exorcists chapter, with a terrific intro and a terrible ending.
        - [Deathworlder](https://wh40k.lexicanum.com/wiki/Deathworlder_(Novel)): great [Astra Militarum](https://wh40k.lexicanum.com/wiki/Astra_Militarum) novel,
          with properly written, badass and charismatic female protagonists.
        - [Urdesh: The Serpent and the Saint](https://wh40k.lexicanum.com/wiki/Urdesh:_The_Serpent_and_the_Saint_(Novel))
          and [Urdesh: The Magister and the Martyr](https://wh40k.lexicanum.com/wiki/Urdesh:_The_Magister_and_the_Martyr_(Novel)), nice to see ocean-themed marines.
        - [Daemonhammer](https://wh40k.lexicanum.com/wiki/Daemonhammer_(Novel)): a novel about an unsubtle inquisitor, nice but not groundbreaking, characters felt a tad undeveloped.
        - [Execution Hour](https://wh40k.lexicanum.com/wiki/Gothic_War_(Novel_Series)#Execution_Hour), great book about the end of a Planet told by a vessel of the evacuation fleet, too bad the end felt rushed.
        - [Era of Ruin](https://wh40k.lexicanum.com/wiki/Era_of_Ruin_(Anthology)): an anthology of novellas about what happens after The End and the Death, unfortunately none of them were super-memorable.
        - [Hand of Abaddon](https://wh40k.lexicanum.com/wiki/Hand_of_Abaddon_(Novel)), always nice to see the setting moving forward, even though the novel
          was a tad too tedious/scattered all around the place for my taste.
- Did a couple of job interviews:
    - [Synacktiv](https://synacktiv.com/en), for a [red team tooling
      developer](https://synacktiv.com/developpeur-doutils-red-team)
      position. I passed the (fun) technical challenge, but didn't finish the
      interview process as I signed elsewhere.
    - The [Wikimedia Foundation](https://wikimediafoundation.org/), for a [Staff Software Security
        Engineer](https://job-boards.greenhouse.io/wikimedia/jobs/6126716?gh_src=f74a1ed11us)
        position. I got an offer that I declined, as I got a better one by
        another company 30min after getting this one.
    - ███████████, for a Head of Security and IT position, which was
      remote-but-a-couple-of-days-a-week-in-Paris, managing 1.5 juniors, for
      around 3 times less than my current salary. The phone call was *awkward*.
    - [Zellic](https://zellic.io/), for a
      [security researcher
      position](https://zellic-inc.notion.site/Security-Researcher-568f73b944c44982a234a1cae6530581?pvs=25),
      but my [solidity](https://en.wikipedia.org/wiki/Solidity) auditing skills
      were too weak, and I thus failed the really cool hiring challenge. But they
      offered me to continue the interview process for a [software engineer/sysadmin
      position](https://zellic-inc.notion.site/Software-Engineer-15175f108125806e9aa0e78e27a65b5c)
      instead. I didn't give it a try it, as I already signed elsewhere.
- Played some video games:
    - On a computer:
        - A bit of [Space Marines 2](https://en.wikipedia.org/wiki/Warhammer_40%2C000%3A_Space_Marine_2)
        - [Darktide](https://en.wikipedia.org/wiki/Warhammer_40,000:_Darktide),
          mostly with the 2 new classes.
        - [Clair Obscur: Expedition 33](https://en.wikipedia.org/wiki/Clair_Obscur:_Expedition_33),
          usually not a big fan of JRPG, but this game is nothing short of amazing.
        - [Age of Wonders 4](https://en.wikipedia.org/wiki/Age_of_Wonders_4):
          great 4X game, which while not being my favourite genre at all,
          was a ton of fun.
        - [Witchfire](https://en.wikipedia.org/wiki/Witchfire): hands down the
          FPS of the year for me. Great setting, great gameplay, visually
          astonishing, and a complete and utter lack of bullshit DLSS.
        - [Mutant Year Zero: Road to
          Eden](https://en.wikipedia.org/wiki/Mutant_Year_Zero:_Road_to_Eden),
          a chill post-apocalyptic variant on
          [XCOM](https://en.wikipedia.org/wiki/XCOM), without the tedious
          base-building parts and with some neat stealth element.
        - [Ready or Not](https://en.wikipedia.org/wiki/Ready_or_Not_(video_game)): the spiritual successor to SWAT 4, 
        but felt unfortunately a bit clunky and unfinished. Moreover, it
        unfortunately felt like another "kill the bad guys!" game, instead of
        playing a law-abiding officer.
    - On a glorious steam deck:
        - [Inscryption](https://en.wikipedia.org/wiki/Inscryption), gave up after the first act.
        - [Balatro](https://en.wikipedia.org/wiki/Balatro), great game, but too much luck involved for my taste.
        - [The Precinct](https://en.wikipedia.org/wiki/The_Precinct_(video_game)), I'm usually not a big fan of cops™,
          but playing GTA2 from the point of view of one, with proper penalties
          for not following due process is surprisingly nice.
- Listened to [some music](https://listenbrainz.org/user/jvoisin/year-in-music/2025/).
- Attended some concerts:
    - The [Svinkels](https://fr.wikipedia.org/wiki/Svinkels)!
    - [Alcest](https://en.wikipedia.org/wiki/Alcest) and [BRUIT ≤](https://bruitofficial.bandcamp.com/), with the latter being a really good surprise.
    - [No One is innocent](https://nooneisinnocent.net/)
    [Fractal Universe](https://www.fractaluniverseband.com/)
    [Les tambours du bronx](https://www.tamboursdubronx.com/home) (opened with
    Sepultura's Bloody Roots, and closed with Rob Zombie's American Witch!),
    and [Shaârghot](https://shaarghot.bigcartel.com/), as the 
    [Boksons](https://bocksons.com/programmation/) festival. Oh and we sung
    along while going back to the car on [Early Maggots](https://earlymaggots.com/)
    playing some classic Spliknot tracks in the distance.
- Contributed to a couple of projects:
    - [metasploit](https://github.com/rapid7/metasploit-framework/pulls?q=author%3Ajvoisin+created%3A%3E2024+)
      and [metasploit-payloads](https://github.com/rapid7/metasploit-payloads/pull/714).
    - [miniflux](https://github.com/miniflux/v2/pulls?q=is%3Apr+author%3Ajvoisin+created%3A%3E2024),
      with around 200 (!) pull-request merged this year alone.
    - [harper](https://github.com/Automattic/harper/pulls?q=author%3Ajvoisin+created%3A%3E2024+),
      a trivial low-hanging things to make debugging easier, and [opened a bunch
      of bugs](https://github.com/Automattic/harper/issues?q=is%3Aissue%20author%3Ajvoisin).
    - [Alpine Linux](https://alpinelinux.org),
       by being a [package maintainer](https://pkgs.alpinelinux.org/packages?name=&branch=edge&repo=&arch=&maintainer=Julien+Voisin),
       [sending a handful of merge-requests](https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests?scope=all&state=merged&author_username=jvoisin),
       and [trying to get rid of python-six](https://gitlab.alpinelinux.org/alpine/aports/-/work_items/17822).
    - [Nos oignons](https://nos-oignons.net/), as part of the administration
      council and the sysadmin team. We're now responsible for [a little bit
      more than 3%](https://nos-oignons.net/Services/index.en.html)
      of the network's total capacity.
    - [OpenMW](https://openmw.org), by maintaining the infrastructure.
      [MediaWiki](https://mediawiki.org/wiki/MediaWiki), that we're using for
      [our wiki](https://wiki.openmw.org), is not only annoying to
      keep up to date, but also to fight spam: doing SQL by hand isn't really
      state of the art abuse remediation, sigh. Let's hope that the combination
      of [hCaptcha](https://hcaptcha.com/), DNSBL from
      spamhaus.org/spamrats.com/0spam.org/z.mailspike.net, keyword-based
      blocklist, and clownflare
      will curb the tide. And because morons can't stop [externalizing their
      costs directly into our
      faces](https://drewdevault.com/2025/03/17/2025-03-17-Stop-externalizing-your-costs-on-me.html),
      I deployed [Anubis](https://anubis.techaro.lol/) on the [forum](https://forum.openmw.org/)
      and the [wiki](https://wiki.openmw.org), sigh.
- Kept on writing my book, reaching a bit more than 100.000 words.
- Went to the [Grehack](https://grehack.fr/), where I saw old friends and made new ones.
- Added possible subtitles to this blog, bringing their total number above 1500.
- Changed the [TLS certificates for this website](https://www.ssllabs.com/ssltest/analyze.html?d=dustri.org) to use
  elliptic curves for the whole chain: enjoy marginally faster handshakes and equally marginally size reduction in certificates transmission!
- Bought a house in the [East of France](https://en.wikipedia.org/wiki/Doubs),
  feel free to come say hi. As a side-effect I learnt how to do some basic
  plumbing/electricity/wood-working/gardening/…
- Got a fully-remote job at [Casaba Security](https://casaba.com/). The first
  weeks were a bit odd for everyone, as the switch from from a megacorp to a
  small(er) structure was a bit rough, but in the end I'm quite happy working
  there.
- Spent a couple of months without internet at home, hence why this little
  corner of the internet was unreachable. Things are now back to normal, and I
  have fiber in my office. A big thank you to everyone who reached out to
  enquire if everything was alright <3.
- As part of a conscious effort to make the word a better and more welcoming
  place, I successfully changed my usage of expletives and insults to more
  inclusive ones. I also think that this provides a positive influence on my
  friends and family, leading by example. Newly used terms include "sac à merde"
  ("shitbag"), "va te faire cuire le cul" ("go get your ass cooked"),
  "va marcher sur des legos" ("go walk on
  legos"), "bête à bouffer du grillage" and "bête à bêcher de la flotte"
  ("wire-mesh-eater/water digging level of stupid"), … Do let me know if you
  have suggestions, I'd love to expand my range of possibility and nuances.
