Planet Debian planet Skip Quicknav About Debian Getting Debian Support Developers' Corner Planet Debian August 13, 2026 Jonathan Dowland DIY skate punch-out Since I wrote about my fly30 ice skates, I'd continued to battle pain around the navicular bone in my feet. The action that…
Planet Debian planet Skip Quicknav About Debian Getting Debian Support Developers' Corner Planet Debian August 13, 2026 Jonathan Dowland DIY skate punch-out Since I wrote about my fly30 ice skates, I'd continued to battle pain around the navicular bone in my feet. The action that seems to have finally fixed it was to perform a "punch out": a very localized remoulding of the area of the boot that presses against the sore area. I basically followed the process from this helpful YouTube video. I narrowed down the exact spot by borrowing some lipstick and transferring it from my navicular bone to the boot lining, then making that more permanent with a sharpie. My punch was a spare part from a radiator valve which I packed with US cents (I couldn't fit any UK coins in). For the receiving-end, I tried another part from the radiator valve but I think it wasn't sufficiently larger than the punch to work well, so I swapped that out for a spoon. take 2 I didn't have a temperature sensor I could use and I used a heat gun rather than a hairdryer, so I YOLO'd it a little. Some of the wrap on one of my boots is now distorted from where I didn't move the heat gun enough. It only took a minute or two to get the boot hot enough to be flexible. I set a 15 minute timer once the clamp was in place. I've only skated one session since I did this but the pain seems to have gone! It's remarkably freeing to be skating without constantly trying to manage pain. Now I can focus on technique. 13 August, 2026 08:28AM August 12, 2026 Steinar H. Gunderson The PSX GPU is wild Inspired by some recent reverse-engineering, here are some things I find wild by the original PlayStation GPU: VRAM is a flat 1024x512 16-bit image (555 + 1 bit alpha). You want more than just a framebuffer? Figure out yourself what goes where. Yes, that means you'll need to allocate two framebuffers and double-buffer everything yourself. Quads are common. No “triangles only” business here. Vertex coordinates are screen-space x/y integers. No floats or fixed-point. (I'm ignoring the GTE here, plus higher-level libraries.) Wait, where's z? There's no z. So there's no perspective correction. (This one is pretty famous) OK, so how do you give in subpixel coordinates? You don't. There's no AA after all. Texture coordinates (u/v) are uint8_t. There's no texture filtering either; everything is nearest-neighbor only. OK, so that means you can't have textures larger than 256x256 (pretty common in that era), but how do you give in the handle to the texture? You don't, it points directly to the 1024x512 VRAM. You manage yourself what goes where, remember? So can you an only have textures in the top-left 256x256? Hah, no, we give you a bit-packed “texture page” system that offsets all your u/v coordinates. Most textures are paletted to save VRAM (so instead of 555+1, your pixels now mean something like “two palette indexes”). Where does the palette live? Well, duh, that's a 256x1 (or 16x1, or whatever) area of VRAM too. The GPU does not care, you can use another texture's pixels as a palette if you feel like it. OK, so you said there's no z, how do you do z-buffering? You have a z-buffer, right… right? Yeah, sure, we're not cavemen. We have an “ordering table” that is your Z-buffer, drawn back-to-front. If you want 256 levels of Z, you just allocate an array of 256 linked-list pointers, and then you put your polygon into the one corresponding to the correct right Z. But, eh, what if my polygon is not completely flat in Z-space? Hello? Hello…? 12 August, 2026 02:45PM Reproducible Builds Reproducible Builds summit 2026 to take place in Gothenburg This event is happening soon — see below for registration instructions! We are extremely pleased to announce the upcoming Reproducible Builds summit, which will take place from September 22nd—24th 2026 in the city of Gothenburg, Sweden. This year, we are thrilled to host the tenth edition of this exciting event, following the success of previous summits in various iconic locations around the world, including Vienna (2025), Hamburg (2023—2024), Venice (2022), Marrakesh (2019), Paris (2018), Berlin (2017), Berlin (2016) and Athens (2015). If you’re excited about joining us this year, please make sure to read the event page which has more details about the event and location. As in previous years, we will be sending invitations to all those who attended our previous summit events or expressed interest to do so. However, even if you do not receive a personal invitation, please do email the organizers and we will find a way to accommodate you. About the event The Reproducible Builds Summit is a unique gathering that brings together attendees from diverse projects, united by a shared vision of advancing the Reproducible Builds effort. During this enriching event, participants will have the opportunity to engage in discussions, establish connections and exchange ideas to drive progress in this vital field. Our aim is to create an inclusive space that fosters collaboration, innovation and problem-solving. Schedule Although the exact content of the meeting will be shaped by the participants, the main goals will include: Update & exchange about the status of reproducible builds in various projects. Improve collaboration both between and inside projects. Expand the scope and reach of reproducible builds to more projects. Work together and hack on solutions. Establish space for more strategic and long-term thinking than is possible in virtual channels. Brainstorm designs on tools enabling users to get the most benefits from reproducible builds. Discuss how reproducible builds will be usable and meaningful to users and developers alike. Logs and minutes will be published after the meeting. Location & date Clarion Hotel Draken, Olof Palmes Plats 2, 413 30 Göteborg, Sweden. (OpenStreetMap, Google Maps) September 22nd to September 24th 2026. Registration instructions Please reach out if you’d like to participate in hopefully interesting, inspiring and intense technical sessions about reproducible builds and beyond! We look forward to what we anticipate to be yet another extraordinary event! 12 August, 2026 12:00AM August 11, 2026 Colin Watson Free software activity in July 2026 About 95% of my Debian contributions this month were sponsored by Freexian. You can also support my work directly via Liberapay or GitHub Sponsors. OpenSSH Now that Ubuntu 26.04 LTS has been released, I’ve been getting back to the GSS-API key exchange package split in our OpenSSH packaging. Once I started testing my draft openssh-gssapi source package, I realized that I needed to make some changes in the main openssh source package first in order to support it. The dependency from openssh-server to openssh-client was awkward, as was the (related) fact that openssh-client contained shared documentation for other OpenSSH binary packages. After some thought, I created a new openssh-common binary package, moved shared documentation and the ssh-keygen program to that, and dropped dependencies on openssh-client which were no longer necessary (fixing #699473 and #1070098 in the process). This caused a couple of regressions (#1141420 and #1141550) that I had to fix, and more subtly it also caused a number of autopkgtest regressions in other packages because openssh-client is no longer in base images as a result of a dependency from openssh-server. I believe I have fixes for all of these either pending review or merged (one of which I did in August rather than July): curl diffoscope glome golang-github-appleboy-easyssh-proxy parsyncfp2 rsync I upgraded from 10.3p1 to 10.4p1, and in the process contributed a GSS-API option handling fix upstream. I made openssh-ssh1’s package description more accurately describe the package, thanks to suggestions from Matthias Lang. Installer team With support from a Freexian customer, I reviewed, tested, edited, and merged a patch to add VLAN support. I described the details of what I did in a comment. This has been vaguely on my to-do list since, er, about 2014, so it was very satisfying to get it sorted out. Python packaging New upstream versions: cryptodatahub (fixing a build failure) dep-logic django-q flufl.lock more-itertools multipart pyasn1 (fixing CVE-2026-59884, CVE-2026-59885, and CVE-2026-59886) pytest-rerunfailures python-auditwheel python-build python-certifi python-datamodel-code-generator (fixing a build failure, and an incompatibility with pydantic 2.13 that I reported upstream) python-django-parler python-httplib2 python-pgbouncer python-time-machine python-treq python-typing-extensions python-wheezy.template storm ubelt webpy zope.testing Other build/test failures: django-q: autopkgtest failure with Python 3.14 (reported upstream) httpx: FTBFS: E assert [(‘uvicorn.ac…1.1 200 OK”’)] == [(‘httpx’, 20…1.1 200 OK”’)] libntruprime: autopkgtest failures with Python 3.14 pygments: Handle None object before HTML escaping (fixed build failures in cmd2, gunicorn, python-inline-snapshot, and python-openapi-core) python-authlib: some of tests/flask/test_oauth2/rfc9068/ failed python-click: autopkgtest regression with pytest 9.1 (contributed upstream) python-httplib2: FTBFS: ERROR tests/test_proxy.py - Failed: ‘forked’ not found in markers configuration option python-maturin: Please upgrade goblin dependency to 0.10 python-memray: FTBFS on armhf (segfault) python-mne: FTBFS: E pytest.PytestRemovedIn10Warning: Passing a non-Collection iterable to parametrize is deprecated (actually fixed in scikit-learn; contributed upstream) python-softlayer: autopkgtest fails with python3-click 8.3.3 (contributed upstream) python-urllib3: FAILED test/contrib/test_pyopenssl.py I fixed some other bugs: django-pipeline: Fails to build source after successful build more-itertools: Please mark python3-more-itertools with M-A: foreign I adopted transaction for the Python team. I attended the Python BoF at DebConf remotely, although a badly-timed fibre outage in the village I live in really didn’t help. Code reviews openssh: sshd-session built without crypt(), breaking UsePAM=no password auth (merged and uploaded) openssh: Slovak debconf templates translation (merged and uploaded) python-treq: Fails to build source after successful build (merged and uploaded) python-better-exceptions: FTBFS: failing tests (sponsored upload for Seyed Mohamad Amin Modaresi) yubihsm-connector: patch to make the build reproducible (merged and uploaded) Other bits and pieces Dan Poltawski pointed out in a Fediverse post that the project history didn’t list Sruthi as the current DPL. I fixed that, although it doesn’t look as though the fix is in the published version yet. I upgraded yubihsm-shell to 2.8.0. 11 August, 2026 10:42AM by Colin Watson Freexian Collaborators Debian Contributions: DebConf 26 organization, d-i VLAN support and more! (by Anupa Ann Joseph) Debian Contributions: 2026-07 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. DebConf 26 organization, by Lucas Kanashiro, Santiago Ruano Rincón, Stefano Rivera and Antonio Terceiro The 27th Annual Debian Conference was held in Santa Fe, Argentina, and several Freexian fellows were quite busy by being involved in the organization team. Santiago continued helping with duties related to the local team, e.g. preparing or proof-reading some announcements, reviewing the proposed food and the menus for the different diet required. During the conference, Kanashiro and Santiago also carried over tasks related to the content of the conference, including updating the schedule as it became necessary during the event. Stefano worked within the core video team, setting up equipment in talk rooms and coordinating the …