About 3 months ago I started working with RISC-V port of Fedora Linux. Many things happened during that time.
I went through the Fedora RISC-V tracker entries, triaged most of them (at the moment 17 entries left in NEW) and tried to handle whatever possible.
My usual way of working involves fetching sources of a Fedora package (fedpkg
clone -a) and then building it (fedpkg mockbuild -r fedora-43-riscv64). After
some time, I check did it built and if not then I go through build logs to find
out why.
Effect? At the moment, 86 pull requests sent for Fedora packages. From heavy packages like the “llvm15” to simple ones like the “iyfct” (some simple game). At the moment most of them were merged, and most of these got built for the Fedora 43. Then we can build them as well as we follow ‘f43-updates’ tag on the Fedora koji.
Work on packages brings the hard, sometimes controversial, topic: speed. Or rather lack of it.
You see, the RISC-V hardware at the moment is slow. Which results in terrible build times — look at details of the binutils 2.45.1-4.fc43 package I took from koji (Fedora and RISC-V Fedora):
| Architecture | Cores | Memory | Build time |
|---|---|---|---|
| aarch64 | 12 | 46 GB | 36 minutes |
| i686 | 8 | 29 GB | 25 minutes |
| ppc64le | 10 | 37 GB | 46 minutes |
| riscv64 | 8 | 16 GB | 143 minutes |
| s390x | 3 | 45 GB | 37 minutes |
| x86_64 | 8 | 29 GB | 29 minutes |
That was StarFive VisionFive 2 board, while it has other strengths (such as upstreamed drivers), it is not the fastest available one. I asked around and one of porters did a built on Milk-V Megrez — it took 58 minutes.
Also worth mentioning is that the current build of RISC-V Fedora port is done with disabled LTO. To cut on memory usage and build times.
RISC-V builders have four or eight cores with 8, 16 or 32 GB of RAM (depending on a board). And those cores are usually compared to Arm Cortex-A55 ones. The lowest cpu cores in today’s Arm chips.
The UltraRISC UR-DP1000 SoC, present on the Milk-V Titan motherboard should improve situation a bit (and can have 64 GB ram). Similar with SpacemiT K3-based systems (but only 32 GB ram). Both will be an improvement, but not the final solution.
We need hardware capable of building above “binutils” package below one hour. With LTO enabled system-wide etc. to be on par with the other architectures. This is the speed-related requirement.
There is no point of going for inclusion with slow builders as this will make package maintainers complain. You see, in Fedora build results are released into repositories only when all architectures finish. And we had maintainers complaining about lack of speed of AArch64 builders in the past. Some developers may start excluding RISC-V architecture from their packages to not have to wait.
And any future builders need to be rackable and manageable like any other boring server (put in a rack, connect cables, install, do not touch any more). Because no one will go into a data centre to manually reboot an SBC-based builder.
Without systems fulfilling both requirements, we can not even plan for the RISC-V 64-bit architecture to became one of official, primary architectures in Fedora Linux.
Such long build times make my use of QEMU useful. My AArch64 desktop has 80 cores, so with the use of QEMU userspace riscv64 emulation, I can build the “llvm15” package in about 4 hours. Compare that to 10.5 hours on a Banana Pi BPI-F3 builder (it may be quicker on a P550 one).
And LLVM packages make real use of both available cores and memory. I am wondering how fast would it go on 192/384 cores of Ampere One-based system.
Still, I used QEMU for local builds/testing only. Fedora, like several other distributions, does native builds only.
We plan to start building Fedora Linux 44. If things go well, we will use the same kernel image on all of our builders (the current ones use a mix of kernel versions). LTO will still be disabled.
When it comes to lack of speed… There are plans to bring new, faster builders. And probably assign some heavier packages to them.
I enjoy reading and I am known for being a fast reader. In 2025, I read one hundred books…
So what kind of books did I read? Mostly science-fiction, but also some biographies, thrillers and a few random ones.
As in previous years, I continued reading the “Undying Mercenaries” series by B.V. Larson. It is an easy to read series — I can read a book in the evening and forget what was there during sleep.
There was “The Murderbot Diaries” by Martha Wells. Mostly because there was an announcement of a TV series (which (surprise, surprise) turned out to be worse than the books). I read the first five books in Polish and the last two in English, as they had not been published yet. If you plan to read them, I recommend the “1, 2, 3, 4, 6, 5, 7” order as “System Collapse” (7th book) starts at the end of “Network Effect” (5th one), while “Fugitive Telemetry” is more a single story happening before “Network Effect” one.
I started reading “Expeditionary Force” by Craig Alanson. It was an interesting space opera, but became boring at some point so I ended on “Aftermath” (the 17th book). How long you can keep up with a series where humans keep playing with other galactic civilisations, all thanks to the help of an ancient AI?
After many years, I collected all parts of “Sector General” by James White. All twelve books. It was fun to read but it feels old. And recently Russ Allbery mentioned “Machine” and “Ancestral Night” by Elisabeth Bear as a modern series with similar vibe.
When it comes to old authors, I also read “To the Stars” series by Harry Harrison.
The other series was “Shadow Raptors” by Sławomir Nieściur. Common theme: humans fighting some other species. In space.
Another space series was “Stark’s War” by John G. Hemry (as Jack Campbell). A war on the Moon over the control of resources.
There were two series by Vladimir Wolff: “Nowy porządek świata” (“A new world order”) and “Armaggedon”. It is hard to tell how they differ cause they share some ideas. The world as we know it ends, old forces vanish, and new ones appear. It is fun to read about a “near future” where Poland becomes a new global force, while the United States vanishes due to a virus killing nearly entire population.
The “All You Need Is Kill” by Hiroshi Sakurazaka shows how much story can be changed before film adaptation is created (the “Edge of Tomorrow” was based on this book). Highly recommend.
There were books by Andrzej Kwiecień — “Metamorf” and “Dori”. Some kind of cyberpunk stories in a world where androids can take human’s form and personality. Light read.
“Kaori” by Marta Sobiecka was a cyberpunk crime story. Reading reviews does not remind me a book, which shows that it was mediocre one.
Other cyberpunk was set of stories called “Cyberpunk Girls”. Some were good, some were not.
Another collection was the “Frostpunk, Antologia” — a set of four stories in the steampunk world of the Frostpunk game (which I have never played).
And while we are around alternative world of XXI century I have to mention “Ciepło-zimno” by Joanna Mazur. Deeper in climate change, with nine months long summer, no electricity during some parts of a day, main character is a freelance worker, happy to have some work at all.
There was “Czarownica znad Kałuży” postapo story by Artur Olchowy. Small village in a middle of nowhere, with “a witch” living just outside of it. And one day a priest arrives and tries to change the way those people live. It was an interesting read, despite common oversimplifications (as usual in postapo stories).
Then was Blake Crouch with his “Dark matter” and “Recursion” books. Both are about travelling to the other versions of the world. In “Dark matter” those are parallel universes, where the main character can meet the other selves. “Recursion” loops the live of the main character to his younger self. Both were a good read.
“Good Omens” by Terry Pratchett and Neil Gaiman was a must after watching TV series.
“Senni zwycięzcy” by Marek Oramus about multi-generation spaceship flying towards the Earth. Society there is in terrible state and there are mysterious people with paranormal abilities trying to change things. And it turns out to be transmitted as some sick reality TV. Good book from 1970s.
And “Triplet” by Timothy Zahn. Fantasy book in space.
Some time ago, someone suggested me to check books by Василий Маханенко (Vasily Mahanenko in one transcription, Wasilij Machanienko in the other). His “Way of Shaman” series was an interesting one. Kind of reading how someone plays the game instead of watching it on Twitch or Youtube.
Between science fiction books I smuggled some history ones. Mostly around the Second World War.
There was “Wojna oczami wroga, sojusznicy Hitlera” by Grzegorz Bobrek. A book showing WW2 from a view of German allies: Italy, Hungary, Romania or Japan. And Germany itself. Was boring at some points but if someone wants to see the other view, I recommend this book.
Friedrich Sander’s book titled “Blood, Dust and Snow: Diaries of a Panzer Commander in Germany and on the Eastern Front, 1938-1943” was another one showing WW2 from the German side.
The “Operation Paperclip” by Annie Jacobsen is about secret US project of gathering as much of German research and scientists as possible during the end of WW2. If you were deemed valuable enough, you were moved to the USA with a new identity as long as you were ready to work for “your new country”.
The “Ludzie na mydło” (“Humans for soap”) by Tomasz Bonek is about German anatomists turning human corpses into school material. And that soap made from human fat was more of a side effect of that work rather than primary purpose.
There was also something not about WW2: “The Hot Zone” by Richard Preston. Worth reading book about the Ebola virus.
There were some books which can be described as “the end of the world we know”.
“The End of Men” by Christina Sweeney-Baird shows the world where 90% of men died due to unknown disease. When vaccination arrives, international travel is allowed only between countries with 99.9% of population being vaccinated. And that book was written before COVID-19 pandemic. Very interesting position to read.
The “Blackout: Tomorrow Will Be Too Late” by Mark Elsberg was another book in this category. Imagine Europe without electricity. Which means no water, no fuel, no food, no hospitals, no communication etc.. All because of a cyberattack.
I read some biographies during 2025.
There was “The Outsider: My Life in Intrigue” by Frederick Forsyth. From the youngest pilot in RAF, to journalist, almost a spy and the author. Quick read, despite 368 pages.
And then were books about Jan Himilsbach (“Ja to chętnie napiłbym się kawy”) and Zdzisław Maklakiewicz (“Zaczęło się od tego, że jestem brzydki…”). Both by Ryszard Abraham. Add “Rejs na krzywy ryj” by Anna Poppek and you have three interesting books about famous Polish duo and the film which started their common career. I was also reading stories written by Jan Himilsbach but did not finished it in 2025 so it was not counted.
The book by Chrysta Bilton “A Normal Family: The Surprising Truth About My Crazy Childhood (And How I Discovered 35 New Siblings)” was a fun read. Author described her crazy childhood and later finding out that author’s father was a sperm donor. Which ended with her “expanded family” of 35 brothers and sisters…
Another book from this category was “American Sniper” by Chris Kyle, Scott McEwen and Jim DeFelice.
A few books here. Starting with “ZATO” by Alice Lugen — a book about closed cities in Soviet Union (and later Russia). Very good read, describing how Soviet maps were falsified to hide those cities even from neighbours, how life there was different etc.
“Głusza” by Anna Goc described world of deaf people. Their language, culture and problems. How world of “those who hear” tries to force them “to fit”. Highly recommend.
Edyta Żemła in “Armia w ruinie” described how Polish Armed Forces changed during last years. To worse.
“Miła robótka” by Ewa Stusińska describes how everything around sex and porn arrived in Poland during 1990s. From VHS films to sex toys. How people started explore new areas of sexual freedom.
“Breasts” by Corien van Zweden is a wonderful book about breasts. Their role, how they change during life and what breast cancer can mean. Highly recommend. Even if you lack them yourself.
And the last entry: “Pogo” by Jakub Sieczko describes life of an ambulance workers.
It might look that I had a lot of free time in 2025, because reading all those books takes time.
I mostly read in the evening. Lying in bed, with my Onyx Nova2 e-book reader. Sometimes during day (there was lot of reading during time when I had a problem with my arm).
In those one hundred books, I read a few of them in English. Rest was in Polish (I had to look out for English titles for most of this post).
How many books I will read inn 2026? No idea. Probably fewer.
Wait, what? RISC-V? In ‘the diary of AArch64 porter’? WTH?
Yes, I started working on Fedora packaging for the 64-bit RISC-V architecture port.
About a week ago, one of my work colleagues asked me about my old post about speeding up Mock. We had a discussion, I pointed him to the Mock documentation, and gave some hints.
It turned out that he was working on RISC-V related changes to Fedora packages. As I had some spare cycles, I decided to take a look. And I sank…
The 64-bit RISC-V port of Fedora Linux is going quite well. There are over 90% of Fedora packages already built for that architecture. And there are several packages with the riscv64 specific changes, such as:
Note that these changes are temporary. There are people working on solving toolchain issues, languages are being bootstrapped (there was a review of Java changes earlier this week), patches are being integrated upstream and in Fedora, and so on.
There is the Fedora RISC-V tracker website showing the progress of the port:
This is a simple way to check what to work on. And there are several packages, not built yet due to use of “ExclusiveArch” setting in them.
The quick look at work needed reminded me of the 2012-2014 period, when I worked on the same stuff but for AArch64 ports (OpenEmbedded, Debian/Ubuntu, Fedora/RHEL). So I had a knowledge, I knew the tools and started working.
In the beginning, I went through entries in the tracker and tried to triage as many packages as possible, so it will be more visible which ones need work and which can be ignored (for now). The tracker went from seven to over eighty triaged packages in a few days.
Then I looked at changes done by current porters. Which usually meant David Abdurachmanov. I used his changes as a base for the changes needed for Fedora packaging, while trying to minimise the amount of them to the minimum required.
I did over twenty pull requests to Fedora packages during a week of work.
But which hardware did I use to run those hundreds of builds? Was it HiFive Premier P550? Or maybe Milk-V Titan or another RISC-V SBC?
Nope. I used my 80-core, Altra-based, AArch64 desktop to run all those builds. With the QEMU userspace helper.
You see, Mock allows to run builds for foreign architectures — all you need is
the proper qemu-user-static-* package and you are ready to go:
$ fedpkg mockbuild -r fedora-43-riscv64
You can extract the “fedora-43-riscv64” Mock config from the mock-riscv64-configs.patch hosted on Fedora RISC-V port forge. I hope that these configuration files may be found in the “mock-core-configs” in Fedora soon.
At some point I had 337 qemu-user-static-riscv processes running at same
time. And you know what? It was still faster than a native build on 64-bit
RISC-V hardware.
But, to be honest, I only compared a few builds, so it may be better with other builders. Fedora RISC-V Koji uses wide list of SBCs to build on:
Also note that using QEMU is not a solution for building a distribution. I used it only to check if package builds, and then scrap the results.
Will I continue working on the RISC-V port of Fedora Linux? Probably yes. And, at some point, I will move to integrating those changes into CentOS Stream 10.
For sure I do not want to invest in RISC-V hardware. Existing models are not worth the money (in my opinion), incoming ones are still old (RVA20/RVA22) and they are slow. Maybe in two, three years there will be something fast enough.
Dawno nie pisałem tutaj po polsku ale dzisiaj “pani Antonina” próbowała kupić ode mnie telefon.
Nabyłem w okazyjnej cenie telefon Xiaomi Redmi Note 14 Pro+ 5G. A że nie mam potrzeby go używać to postanowiłem go sprzedać.
Na początek wrzuciłem go na Facebook Marketplace. Bo wiecie: “za darmo”. No tak sobie tam leżał, co jakiś czas ktoś pytał czy aktualne lub zadawał więcej pytań.
Po czym dzisiaj pojawiła się “pani Antonina” (w cudzysłowie bo to przejęte konto raczej). Na początek zadała klasyczne pytania o aktualność oferty, stan telefonu itp…
Czy jest możliwość wysyłki kurierem Inpost po wcześniej wpłacie na konto? Zamówię kuriera i pokryję koszty wysyłki.
Lub paczkomatom zapłacę +20.
Nie wiem jak Wy, ja lubię usługi InPostu. W promieniu 15 minut piechotą mam pewnie z 10 ich “automatów paczkowych”. Więc owszem, czemu by nie miało być.
Parę minut później dostałem info:
Gotowe. Zaplaciłam na InPost powinieneś otrzymać list na swój adres maila.
Sprawdź swoją skrzynkę mail proszę.
I okazała potwierdzenie przelewu:
I tu już zaczęło śmierdzieć…
Uznałem, że nie wiem, może i potwierdzenie z banku Pekao SA tak powinno wyglądać. Popytałem znajomych, czy ktoś ma tam konto.
Dostałem informację, że zawsze jest data i godzina wystawienia dokumentu. Zawsze jest numer rachunku nadawcy, dane właściciela rachunku itp.
Na potwierdzeniu powyżej jest jeszcze kilka innych błędów ale co ja będę naprowadzać scammerów…
Skoro była prośba o sprawdzenie skrzynki to sprawdziłem. Nie było nic. No to zaglądam GMailowi do spamu, a tam owszem jest mail “od InPostu”.
O ile InPost używa adresów email w domenie tp5142.com :D
Link “Otwórz panel InPost Pay” to 320 znaków prowadzących do jeszcze innej
domeny. Poza adresem był blok “onload=eval(decodeURIComponent(atob(ZNACZKI)))”.
Po zdekodowaniu otrzymałem kolejny “eval(decodeURIComponent(atob(InneZnaczki)))”
który dał mi url:
h00ps://confirm-orderNUMERKI.xyz/LosoweZnaczki=InneLosoweZnaczki
Tu już zacząłem szukać po sieci artykułów w temacie “wałek na InPost”…
Tymczasem “pani Antonina”:
To jest numer śledzenia przesyłki kսrіеrѕkіеј. Zaplaciłam na ǏnΡost. Proszę odebrać pieniądze na konto przez zamówienie.
Tam jest przycisk Dalej i wybierz bank i wprowadź dane, aby zweryfikować i otrzymać pieniądze. Po potwierdzeniu zaⅿóԝіеոіа kսrіеr zadzwoni się w celu dogadania kiedy przyjechać i pod jaki adres.
Nie wiem czy widzicie to co ja: “Ǐ” w “ǏnΡost” to nie jest nasze “I” tylko “duże łacińskie i z caronem”. Przyznaję, że nie wiem w jakim języku używa się tej litery.
Do tego “m” w “zaⅿóԝіеոіа” też nie jest naszym “m” tylko “Small Roman Numeral One Thousand” czyli “małe rzymskie oznaczenie liczby tysiąc”.
Oba znaczki złapałem bo mi edytor podświetlił słowa z nimi jako błędne.
W międzyczasie dostałem jeszcze jednego maila — ten przeszedł filtry
antyspamowe. Tym razem adres nadawcy był zbudowany z losowych literek w domenie
zohomail.in.
Nic tylko czytać i klikać co nie?
Tym razem link prowadzi prosto do
h00ps://elektrizitaet-muenchen.com/LosoweLiterki który także kieruje do znanego
już adresu:
h00ps://confirm-orderNUMERKI.xyz/LosoweZnaczki=InneLosoweZnaczki
Na tym etapie uznałem, że postaram się być miły:
Przepraszam bardzo, ale na tym kończymy - nie mam zamiaru klikać podejrzanych linków w podejrzanych mailach.
Na co dostałem:
O czym ty mówisz? Moje pieniądze już są na stronie, zaufałam Ci. Potwierdź proszę zаⅿóԝіеոіе , mam nadzieję na Twoją uczciwość.
Pieniądze już zostały pobrane i nie da się cofnąć transakcji, bo to był pobraniowy przelew
Nieprzyjęcie pobrania to kradzież. InPost pracuje do 22:00 jeśli nie przyjmiesz, pieniądze po prostu przepadną i się spalą, i to będzie traktowane jako kradzież
Przyznaję, ciekawe podejście do sprawy. Później jeszcze była wiadomość głosowa męskim głosem strasząca policją itp.
Zgłosiłem “panią Antoninę” i podzieliłem się historią ze znajomymi. Ktoś rzucił pomysłem posta na bloga. Więc macie historię.
People are used to looking at “Features” field in the /proc/cpuinfo file under
Linux. But does it show everything about the CPU cores present in the system?
AArch64 CPUs have a set of “identification registers” which are named “ID_AA64*_EL1”, where “*” can be:
They can be used to check which features are present in a given CPU core. Their presence depends on things like age, generation, revision, and the design of the SoC.
As the AArch64 architecture was progressing, more and more identification registers were needed to describe CPU core features.
From a quick look through Arm docs, I compiled a simple table of chronology:
| ID register | Architecture version | Year | First Arm core |
|---|---|---|---|
| ID_AA64DFR0_EL1 | v8.0-A | 2011/2012 | Cortex-A53, Cortex-A57 |
| ID_AA64PFR0_EL1 | v8.0-A | 2011/2012 | Cortex-A53, Cortex-A57 |
| ID_AA64ISAR0_EL1 | v8.0-A | 2011/2012 | Cortex-A53, Cortex-A57 |
| ID_AA64MMFR0_EL1 | v8.0-A | 2011/2012 | Cortex-A53, Cortex-A57 |
| ID_AA64AFR0_EL1 | v8.0-A | 2013/2014 | Cortex-A53, Cortex-A73 |
| ID_AA64AFR1_EL1 | v8.0-A | 2013/2014 | Cortex-A53, Cortex-A73 |
| ID_AA64DFR1_EL1 | v8.0-A | 2013/2014 | Cortex-A53, Cortex-A73 |
| ID_AA64PFR1_EL1 | v8.0-A | 2013/2014 | Cortex-A53, Cortex-A73 |
| ID_AA64ISAR1_EL1 | v8.0-A | 2013/2014 | Cortex-A53, Cortex-A73 |
| ID_AA64MMFR1_EL1 | v8.0-A | 2013/2014 | Cortex-A53, Cortex-A73 |
| ID_AA64MMFR2_EL1 | v8.2-A | 2016 | Cortex-A55, Cortex-A75 |
| ID_AA64ZFR0_EL1 | v8.2-A (SVE) | 2017 | Fujitsu A64FX, Cortex-A710 |
| ID_AA64MMFR3_EL1 | v8.3-A | 2017 | Cortex-X4 |
| ID_AA64ISAR2_EL1 | v8.5-A | 2018 | Cortex-A520 |
| ID_AA64ISAR3_EL1 | v8.5-A | 2018 | Cortex-A520 |
| ID_AA64MMFR4_EL1 | v8.7-A | 2021 | Cortex-A715 |
| ID_AA64SMFR0_EL1 | v9.0-A (SME) | 2021 | Neoverse V1 |
| ID_AA64FPFR0_EL1 | v9.5-A | 2023 | |
| ID_AA64PFR2_EL1 | v8.9-A/9.5-A | 2023 | C1 |
I am not 100% sure about years and architecture versions. Not every document has all versions available on the Arm developer website.
It also shows that the Cortex-A53 was a very popular core design — it had multiple revisions, which added several features.
In my opinion, the easiest way is to use my ArmCpuInfo tool. It runs on any EFI environment (EDK2, U-Boot, and so on), reads the ID registers and prints their meaning. I wrote about it some time ago.
A TRM document may list an ID register, explain all its fields, and it still can look like something to ignore because it only contains zeros. Like the ID_AA64MMFR3_EL1 register in the Neoverse-V3 TRM:
All those fields have descriptions and they mean something. At the same time, they all have a 0b0000 value. I assume that the value of some fields may change when the SoC vendor pays more and begins designing its own version of a CPU core based on Arm’s design.
Cortex-A75 present in the MediaTek Helio G70 SoC reports SSBS (Speculative Store Bypass Safe) feature under Linux:
processor : 6
BogoMIPS : 26.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp
asimdhp cpuid asimdrdm lrcpc dcpop asimddp asimddp sha512 ssbs
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x3
CPU part : 0xd0a
CPU revision : 1
But to read it, you need the ID_AA64PRF1_EL1 register, which is not mentioned in the Cortex-A75 technical reference manual (TRM). It is present in the newer versions of the Cortex-A55 TRM, and both CPU core models are present in the Helio G70 SoC.
SSBS (and SSBS2) were introduced into Arm v8.5 and then added to v8.0 to allow every CPU core to have it implemented.
As you may know, I have a page about ARM CPU cores where I list some basic information. Last weekend I added showing of potential CPU features to it. Small example:
| CPU core name | features |
|---|---|
| Cortex-A53 | AA32EL0, AA32EL1, AA32EL2, AA32EL3, AA64EL0, AA64EL1, AA64EL2, AA64EL3, AES, ASID16, AdvSIMD, CRC32, Debugv8, DoubleLock, FP, MixedEnd, MixedEndEL0, PMULL, PMUv3, SHA1, SHA256 |
| Cortex-A520 | AA64EL0, AA64EL1, AA64EL2, AA64EL3, AES, AFP, AMUv1, ASID16, AdvSIMD, BBM, BF16, BTI, CCIDX, CONSTPACFIELD, CRC32, CSV2_2, CSV3, DGH, DIT, DPB2, Debugv8p4, DotProd, E0PD, ECBHB, ECV_POFF, EVT, FCMA, FGT, FHM, FP, FP16, FRINTTS, FlagM2, HAFDBS, HCX, HPDS2, HPMN0, I8MM, IDST, IESB, JSCVT, LOR, LRCPC, LRCPC2, LSE, LSE2, MTE3, MixedEnd, MixedEndEL0, PACQARMA3, PAN3, PAuth2, PMULL, PMUv3p7, RASv1p1, RDM, S2FWB, SB, SHA1, SHA256, SHA3, SHA512, SM3, SM4, SPECRES, SSBS2, SVE, SVE2, SVE_AES, SVE_BitPerm, SVE_PMULL128, SVE_SHA3, SVE_SM4, TLBIOS, TLBIRANGE, TRBE, TRF, TTCNP, TTL, TTST, UAO, VHE, VMID16, XNX, XS, nTLBPA |
There may be some mistakes in the table — I strongly advise checking Technical Reference Manuals (TRMs) to be sure. Please report any error — I will take a look at fixing them.
Factorio: Space Age added new achievements, so I no longer had 100% done. So, some time ago, I started “finish SA under 40 hours” challenge to get back to fully finished game state.
Before starting, I decided to check how people approached this achievement. One of solutions was the ‘Express Delivery: a brief guide for the best achievement in the game. Ask me anything!’ post by “Intrepid_Teacher1597” on Reddit. With clean split to parts:
I went through my old blueprints, refreshed my ‘Microfactories for Space Age’ set from some old savegame and started playing.
I opted for rich resource settings and made islands on Fulgora large enough to not have issues with space. Later, it turned out that I did not looked closely at how Aquillo would look…
I do not like the first hours in Factorio. No bots means everything needs to be built by hand. The awful part. So, I used ‘Brian’s bootstrap‘ by Brian White, as in some of my previous games, to make it as compact and quick as possible.
Once I had bots I designed Nauvis base using blueprints from my previous game. Which turned out to be a bad idea as it quickly showed that there would be serious lockdowns later.
So I moved back a bit and redesigned using Nilaus cityblocks 2.0 blueprints. Quick, simple and organised. Probably should have started with them.
To get to space you need space science. A simple ‘75 SPM space platform‘ by Brandon Lam was enough for a start. I did some edits to it later as some inserters required adding conditions to keep the platform operational.
For inner planets transport I wanted something small. The ‘Early Game Ship‘ by Ian Coleman was enough for most of the time. At some point, I enlarged storage space a bit and built a second one. One was used for transporting science packs and the other for deliveries.
Landed, built a small base and went hunting.
Small demolishers are easy to kill when you have 50 gun turrets and a few thousand red ammo. Set a 5x10 block of turrets on your territory next to the border, fill them with ammo, use some decoys to make the demolisher angry and walk away. At some point, you get notification and a new territory. Repeat a few times and there will be more than needed space for expansion.
Got tungsten ore, setup a bus, a set of my microfactories making things, 300+ megawatts of power from sulfuric acid and was ready to go to the next planet.
Lava is a beautiful resource — infinite amounts of molten iron/copper make things so much easier.
The recycling planet. The usual process: land, walk around, find a large island, put few hundred accumulators for power and start building.
Again I used my microfactories set and something like six thousand accumulators for power.
Several recycler blocks to get basic components (like plates) and Fulgora is a place where you can build so many things…
Fulgora and Vulkanus were my main sources for several components for the other planets.
I am not a fan of Gleba. It is too biological for me. Spoilage everywhere, nutrients everywhere…
In the beginning, I planned to use my microfactories. But kick-starting it took a bit too much time so I went back and used the Gleba starter factory instead. One complex block, built by bots, delivers everything I needed. This blueprint is expected to be replaced by the main base but it was enough for my challenge.
While bots were building factory on Gleba I started redesigning base on Nauvis. Drilling machines from Vulkanus instead of electric miners gave me much more resources. And they stack items on belts once you research Gleba technologies.
Melting iron/copper ore solved another problem as liquids transfer faster than belts. Furthermore foundries from Vulkanus allow to produce several things without any intermediate steps (direct steel, pipes, wheels or copper wire).
Add EM plants from Fulgora and you get electronic chips (green, red, blue ones) in much bigger amounts than before. For example: my cityblock was making two red belts of electronic chips (that’s 60/s). After the redesign, it was 280/s on two green belts (required stack inserters to pass 75/s limit of one green belt).
Modules, LDS, and so on are also much faster. The old hub/mall “making everything”, can get upgrades, such foundries making wheels and pipes directly from molten iron instead of using iron plates.
At that stage I also finished building space ship for next stage. I used ‘Easy normal quality Edge ship‘ by Wobbleland as a base for it.
After some trial flights, I edited it to have a bit more cargo space. I cut ship in half, added some extra storage, and it became my only long distance ship.
The frozen hell. Planet where all you have is an ammoniacal ocean with some small islands here and there. Things freeze if you do not heat them, bots discharge five times quicker than usual etc.
This is a place where you need to be properly prepared. Mech armor is mandatory, along with 4 portable fission reactors and MK2 or MK3 batteries with MK2 roboports. Anything below that, and your bots are useless and for most of the time you run without any power in the armour.
Careful design is a must. I landed, tried to set up base and started adding what I had forgotten to take with me into my notes. Restarted and landed again. And again. And…
Then I took some time and designed whole base with the main bus idea. To not have to rely on bots for the most of the base.
First, I built some small starter to get water from ice (from ammoniacal solution) so I could have power. And two nuclear reactors to provide heat among heating towers powered by rocket fuel (which I took with me from Fulgora).
Then, I built the main bus piece by piece up to cryogenic science packs and the space port. It took some time to squeeze everything close to each other. Then cut it into pieces and restarted game from landing point. I have to admit — it looks nice at night:
Once production of science packs started I delivered them to Nauvis and started researching the final technologies:
Brought all components required for quantum processors and built enough of them to make two railguns for my space ship.
With about two hours left before the 40 hours limit my ship was ready to fly to Solar’s Edge (which is the requirement to finish the game). Loaded with yellow magazines, yellow rockets and railgun ammo it went from Vulkanus to Aquillo, mounted the missing railguns and went away, to Solar’s Edge.
It was a one-way trip as all I needed was to get there, without having to go back. The railgun ammo ended just before the end, there were fewer than a hundred rockets left as well.
But it was enough to finish the game. Now I have 100% of achievements again:
That “finish under 40 hours” game started three months ago and took over 4.6 GB of storage for save files.
I should put Factorio away for a year or so. Because for me, Factorio is a drug.
Otherwise, I will start adding mods and try to get this base expanded, redone “in a proper way” and so on.
My phone number started in the previous millennium. It began with the Era operator as a postpaid customer, then I moved it to Plus (still postpaid) and 14 years ago I became a prepaid customer with Orange. This is going to change again.
I do not remember why I went with prepaid instead of postpaid all those 14 years ago. Maybe conditions were better, or something.
I chose the ‘Orange Free na Kartę’ offer, where I went through the options and enabled everything that made sense to me. And disabled otherwise.
Months turned into years. Better “calls + data” packages were introduced, and I switched to a monthly one.
At some point, I collected 1 TB of data to use, then a second, a third, and additional 2 TB of data came from regular top-ups.
I went through my archive of text messages and generated this chart showing progress since 2018. The 1 TB jump this year was due to some offer change.
Over 8 TB of data to use means “some kind of” unlimited data transfers, right? I have no idea how much time it would take to make use of it with normal use. I asked a friend, and he told me that, according to the operator data, I had used 226 GB in Poland and 14.2 GB abroad during the last year.
There were some funny moments, like the one where I was going abroad and noticed that, on my new phone, I did not have any offline music for a flight. And I was in a bus from Szczecin to Berlin already. Fetching a few GB of music took a few minutes — managed to grab all I wanted before crossing border (the GSM coverage in Germany, next to Polish border, was poor).
All that was due to the options I chose 14 years ago and the wise selection of “calls+data” monthly packets.
I am moving to a postpaid service, still with Orange. The first year will be free as it gets connected with my Internet-at-home bill, and the next year would cost me less than I am currently paying. It still offers unlimited calls/messages, “only” 300 GB of data per month and 27 GB of EU roaming. The last one may look small compared to 226 GB I have now, but it is still more than I normally use per month.
Last Saturday, I attended Mechanicon in Frankfurt. It was an event related to mechanical keyboards, gathering over 600 visitors, which made it the biggest event of its kind in Europe.
I started thinking of making or purchasing a mechanical keyboard a long time ago. And half a year ago I finally built my own.
But having one does not mean that is the end of the story. There are so many different layouts, options, and ideas within keyboard communities that trying them all on my own would take me years. So, I decided that it would be easier to attend a gathering of mechanical keyboard users/nerds and check what they had made.
I was told by a few people that I should go to Frankfurt for Mechanicon. So I did.
I have decided to take two of my mechanical keyboards with me:
The first one is my daily keyboard — the one with a slightly modified Adelheid layout, hand-wired, with two encoders. I described it in one of my older blog posts.
The second one is a typical 60% model, but with the keys set in alphabetical order. So, “End” comes after “E” and before the “Esc” key.
I bought it as a broken one (for parts, as I only needed one key). My daughter wanted to play with the keycaps and asked if she could put them in the alphabetical order. I agreed and later joked that it can be made into a working keyboard.
Months passed and I found time for it a week before Mechanicon. I removed the PCB and wired the entire keyboard by hand. As with Alicja, I used the Ultimate Pico as the microcontroller with QMK firmware.
In the morning, I packed both my keyboards into my backpack and went for a walk. After having breakfast on the way (shakshouka and coffee), I arrived about an hour too early.
I took a table, placed both keyboards on display with A4 information sheets, and went to see who was already there.
I spoke with Cherry MX folks, saw their collection of industrial keyboards and discussed the 27.5 kg monster they had on their stand. There was a small album with pictures showing the build process. Nice stuff.
Khor had cables of many kinds and sold several other accessories. They made the official badge for Mechanicon and for some past events.
Cerakey had keyboards with ceramic keycaps and ceramic wrist pads.
As more and more people were arriving, I went back to the keyboard showcase room to see what others had brought.
Put a few hundred mechanical keyboard nerds in one room and you will not know where to look. There were so many different layouts, designs, accessories, cases…
As my daily keyboard is based on a variant of TGR Alice I looked especially for any similar models. There were a few Alice ones, some Arisu variants and some in a similar shape. No one had an Adelheid or Red Herring based keyboard.
Nowadays, when you do a web search for an ergonomic keyboard, you mostly get links to split or minimalistic keyboards. Just the names change from year to year. Or the amount of keys. Or the way they connect to each other.
The same was here: flat keyboards or ones with different types of mounts allowing the keyboard to be set at any angle. There were also vertical split keyboards. Some even had a trackball, but it did not look ergonomic to me.
As usual, there was a lot of “standard” keyboards and their variants. From normal PC105 ones to 60% ones with everything around them: 60%, 65%, TKL, ones with an extra row above function keys, ones with extra columns on the left, right, and so on.
Boring ones ;D
The person next to me had a lamp in a shape of a key — a nice-looking one.
Someone prepared keyboard from chocolate. At first, I thought that it was a case and keycaps made to look edible, but an hour later I saw a knife next to it and part of the keyboard had already been eaten. This was a good chocolate mix.
There was a place called “PCB Exchange” where anyone could drop unneeded items for others to take. I looked at the options and took a Hummingbird one. Later, I realised that it requires different type of switch to what I have…
At one stand, there was a “Free Shit” box. I spoke with the owner and got a bag with one hundred used switches and another with an interesting keycaps set.
On one stand, we were talking about hand wiring, and I was shown a tool: a plate fork. It was a tool I did not know, yet it is so useful! In short, it is a tool to insert between a switch and a keycap to be able to take the keycap out without moving the switch. This is very useful when your switches are only held in the keyboard by luck.
At some stands there was an opportunity to take some random switches. I joked that it may be possible to make a keyboard where every switch is of a different kind. Maybe one day, just for fun.
As I mentioned used keycaps at some stand, I was given a tool to open switches for maintenance. Another thing I did not expect to ever need.
Going to Mechanicon was a very good decision. I particularly enjoyed the look on the faces of people when they saw my hand-wired keyboard! Or when they tried to enter their name on a 60% keyboard with alphabetical order :D
I have several ideas for my next keyboard project. Perhaps I will go with Amoeba mini-PCBs (there are many versions of them in repository forks). I need to look into designing a 3D model for an encoder knob, as I saw several interesting designs during the event. And I need to design a case so the keyboard will not be so floppy.
There was also an idea of creating a small keyboard where every switch will be a different one.
You can see more photos in my Mechanicon 2025 album.
I’ve been around in the Free and Open Source world for over 20 years now, initially as a user but largely as a hacker. Since I started making money using (and growing) my technical skills, it never once occurred to me that I’d be doing anything other than writing FOS software. Which is why over the years as I grew up the Engineer Value Stack* in my career, I started shedding some things that once used to give my joy. With that train of thought, I almost did not go to the 2025 GNU Tools Cauldron that just concluded in Porto today.
Dear reader, if you’re expecting a review of all of the technically awesome things that happened at Cauldron this weekend, stop reading and wait a couple of days. Jonathan Corbett was there so I assume he will have something interesting to write in that space. Go watch the LWN feed and maybe even buy a subscription if you haven’t already.
So yeah, I almost decided to not go to Porto for Cauldron, because for the past year or so, I didn’t feel like I did anything of consequence in the GNU toolchain community. Sitting alone in my basement in Waterloo, I had already concluded to myself that nobody would miss that I wasn’t there. Things would go on as usual. I had already forgotten whatever work I had done over the last years; they didn’t feel valuable enough. I had concluded that I was mostly a glorified Jira wrangler (the modern equivalent of the “paper pusher” slur one could use to denigrate anybody who doesn’t do Real Work™) and I wasn’t needed.
I did fly in the end, and arrived at a hot (OK, 24C, but I’m practically Canadian now so forgive me) Porto, still unsure why I was there. To try and brush off the fatigue, I walked with Carlos (there’s nothing like a loud, always driven Argentinian man to lift your spirits) to FEUP, ending our day downtown meeting many of the attendees, many friends.
That seemed like a great day, and a great evening. But still, was it worth flying the 7 hours? I wasn’t sure. Anyway, that’s one down, 3 more days to go.
Cut to Sunday night, I’m now wondering where those 3 days went in a blur, and wondering what washed away those doubts I had coming in.
Maybe it was the wonderful Belgian beer we had on Friday night. Or was it because I was with old friends and new, talking about everything under the sun?
Maybe it was the chilled Londrina house beer that stayed ice cold to the last drop. Or was it the joy of finding a shared love for working with wood with a colleague who I had only occasionally chatted over the intertubes all these years?
Maybe it was the Francesinha, a sinfully tasty but likely just as unhealthy Portuguese dish. Or was it the colleague who suggested the dish, who also had welcomed me earlier, genuinely and warmly, saying “here comes the great Sid!” instantly making me feel like I matter?
Maybe it was the wonderful port wine and fancy 3 course meal we had at Taylor’s. Or was it the intimate conversations I had with some new friends and old about our failures and insecurities, and how they shaped us?
Maybe it is the wonderful catering Cupertino and folks arranged for our lunches at Cauldron. Or was it the new connections I made with people I looked at with admiration across the hall all these years but never had the courage to walk across and introduce myself?
Was it the fact that all of the most amazing leaders in the GNU tools ecosystem were there? Or was it the relief at seeing an old friend and mentor (I don’t know if he knows how much my interactions with him meant to me) safe and doing well? Or, in fact, was it the realization of how much I owe it to pretty much every person who has been coming to Cauldron regularly, probably with their own personal reasons, but leaving their own, indelible impression on me as a person? Or, of course, the annual JL (if you know you know) therapy session?
Maybe it was the fantastic surprise musical performance by a group of school kids, which reminded me of my kiddo back home. OK maybe that one actually had me longing to return home soon.
Anyway, the material experiences tend to get washed away days after I return from these experiences, but the personal and emotional ones are not permanent either. They’ve shaped me and made me the person I am, but months later, I know I will have forgotten why I loved being here, with my friends, people with whom I share my commitment to Free and Open Source Software. I’m writing this with the hope that I’ll come back here to remind myself of why it matters, to remind myself that I belong, to be grateful to all of those people who made me feel like I belong.
If you were here the first time, note that I’ve been here for over 13 years now, and you belong, just as I do.
* Engineer Value Stack: A hierarchy that companies tend to have in their engineering organizations based on an engineer’s ability to effectively communicate their ideas and work with their peers, as opposed to the superiority of their technical skills, which in itself is also a nebulous concept that only serves to promote a deep impostor syndrome among most competent developers.
I regularly visit Seoul, and for the last couple of years I've been doing segments from the Seoul Trail, a series of walks that add up to a 150km circuit around the outskirts of Seoul. If you like hiking I recommend it, it's mostly through the hills and wooded areas surrounding the city or parks within the city and the bits I've done thus far have mostly been very enjoyable. Everything is generally well signposted and easy to follow, with varying degrees of difficulty from completely flat paved roads to very hilly trails.
The trail had been divided into eight segments but just after I last visited the trail was reorganised into 21 smaller ones. This was very sensible, the original segments mostly being about 10-20km and taking 3-6 hours (with the notable exception of section 8, which was 36km) which can be a bit much (especially that section 8, or section 1 which had about 1km of ascent in it overall). It does complicate matters if you're trying to keep track of what you've done already though so I've put together a quick table:
| Original | Revised |
|---|---|
| 1 | 1-3 |
| 2 | 4-5 |
| 3 | 6-8 |
| 4 | 9-10 |
| 5 | 11-12 |
| 6 | 13-14 |
| 7 | 15-16 |
| 8 | 17-21 |
This is all straightforward, the original segments had all been arranged to start and stop at metro stations (which I think explains the length of 8, the metro network is thin around Bukhansan what with it being an actual mountain) and the new segments are all straight subdivisions, but it's handy to have it written down and I figured other people might find it useful.
Again this year, Arm offered to host us for a mini-debconf in Cambridge. Roughly 60 people turned up on 10-13 October to the Arm campus, where they made us really welcome. They even had some Debian-themed treats made to spoil us!
For the first two days, we had a "mini-debcamp" with disparate group of people working on all sorts of things: Arm support, live images, browser stuff, package uploads, etc. And (as is traditional) lots of people doing last-minute work to prepare slides for their talks.
Saturday and Sunday were two days devoted to more traditional conference sessions. Our talks covered a typical range of Debian subjects: a DPL "Bits" talk, an update from the Release Team, live images. We also had some wider topics: handling your own data, what to look for in the upcoming Post-Quantum Crypto world, and even me talking about the ups and downs of Secure Boot. Plus a random set of lightning talks too! :-)
Lots of volunteers from the DebConf video team were on hand too (both on-site and remotely!), so our talks were both streamed live and recorded for posterity - see the links from the individual talk pages in the wiki, or http://meetings-archive.debian.net/pub/debian-meetings/2024/MiniDebConf-Cambridge/ for the full set if you'd like to see more.
Again, the mini-conf went well and feedback from attendees was very positive. Thanks to all our helpers, and of course to our sponsor: Arm for providing the venue and infrastructure for the event, and all the food and drink too!
Photo credits: Andy Simpkins, Mark Brown, Jonathan Wiltshire. Thanks!