27 Nov 2025

feedLXer Linux News

How to Use Here Document (HereDoc) in Linux Shell Script

In Bash and also for other implementations of the shell, like zsh and fish, you can use the HereDoc to redirect a multi-line or block of lines from the script as an input to interactive commands.

27 Nov 2025 8:33pm GMT

Tiny tweak for Pi OS, big makeover for the Imager

Debian 13.2 freshness, better HiDPI support, and 101 other things to run on your PiRaspberry Pi Ltd has shipped two updates for its single-board computers: a very small refresh to Pi OS 6, and a more substantial upgrade to the tool that writes your Pi's operating system to an SD card.…

27 Nov 2025 7:01pm GMT

Collabora Launches New Modern Office Suite for Linux Desktops

Collabora releases a new modern office suite for Linux desktops. Learn about its features, privacy benefits, and how to install it on Linux.

27 Nov 2025 5:30pm GMT

Why Using the Linux Terminal is Not As Good As It Sound

The terminal may seem powerful, but it's not always as good as it sounds. Learn all the misconceptions of using the Terminal vs using the GUI

27 Nov 2025 3:58pm GMT

Ubuntu 26.04 "Resolute Raccoon" Snapshot 1 ISOs Published

Canonical announced today the Ubuntu 26.04 "Resolute Raccoon" Snapshot 1 images as their first monthly ISO snapshots of the upcoming Ubuntu 26.04 LTS release...

27 Nov 2025 2:27pm GMT

Intel Core Ultra 9 285K "Arrow Lake" Linux Performance Up ~9% One Year Later At ~85% Power Use

It's been just over one year now since the launch of the Core Ultra 9 285K and other Arrow Lake desktop processors. For those that may be considering an Arrow Lake CPU this holiday season for a Linux desktop or just curious how the power and performance has evolved one year later, here are some leading-edge benchmarks of the Intel Core Ultra 9 285K compared to the launch-day performance last October.

27 Nov 2025 8:32am GMT

Rocky Linux 10.1 Arrives with Soft Reboots, XFS Enhancements, and More

Coming more than five months after Rocky Linux 10, Rocky Linux 10.1 has been released as a free alternative to Red Hat Enterprise Linux 10.1 with updated components, bug fixes, and other changes.

27 Nov 2025 7:01am GMT

Fedora SIG Proposed To Improve Production Stability

A Fedora special interest group is being proposed to help improve production stability of Fedora Linux and better handling incident management when problems do arise...

27 Nov 2025 5:29am GMT

GNOME 49.2 Released with Improved Handling of Tiled Monitors and Sticky Keys

The GNOME Project released today GNOME 49.2 as the second point release to the latest GNOME 49 "Brescia" desktop environment series with various bug fixes and improvements.

27 Nov 2025 3:58am GMT

Important Docker Commands You Should Know to Become a Docker Expert

Learn the essential Docker commands to build, run, monitor, and manage containers effectively with simple examples and clear explanations.

27 Nov 2025 2:26am GMT

26 Nov 2025

feedLinuxiac

GNOME 49.2 Released with Bugfixes Across Shell, Mutter, GTK, and Core Apps

GNOME 49.2 Released with Bugfixes Across Shell, Mutter, GTK, and Core Apps

GNOME 49.2 desktop environment updates Shell, GTK, GLib, Nautilus, Epiphany, and other key components, focusing solely on stability and bug fixes.

26 Nov 2025 7:50pm GMT

KDE Plasma 6.8 Will Go Fully Wayland, Ending Nearly 30 Years of X11 Sessions

KDE Plasma 6.8 Will Go Fully Wayland, Ending Nearly 30 Years of X11 Sessions

KDE shifts the upcoming Plasma 6.8 release to a Wayland-only setup, keeping X11 apps running via Xwayland and maintaining X11 session support only until early 2027.

26 Nov 2025 2:55pm GMT

feedLXer Linux News

How to Install Pip on AlmaLinux 10

Python, a versatile and widely used programming language, has a sophisticated package management system called pip. Pip is used to easily install and manage Python packages. PIP is a package management system used to install and manage software packages or libraries written in Python

26 Nov 2025 1:01pm GMT

FreeBSD 15.0-RC4 Released Due To Last Minute Issues

FreeBSD 15.0-RC3 shipped just a few days ago as what was expected to be the final release candidate before FreeBSD 15.0 stable is officially unveiled next week. But squeezing out today is FreeBSD 15.0-RC4 to address last minute issues...

26 Nov 2025 11:30am GMT

feedLinuxiac

Rocky Linux 10.1 Released with Soft Reboots, XFS Improvements

Rocky Linux 10.1 Released with Soft Reboots, XFS Improvements

Rocky Linux 10.1 introduces soft reboots, expanded post-quantum crypto, and new XFS scrubbing and shrinking capabilities for enterprise workloads.

26 Nov 2025 10:51am GMT

Tmux 3.6 Update Adds Scrollbars, New Theme Mode

Tmux 3.6 Update Adds Scrollbars, New Theme Mode

Tmux 3.6 terminal multiplexer adds pane scrollbars, Mode 2031 themes, new variables, and improved query handling across pixel size, palette, cursor, and clipboard data.

26 Nov 2025 10:09am GMT

feedLXer Linux News

Beginners Guide for Unset Command in Linux

The unset command is a built-in Linux command used for flushing the value of variables or functions during program execution.

26 Nov 2025 9:58am GMT

feedLinuxiac

Redis 8.4 Launches with Hybrid Full-Text + Vector Search

Redis 8.4 Launches with Hybrid Full-Text + Vector Search

Redis 8.4 in-memory data store adds hybrid full-text and vector search, delivering over 30% higher throughput for caching and search workloads.

26 Nov 2025 9:18am GMT

feedLXer Linux News

Privacy Meets Modularity: NovaCustom SHIFTphone 8.1 Is Here

The hardened NovaCustom modular SHIFTphone 8.1 is here! We detail its unique features and how NovaCustom make it a better choice for sustainability and privacy.

26 Nov 2025 8:27am GMT

How to Install Remmina on Ubuntu and Other Linux Distros

Discover a step-by-step guide to install the latest version of Remmina on Ubuntu and other Linux distributions, with practical examples.

26 Nov 2025 6:55am GMT

LXD 6.6 Container & Virtual Machine Manager Released

LXD 6.6 introduces placement groups, a Kubernetes CSI driver, improved volume recovery, and support for new HPE Alletra storage.

26 Nov 2025 5:24am GMT

25 Nov 2025

feedLinuxiac

GNOME 48.7 Arrives with Shell, Mutter, and GTK Fixes

GNOME 48.7 Arrives with Shell, Mutter, and GTK Fixes

GNOME 48.7 desktop environment is out, delivering fixes across Shell, Mutter, GTK3, and core apps.

25 Nov 2025 2:33pm GMT

Ultramarine Linux 43 Picks Plasma as Its New Recommended Edition

Ultramarine Linux 43 Picks Plasma as Its New Recommended Edition

Fedora-based Ultramarine Linux 43 shifts from Budgie to Plasma 6.5, introducing UI and permission-handling improvements.

25 Nov 2025 1:12pm GMT

LXD 6.6 Container & Virtual Machine Manager Released

LXD 6.6 Container & Virtual Machine Manager Released

LXD 6.6 introduces placement groups, a Kubernetes CSI driver, improved volume recovery, and support for new HPE Alletra storage.

25 Nov 2025 11:05am GMT

24 Nov 2025

feedLinuxiac

AlmaLinux 10.1 Lands with Full Btrfs Installation Support

AlmaLinux 10.1 Lands with Full Btrfs Installation Support

AlmaLinux 10.1 adds full Btrfs install support, new device drivers, and broader hardware compatibility across all architectures.

24 Nov 2025 7:28pm GMT

Canonical and AMI Partner to Bring Native Ubuntu Netbooting to Aptio V Firmware

Canonical and AMI Partner to Bring Native Ubuntu Netbooting to Aptio V Firmware

Canonical and AMI introduce native Ubuntu netbooting support for Aptio V UEFI, enabling direct installation without external media.

24 Nov 2025 5:50pm GMT

feedKernel Planet

Dave Airlie (blogspot): fedora 43: bad mesa update oopsie

F43 picked up the two patches I created to fix a bunch of deadlocks on laptops reported in my previous blog posting. Turns out Vulkan layers have a subtle thing I missed, and I removed a line from the device select layer that would only matter if you have another layer, which happens under steam.

The fedora update process caught this, but it still got published which was a mistake, need to probably give changes like this more karma thresholds.

I've released a new update https://bodhi.fedoraproject.org/updates/FEDORA-2025-2f4ba7cd17 that hopefully fixes this. I'll keep an eye on the karma.

24 Nov 2025 1:42am GMT

21 Nov 2025

feedKernel Planet

Brendan Gregg: Intel is listening, don't waste your shot

Intel's new CEO, Lip-Bu Tan, has made listening to customers a top priority, saying at Intel Vision earlier this year: "Please be brutally honest with us. This is what I expect of you this week, and I believe harsh feedback is most valuable."

I'd been in regular meetings with Intel for several years before I joined, and I had been giving them technical direction on various projects, including at times some brutal feedback. When I finally interviewed for a role at Intel I was told something unexpected: that I had already accomplished so much within Intel that I qualified to be an Intel Fellow candidate. I then had to pass several extra interviews to actually become a fellow (and was told I may only be the third person in Intel's history to be hired as a Fellow) but what stuck with me was that I had already accomplished so much at a company I'd never worked for.

If you are in regular meetings with a hardware vendor as a customer (or potential customer) you can accomplish a lot by providing firm and tough feedback, particularly with Intel today. This is easier said than done, however.

Now that I've seen it from the other side I realize I could have accomplished more, and you can too. I regret the meetings where I wasn't really able to have my feedback land as the staff weren't really getting it, so I eventually gave up. After the meeting I'd crack jokes with my colleagues about how the product would likely fail. (Come on, at least I tried to tell them!)

Here's what I wish I had done in any hardware vendor meeting:

I'm now in meetings from the other side where we'd really appreciate brutal feedback, but some customers aren't comfortable doing this, even when prompted. It isn't easy to tell someone their project is doomed, or that their reasons for not doing something are BS. It isn't easy dealing with peer pressure and a room of warm and friendly staff begging you say something, anything nice about their terrible product for fear of losing their jobs -- and realizing you must be brutal to their faces otherwise you're not helping the vendor or your own company. And it's extra effort to check meeting minutes and to push for meetings with the ELT or the CEO. Giving brutal feedback takes brutal effort.

21 Nov 2025 1:00pm GMT

20 Nov 2025

feedKernel Planet

Linux Plumbers Conference: Slides templates available

Dear speakers,

You can find the LPC 2025 slides templates in different formats in the following link:

https://drive.google.com/drive/folders/1oGQz6MXtq7fjRJS0Q7Q_oBI91g38VFOC

They were created by our designer, Zohar Nir-Amitin. Zohar has been working with LPC since 2015, and has created all our wonderful t-shirts, badges and signage designs.

20 Nov 2025 10:32pm GMT

16 Nov 2025

feedKernel Planet

Brendan Gregg: Third Stage Engineering

The real performance of any computer hardware in production is the result of the hardware, software, and tuning; the investment and sequence of these efforts can be pictured as a three-stage rocket:

I recently presented this embarrassingly simple diagram to Intel's executive leadership, and at the time realized the value of sharing it publicly. The Internet is awash with comparisons about Intel (and other vendors') product performance based on hardware performance alone, but the performance of software and then tuning can make a huge difference for your particular workload. You need all three stages to reach the highest, and most competitive, performance.

It's obvious why this is important for HW vendors to understand internally - they, like the Internet, can get overly focused on HW alone. But customers need to understand it as well. If a benchmark is comparing TensorFlow performance between HW vendors, was the Intel hardware tested using the Intel Extension for TensorFlow Software, and was it then tuned? The most accurate and realistic evaluation for HW involves selecting the best software and then tuning it, and doing this for all HW options.

I spend a lot of time on the final stage, tuning - what I call third-stage engineering. It's composed of roughly four parts: People, training, tools, and capabilities. You need staff, you need them trained to understand performance methodologies and SW and HW internals, they need tools to analyze the system (both observational and experimental), and finally they need capabilities to tune (tunable parameters, settings, config, code changes, etc.).

I see too many HW evaluations that are trying to understand customer performance but are considering HW alone, which is like only testing the first stage of a rocket. This doesn't help vendors or customers. I hope that's what my simple diagram makes obvious: We need all three stages to reach the highest altitude.

16 Nov 2025 1:00pm GMT

10 Nov 2025

feedKernel Planet

Dave Airlie (blogspot): a tale of vulkan/nouveau/nvk/zink/mutter + deadlocks

I had a bug appear in my email recently which led me down a rabbit hole, and I'm going to share it for future people wondering why we can't have nice things.

Bug:

1. Get an intel/nvidia (newer than Turing) laptop.

2. Log in to GNOME on Fedora 42/43

3. Hotplug a HDMI port that is connected to the NVIDIA GPU.

4. Desktop stops working.

My initial reproduction got me a hung mutter process with a nice backtrace which pointed at the Vulkan Mesa device selection layer, trying to talk to the wayland compositor to ask it what the default device is. The problem was the process was the wayland compositor, and how was this ever supposed to work. The Vulkan device selection was called because zink called EnumeratePhysicalDevices, and zink was being loaded because we recently switched to it as the OpenGL driver for newer NVIDIA GPUs.

I looked into zink and the device select layer code, and low and behold someone has hacked around this badly already, and probably wrongly and I've no idea what the code does, because I think there is at least one logic bug in it. Nice things can't be had because hacks were done instead of just solving the problem.

The hacks in place ensured under certain circumstances involving zink/xwayland that the device select code to probe the window system was disabled, due to deadlocks seen. I'd no idea if more hacks were going to help, so I decided to step back and try and work out better.

The first question I had is why WAYLAND_DISPLAY is set inside the compositor process, it is, and if it wasn't I would never hit this. It's pretty likely on the initial compositor start this env var isn't set, so the problem only becomes apparent when the compositor gets a hotplugged GPU output, and goes to load the OpenGL driver, zink, which enumerates and hits device select with env var set and deadlocks.

I wasn't going to figure out a way around WAYLAND_DISPLAY being set at this point, so I leave the above question as an exercise for mutter devs.

How do I fix it?

Attempt 1:

At the point where zink is loading in mesa for this case, we have the file descriptor of the GPU device that we want to load a driver for. We don't actually need to enumerate all the physical devices, we could just find the ones for that fd. There is no API for this in Vulkan. I wrote an initial proof of concept instance extensions call VK_MESA_enumerate_devices_fd. I wrote initial loader code to play with it, and wrote zink code to use it. Because this is a new instance API, device-select will also ignore it. However this ran into a big problem in the Vulkan loader. The loader is designed around some internals that PhysicalDevices will enumerate in similiar ways, and it has to trampoline PhysicalDevice handles to underlying driver pointers so that if an app enumerates once, and enumerates again later, the PhysicalDevice handles remain consistent for the first user. There is a lot of code, and I've no idea how hotplug GPUs might fail in such situations. I couldn't find a decent path forward without knowing a lot more about the Vulkan loader. I believe this is the proper solution, as we know the fd, we should be able to get things without doing a full enumeration then picking the answer using the fd info. I've asked Vulkan WG to take a look at this, but I still need to fix the bug.

Attempt 2:

Maybe I can just turn off device selection, like the current hacks do, but in a better manner. Enter VK_EXT_layer_settings. This extensions allows layers to expose a layer setting in the instance creation. I can have the device select layer expose a setting which says don't touch this instance. Then in the zink code where we have a file descriptor being passed in and create an instance, we set the layer setting to avoid device selection. This seems to work but it has some caveats, I need to consider, but I think should be fine.

zink uses a single VkInstance for it's device screen. This is shared between all pipe_screens. Now I think this is fine inside a compositor, since we shouldn't ever be loading zink via the non-fd path, and I hope for most use cases it will work fine, better than the current hacks and better than some other ideas we threw around. The code for this is in [1].

What else might be affected:

If you have a vulkan compositor, it might be worth setting the layer setting if the mesa device select layer is loaded, esp if you set the DISPLAY/WAYLAND_DISPLAY and do any sort of hotplug later. You might be safe if you EnumeratePhysicalDevices early enough, the reason it's a big problem in mutter is it doesn't use Vulkan, it uses OpenGL and we only enumerate Vulkan physical devices at runtime through zink, never at startup.

AMD and NVIDIA I think have proprietary device selection layers, these might also deadlock in similiar ways, I think we've seen some wierd deadlocks in NVIDIA driver enumerations as well that might be a similiar problem.

[1] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38252

10 Nov 2025 3:16am GMT

29 Oct 2025

feedKernel Planet

Linux Plumbers Conference: Japan Visas need a longer processing time

If you hold a passport from a visa exempt country, this doesn't apply to you:

https://www.mofa.go.jp/j_info/visit/visa/short/novisa.html

But if you don't have a passport from that list, you do need a visa. Unfortunately, the change of government in Japan has made the process for getting a visa more taxing on the body supplying the invitation letter (in our case, the Linux Foundation). For this reason, the LF is insisting that anyone who needs a visa letter have their application in to the LF dashboard by 17 November at the latest:

https://openprofile.dev/myevents?applyfor=visa-letter

If you have any queries or problems with the process, please contact visaletters@linuxfoundation.org

29 Oct 2025 1:13pm GMT

21 Oct 2025

feedKernel Planet

Matthew Garrett: Where are we on X Chat security?

AWS had an outage today and Signal was unavailable for some users for a while. This has confused some people, including Elon Musk, who are concerned that having a dependency on AWS means that Signal could somehow be compromised by anyone with sufficient influence over AWS (it can't). Which means we're back to the richest man in the world recommending his own "X Chat", saying The messages are fully encrypted with no advertising hooks or strange "AWS dependencies" such that I can't read your messages even if someone put a gun to my head.

Elon is either uninformed about his own product, lying, or both.

As I wrote back in June, X Chat genuinely end-to-end encrypted, but ownership of the keys is complicated. The encryption key is stored using the Juicebox protocol, sharded between multiple backends. Two of these are asserted to be HSM backed - a discussion of the commissioning ceremony was recently posted here. I have not watched the almost 7 hours of video to verify that this was performed correctly, and I also haven't been able to verify that the public keys included in the post were the keys generated during the ceremony, although that may be down to me just not finding the appropriate point in the video (sorry, Twitter's video hosting doesn't appear to have any skip feature and would frequently just sit spinning if I tried to seek to far and I should probably just download them and figure it out but I'm not doing that now). With enough effort it would probably also have been possible to fake the entire thing - I have no reason to believe that this has happened, but it's not externally verifiable.

But let's assume these published public keys are legitimately the ones used in the HSM Juicebox realms[1] and that everything was done correctly. Does that prevent Elon from obtaining your key and decrypting your messages? No.

On startup, the X Chat client makes an API call called GetPublicKeysResult, and the public keys of the realms are returned. Right now when I make that call I get the public keys listed above, so there's at least some indication that I'm going to be communicating with actual HSMs. But what if that API call returned different keys? Could Elon stick a proxy in front of the HSMs and grab a cleartext portion of the key shards? Yes, he absolutely could, and then he'd be able to decrypt your messages.

(I will accept that there is a plausible argument that Elon is telling the truth in that even if you held a gun to his head he's not smart enough to be able to do this himself, but that'd be true even if there were no security whatsoever, so it still says nothing about the security of his product)

The solution to this is remote attestation - a process where the device you're speaking to proves its identity to you. In theory the endpoint could attest that it's an HSM running this specific code, and we could look at the Juicebox repo and verify that it's that code and hasn't been tampered with, and then we'd know that our communication channel was secure. Elon hasn't done that, despite it being table stakes for this sort of thing (Signal uses remote attestation to verify the enclave code used for private contact discovery, for instance, which ensures that the client will refuse to hand over any data until it's verified the identity and state of the enclave). There's no excuse whatsoever to build a new end-to-end encrypted messenger which relies on a network service for security without providing a trustworthy mechanism to verify you're speaking to the real service.

We know how to do this properly. We have done for years. Launching without it is unforgivable.

[1] There are three Juicebox realms overall, one of which doesn't appear to use HSMs, but you need at least two in order to obtain the key so at least part of the key will always be held in HSMs

comment count unavailable comments

21 Oct 2025 4:07pm GMT

20 Oct 2025

feedKernel Planet

Pete Zaitcev: Time flies

A guy who sits next to me is in his 70s, and he said: "I started out on a teletype." But I didn't. Not only I never lived in a world without computers, but when I started out, CRT displays were already a thing. Guys who worked on vacuum tube computers are in their 90s now.

20 Oct 2025 4:34am GMT

16 Oct 2025

feedKernel Planet

Pete Zaitcev: git submodule woe

Problem:
A submodule is stuck in a commit, like so:

$ git show
.................................... shows a stuck submodule
--- a/badsub
+++ b/badsub
@@ -1 +1 @@
-Subproject commit 4ba912892c1b8c213c6c2e78b3bf257635dc534e
+Subproject commit 4b813c322ebe236cddc6b3acd70a31994efd7a56

Solution:
Focus on the commit, not submodule. Submodules work as designed, it's the commit that needs to be fixed (with `git commit --amend`, obviously):

$ cd badsub
$ git checkout 4ba912892c1b8c213c6c2e78b3bf257635dc534e
$ cd ..
$ git add badsub
$ git commit --amend

Nowhere as bad as copying a file while preserving history. Still, not obvious if one focuses on `git submodule`.

16 Oct 2025 1:57am GMT

Pete Zaitcev: podman versus dbus

Problem:
`podman container ls` warns:
WARN[0000] The cgroupv2 manager is set to systemd but there is no systemd user session available

Solution:
$ sudo apt install dbus-user-session; systemctl --user start dbus

16 Oct 2025 1:51am GMT

01 Oct 2025

feedKernel Planet

Greg Kroah-Hartman: The only benchmark that matters is...

…the one that emulates your real workload. And for me (and probably many of you reading this), that would be "build a kernel as fast as possible." And for that, I recommend the simple kcbench.

I kcbench mentioned it a few years ago, when writing about a new workstation that Level One Techs set up for me, and I've been using that as my primary workstation ever since (just over 5 years!).

01 Oct 2025 12:00am GMT

24 Sep 2025

feedKernel Planet

Matthew Garrett: Investigating a forged PDF

I had to rent a house for a couple of months recently, which is long enough in California that it pushes you into proper tenant protection law. As landlords tend to do, they failed to return my security deposit within the 21 days required by law, having already failed to provide the required notification that I was entitled to an inspection before moving out. Cue some tedious argumentation with the letting agency, and eventually me threatening to take them to small claims court.

This post is not about that.

Now, under Californian law, the onus is on the landlord to hold and return the security deposit - the agency has no role in this. The only reason I was talking to them is that my lease didn't mention the name or address of the landlord (another legal violation, but the outcome is just that you get to serve the landlord via the agency). So it was a bit surprising when I received an email from the owner of the agency informing me that they did not hold the deposit and so were not liable - I already knew this.

The odd bit about this, though, is that they sent me another copy of the contract, asserting that it made it clear that the landlord held the deposit. I read it, and instead found a clause reading SECURITY: The security deposit will secure the performance of Tenant's obligations. IER may, but will not be obligated to, apply all portions of said deposit on account of Tenant's obligations. Any balance remaining upon termination will be returned to Tenant. Tenant will not have the right to apply the security deposit in payment of the last month's rent. Security deposit held at IER Trust Account., where IER is International Executive Rentals, the agency in question. Why send me a contract that says you hold the money while you're telling me you don't? And then I read further down and found this:
Text reading ENTIRE AGREEMENT: The foregoing constitutes the entire agreement between the parties and may bemodified only in writing signed by all parties. This agreement and any modifications, including anyphotocopy or facsimile, may be signed in one or more counterparts, each of which will be deemed anoriginal and all of which taken together will constitute one and the same instrument. The followingexhibits, if checked, have been made a part of this Agreement before the parties’ execution:۞Exhibit 1:Lead-Based Paint Disclosure (Required by Law for Rental Property Built Prior to 1978)۞Addendum 1 The security deposit will be held by (name removed) and applied, refunded, or forfeited in accordance with the terms of this lease agreement.
Ok, fair enough, there's an addendum that says the landlord has it (I've removed the landlord's name, it's present in the original).

Except. I had no recollection of that addendum. I went back to the copy of the contract I had and discovered:
The same text as the previous picture, but addendum 1 is empty
Huh! But obviously I could just have edited that to remove it (there's no obvious reason for me to, but whatever), and then it'd be my word against theirs. However, I'd been sent the document via RightSignature, an online document signing platform, and they'd added a certification page that looked like this:
A Signature Certificate, containing a bunch of data about the document including a checksum or the original
Interestingly, the certificate page was identical in both documents, including the checksums, despite the content being different. So, how do I show which one is legitimate? You'd think given this certificate page this would be trivial, but RightSignature provides no documented mechanism whatsoever for anyone to verify any of the fields in the certificate, which is annoying but let's see what we can do anyway.

First up, let's look at the PDF metadata. pdftk has a dump_data command that dumps the metadata in the document, including the creation date and the modification date. My file had both set to identical timestamps in June, both listed in UTC, corresponding to the time I'd signed the document. The file containing the addendum? The same creation time, but a modification time of this Monday, shortly before it was sent to me. This time, the modification timestamp was in Pacific Daylight Time, the timezone currently observed in California. In addition, the data included two ID fields, ID0 and ID1. In my document both were identical, in the one with the addendum ID0 matched mine but ID1 was different.

These ID tags are intended to be some form of representation (such as a hash) of the document. ID0 is set when the document is created and should not be modified afterwards - ID1 initially identical to ID0, but changes when the document is modified. This is intended to allow tooling to identify whether two documents are modified versions of the same document. The identical ID0 indicated that the document with the addendum was originally identical to mine, and the different ID1 that it had been modified.

Well, ok, that seems like a pretty strong demonstration. I had the "I have a very particular set of skills" conversation with the agency and pointed these facts out, that they were an extremely strong indication that my copy was authentic and their one wasn't, and they responded that the document was "re-sealed" every time it was downloaded from RightSignature and that would explain the modifications. This doesn't seem plausible, but it's an argument. Let's go further.

My next move was pdfalyzer, which allows you to pull a PDF apart into its component pieces. This revealed that the documents were identical, other than page 3, the one with the addendum. This page included tags entitled "touchUp_TextEdit", evidence that the page had been modified using Acrobat. But in itself, that doesn't prove anything - obviously it had been edited at some point to insert the landlord's name, it doesn't prove whether it happened before or after the signing.

But in the process of editing, Acrobat appeared to have renamed all the font references on that page into a different format. Every other page had a consistent naming scheme for the fonts, and they matched the scheme in the page 3 I had. Again, that doesn't tell us whether the renaming happened before or after the signing. Or does it?

You see, when I completed my signing, RightSignature inserted my name into the document, and did so using a font that wasn't otherwise present in the document (Courier, in this case). That font was named identically throughout the document, except on page 3, where it was named in the same manner as every other font that Acrobat had renamed. Given the font wasn't present in the document until after I'd signed it, this is proof that the page was edited after signing.

But eh this is all very convoluted. Surely there's an easier way? Thankfully yes, although I hate it. RightSignature had sent me a link to view my signed copy of the document. When I went there it presented it to me as the original PDF with my signature overlaid on top. Hitting F12 gave me the network tab, and I could see a reference to a base.pdf. Downloading that gave me the original PDF, pre-signature. Running sha256sum on it gave me an identical hash to the "Original checksum" field. Needless to say, it did not contain the addendum.

Why do this? The only explanation I can come up with (and I am obviously guessing here, I may be incorrect!) is that International Executive Rentals realised that they'd sent me a contract which could mean that they were liable for the return of my deposit, even though they'd already given it to my landlord, and after realising this added the addendum, sent it to me, and assumed that I just wouldn't notice (or that, if I did, I wouldn't be able to prove anything). In the process they went from an extremely unlikely possibility of having civil liability for a few thousand dollars (even if they were holding the deposit it's still the landlord's legal duty to return it, as far as I can tell) to doing something that looks extremely like forgery.

There's a hilarious followup. After this happened, the agency offered to do a screenshare with me showing them logging into RightSignature and showing the signed file with the addendum, and then proceeded to do so. One minor problem - the "Send for signature" button was still there, just below a field saying "Uploaded: 09/22/25". I asked them to search for my name, and it popped up two hits - one marked draft, one marked completed. The one marked completed? Didn't contain the addendum.

comment count unavailable comments

24 Sep 2025 10:46pm GMT

19 Sep 2025

feedKernel Planet

Linux Plumbers Conference: In Person Registration is sold out

Apparently there was quite a bit more demand than we anticipated. We are running a waitlist which you can get on by filling in this form:

https://forms.gle/tYjjbyn66q5SQMLPA

The venue is smaller this year but we do have a block of reserved passes for MC content so we'll allocate places to the waitlist after it's decided how many of them get used. Note that in order to be fair to everyone, if you sign up for the waitlist you'll have 7 days to register otherwise your pass will go to the next person.

19 Sep 2025 1:22pm GMT

15 Sep 2025

feedKernel Planet

Linux Plumbers Conference: Registration for LPC 2025 is now open!

We're happy to announce that registration for LPC 2025 is now open. To register please go to our attend page.

To try to prevent the instant sellout, we are keeping our cancellation policy of no refunds, only transfers of registrations. You will find more details during the registration process. LPC 2025 follows the Linux Foundation's health & safety policy.

As usual we expect to sell our rather quickly so don't delay your registration for too long!

15 Sep 2025 8:16pm GMT

Dave Airlie (blogspot): radv takes over from AMDVLK


AMD have announced the end of the AMDVLK open driver in favour of focusing on radv for Linux use cases.

When Bas and I started radv in 2016, AMD were promising their own Linux vulkan driver, which arrived in Dec 2017. At this point radv was already shipping in most Linux distros. AMD strategy of having AMDVLK was developed via over the wall open source releases from internal closed development was always going to be a second place option at that point.

When Valve came on board and brought dedicated developer power to radv, and the aco compiler matured, there really was no point putting effort into using AMDVLK which was hard to package and impossible to contribute to meaningfully for external developers.

radv is probably my proudest contribution to the Linux ecosystem, finally disproving years of idiots saying an open source driver could never compete with a vendor provided driver, now it is the vendor provided driver.

I think we will miss the open source PAL repo as a reference source and I hope AMD engineers can bridge that gap, but it's often hard to find workarounds you don't know exist to ask about them. I'm also hoping AMD will add more staffing beyond the current levels especially around hardware enablement and workarounds.

Now onwards to NVK victory :-)

[1] https://github.com/GPUOpen-Drivers/AMDVLK/discussions/416

15 Sep 2025 7:08pm GMT

08 Sep 2025

feedKernel Planet

Linux Plumbers Conference: The Call for Proposals is nearing its end!

The CfPs for the Linux Plumbers events are coming to an end. If you still want to submit, please get your submission in by the deadline. The deadlines are:

Each of the Microconferences has their own last day to submit. Those are listed in the Accepted Microconferences tab on the website.

All submissions may be added in the Call for Proposals tab. Click the Submit new abstract button at the bottom of that page, and make sure you select the proper Track.

08 Sep 2025 4:14pm GMT