Paul Barker
banner
pbarker.social.afront.org.ap.brid.gy
Paul Barker
@pbarker.social.afront.org.ap.brid.gy
Professional #SoftwareEngineer, #EmbeddedLinux expert & #OpenSource enthusiast.

I also enjoy amateur #WildlifePhotography and #Rambling.

🌉 bridged from ⁂ https://social.afront.org/@pbarker, follow @ap.brid.gy to interact
The serving suggestion images on food packaging have always been a carefully staged lie. But I guess now they don't even need to be "carefully staged".

Is it time for the Bultlerian Jihad yet?
December 20, 2025 at 5:07 PM
Reposted by Paul Barker
In the _Starfleet Technical Manual_ , there is a throwaway detail of the LCARS user interface that when it is upgraded, users can still utilize the previous several versions. This is because their work is mission-critical and it is unacceptable to compromise the mission by forcing unfamiliar […]
Original post on mastodon.fixermark.com
mastodon.fixermark.com
December 5, 2025 at 7:01 PM
I'm excited to announce that I'll be starting a new role as Ecosystem Engineering and Operations Lead for @yoctoproject on Monday 8th December.

I started using and contributing to OpenEmbedded & Yocto Project back in 2013 and since then it's been a key part of my career. I've seen the project […]
Original post on social.afront.org
social.afront.org
December 2, 2025 at 12:31 PM
Reposted by Paul Barker
@Edent I think the alt text needs to reflect the context of the image.

When you chose to include the image, what information were you intending it to convey? That's the information to make available to non-/less-sighted folks via alt text.

A low-res JPEG of a funny meme may want very different […]
Original post on social.afront.org
social.afront.org
November 27, 2025 at 12:50 PM
Reposted by Paul Barker
the translation on Wikipedia vs my New Living Internet Translation. 🐴

#chinese #classicalchinese #translation #localization #autism #actuallyautistic #horses
August 25, 2025 at 4:35 PM
"Think you can’t interpose static binaries with LD_PRELOAD? Think again!"

https://balintreczey.hu/blog/think-you-cant-interpose-static-binaries-with-ld_preload-think-again/

I pray that we never have to use this in @yoctoproject!

h/t @fanf
Bálint Réczey: Think you can’t interpose static binaries with LD_PRELOAD? Think again!
Well, you are right, you can’t. At least not directly. This is well documented in many projects relying on interposing binaries, like faketime. But what if we could write something that would take a static binary, replace at least the direct syscalls with ones going through libc and load it with the dynamic linker? We are in luck, because the excellent QEMU project has a user space emulator! It can be compiled as a dynamically linked executable, honors LD_PRELOAD and uses the host libc’s syscall – well, at least sometimes. Sometimes syscalls just bypass libc. The missing piece was a way to make QEMU always take the interposable path and call the host libc instead of using an arch-specifix assembly routine (`safe_syscall_base`) to construct the syscall and going directly to the kernel. Luckily, this turned out to be doable. A small patch later, QEMU gained a switch that forces all syscalls through libc. Suddenly, our static binaries started looking a lot more dynamic! $ faketime '2008-12-24 08:15:42' qemu-x86_64 ./test_static_clock_gettime 2008-12-24 08:15:42.725404654 $ file test_static_clock_gettime test_clock_gettime: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), statically linked, ... With this in place, Firebuild can finally wrap even those secretive statically linked tools. QEMU runs them, libc catches their syscalls, `LD_PRELOAD` injects `libfirebuild.so`, and from there the usual interposition magic happens. The result: previously uncachable build steps can now be traced, cached, and shortcut just like their dynamic friends. There is one more problem though. Why would the static binaries deep in the build be run by QEMU? Firebuild also intercepts the `exec()` calls and now it rewrites them on the fly whenever the executed binary would be statically linked! $ firebuild -d comm bash -c ./test_static ... FIREBUILD: fd 9.1: ({ExecedProcess 161077.1, running, "bash -c ./test_static", fds=[0: {FileFD ofd={FileO FD #0 type=FD_PIPE_IN r} cloexec=false}, 1: {FileFD ofd={FileOFD #3 type=FD_PIPE_OUT w} {Pipe #0} close_o n_popen=false cloexec=false}, 2: {FileFD ofd={FileOFD #4 type=FD_PIPE_OUT w} {Pipe #1} close_on_popen=fal se cloexec=false}, 3: {FileFD NULL} /* times 2 */]}) { "[FBBCOMM_TAG]": "exec", "file": "test_static", "// fd": null, "// dirfd": null, "arg": [ "./test_static" ], "env": [ "SHELL=/bin/bash", ... "FB_SOCKET=/tmp/firebuild.cpMn75/socket", "_=./test_static" ], "with_p": false, "// path": null, "utime_u": 0, "stime_u": 1017 } FIREBUILD: -> proc_ic_msg() (message_processor.cc:782) proc={ExecedProcess 161077.1, running, "bash -c ./test_static", fds=[0: {FileFD ofd={FileOFD #0 type=FD_PIPE_IN r} cloexec=false}, 1: {FileFD ofd={FileOF D #3 type=FD_PIPE_OUT w} {Pipe #0} close_on_popen=false cloexec=false}, 2: {FileFD ofd={FileOFD #4 type=F D_PIPE_OUT w} {Pipe #1} close_on_popen=false cloexec=false}, 3: {FileFD NULL} /* times 2 */]}, fd_conn=9. 1, tag=exec, ack_num=0 FIREBUILD: -> send_fbb() (utils.cc:292) conn=9.1, ack_num=0 fd_count=0 Sending message with ancillary fds []: { "[FBBCOMM_TAG]": "rewritten_args", "arg": [ "/usr/bin/qemu-user-interposable", "-libc-syscalls", "./test_static" ], "path": "/usr/bin/qemu-user-interposable" } ... FIREBUILD: -> accept_ic_conn() (firebuild.cc:139) listener=6 ... FIREBUILD: fd 9.2: ({Process NULL}) { "[FBBCOMM_TAG]": "scproc_query", "pid": 161077, "ppid": 161073, "cwd": "/home/rbalint/projects/firebuild/test", "arg": [ "/usr/bin/qemu-user-interposable", "-libc-syscalls", "./test_static" ], "env_var": [ "CCACHE_DISABLE=1", ... "SHELL=/bin/bash", "SHLVL=0", "_=./test_static" ], "umask": "0002", "jobserver_fds": [], "// jobserver_fifo": null, "executable": "/usr/bin/qemu-user-interposable", "// executed_path": null, "// original_executed_path": null, "libs": [ "/lib/x86_64-linux-gnu/libatomic.so.1", "/lib/x86_64-linux-gnu/libc.so.6", "/lib/x86_64-linux-gnu/libglib-2.0.so.0", "/lib/x86_64-linux-gnu/libm.so.6", "/lib/x86_64-linux-gnu/libpcre2-8.so.0", "/lib64/ld-linux-x86-64.so.2" ], "version": "0.8.5.1" } The QEMU patch is forwarded to qemu-devel. If it lands, anyone using QEMU user-mode emulation could benefit — not just Firebuild. For Firebuild users, though, the impact is immediate. Toolchains that mix dynamic and static helpers? Cross-builds that pull in odd little statically linked utilities? Previously “invisible” steps in your builds? All now fair game for caching. Firebuild 0.8.5 ships this new capability out of the box. Just update, make sure you’re using a patched QEMU, and enjoy the feeling of watching even static binaries fall neatly into place in your cached build graph. Ubuntu users can get the prebuilt patched QEMU packages from the Firebuild PPA already. Static binaries, welcome to the party!
balintreczey.hu
November 22, 2025 at 10:50 PM
Reposted by Paul Barker
Which version best conveys the message "ISO 8601. Every over date/time format is inferior"?
Based on different versions of the original logo I made multiple attempts. One of them will become a sticker. White on red, Blue on White or White on Blue?

#iso8601 […]

[Original post on chaos.social]
November 22, 2025 at 3:41 PM
TIL that the core set of Linux man pages are available in a nearly 4000 page PDF if you need some light reading material: https://www.kernel.org/pub/linux/docs/man-pages/book/man-pages-6.16.pdf

#OpenSource #programming #linux
November 19, 2025 at 9:59 AM
Filling in a form that asks for the date in MM-DD-YYYY format makes me die inside.

I am not very patriotic except when it comes to:

our glorious and correct date format

and our glorious and correct BS 1363 plug
November 12, 2025 at 1:47 PM
Today begins the Great Home Server Rebuild of 2025 (TM). Far more interesting than navigating IRS forms.

This will be a clean install of Debian 13 with ZFS storage and Incus for managing containers. I've been testing things on another machine over the last couple of months and I honestly […]
Original post on social.afront.org
social.afront.org
November 11, 2025 at 10:21 AM
TIL that the IRS still accepts documents by Fax, and in fact that is the fastest way to file certain documents with them.

I thought the US of A was the land of progress, of moving fast and breaking things, of the future!
November 10, 2025 at 7:02 PM
Completing a W8 form for a new contract with a US client is a very specific type of pain.

If you understand this post, I'm sorry for you.
November 10, 2025 at 5:55 PM
Reposted by Paul Barker
The schedule for the Yocto Project Summit 2025.12 is now out!

I'll be talking about the new features we've added in 2025: Configuration Fragments and the `bitbake-setup` tool. This will be a very timely talk with the 5.3 "Whinlatter" release being just around the corner […]
Original post on social.afront.org
social.afront.org
November 8, 2025 at 12:15 PM
The schedule for the Yocto Project Summit 2025.12 is now out!

I'll be talking about the new features we've added in 2025: Configuration Fragments and the `bitbake-setup` tool. This will be a very timely talk with the 5.3 "Whinlatter" release being just around the corner […]
Original post on social.afront.org
social.afront.org
November 8, 2025 at 12:15 PM
📷 New post on my #photography #blog: "Attenborough Nature Reserve, April 2023"

https://touchinggrass.co.uk/attenborough-nature-reserve-april-2023/

This is my first proper photography post after splitting my photography and rambling/hiking writing off from my technical blog. It's an updated […]
Original post on social.afront.org
social.afront.org
May 26, 2025 at 7:01 PM
Reposted by Paul Barker
Reposted by Paul Barker
Turns out it wasn't time to get back to work. Instead, enjoy this handy point-by-point summary of the report!

> 1. Set out, within 6 months, a long-term plan for the UK’s AI infrastructure needs, backed by a 10-year investment commitment.

Someone should totally make committee to make a plan […]
Original post on mastodon.me.uk
mastodon.me.uk
January 13, 2025 at 11:40 AM
Reposted by Paul Barker
Today Mastodon is taking another step towards its founding ideals: independence and non-profit ownership. We're transferring ownership of key assets to a new, European not-for-profit entity, ensuring our mission remains true to a decentralised social web, not corporate control […]
Original post on mastodon.social
mastodon.social
January 13, 2025 at 10:15 AM
I've long wanted to make an index of the coference talks and papers which I've delivered over the years... so now I have!

https://pbarker.dev/tags/conference-talk/

Each talk I've given has a corresponding post on my site. Where available, I've included the abstract, slides and video recording […]
Original post on social.afront.org
social.afront.org
December 21, 2024 at 5:21 PM