It’s been about a month since I started my Sovereign Tech Fellowship in mid-July, and I want to give you some updates about what’s been going on before I go on summer holiday for the next two weeks. The idea behind these update posts is to highlight certain aspects of my activities and get people interested in getting involved with design.
GUADEC 2026 This year I attended GUADEC in person for the first time and I really enjoyed it. There were three days of interesting talks followed by two days of productive workshops and hacking. My favorite talks were about:I gave a short update on the GNOME Design Team’s recent achievements and challenges, announced my fellowship and invited interested individuals to join us. Tobias and I lead the Design BoF where we discussed some recent design pattern standardization efforts and received helpful feedback from the audience. Furthermore, the discussions in between talks and workshops were an amazing opportunity to connect with other contributors.
I was not able to attend GUADEC in the past because of the locations, but also because of high travel costs. The GNOME Foundation provides travel sponsorships, and this year’s budget was not used completely. Please reach out to the Travel Committee if you are a contributor and need financial support to attend conferences and hackfests.
Kicking Things OffTraveling to GUADEC marked the start of my fellowship, and the weeks after that I was pretty much busy with kicking off things of various kinds.
InternalAs an employee of the Sovereign Tech Agency, I went through the onboarding process, set up hardware and software tools, and got to know the team. The 2026 cohort of the Sovereign Tech Fellowship comprises 14 people from a variety of different projects, which provides an amazing opportunity to share knowledge and establish cross-project collaborations. I am responsible for organizing a monthly ‘Lightning Talks’ series, in which fellows give short presentations on topics of broader interest, with the intention of leading to longer peer mentoring sessions. For my own presentation, I chose to talk about This Week in GNOME, the GNOME project’s weekly blog that covers news from the community. I believe it is a major success because it enables our community members to share project news without having to set up their own blog. The numbers speak for themselves: a total of 2,643 news posts have been submitted by 335 individuals over a period of 261 weeks. I would like to take this opportunity to thank Felix Häcker for developing ‘This Week in GNOME’ and for curating a weekly post for more than four years.
DesignThere are a few design patterns we have wanted to standardize for a while. These include Action Rows with a scale, time and date pickers, drag and drop target styling, and floating controls. I discussed with Alice which ones to prioritize and started with Action Rows with a scale. If your app uses a scale in an Action Row in a way that hasn’t been mentioned in the issue yet, please leave a comment with a screenshot. You are also welcome to contribute state-of-the-art examples from other platforms.
Another topic I plan to work on is the credentials portal and I’ve had a first video meeting with the maintainers of credentialsd to coordinate our timelines and clarify the requirements.
I also reviewed a few merge requests and provided some design feedback in issues and on Matrix. One topic I find particularly interesting and worth sharing is adjusting arbitrary colors to ensure contrast of the event widgets in Calendar. Other apps that have to handle arbitrary colors (e.g. user-selected colors) in the user interface might benefit from looking into using the oklab color space too. Alice has published a blog post about the CSS capabilities which helped me to figure out the proposal for Calendar.
CommunityI’ll soon begin reviewing apps for GNOME Circle, and I’ve already had an onboarding meeting with Tobias from the Circle Committee and another interested contributor. My plan is to support new reviewers through peer reviews and feedback so they can gain experience in GNOME design.
I attended a video meeting about Test Center, a new app for installing experimental versions of apps and system components. It makes testing much easier, and I see some potential for newcomers to get involved through coordinated user testing.
Until now, I’ve never had the time to blog about my design work for GNOME, but I’ve finally set up this blog and have been really enjoying it so far. Since this is my first time blogging, I’d appreciate any feedback via Matrix.
Thanks for reading. I’ll be back in September after my holiday.
Read more of this story at Slashdot.
Read more of this story at Slashdot.
In our previous post we looked at fixing a super 8 film projector. While watching filme with a real projector has its own charm, it is inconvenient to say the least. First of all you make the entire room properly dark or you can't see anything. This is regardless of the fact that the projector bulb is consuming 100 watts of power to show the image. Even if you manage not to burn the film merely running it through the projector causes wear, scratches and tearing. While film typically ages very well, eventually it will turn into magenta goop or gets eaten by vinegar syndrome. Thus you'd really want to convert all these films into high quality digital files.
There are several companies that offer this service. If you only have a few rolls, using those is the smart thing to do. I, on the other hand, have so much material that using a commercial service would cost thousands (possibly tens of thousands) of euros. Fortunately, this is a fairly common problem and there are dozens of existing projects on the Internet to be inspired by.
The main technical problem with super 8 film is that it is very small. A sequence of 10 super 8 images is approximately as long as a matchstick. The fact that projectors can display 18 frames per second with sub millimeter registration is an astounding achievement of mechanical engineering. How do they do that? Very difficultly.
Many of the DIY solutions start by taking an existing projector and modifying it to run slower. Then you remove the projection lens and aim a digital camera with a macro lens at the gate. This yields incredible results quality-wise but requires a fairly expensive macro lens and typically the modification on the projector is destructive. So that's out. Some more searching eventually lead me to this Github project.
The basic idea is simple. Instead of using a projector or trying to replicate a film transport (which proper tension and all that) instead rely on the basic stiffness on film and drive it directly with stepper motor. Film is not aligned mechanically but instead by detecting the sprocket hole with some straightforward machine vision code. Time to fire up the ol' 3D printer and order components. This is what the end result looks like after assembly
The thing at the top left that looks like a space cannon prop from a scifi movie is actually a microscope lens. Not only can it do > 1x optical magnification, it can do so at a cost of about 25 euros. The downside is noticeable chromatic aberration. The small flat thing on the other end is the Raspberry Pi HQ camera module that can do 4k at 12 bits per channel. The whole thing is run via a single Raspberry Pi 3 with a stepper motor hat. The board at the bottom is used to distribute 12V DC power to the lamp and motors.
Before going further, let's just spend some time appreciating just how awesome colors look in this film. Props to the chemical engineers at Kodak. And remember, the original image is about one third of the size of your smallest fingernail.
The Github repo says that you probably need to adapt the code to your setup. I basically ended up rewriting all of it from scratch. In the process I learned that OpenCV has its own GUI toolkit which is both simple (one could even say simplistic) and perfect for this use case. The first attempt took nine hours to process one 3.5 minute reel of film. Then I realized that trying to do 4k on material that physically maxes out at approximately 2k with the processing power of a potato is not a recipe for success. Halving the capture resolution and a few other optimizations brought the runtime down to about one hour per reel.
With this, some more custom software for image processing and stabilization coupled with FFmpeg scripts one can start to go through the archive of films. Doing so raises a fair bit of questions. For example:
Is that a 3 year old child driving a jury-rigged go-kart on a frozen lake on his own without even wearing a helmet?
Yes it is. A bit later a grown up drives the car but he is too heavy so the ice cracks under him. No one seems particularly concerned. This may seem strange to us but you have to understand that this was the very early 70s. The concept of safety had not been invented yet.
Read more of this story at Slashdot.
Read more of this story at Slashdot.
Read more of this story at Slashdot.
Read more of this story at Slashdot.
Read more of this story at Slashdot.
Read more of this story at Slashdot.
Read more of this story at Slashdot.
Read more of this story at Slashdot.
Read more of this story at Slashdot.
Read more of this story at Slashdot.
Hi, I’m Peter, a software dev and currently a maintainer of nautilus, the GNOME project’s file manager.
This blog will foremost contain monthly updates on what I did as a GNOME Fellow.
# The Fellowship
> The [GNOME Fellowship program](https://fellowship.gnome.org/) provides financial support for critical and under-resourced areas of the GNOME project.
In July [Sophie Herold](https://blogs.gnome.org/sophieh/) and I were selected as the first GNOME Fellows.
I am very grateful to everyone that put effort into launching this program and hope we will be able to use this great opportunity to provide impactful contributions to the project.
My work will mostly focus on nautilus, its file chooser capabilities, and its integration into the system.
I have a vague roadmap of things I want to achieve in this year of Fellowship:
{width=100%}
I also have aspirations of doing things beyond the listed items, but this roadmap will provide a nice, feasible baseline.
# XDG Directory Localization
If you have ever used GNOME with a non-English localization, you will probably be familiar with this little dialog:
{width=100%}
It not only interrupts you out of nowhere on session start, it also looks somewhat dated, given it still uses GTK3.
Corey Berla [ported it to GTK4](https://gitlab.gnome.org/GNOME/xdg-user-dirs-gtk/-/merge_requests/13), but also sprinkled some libadwaita usages in, making the port unfit for a generic GTK program.
For modern GNOME styling we of course want libadwaita, so I took the port and [integrated it into nautilus](https://gitlab.gnome.org/GNOME/nautilus/-/merge_requests/1831).
{width=100%}
This standalone dialog is shown when opening nautilus and is integrated into nautilus’ bookmark system.
There are more opportunities to improve the user experience though, so expect another update on this in the coming months.
# Sushi
Sushi is nautilus’ previewer companion.
When installed, it can be activated by pressing `Spacebar`.
It is a very versatile tool that can preview many different file types.
In May I decided to push sushi’s development forward, by landing [Corey Berla’s GTK4 port](https://gitlab.gnome.org/GNOME/sushi/-/merge_requests/43) along with [Tau Gärtli’s fix-up](https://gitlab.gnome.org/GNOME/sushi/-/merge_requests/68) and further porting commits.
Throughout June, Tau, Lorenzo Ubaldi, and I made many other adjustments, modernizations and cleanups to sushi.
This continued throughout July, and I believe the application is now again in a state where it lives up to the standards of a modern GNOME application.
{width=100%}
More detail on changes I made in July (selection):
* [Smoother view changes](https://gitlab.gnome.org/GNOME/sushi/-/merge_requests/122) and a loading spinner
* [Reworked overlays](https://gitlab.gnome.org/GNOME/sushi/-/merge_requests/124) and hid headerbars in fullscreen
* [Documented plugins](https://gitlab.gnome.org/GNOME/sushi/-/merge_requests/113) and a new system-wide plugin path
* [Fixed some](https://gitlab.gnome.org/GNOME/sushi/-/merge_requests/114) [memory leaks](https://gitlab.gnome.org/GNOME/sushi/-/merge_requests/121) to reduce memory usage (unfortunately there are still some left)
* [Added clicking/tapping](https://gitlab.gnome.org/GNOME/sushi/-/merge_requests/109) pausing/fullscreening support for videos
* Small [headerbar polish](https://gitlab.gnome.org/GNOME/sushi/-/merge_requests/123)
# Other
I also wrapped up [two](https://gitlab.gnome.org/GNOME/glib/-/merge_requests/5193) [minor](https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4919) GLib MRs this month.
They added [`g_set_date_time`](https://docs.gtk.org/glib/func.set_date_time.html) and [`g_string_free_deep`](https://docs.gtk.org/glib/method.String.free_deep.html), two convenience functions that will be available in GLib version 2.90.
# Support the GNOME Project
{width=80%}
The GNOME Fellowships are funded by our community. If you would like to help the GNOME project to stay sustainable, please [consider donating](https://donate.gnome.org/).
AI Summary
The described story is set in a magical underwater world where a fellowship of gnomes sets out to calm the eldritch nautilus god.
In this chapter they provide an offering of sushi, but the nautilus is not satisfied.
They craft a roadmap to localize the magical XDG creature.
Important note: All statements in this blog are fictional.
{width=100%}
Read more of this story at Slashdot.
Read more of this story at Slashdot.
Read more of this story at Slashdot.
Read more of this story at Slashdot.