Clint Adams: N.K. Jemisin is doing a worldbuilding workshop at the Bronx Library Center tomorrow afternoon
| Series: | Midlife Recorder #2 |
| Publisher: | Linzi Day |
| Copyright: | November 2022 |
| ISBN: | 9798360228431 |
| Format: | Kindle |
| Pages: | 577 |
I built my current house server back in 2019. It had an upgrade from the original Ryzen 2700 to a 5700G in late 2021, but otherwise is still running with the original setup. Back in November it developed some erratic behaviour (initially manifesting as problems with the TPM, which is ironic as I ve spent a bunch of time at my day job trying to improve TPM reliability), culminating in unreliable reboots. I had a limited amount of ability to swap parts out, but ultimately decided it was a motherboard issue (thinking perhaps VRM problems), found a replacement locally, and everything seemed fine.
Until May.
At that point I rebooted the machine for a Debian point release, and it failed to come back. Fans would spin, but there was no sign of actual life. I ended up pressing a temporary machine into service (that could at least run the Home Assistant container, and a few other critical bits) while I tried to work out what was wrong. I d kept the previous motherboard, and still had the Ryzen 2700, so I did a bunch of swaps (and obtained a motherboard buzzer to try and get some indication about whether there were useful beep codes being emitted), and ultimately came to the conclusion that the CPU had died.
I m not quite clear what happened here. I played it safe and replaced the PSU at the same time, in case that was the original cause back in November and ultimately damaged the CPU, but both old + new motherboards worked just fine with the 2700.
That left a decision about what to do. This previous server was from 2013, so this machine has now lasted longer than that and I could justifiably upgrade. However when I went to look at what the equivalent modern machine would be it s only a couple of generations later (Zen 5 vs Zen 3), and 64GB RAM alone would have set me back ~ 1k. For not a lot of gain. So I ended up buying a replacement Ryzen 5700G, hopefully allowing me to put off thinking about an upgrade until Zen 6 is out, and RAM prices are saner (though I understand that might take a couple of years).
It s not the first time I ve had a faulty PSU be the cause of a dead machine, but it was a pretty frustrating experience.
While many Western democracies seem to be in a state of decay and are no longer the safe, civilized and prosperous countries they once were, there are still some European countries that are governed well. One of those that stand out is Estonia.
Estonia is probably most well known for multiple software companies that originated from there, such as Wise, Bolt, Pipedrive and Skype. The government itself is also famous for being early in issuing government IDs with an embedded smart chip for online authentication already in the 1990s. Via the national portal at eesti.ee all residents can access extensive eServices ranging from viewing their health benefits to filing taxes.
Estonia has also been running an e-Residency program since 2014, where they issue digital ID cards to foreigners, making it easy for them to remotely log into the government portals and for example, establish businesses, file annual reports and so forth. Note that the e-Residency is not a path to physical residency. Estonia does, however, have a separate Digital Nomad visa program that makes it easy for non-EU citizens to also physically establish themselves in Estonia, assuming, of course, you meet the criteria, which includes, among others, a minimum monthly income of 3960 from outside Estonia. EU citizens naturally have free mobility inside the EU and can simply get an apartment and register as a resident in Estonia if they so choose. And there are plenty of reasons to do so.
Estonians also seem to value the school system highly. The government has been actively raising teacher pay and has a stated goal of reaching 120% of the national average by 2027. The students are also expected to value the education and respect their teachers. According to the TALIS 2024 survey (OECD s international teacher survey), Estonian teachers spend significantly more time on actual teaching and learning and waste less time on interruptions or keeping classroom order compared to the OECD average. This is among the highest rates internationally, meaning they spend relatively little time on maintaining order or dealing with disruptions. While the international education benchmark PISA scores have been dropping globally, Estonia has consistently been climbing the ranks in past decades. In the latest PISA study (from 2022), Estonia ranked number one in Europe for reading, mathematics and science. In the overall results, Estonia ranked seventh globally, only behind countries such as Japan, Korea and Singapore.
Valuing entrepreneurship is evident in how the taxation system is set up in Estonia. Famously, in Estonia, companies can defer taxes on annual earnings and reinvest all of their profit in growing the company. Taxes are due only later, when paid out from the company, for example as dividends. For individuals, receiving dividends from any Estonian or foreign company is tax-free as long as the company paying dividends already paid corporate tax on the same income.
The tax system is also very simple. For all individuals, all types of income, including salary and capital gains, are always taxed at a flat rate of 22%. This removes the incentive for anyone to try to convert income into different types, setting up holding company structures and other optimizations as there is no gain. All entrepreneurs can simply focus on growing their business and forget extra bureaucracy. There is also no marginal tax rate cliff to stop working at everyone is encouraged to always try to produce as much value as they can. A simple tax system is also reflected in the fact that anyone can easily read all tax rules that apply to individuals in plain English on the Estonian tax authority website, and one does not need to hire any accountants simply to file taxes.
Estonia also has a very straightforward investment account system: any person can freely open a self-directed investment account at any brokerage at no extra cost and report it as such to the tax authority, and then use it to save for an apartment, retirement, or other purposes, and defer all income taxes until withdrawal. There are no caps or time limits, and all residents are encouraged to save and invest as much as they can and thus take responsibility for their own wealth accumulation.
It seems that culturally Estonians respect people who are active and progress in their careers and businesses more than in other countries. Unlike in Finland, successful people are admired and living on government welfare is not romanticized. At the same time, the government benefits are less generous so people can t live comfortably on them and, for example, many of the asylum seekers Estonia accepted have since left on their own initiative to other European countries in search of better benefits.
This is not just my personal experience. According to the Numbeo crime index, Estonia has one of the lowest crime rates in the world. Also, comparing drug and property crime stats, for example, Finland has twice as much crime per capita, and places like Vancouver in Canada almost five times more.
I don t have any clear explanation for why crime is so much lower in Estonia, but some suggest that higher social cohesion and lower levels of welfare contribute to people standing to lose more if they behave antisocially. Compared to Finland, Estonia also more readily jails repeat offenders, and those who are put on trial will experience a swifter court process thanks to simplified legal processes and more efficient governance.
The next step is to buy a local prepaid SIM card at e.g., an R-Kiosk or a convenience store as signing up for other matters later on will require an Estonian phone number. Once you have an apartment and e.g., signed a rental agreement, you can register in the population registry online.
After that, you have proof you are a local resident with an address and telephone number in Estonia. With local resident status, you can go to the police station to get a local ID card. Don t bother scheduling an appointment, just go to the Tammesaare police station in Tallinn, take a queue number and wait. Once it is your turn, they will guide you on how to use the photo booth, fingerprint registration device, and file your application. A few days later you will receive an email confirming whether your application was accepted, and after a few more days, you will get another email notifying you that your ID card has been printed and is available for pick-up at the same location. This will also be your first practical experience of how fast and efficient the government in Estonia is.
Once you have the local ID card, you can use the smart card feature to log into all the government eServices and sort out the rest of the relocation process, such as registering tax residency and getting a family doctor.
326. This version includes the following changes:
[ Vagrant Cascadian ]
* Add external tool reference for "pedump" to use the "mono" package on
GNU guix.
| Series: | Midlife Recorder #1 |
| Publisher: | Linzi Day |
| Copyright: | July 2022 |
| ISBN: | 9798837010774 |
| Format: | Kindle |
| Pages: | 464 |
I loved reading books about kickass women who took no crap and fixed their lives up exactly how they wanted them to be. But how did they get to be that way? They always started out awesome in the books. Seriously, did they kick ass at sixteen? Or did their superpower kickassery not kick in until they were thirty? Forty? If so, then I was screwed. Would I need to wait till I was fifty or until a genie arrived offering wishes? I already felt as if I d spent my whole life waiting for something wild and wonderful to happen.Niki is a Specific Type to a somewhat hilarious degree, and I'm not sure if Day is playing into that intentionally or if she's projecting herself into the book. The amount of self-insertion is not zero: Day also lives in Gretna Green, owns a Bichon Frise, and worked as an assistant registrar and civil celebrant. Niki also drinks wine regularly, has a psychic gift, occasionally reads tarot cards, is an accommodating pushover at work who struggles to say no to her abusive boss, has impostor syndrome problems, and swears by a fictional self-help book about grief that provides the quotes at the starts of chapters. There is a cat, because of course there's a cat. (The fictional self-help book is a spot-on parody played entirely straight in the story. I think Day is having some fun with the reader? I can't tell!) This is what I mean by unapologetic. It's easy to read Niki as a stereotype, but she's a stereotype a lot of real people can identify with and there's something highly satisfying in watching her find her footing. I like wish fulfillment books; it's fun to see someone's wishes come true! Particularly in the year of 2026, there's something immensely satisfying in seeing an ordinary, insecure person get a massive amount of power and use it to make the world better. I don't need everything to be hard, fraught, and laden with costs in fiction, although I wouldn't want every book I read to be like this. Also, the world building is great. It's not polished; there's a bit of a grab bag feeling to it, I'm dubious the magic system has any underlying rigorous rule set, and Niki's powers, once she has access to them, are more of a semi-sentient genie than a skill she has to learn with hard practice. But the magic is fun. The sentient house is one of the best characters, particularly after Niki realizes how underused it has been, and I am a sucker for any good sentient house book. The cat is a far more interesting character than I first thought she would be. And Niki's new magical job is more complicated and less typical than the normal Celtic-inspired fantasy that I thought it was going to be at first. My primary warning about this book is that Niki starts out beaten down and grieving her dead husband, and it took me about five pages to decide that her dead husband was a complete piece of shit who was not worth any of the grief Niki puts into him. She also doesn't stand up for herself for the first hundred pages or so, which made me want to yell at the book a few times. Both of these problems go away farther into the book, and Niki does eventually figure out that Nick was abusive trash, but I was relieved when the "make endless excuses for worthless men" portion of the story was finally over. You have to stick with it until Niki gets brave enough to try being the protagonist; once that happens, it becomes great fun. It is fairly obvious that Midlife in Gretna Green was self-published, and I wish it had gotten the editing that it deserved. My copy had a couple of obvious formatting errors, the plot veers about more than was strictly necessary, and I think a careful editing pass could have tightened the writing by about fifty pages or so without losing any important detail. If that sort of thing bothers you, make sure you're in self-published fiction mode before starting this one. But it also has that irrepressible, bubbling-with-ideas feeling of a book where nothing has suppressed the author's enthusiasm. It's a very grabby book; once Niki starts embracing her new life, I could barely put it down. If you're in the mood for a good fantasy wish-fulfillment story that has no romance and a whole lot of "why are things run this way, no, we're changing that," highly recommended. I had so much fun with this book, and the series is currently making the rounds of my whole family. Don't read this when you're looking for something challenging and literary and deep; save it for when you desperately want to watch someone just fix something for once, damn it. Followed by Painting the Blues in Gretna Green, which I have already read, breaking my usual rule of writing reviews before reading the next book in a series. Rating: 8 out of 10
Welcome to post 57 in the R4 series.
R packages with compiled codes can use the file
src/Makevars to set compilation flags. We often rely on
this to set libraries, include directories or compilation options. When
using external libraries, be it header-only or via headers and linking,
we are often experiencing compilation noise when these libraries
tickle warnings under generally-recommended flags such as
-Wall -pedantic. Two packages I maintain are clearly repeat
offenders here: Eigen, and BH. Both cam generate pages and pages of
compiler output. This is generally not great as it may hide genuine
warnings from our own code.
What makes matters worse is that some of the available and specific
options for the compilers are treated by R CMD check as
non-portable leading to a nag on package checking. Examples are
-Wno-parentheses, -Wno-maybe-uninitialize or
-Wno-nunnull.
I have long resorted to adding these to my per-user
~/.R/Makevars. When added there, compilation is quieter,
but R CMD check still nags here where the option
is set but not at CRAN or
r-universe. A situation that is not ideal but what somewhat
stable .
More recently, I realized there was an available check we can use to
conditionally add extra compilation flags but leave them off by
default. That makes local development quiet allowing us to focus on the
quality of our additions here without noise from third-party libraries
we may use. At the same time we do not need to do anything else to let
CRAN do its work.
The check we now use is whether there is a .git/
directory present. If so, we are indeed building from local sources and
can add extra flags. If not, we are likely building from a tar.gz source
archive which is the case for CRAN and hence do not set these.
An example use is this recent additional to package qlcal where this bit of R
code is invoked from a minimal shell script configure and
replaces the stub @XTRAFLAGS@ in
src/Makevars.in (or src/Makevars.win.in)
if (dir.exists(".git"))
## development from a .git directory can use these flags
xtraflags <- "-Wno-nonnull -Wno-deprecated-declarations"
else
## else build from tarball so stick with existing flags
xtraflags <- ""
win <- if (Sys.info()[["sysname"]] == "Windows") ".win" else ""
infile <- file.path("src", paste0("Makevars", win, ".in"))
outfile <- file.path("src", paste0("Makevars", win))
lines <- readLines(infile)
lines <- gsub("@XTRAFLAGS@", xtraflags, lines)
writeLines(lines, outfile)configure
file written in autoconf. Here is a similar example from RcppEigen
(showing some relevants parts of the whole file)
# PKG_CXXFLAGS initialized earlier ...
## Check if building locally
AC_MSG_CHECKING([whether .git/ exists])
if test -d "$srcdir/.git"; then
AC_MSG_RESULT([yes, adding extra flags])
AC_SUBST([PKG_CXXFLAGS],["$ PKG_CXXFLAGS -Wno-ignored-attributes -Wno-maybe-uninitialized"])
else
AC_MSG_RESULT([no, consider adding '-Wno-ignored-attributes -Wno-maybe-uninitialized' to ~/.R/Makevars])
fi
AC_SUBST([PKG_CXXFLAGS], ["$ PKG_CXXFLAGS "])
AC_CONFIG_FILES([src/Makevars])
AC_OUTPUTThis post by Dirk Eddelbuettel originated on his Thinking inside the box blog. If you like this or other open-source work I do, you can now sponsor me at GitHub.
TL;DR: What a great DebConf! I managed to recharge my Debian batteries, and my talks / BoF sessions all went fine. Already looking forward to DebConf in Japan next year!
The evening before DebCamp started, we had a nice bbq (we taught some locals to call it a braai at an organiser s house and went for a walk around the river as the sun set. It was a very peaceful lead-in to DebCamp.



Debian LTS wine

View of Santa Fe city from hotel
In this talk I do a very quick comparison of system installers based on my experience with them. It s hard to directly compare all of them, since there are so many, and each have their own niche that they attempt to satisfy.
I also introduce Yasi my attempt to answer the question of whether we could build a universal installer, which can also better cover advanced installations, automated installations and niche setups.
It s very early days for the project, and I didn t quite feel ready to share the code with the world, but it was nice that I did a quick demo where I could install a Debian system and the resulting system actually booted up. *phew*.
This is also going to be my main focus for the mid-term future. I aim to have all the basic partitioning options working by the time Debian 14 (Forky) is released, and by the time Debian 15 is released, I have a long list of features that I aim to have working. So, my timeline for having something that s generally useful is around a year from now, and in around 3 years it should be a fully fledged installer that should cover a very large amount of Debian use cases and architectures.

For the day trip, we did a tour across Santa Fe, visited Constituci n de la Naci n Argentina, had lunch where we tried various dishes based on local fish from the river, and then went on a boat ride on the river.



Funding in Free Software Projects: I initially registered this BoF because I m increasingly concerned about how upstreams are asking for donations in their software. I increased the scope to talk about funding in free software in general. It followed Marga s talk about funding, which focussed more about how developers are funded in general. We didn t dive very deep into this, but we certainly need some further discussion (and action) on this within Debian.
Debian Social Team: My most important issue for this team is a carry-over from last year, I want to set up barman (packaged in Debian) for live postgres syncing for our larger databases. For the smaller DBs, doing a daily dump is quite cheap. But for Matrix, it s very expensive in terms if i/o and CPU, so it would be ideal to do less regular complete dumps and use live replication for the first line of redundancy instead.
Images Team: I wasn t initially planning to say much during this session, I have some ideas to reduce both size and count of images, without losing any benefits, but I don t have any work to show for that yet. I ended up talking a lot more than I anticipated, the topics covered were quite good and representative of the current state of Debian images built. I don t have time to create a full summary, so I suggest checking the etherpad / video recording if you re interested.

Some more wine variety during the conference dinner

Debianites in the main hacklab

I m spending two days in Rosario before I head home. Exploring a bit, catching up with sleep, finishing this blog post, signing keys and exploring some ideas I made note of during DebConf.

It was a little surreal not being part of any DebConf team for the first time ever, I ve just been too focussed on getting Yasi ready for my talk (no regrets!). I hope to be more involved again next year, in the meantime, I m very grateful to everyone who has made this happen, you did a stellar job! I hope to see many of you again next year in Japan!
| Publisher: | Orbit |
| Copyright: | May 2026 |
| ISBN: | 0-316-29068-8 |
| Format: | Kindle |
| Pages: | 359 |
In the 3,008th year after the manifestation of the Radiant Star (the 1,024th since the founding of the Consorority itself), Zaved, a newly minted consoror, disappeared a mere two days after the ceremony that elevated her to womanhood. She left a note that read, Bored. Back whenever. This was not normal or even remotely acceptable behavior in a consoror, particularly one who held as much promise as Zaved had, but what could the consorors do?Zaved, faced with the unpleasant prospect of running out of money during her galactic tour, plied a rich benefactor with tales of how talented, polite, and obedient the boys of the Consorority are. Her plan worked brilliantly. After funding further non-boring adventures, she arrived home in Ooioiaa with a chest full of money and a pregnancy. Great for Zaved and the Consorority; kind of a shame for her son Jonr, who is to be delivered to her benefactor after proper training. Oh well, telling Jonr about that is a problem for future Zaved. After a strained childhood in which he convinces himself he is a misfit with few redeeming qualities, Jonr ends up in a suspension pod. Before shipping can be arranged, however, external events intervene, leaving Jonr sitting unnoticed in a warehouse. The planet of Aaa is in a highly inconvenient location, drifting as it does through interstellar space unattached to any star. It would be as irrelevant and overlooked as any other random interstellar object except for two critical properties. The first is that Aaa and its sole city of Ooioiaa are sacred to a religion of obscure origin. Its primary population are members of a religious cult who believe the Radiant Star manifested in the Temporal Location on Ooioiaa and will eventually return to bring light to the galaxy. The second interesting property of Aaa is that it is drifting ever so slowly towards a strategic system of military importance. The first property brings pilgrims and their accompanying bounty of money, food, and other resources necessary to dig a small city out of rock, make it habitable, and supplement the sparse and strange native edible life. The second property brings the Radchaai, who easily conquer the city of Ooioiaa and are now faced with the unpleasant task of running it. Some decades after the Radchaai conquest, having never left Aaa, Jonr is woken up. He will not be sent off into the broader galaxy as a slave to pay off a vacation debt. Instead, he will be one of the many protagonists in this novel about the perils of living through supply chain disruptions on a planet full of status-obsessed religious fanatics who would drown in a rain shower. The other books set in this universe make abundantly clear that the Radch is a voracious colonial power that enslaves native populations and enforces their own cultural preferences at the point of a gun. A reader familiar with this series is predisposed to take whatever side is not the Radch. Radiant Star adds a complication, however. Charak Svo, the Radchaai governor, is impatient with native inhabitants and strongly dislikes their religion, but she is reasonably competent. The religious factions that ran Ooioiaa before the arrival of the Radchaai, on the other hand, are dogmatic authoritarians with the collective wisdom of a sack of turnips. Charak does not get everything right and is arguably responsible for at least one catastrophe. By the end of the book, though, I was firmly convinced that had the original religious government still been in charge, everyone would have died. I found the structure of this book a little odd. The omniscient narrator tells the story in the form of a history. The target audience appears to be future inhabitants of Ooioiaa and adherents to the Radiant Star religion, and the narrator is often maddeningly uninterested in topics that a reader of the rest of the Imperial Radch books is intensely curious about. This same property carries through to the plot: I was interested in how all of the tensions in this obviously absurd society could be resolved or, preferably, overturned entirely. The narrator, on the other hand, is far more interested in Serque Tais's intent to become the last saint in the Temporal Location, and in the details of the subsequent political, economic, and religious fallout. Leckie has written three novels set in the Imperial Radch after the original trilogy: Provenance, Translation State, and now Radiant Star. I am sure that I'm not the only person who wants a direct continuation of the original trilogy, but I'm drawing the conclusion that Leckie doesn't want to write that. Instead, she's writing around the edges of the subsequent events, in effect showing readers the shape of them and their broader implications without showing the details. Now that I can see what she's doing, I kind of like it. Given what we now know from the books written around the edges, the ensuing events in the center of galactic politics are chaotic in a way that could easily devolve into tedious accounts of messy conflicts. Seeing the effects from afar lets the reader fill in some of the blanks and speculate, and it makes the moments where we get a concrete update (such as at the end of this book) all the more rewarding. I still find it odd, though, to read a book where the narrator's interests so sharply diverge from mine. I wish I could say that Radiant Star sucked me in as the story developed, but it never did. Part of the problem is that I think this book is intended as a very dry farce, and farce often doesn't work with my reading style. I prefer to attach myself to a protagonist and hope they do competent things, and this book is full of characters who are being themselves far too aggressively and loudly to have time to be competent at anything. My favorite moments were therefore the small pockets of people with sense: The governor, Jonr, his charge, and the delightfully strange Justice of Albis. I enjoyed all of them, but I had trouble caring about the overall plot and kept putting this book down for days between chapters. I think this is mostly personal taste, though. Like all of Leckie's novels since the original Imperial Radch trilogy, Radiant Star is competently executed and a little strange. When that strangeness aligns with your tastes, it's a great deal of fun and rather unlike other science fiction novels. In this case, it didn't quite work for me, but I suspect it will for others. I still want another Leckie novel with a ship as a protagonist, though. Content notes: Rather disturbing (although bloodless) religious practices, mass death. Rating: 6 out of 10
loginctl enable-linger loginctl disable-lingerIf running as root you can enable and disable it for another user with the following commands:
loginctl enable-linger $ACCOUNT loginctl disable-linger $ACCOUNTThere doesn t seem to be any documented way of discovering if an account has linger enabled or for listing accounts that have it, it seems that ls /var/lib/systemd/linger is the only option. Linger on Debian On a Debian system with close to default settings the processes won t be killed on logout and the only difference linger makes is to start programs in the user s context BEFORE they login. A friend was recently testing out a bunch of LLM programs on one of my servers and the account he used for that ended up with linger enabled, presumably one of the install scripts he ran was written on the assumption that enabling linger was necessary for nohup to work and it did so automatically without being asked. One benefit I ve found from this behaviour is on my laptop. I m currently testing out new SE Linux policy on my laptop and rebooting it a lot. When I enabled linger on my account it caused the laptop to connect to wifi on boot without needing to login which is convenient. I can then ssh to it even when the X11/Wayland login configuration is broken. I will leave it enabled after finishing these tests. Having background processes like Pipewire and Bluetooth start before I login will presumably make things slightly faster when I do login.
The Debian LTS Team, funded by [Freexian s Debian LTS offering]
(https://www.freexian.com/lts/debian/), is pleased to report its activities for
June.
DebConf26, the 27th annual
Debian Developer Conference, is taking place at
Santa Fe, Argentina from 20 to 25 July 2026.
Debian contributors from all over the world have come together at the Facultad
de Ingenier a en Ciencias H dricas (Faculty of Engineering in Water Sciences),
one of the faculties that belong to the Universidad Nacional del Litoral
(National University of the Littoral), to participate and work in a
conference exclusively ran by volunteers.
Today the main conference starts with around 300 expected attendants and over
80 scheduled activities, including 45-minute and 20-minute talks, Bird of a
Feather ("BoF") team meetings, workshops, a job fair, as well as
a variety of other events.
The full schedule is updated each
day, including activities planned ad-hoc by attendees over the course of the
conference.
If you would like to engage remotely, you can follow the video streams
available from the DebConf26 website for the
events happening in the three main talk rooms: Aula Magna - FADU,
Aula Magna - FBCB and Aula 0.3 - FICH accessible from the DebConf26 homepage.
You can also join the conversations happening inside the talk rooms via the
OFTC IRC network in the
#debconf-fadu,
#debconf-fbcb,
and #debconf-fich3 channels.
Please also join us in the #debconf channel for
common discussions related to DebConf.
You can also follow the live coverage of news about DebConf26 provided by our
micronews service or the @debian profile on
your favorite social network.
DebConf is committed to a safe and welcoming environment for all participants.
Please see our Code of Conduct page
for more information on this.
Debian thanks the commitment of numerous sponsors to support DebConf26,
particularly our Platinum Sponsors:
Infomaniak and
Proxmox.
.IP and
.TP macros and misrenders .IP by removing all space between
the tag and the text. Ideally groff bugs should be fixed in groff, but
apparently this rendering bug was
introduced intentionally by the groff maintainer to force authors who
were using .IP with text tags to switch to .TP for correct
formatting, allowing future introduction of a semantic distinction between
the two macros. I didn't see a good alternative at this relatively late
date after the release other than changing Pod::Man accordingly.
This will at least work around this problem for Pod::Man users,
although it won't help with existing manual pages.
This release also works around another backwards-incompatible change to
groff that attempts to force the default enabling of hyphenation and full
justification after every occurrence of the .TH macro. The groff
upstream position is currently that the end user should be able to set
registers and strings to override the defaults of hyphenation and full
justification, but the man page author has no control over the defaults
for these settings. Pod::Man ignores the admonishment in groff_man(7) and
overrides these registers anyway to restore its long-standing historic
behavior of always using left justification and disabling hyphenation,
because there is currently no way to change the default without overriding
the new user preference. Should some mechanism be provided in the future,
I'll be happy to adopt it and thus honor user configuration as well.
New in this release is support for an encoding of none, which tells
Pod::Man and Pod::Text to do no character set encoding in their output and
leave the output in Perl's internal representation. This is useful in
combination with output_string() when the output will be used
internally by a Perl program.
Pod::Man also adopts CR as the default fixed-width font instead
of its long-standing default of CW, originally chosen for
compatibility with Solaris. This avoids warnings with newer groff at the
cost of breaking troff (not nroff) output on Solaris 10. I believe this
platform is now sufficiently old, and this use case sufficiently obscure,
that no one will miss it. Solaris 11 and later will render man pages
correctly with troff, and --fixed=CW will restore the previous
behavior.
This release also has a few other bug fixes, particularly for quoting
heuristics in C<> blocks, and various documentation improvements.
You can get the latest release from CPAN or from
the podlators distribution page.
unstable and testing since December
2025, with Python 3.13 as the default version (/usr/bin/python3 = 3.13). This
gave time for packages to implement support and detect issues in their test suites.
A slot to transition to 3.14 as default was requested from the release team
in March, and they indicated that we would
likely be able to schedule it in late June. In preparation, Stefano reviewed the
open bugs against Python interpreters and squashed some in uploads of the latest
point releases of Python: 3.13.14
and 3.14.6. Also in
June, Python 3.15.0 beta 2
and beta 3 released.
Stefano uploaded these to Debian experimental.
The 3.15 betas were reason to attempt to revive review
of a blocked upstream patch to
support Debian multiarch in stable ABI Python extensions, now that Python 3.15
is adding a new stable ABI abi3t.
/etc/fstab is no longer created. A memory balloon is enabled by
default and this enables qemu to automatically release free guest memory to the
host. Booting Ubuntu VMs regressed as a result of their use of uutils and has
been fixed. The --architecture flag is back to be able to better support Hurd,
which is a work-in-progress of Johannes Schauer Marin Rodrigues. Thanks to
Jochen Sprickerhof, you can more easily create VMs for autopkgtest-virt-qemu
using --hook-dir=/usr/share/mmdebstrap/hooks/autopkgtest-create-qemu. There
also are a few documentation and error message improvements. All of this is
pending in git waiting to be uploaded once development slows down. While booting
a machine from virtiofsd succeeded, turning the proof-of-concept into
production remains for later.
unshare command from util-linux, bubblewrap
or podman provide while still managing repetitive complexity such as process
orchestration for the developer. A new example that uses this infrastructure is
a better containment for mmdebstrap
eliminating chroot escape. There also is an
asyncvarlink/0.3.2 release
taking steps to become more maintainable in Debian to eventually get pconr into
Debian.
python-pip,
python-pipx, hatchling, dh-python, beautifulsoup4, python-virtualenv,
python-mitogen.snowball, snowball-data,
and pystemmerpo-debconf-manager:
Reviewed Catalan translations for 5 packages, submitted 6 packages. Added a
draft blog/update
about the po-debconf-manager project.
Yay! Finally it s that time of year DebCamp is underway, and soon it will
be time for DebConf!
As it is by now tradition, it s my task to coordinate the DebConf26
keysigning party. And, as usual, I have set up the list of DebConf26
keysigning maps for everybody
involved.
So, if you are taking part of DebConf, make sure to:
Welcome to the June 2026 report from the Reproducible Builds project!
In these reports, we outline the most important things that we have been up to over the past month. As a quick recap about what problem our project intends to solve, whilst anyone may inspect the source code of free software for malicious flaws, almost all software is distributed to end users as pre-compiled binaries. The motivation behind the reproducible builds effort is to ensure no flaws have been introduced during this compilation process by promising identical results are always generated from a given source, thus allowing multiple third-parties to come to a consensus on whether a build was compromised or not.
If you are interested in contributing to the project, please visit our Contribute page on our website.
In this month s report, we cover:
A very interesting demonstration is now available showing how you might configure your Debian system to only install packages that have been reproduced by m/n rebuilders.
This is implemented via a reproduced+https:// APT transport ( a mechanism for communicating between the APT client and its repository source commonly HTTP):
Every package download is intercepted by repro-threshold, which queries two independent rebuilders for a signed attestation before allowing installation to proceed. [It] is important to note that [an] install will only succeed if all package dependencies are also reproducible.
The demo gives examples of how to quickly experiment with this using a Docker container.
In Debian this month:
debian-installer package in Debian was uploaded with a substantial reproducibility-related changelog. This means, for the first time, the uploaded version could finally be reproduced.
JDK-8385738 ( Javadoc does not produce reproducible output ) (for example). [ ][ ][ ]
reproducible-notes.git repo.
The IzzyOnDroid Android APK repository reached its next milestone this month, now covering 2 out of every 3 apps (66.7%) with reproducible builds. Their documentation for debugging and fixing failed builds has steadily grown as well. More clients have picked up showing reproducibility results (e.g. Droid-ify), and Neo Store now can be configured to stick to only reproducible applications. Further, an independent builder has been added to the build farm, increasing the trust level even more as APK builds can have multiple confirmations now.
At the same time, IzzyOnDroid s rbtlog got several new features. The most outstanding is caching for frequently used resources such as reproducible-apk-tools, command-line tools and NodeJS in order to counter ongoing issues with GitHub availability, while at the same time saving bandwidth and build time. This change also enables some other some smaller enhancements such as being able to configure build timeouts per recipe for those builds running longer than the average, release pattern filtering for update checks or having a field for maintainer notes to shortly summing up e.g. why a reproducible build failed.
Lastly, Bernhard M. Wiedemann posted another openSUSE monthly update for their reproducibility work there.
diffoscope is our in-depth and content-aware diff utility that can locate and diagnose reproducibility issues. This month, Chris Lamb made the following changes, including preparing and uploading versions 319, 320, 321, 322 and 323 to Debian:
Flags: line in the output of ocamlobjinfo, so adjust the test for cross-distribution compatibility. [ ]--long-form-style arguments when calling apktool in order to support apktool version 3. [ ]os.path.commonprefix method [ ].
In addition, Vagrant Cascadian updated diffoscope in GNU Guix to version 321 and 323.
/usr/bin/strip-nondeterminism. (#1139000)debian/watch format. [ ]Rules-Requires-Root: no and Priority: optional fields. [ ]Standards-Version to version 4.7.4. [ ]npm package includes an (automatically executed) preinstall script that is an ELF binary.
The change updates dependencies to the latest versions, and adds support for multiple -H options, to query results from multiple rebuilderd instances. The results are also now fetched concurrently.
debian:sid container now is 100% reproducible.
itertools and zip Python dependencies.
Yet again, there were a number of improvements made to our website this month including:
Date methods. [ ]
--release argument for consistency. [ ]
node-fuse.js.node-egjs-hammerjs.node-chartjs-adapter-date-fns.mkdocs-include-markdown-plugin.lmarbles.rocm-docs-core.libecoli.golang-github-tobischo-gokeepasslib.c-munipack.latex-coffee-stains.cxxtest.slime.spooles.sdpb.procmail.proftpd-dfsg.mah-jong.dxf2gcode.afterstep.ledger2beancount.ocamlviz.
Kenichiro Muto and Kuniyasu Suzaki of the Institute of Information Security in Yokohama, Japan published an interesting paper this month titled Attestable Build Chain: Enabling Trust in Reproducible Builds (PDF). Their abstract is as follows:
Ensuring trust in software supply chains requires verifying not only artifacts but also the processes that produce them. Although Reproducible Builds (R-B) require rebuilding to validate artifacts, they cannot verify whether the build was executed with the intended toolchain and inputs and may reproduce unintended or compromised builds without detection. We present Attestable Build Chain, a framework for externally verifying build-time execution without rebuilding. Rather than preventing compromise, it provides verifiable, tamper-evident evidence of actual build-time execution, enabling verification of build process integrity from observed file accesses during the build. [ ]
Julien Malka, Stefano Zacchiroli and Th o Zimmermann published a 50-page report detailing A Decade of Software Reproducibility in the Nix Package Ecosystem:
We find that functional package management enables extremely high rebuildability over time (near-universal ability to reconstitute historical build environments and rebuild software packages), while bitwise reproducibility has steadily improved and reaches a high point in recent years (up to 93% in 2024). Early years show substantially lower bitwise reproducibility, indicating that functional package management alone does not guarantee bitwise-identical outputs, and that the observed high level of bitwise reproducibility is not solely due to the package management approach. Common causes of unreproducibility, both in the rebuildability and bitwise reproducibility dimensions, include management of dates in build and test processes; we quantify their prevalence and other common causes using manual analysis of logs of rebuild failures and automated analysis of diffoscope.A PDF of their report is available online
Tim Bastin of L3montree GmbH and Jacek Galowicz of Applicative Systems GmbH from DevGuard published a paper detailing How We Built a Sovereign, Reproducible Container Supply Chain for DevGuard:
This paper presents how the DevGuard project rebuilt its OCI container pipeline around reproducible Nix builds and independent dual-platform digest verification. DevGuard images are built hermetically from pinned source revisions, signed with Sigstore/Cosign, and verified through digest comparison across GitHub Actions and sovereign GitLab infrastructure hosted on container.gov.de. We describe the practical integration of reproducible OCI image builds into existing CI/CD workflows and argue that independently reproducible container digests provide a stronger integrity guarantee against build tampering than provenance alone. The paper further discusses remaining trust assumptions and the relevance of sovereign build infrastructure for government and regulated environments.
Finally, Yiseul Choi, Junga Kim, Jun-Ho Hong and Seongmin Kim of the Department of Convergence Security Engineering at the Sungshin Women s University in Seoul, Korea titled Attestation-based verification of SBOM integrity via consumer-side reproducibility:
Software bills of materials (SBOMs) support supply chain transparency, but they do not prove that a delivered SBOM reproducibly corresponds to its software artifact. Existing signing and provenance mechanisms protect integrity and traceability, yet lack consumer-side reproducible verification. We propose an SBOM integrity verification framework combining procedure disclosure, consumer-side reproduction, authority-generated reference evidence, and digest comparison. A trusted authority records a reference digest, and consumers compare it with locally reproduced and delivered SBOM digests. Experiments on 100 real-world container images show detection of artifact tampering, SBOM substitution, distribution modification, and adaptive tampering beyond signature-based approaches
#reproducible-builds on irc.oftc.net.
rb-general@lists.reproducible-builds.org
a.mx.mayfirst.org, b.mx.mayfirst.org and c.mx.mayfirst.org) instead of
our name servers (a.ns.mayfirst.org, b.ns.mayfirst.org and
c.ns.mayfirst.org). The weird part: this mistaken configuration was happening
at the registrar level, protected by each member s own credentials that we
don t have access to.
Each affected member fixed their records to resolve the problem but also made
very clear that they had not logged into their registrar in years, sugggesting
that the DNS authoritative records in their registrar accounts spontaneously
changed on their own. The first time was weird, the second time could possibly
be a coincidence? But by the third time this happened, we started to panic.
How could registrar records spontaneously change? All three domain names were
registered with different companies - so it couldn t be a single registrar
problem? Are we going to get a flood of these complaints? What is going on!?!?
We did an inventory to see if this was happening with other domain names in use
by our membership and that s when we discovered just how hard it is for our
mostly non-technical users to set a domain s authoritative name servers. The
error rate was less than 1% but still that was a lot of domain names with
typos:
a.ns.mayfist.org!a.ns.matfirst.orga.ns.mayfirst.org, b.ns.mayfirst.org, c.ns.mayfirst.org,
a.mx.mayfirst.org, b.mx.mayfirst.org, c.mx.mayfirst.org, and even
a.webproxy.mayfirst.org - in other words, all the domain names we tell you
do to anything with.a.mx.mayfirst.org, b.mx.mayfirst.org and c.mx.mayfirst.org.c.ns.mayfirst.org and c.mx.mayfirst.org. It hangs out
in case something terrible happens to our main colo. The week before we started
receiving these complaints, I separated these services, moving
c.mx.mayfirst.org to a dedicated MX server. As a result, these two domain
names stopped pointing to the same IP address. And that s when the complaints
started rolling in. In other words: the affected members set the incorrect name
servers years ago, but because just one of the name servers resolved to an IP
that happened to provide the correct authoritative lookup services, it went
undeteced all this time.
So mystery solved. Nobody s authoritative registrar records suddenly
changed. They were mis-configured for years but thanks to the amazing
resilience of the DNS system, nobody noticed because just one working DNS
server is all you need.
Next.