Freexian Collaborators: Debian Contributions: Python 3.14 as default transition, DebConf 26 preparations, debvm, pconr and more! (by Anupa Ann Joseph)
Debian Contributions: 2026-06
Contributing to Debian
is part of Freexian s mission. This article
covers the latest achievements of Freexian and their collaborators. All of this
is made possible by organizations subscribing to our
Long Term Support contracts and
consulting services.
Python 3.14 as default transition, by Stefano Rivera
Debian has had Python 3.13 and 3.14 in 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.
DebConf 26 preparations, by Stefano Rivera, Antonio Terceiro, Lucas Kanashiro, Santiago Ruano Rinc n and Anupa Ann Joseph
DebConf 26, the annual Debian Developer
Conference, is being held in Santa Fe, Argentina, in July. Stefano Rivera,
Antonio Terceiro, Lucas Kanashiro, Santiago Ruano and Anupa Ann Joseph
contributed to the preparations for the event.
- As usual, Stefano has been supporting the conference website and registration,
helping the local team to get accurate data on attendee numbers.
- Antonio has been supporting the conference website and helping the content
team to put together the conference schedule.
- Santiago has been helping the local team on different topics regarding logistics.
- Anupa assisted with the accommodation arrangements for DebCamp and DebConf,
working alongside Nattie.
- Lucas has been coordinating the conference schedule and communicating with
some speakers.
debvm, by Helmut Grohne
The debvm tool used for creating and
running ephemeral virtual machines saw a number of small improvements. The
requirement of having a filesystem label has been removed in favor of using a
uuid and /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.
pconr, by Helmut Grohne
At DebConf25,
Helmut reported on a schroot
substitute called unschroot. The second iteration uses varlink
IPC to construct a container. That varlink API is now separated into a new
project called programmable container runtime.
It is meant to provide more flexibility in constructing containers than
established solutions such as the 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.
Miscellaneous contributions
- Stefano did routine uploads (mostly new upstream versions) of
python-pip,
python-pipx, hatchling, dh-python, beautifulsoup4, python-virtualenv,
python-mitogen.
- Stefano uploaded a snowball mini-transition:
snowball, snowball-data,
and pystemmer
- Stefano did some debian.net team
admin, setting up a container and later a VM for
vote.debian.net.
- Stefano responded
to a semi-escalation
to the Debian Technical Committee, after some communication between an upstream,
a bug reporter, and a Debian package maintainer went sideways and got heated.
- Emilio managed several transitions, and filed bugs against the few remaining
GCC 13 rdeps.
- Antonio did salsa maintenance work, debugging service issues, approving user
registrations, and processing support requests.
- Antonio worked on Debian CI maintenance, including but not limited to
deploying new armhf and armel workers, fixing bugs and preparing an upcoming
release of debci.
- Antonio did several maintenance tasks for MiniDebConf websites.
- Antonio uploaded ruby-bunny, ruby-sinatra and ruby-mustermann, fixing a few
FTBFS bugs among them.
- Carles using
po-debconf-manager:
Reviewed Catalan translations for 5 packages, submitted 6 packages. Added a
draft blog/update
about the po-debconf-manager project.
- Carles submitted a new Geeqie Catalan translation:
it had accumulated a large number of untranslated strings over the last 4 years.
- Carles contributed to the Debian wiki: improved documentation for the
Framework Laptop and added a new section Battery charging control
(after doing some debugging and testing). He wrote a page about
Signal Desktop. Carles started looking
at testing/documenting Mailman2 -> Mailman3 migration.
- Carles, in relation to the migration process, double checked old pages without
relevant information in the Debian wiki.
- Thorsten did another upload of package hplip to fix some bugs.
- In the context of the Google Summer of Code 2026 project, Santiago continued
co-mentoring Aryan Karamtoth, who is working on the Linux live-patching project.
As part of the team, Santiago guided Aryan to help design the different
workflows and to study the different tools available, including the
upstream klp-build
(that was introduced in v6.19), and compare it with SUSE s klp-build.
- Colin clarified
the bug tracking system s documentation to indicate that maintainers may
sometimes reasonably ask users to file bugs upstream themselves.
- Colin fixed 15 packages for pytest 9.1.
- Colin fixed a depthcharge-tools regression with Python 3.14 as default
that broke debian-installer builds.
- Helmut continued to report undeclared file conflicts and correspond about them.
- Helmut wrote patches for strace to enable
cross building and a
32bit personality on arm64.
- Helmut continued maintaining rebootstrap working fixing build failures in
fontconfig, gettext and sqlite3 as well as changing the way packages from gcc
builds are installed to better serve a need reported by
Samuel Thibault.
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.
DebConf 26 preparations, by Stefano Rivera, Antonio Terceiro, Lucas Kanashiro, Santiago Ruano Rinc n and Anupa Ann Joseph
DebConf 26, the annual Debian Developer
Conference, is being held in Santa Fe, Argentina, in July. Stefano Rivera,
Antonio Terceiro, Lucas Kanashiro, Santiago Ruano and Anupa Ann Joseph
contributed to the preparations for the event.
- As usual, Stefano has been supporting the conference website and registration,
helping the local team to get accurate data on attendee numbers.
- Antonio has been supporting the conference website and helping the content
team to put together the conference schedule.
- Santiago has been helping the local team on different topics regarding logistics.
- Anupa assisted with the accommodation arrangements for DebCamp and DebConf,
working alongside Nattie.
- Lucas has been coordinating the conference schedule and communicating with
some speakers.
debvm, by Helmut Grohne
The debvm tool used for creating and
running ephemeral virtual machines saw a number of small improvements. The
requirement of having a filesystem label has been removed in favor of using a
uuid and /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.
pconr, by Helmut Grohne
At DebConf25,
Helmut reported on a schroot
substitute called unschroot. The second iteration uses varlink
IPC to construct a container. That varlink API is now separated into a new
project called programmable container runtime.
It is meant to provide more flexibility in constructing containers than
established solutions such as the 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.
Miscellaneous contributions
- Stefano did routine uploads (mostly new upstream versions) of
python-pip,
python-pipx, hatchling, dh-python, beautifulsoup4, python-virtualenv,
python-mitogen.
- Stefano uploaded a snowball mini-transition:
snowball, snowball-data,
and pystemmer
- Stefano did some debian.net team
admin, setting up a container and later a VM for
vote.debian.net.
- Stefano responded
to a semi-escalation
to the Debian Technical Committee, after some communication between an upstream,
a bug reporter, and a Debian package maintainer went sideways and got heated.
- Emilio managed several transitions, and filed bugs against the few remaining
GCC 13 rdeps.
- Antonio did salsa maintenance work, debugging service issues, approving user
registrations, and processing support requests.
- Antonio worked on Debian CI maintenance, including but not limited to
deploying new armhf and armel workers, fixing bugs and preparing an upcoming
release of debci.
- Antonio did several maintenance tasks for MiniDebConf websites.
- Antonio uploaded ruby-bunny, ruby-sinatra and ruby-mustermann, fixing a few
FTBFS bugs among them.
- Carles using
po-debconf-manager:
Reviewed Catalan translations for 5 packages, submitted 6 packages. Added a
draft blog/update
about the po-debconf-manager project.
- Carles submitted a new Geeqie Catalan translation:
it had accumulated a large number of untranslated strings over the last 4 years.
- Carles contributed to the Debian wiki: improved documentation for the
Framework Laptop and added a new section Battery charging control
(after doing some debugging and testing). He wrote a page about
Signal Desktop. Carles started looking
at testing/documenting Mailman2 -> Mailman3 migration.
- Carles, in relation to the migration process, double checked old pages without
relevant information in the Debian wiki.
- Thorsten did another upload of package hplip to fix some bugs.
- In the context of the Google Summer of Code 2026 project, Santiago continued
co-mentoring Aryan Karamtoth, who is working on the Linux live-patching project.
As part of the team, Santiago guided Aryan to help design the different
workflows and to study the different tools available, including the
upstream klp-build
(that was introduced in v6.19), and compare it with SUSE s klp-build.
- Colin clarified
the bug tracking system s documentation to indicate that maintainers may
sometimes reasonably ask users to file bugs upstream themselves.
- Colin fixed 15 packages for pytest 9.1.
- Colin fixed a depthcharge-tools regression with Python 3.14 as default
that broke debian-installer builds.
- Helmut continued to report undeclared file conflicts and correspond about them.
- Helmut wrote patches for strace to enable
cross building and a
32bit personality on arm64.
- Helmut continued maintaining rebootstrap working fixing build failures in
fontconfig, gettext and sqlite3 as well as changing the way packages from gcc
builds are installed to better serve a need reported by
Samuel Thibault.
/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.
pconr, by Helmut Grohne
At DebConf25,
Helmut reported on a schroot
substitute called unschroot. The second iteration uses varlink
IPC to construct a container. That varlink API is now separated into a new
project called programmable container runtime.
It is meant to provide more flexibility in constructing containers than
established solutions such as the 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.
Miscellaneous contributions
- Stefano did routine uploads (mostly new upstream versions) of
python-pip,
python-pipx, hatchling, dh-python, beautifulsoup4, python-virtualenv,
python-mitogen.
- Stefano uploaded a snowball mini-transition:
snowball, snowball-data,
and pystemmer
- Stefano did some debian.net team
admin, setting up a container and later a VM for
vote.debian.net.
- Stefano responded
to a semi-escalation
to the Debian Technical Committee, after some communication between an upstream,
a bug reporter, and a Debian package maintainer went sideways and got heated.
- Emilio managed several transitions, and filed bugs against the few remaining
GCC 13 rdeps.
- Antonio did salsa maintenance work, debugging service issues, approving user
registrations, and processing support requests.
- Antonio worked on Debian CI maintenance, including but not limited to
deploying new armhf and armel workers, fixing bugs and preparing an upcoming
release of debci.
- Antonio did several maintenance tasks for MiniDebConf websites.
- Antonio uploaded ruby-bunny, ruby-sinatra and ruby-mustermann, fixing a few
FTBFS bugs among them.
- Carles using
po-debconf-manager:
Reviewed Catalan translations for 5 packages, submitted 6 packages. Added a
draft blog/update
about the po-debconf-manager project.
- Carles submitted a new Geeqie Catalan translation:
it had accumulated a large number of untranslated strings over the last 4 years.
- Carles contributed to the Debian wiki: improved documentation for the
Framework Laptop and added a new section Battery charging control
(after doing some debugging and testing). He wrote a page about
Signal Desktop. Carles started looking
at testing/documenting Mailman2 -> Mailman3 migration.
- Carles, in relation to the migration process, double checked old pages without
relevant information in the Debian wiki.
- Thorsten did another upload of package hplip to fix some bugs.
- In the context of the Google Summer of Code 2026 project, Santiago continued
co-mentoring Aryan Karamtoth, who is working on the Linux live-patching project.
As part of the team, Santiago guided Aryan to help design the different
workflows and to study the different tools available, including the
upstream klp-build
(that was introduced in v6.19), and compare it with SUSE s klp-build.
- Colin clarified
the bug tracking system s documentation to indicate that maintainers may
sometimes reasonably ask users to file bugs upstream themselves.
- Colin fixed 15 packages for pytest 9.1.
- Colin fixed a depthcharge-tools regression with Python 3.14 as default
that broke debian-installer builds.
- Helmut continued to report undeclared file conflicts and correspond about them.
- Helmut wrote patches for strace to enable
cross building and a
32bit personality on arm64.
- Helmut continued maintaining rebootstrap working fixing build failures in
fontconfig, gettext and sqlite3 as well as changing the way packages from gcc
builds are installed to better serve a need reported by
Samuel Thibault.
- Stefano did routine uploads (mostly new upstream versions) of
python-pip,python-pipx,hatchling,dh-python,beautifulsoup4,python-virtualenv,python-mitogen. - Stefano uploaded a snowball mini-transition:
snowball,snowball-data, andpystemmer - Stefano did some debian.net team admin, setting up a container and later a VM for vote.debian.net.
- Stefano responded to a semi-escalation to the Debian Technical Committee, after some communication between an upstream, a bug reporter, and a Debian package maintainer went sideways and got heated.
- Emilio managed several transitions, and filed bugs against the few remaining GCC 13 rdeps.
- Antonio did salsa maintenance work, debugging service issues, approving user registrations, and processing support requests.
- Antonio worked on Debian CI maintenance, including but not limited to deploying new armhf and armel workers, fixing bugs and preparing an upcoming release of debci.
- Antonio did several maintenance tasks for MiniDebConf websites.
- Antonio uploaded ruby-bunny, ruby-sinatra and ruby-mustermann, fixing a few FTBFS bugs among them.
- Carles using
po-debconf-manager: Reviewed Catalan translations for 5 packages, submitted 6 packages. Added a draft blog/update about the po-debconf-manager project. - Carles submitted a new Geeqie Catalan translation: it had accumulated a large number of untranslated strings over the last 4 years.
- Carles contributed to the Debian wiki: improved documentation for the Framework Laptop and added a new section Battery charging control (after doing some debugging and testing). He wrote a page about Signal Desktop. Carles started looking at testing/documenting Mailman2 -> Mailman3 migration.
- Carles, in relation to the migration process, double checked old pages without relevant information in the Debian wiki.
- Thorsten did another upload of package hplip to fix some bugs.
- In the context of the Google Summer of Code 2026 project, Santiago continued co-mentoring Aryan Karamtoth, who is working on the Linux live-patching project. As part of the team, Santiago guided Aryan to help design the different workflows and to study the different tools available, including the upstream klp-build (that was introduced in v6.19), and compare it with SUSE s klp-build.
- Colin clarified the bug tracking system s documentation to indicate that maintainers may sometimes reasonably ask users to file bugs upstream themselves.
- Colin fixed 15 packages for pytest 9.1.
- Colin fixed a depthcharge-tools regression with Python 3.14 as default that broke debian-installer builds.
- Helmut continued to report undeclared file conflicts and correspond about them.
- Helmut wrote patches for strace to enable cross building and a 32bit personality on arm64.
- Helmut continued maintaining rebootstrap working fixing build failures in fontconfig, gettext and sqlite3 as well as changing the way packages from gcc builds are installed to better serve a need reported by Samuel Thibault.











Many months ago I had been ordering some furniture from IKEA
I didn t plan too much, I just put the STJ RNBUSKE over the towel, cut,
realized that the two pieces didn t fit with right sides together, cut
the second towel (I had planned to make two wraps, anyway, so it wasn t
a big deal), and started sewing by machine in what seemed like a
reasonable procedure, taking notes and pictures.
The result was pretty good, and I started using it every time I washed
my hair, but then I started to entertain the idea of shooting myself
sewing the second one by hand for a video, but never found the time to
actually doing it, and the pieces remained in the Pile for months, and
months, and way more than a year.
Until one day I bought a meter of cotton cheesecloth (mostly because it
was almost cheaper than buying a sample) and it felt like a good
material to make a nicely looking head wrapper, to keep my hair out of
the way when needed.
A couple months later, it was finally time to bring this project to the
top of the list, and even if I was sewing two by hand it went pretty
quickly: we had a weekend when it was too hot to do anything else, and
by the end of it the wraps were done.
All that remained was finish writing the
I previously wrote about the
upcoming
And it was good. The kind of pizza that is quite soft, especially near
the borders.
We ate it with fresh mozzarella and tomatoes, and then made another one
the same way, to finish the mozzarella.
This was supposed to be our lunch, but we decided to try one with some
leftover cooked radicchio, and that also worked quite nicely.
And finally, we decided we needed to try a more classical pizza, with
tomato sauce and cured meat, of which we forgot to take pictures.
Up to here we had eaten about half of the dough, and we were getting
full: I had prepared significantly more than what I expected to eat, to
be able to accidentally burn some, but also with the idea to bake
something else to be eaten later.
So I made two more focaccias with just water and salt, and then I tried
to cook some bread with what I expected to be residual heat.
Except that the oven was getting a bit too cold, so my partner added
some charcoal, and when I put the last two unflattened balls right at
the back of the oven where it was still warmer, that side carbonized.
After 5 minutes I moved them to the middle of the oven, and turned them,
and then after another turn and 5 more minutes they were ready. And
other than the burnt crust, they were pretty edible.
So, the thoughts after our first experience.
Everybody around the table (my SO, my mother and me) was quite happy
with the results, and they are different enough from the ones I could
get with the regular oven.
As I should have expected, it s much faster than a masonry oven, both in
getting to temperature and in cooling down: my plan for residual heat
bread cooking will have to be adjusted with experience.
We were able to get it hot enough, but not as hot as it s supposed to be
able to get: we suspect that using just charcoal may have influenced it,
and next week we ll try to get some wood, and try with a mix.
As for the recipe, dividing the dough in eight parts worked quite well:
maybe the pizzas are a bit on the smaller side, but since they come one
at a time it s more convenient to cut and share them, and maybe make a
couple more at the end.
Of course, I ll want to try different recipes, for different styles of
pizzas (including some almost-trademark-violating ones) and for other
types of flatbread.
I expect it won t be hard to find volunteers to help us with the
experiments. :D
The next step, already in January, was mentioning in a fountain-pen
enthusiasts forum that I planned such a test, and asking if people were
interested in having me buy a few samples of more inks when I was
buying my next pen.
The word enthusiasts is probably a hint of the reason why soon
afterwards I received a package with the pen I had planned to buy, its
converter, and a couple dozens ink samples.
And then a couple envelopes with additional samples of inks that weren t
available on the shops, from said enthusiasts.
Added to the inks I already had acquired since the last lightfastness
test, it meant that they couldn t all fit in one single page, and thus I
had some room to add some inks I had already tested: some were requests,
and for others I tried to select ones that felt relevant.
Since I m changing the test setup, I ve decided I should probably keep
doing this until I ve tested again all of the inks I still have
available.
For the paper, I ve used A4 sheets of
While I was filling the sheet for the lightfastness tests, I decided to
also prepare a second set of sheet, for a liquid resistance drop test.
On each line, beside the name of the ink, I added five sets of crossing
parallel lines, and let everything dry for a few days.
Then I used a syringe to put a drop of a liquid on each set of lines,
waited for it to be absorbed into the paper and to dry, at least
overnight, but sometimes also for a day or two (life happened), and then
looked at the results and did the next test.
The first liquid was water, with the usual wild difference between
washable and permanent inks, and all of the intermediate possibilities.
The second liquid was isopropyl alcohol, and I was surprised to see
that, with very few exceptions, most inks didn t change at all. I
wonder whether that s related to the fact that instead of forming a drop
it was absorbed almost immediately into the paper, and dried in a very
short time.
The third liquid was hydrogen peroxide: beside the individual results I
noticed that its column yellowed visibly; I wonder whether that means
that the paper I used has optical brighteners, and it will also yellow
under the sun: that wouldn t be ideal, but it would also be a surprise,
for paper that is acid free and sold for arts.
The fourth liquid was citric acid, by mixing a bit less than a teaspoon
of citric acid granules in just enough very warm water (heated to 70 C,
i.e. the lowest temperature available on my kettle) to dissolve most of
the acid. I forgot that I had some old PH strips until one hour after
I ve put the drop on the paper, and I don t know whether something had
changed, but when I did remember about them it showed a deep red between
1 and 2. I don t think I can trust those strips too much, however.
This backfired badly: the drop of citric acid never dried out, but
formed a sticky paste that prevented me from scanning the results,
and I m not sure whether I ll do the last test, which was supposed to be
household bleach.
Luckily I had scanned the partial results, and they are shown here.
After one full day with plenty of sun, nothing really had changed,
except possibly for a vague hint that the Herbin Bleu Myosotis may have
have been a bit lighter than it started, but it may also have been a
suggestion.
After three days, however, some results started to show, with the most
fugitive inks starting to be visibly changed, becoming either paler or
in some case duller.
And the full week showed more of that, with a few more inks starting to
show visible change.
After two weeks the paper had significantly yellowed, something I did
not expect from drawing paper (and which means that I will probably use
a different paper when making similar tests in the future).
As for the inks, there were a couple more inks with visible changes, but
mostly it was more of the same as seen in the previous week.
Three weeks started to show changes in the black and most irongall inks, and of course more changes in the even less resistant inks.
Week four saw a bit more clouds and rain than the first few weeks, and
there weren t big changes, but mostly more of what had already started
to happen earlier.
A month didn t change much compared to the four weeks, but I did the
scans for completeness, and from now on I m going to update monthly.
A map of Vietnam with points of places we went to labeled. CARTO MAPTILER OPENSTREETMAP
A picture of the park we roamed around in Ho Chi Minh City. Photo by Ravi Dwivedi, released under CC-BY-SA 4.0.
This is the restaurant Badri s friend took us to. Photo by Ravi Dwivedi, released under CC-BY-SA 4.0.
One of the dishes we had in the restaurant. This one was especially tasty. Photo by Ravi Dwivedi, released under CC-BY-SA 4.0.
One of the dishes we had in the restaurant. Photo by Ravi Dwivedi, released under CC-BY-SA 4.0.
These noodles are called Pho and are very popular in Vietnam. Photo by Ravi Dwivedi, released under CC-BY-SA 4.0.
Interior of our train coach. Trains in Vietnam don t have side berths, unlike India. Photo by Ravi Dwivedi, released under CC-BY-SA 4.0.
A picture of the berths from our coach. It had three tiers, similar to a 3 AC coach in Indian trains. Photo by Ravi Dwivedi, released under CC-BY-SA 4.0.
The train had a cabin to put the bags in. Photo by Ravi Dwivedi, released under CC-BY-SA 4.0.
Nha Trang train station. Photo by Ravi Dwivedi, released under CC-BY-SA 4.0.
I got a complimentary cup of green tea along with coffee in Nha Trang. In this trip, Badri and I found out that this is customary at local places in Vietnam. Photo by Ravi Dwivedi, released under CC-BY-SA 4.0.
Eggs being cooked on a pan for my order. Photo by Ravi Dwivedi, released under CC-BY-SA 4.0.
The beach we went to in Nha Trang. Photo by Ravi Dwivedi, released under CC-BY-SA 4.0.
This one was shot in the city center. In this trip, Badri and I found out that this is customary at local places in Vietnam. Photo by Ravi Dwivedi, released under CC-BY-SA 4.0.
Inside a Highlands Coffee cafe in Nha Trang. Photo by Ravi Dwivedi, released under CC-BY-SA 4.0.
A coffee I got from Highlands Coffee in Nha Trang. Photo by Ravi Dwivedi, released under CC-BY-SA 4.0.
The restaurant we went to in Nha Trang. The word Chay in the name means it was a vegan restaurant. Photo by Ravi Dwivedi, released under CC-BY-SA 4.0.
Soupy noodles we got at that restaurant. Photo by Ravi Dwivedi, released under CC-BY-SA 4.0.
Dry noodles we got at that restaurant. Photo by Ravi Dwivedi, released under CC-BY-SA 4.0.
This was the place we had our coffee in Tra Kieu. Photo by Ravi Dwivedi, released under CC-BY-SA 4.0.
Photo of Badri with taxi driver. Photo by Ravi Dwivedi, released under CC-BY-SA 4.0.
A picture of Tra Kieu area near the train station we got down at. Photo by Ravi Dwivedi, released under CC-BY-SA 4.0.
Our breakfast in Hoi An. Photo by Ravi Dwivedi, released under CC-BY-SA 4.0.
A photo of the hostel we stayed in Hoi An. Photo by Ravi Dwivedi, released under CC-BY-SA 4.0.
Typical yellow house with gabled roof in Hoi An old town. Photo by Ravi Dwivedi, released under CC-BY-SA 4.0.
Egg coffee I had in Hoi An. Photo by Ravi Dwivedi, released under CC-BY-SA 4.0.
Bahn Bao in Hue. Photo by Ravi Dwivedi, released under CC-BY-SA 4.0.
Hot Pot. Photo by Ravi Dwivedi, released under CC-BY-SA 4.0.
Added soup to the noodles. Photo by Ravi Dwivedi, released under CC-BY-SA 4.0.
Steamed rolls made of rice flour. Photo by Ravi Dwivedi, released under CC-BY-SA 4.0.
Menu from a restaurant in Ho Chi Minh City with detailed description of the food. Photo by Ravi Dwivedi, released under CC-BY-SA 4.0.
Our berths in the train. Photo by Ravi Dwivedi, released under CC-BY-SA 4.0.
Egg coffee in Hanoi. Photo by Ravi Dwivedi, released under CC-BY-SA 4.0.
Hanoi train street is a tourist attraction in Hanoi. Photo by Ravi Dwivedi, released under CC-BY-SA 4.0.
A picture of pho we had in Hanoi. Photo by Ravi Dwivedi, released under CC-BY-SA 4.0.
Bahn it is served packed in banana leaves. Photo by Ravi Dwivedi, released under CC-BY-SA 4.0.
Bahn it. Photo by Ravi Dwivedi, released under CC-BY-SA 4.0.
On 25th Oct 2025, I announced via my personal blog and on Mastodon that Fre(i)e Software GmbH was hiring. The hiring process was a mix of asking developers I know and waiting for new people to apply.
At the beginning of November 2025 / in mid November 2025, we started with 13 developers (all part-time) to work on various topics around Lomiri (upstream and downstream).
Note that the below achievements don't document the overall activity in the Lomiri project, but that part that our team at Fre(i)e Software GmbH contributed to.
Organizational Achievements