Sign in

NON-TOXICNo ads · No shady algorithms

iiinova is part of the Atmosphere — an open, public network where you own your identity.

ROllerozxa

@ROllerozxa.hachyderm.io.ap.brid.gy
22 followers 0 following 1.3K posts

I like touching the computer. University student, Principia maintainer, Luanti contributor, various other FOSS stuff... Used to pretend to be Ralsei on the […] 🌉 bridged from ⁂ hachyderm.io/@ROllerozxa, follow @ap.brid.gy to interact

PostsRepliesMedia
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 4h
@hexaheximal well the local authority for radio frequencies have explicitly allocated it as exempt for operating radio transmitters for UMTS-communication (GSM also specifically mentioned), with the condition that it occurs indoors and with a limited power of 20 […] [Original post on hachyderm.io]
[...]
Inomhus GSM 1 780,3 - 1 784,9 MHz
[...]
Inomhus GSM 1 875,3 - 1 879,9 MHz
000 0
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 21/10/2026
If you are using Ondrej Sury's Debian or Ubuntu PHP repositories, he has pushed the patched versions of PHP now! UPDATE UPDATE UPDATE!!! #php #php2shell #foss #opensource
/etc/nginx/sites >>> sudo apt update                                                                                                                                                           
Hit:1 http://mirror.hetzner.com/debian/packages trixie InRelease
Hit:2 http://mirror.hetzner.com/debian/packages trixie-updates InRelease
Hit:3 http://mirror.hetzner.com/debian/security trixie-security InRelease
Get:4 https://packages.sury.org/php trixie InRelease [6,129 B]
Get:5 https://packages.sury.org/php trixie/main amd64 Packages [287 kB]
Fetched 293 kB in 0s (1,071 kB/s) 
10 packages can be upgraded. Run 'apt list --upgradable' to see them.
/etc/nginx/sites >>> sudo apt upgrade                                                                                                                                                          
Upgrading:
  php-common  php8.5-cli  php8.5-common  php8.5-curl  php8.5-fpm  php8.5-gd  php8.5-mysql  php8.5-readline  php8.5-sqlite3  php8.5-zip

Summary:
  Upgrading: 10, Installing: 0, Removing: 0, Not Upgrading: 0
  Download size: 6,906 kB
  Space needed: 24.6 kB / 17.7 GB available
1137 13
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 19/10/2026
My website at voxelmanip.se, which includes my blog, is fully static and I don't think I will intend to change that. I could do some JavaScript to fetch the current amount of replies from a custom endpoint on the forums, but will likely not do any further […] [Original post on hachyderm.io]
Comments & support

You can discuss the blog post in this forum thread on the Voxelmanip Forums.

All blog posts are written by a human who would also appreciate a donation if you got some value out of this piece of writing.
110 1
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 19/10/2026
Ever since I launched my blog, there has not been any kind of comments section for posts - occasionally people have sent me emails about posts, but otherwise it's largely been a one-way communication method for me to publish stuff. Yesterday I had the idea that […] [Original post on hachyderm.io]
 	[Blog] Principia and the Open Letter from Keep Android Open 	voxelmanip.se 	0 	30 	2026-10-10 14:00
by voxelmanip.se »
	[Blog] That time I broke the laws of physics 	voxelmanip.se 	0 	18 	2026-10-09 14:00
by voxelmanip.se »
	[Blog] Write More 	voxelmanip.se 	0 	21 	2026-09-28 14:00
by voxelmanip.se »
	[Blog] Building Principia for Windows XP 	voxelmanip.se 	0 	16 	2026-06-28 14:00
by voxelmanip.se »
	[Blog] Trying Out Claude's C Compiler 	voxelmanip.se 	0 	14 	2026-02-06 13:00
by voxelmanip.se »
	[Blog] A wet physics gamedev adventure 	voxelmanip.se 	0 	15 	2025-12-26 13:00
by voxelmanip.se »
	[Blog] Tensy has been released 	voxelmanip.se 	0 	14 	2025-11-23 13:00
by voxelmanip.se »
	[Blog] Cleaning up a Git repository for public consumption 	voxelmanip.se 	0 	13 	2025-10-04 14:00
by voxelmanip.se »
	[Blog] Setting up an XMPP server with Prosody 	voxelmanip.se 	0 	14 	2025-06-25 14:00
by voxelmanip.se »
	[Blog] Wildcard HTTPS certificates with Certbot and Cloudflare DNS 	voxelmanip.se 	0 	14 	2025-06-23 14:00
by voxelmanip.se »
	[Blog] Jokes and Humour in the public Android API 	voxelmanip.se 	0 	14 	2025-06-14 14:00
by voxelmanip.se »
	[Blog] Porting a game to 7 platforms 	voxelmanip.se 	0 	14 	2025-05-06 14:00
by voxelmanip.se »
	[Blog] Post-mortem: The 2025-04-18 IP spoofing attack 	voxelmanip.se 	0 	15 	2025-04-28 14:00
by voxelmanip.se »
	[Blog] Generating PDF documents from Markdown 	voxelmanip.se 	0 	15 	2025-04-22 14:00
by voxelmanip.se »
	[Blog] The Luanti Techage Backdoor 	voxelmanip.se 	0 	11 	2025-03-23 13:00
by voxelmanip.se »
	[Blog] Display Managers, and Ly 	voxelmanip.se 	0 	16 	2025-02-19 13:00
by voxelmanip.se »
	[Blog] How (not) to compare strings in C 	voxelmanip.se 	0 	16 	2025-02-13 13:00
by voxelmanip.se »[From the user "voxelmanip.se"]

Building Principia for Windows XP

28 June 2026

Back in the day when Principia originally released for Windows in 2014, the game would run on versions as far back as Windows XP. Given that Principia 1.4 was released while Windows XP still had mainstream support, this of course made sense at the time, and there was no real reason not to support it given that the tooling and dependencies at the time were still compatible with it.

Fast forward to today with Principia as an open source project. While the Windows version should still run as far back as Windows 7, our usage of modern toolchains, dependencies and system libraries such as UCRT means that hard to truly guarantee far into the future as the ecosystem moves forward. However, this has always been something I wanted to change one day, bringing Principia back onto Windows XP and producing a fully open source build of the game that can run on it.
(Read the full blog post)
100 1
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 19/10/2026
@guigui I was just checking up on SceneSat and saw they had gotten a new site redesign: scenesat.com The redesign itself doesn't seem all that bad until I went to the new About page of the site. All the text just feels off and very unlike how the […] [Original post on hachyderm.io]
/**
 * The chat in a window of its own (docs/chat.md, "Pop-out window").
 *
 * On the site, [data-chat-popout] buttons — the floating panel's launcher row and the /chat page —
 * take the chat out of the page:
 *  - "window" opens /chat/popout as a browser popup that the chat fills, at the size and place it
 *    last had;
 *  - "top" floats the same page above every other app, in an iframe inside a Document
 *    Picture-in-Picture window (Chrome, Edge). It closes with the tab that opened it: the
 *    browser's rule, not ours.
 * The buttons are rendered hidden and only what this browser can do is revealed; nothing on a
 * touch-only device, where a popup is just another tab.
 *
 * The pop-out page (body[data-chat-popout-window]) and every tab talk over the "ss-chat-window"
 * BroadcastChannel. The pop-out says "open" when it loads and when pinged, "closed" when it goes;
 * while one is open, the floating panel shows a placeholder instead of a second live copy. A link
 * to the rest of the site clicked in the pop-out is handed to the tab that opened it ("navigate"),
 * which follows it as a boosted navigation so the music never stops; with that tab gone, the link
 * opens in a new one. Only one pop-out at a time: opening one asks any other to "close". "Put
 * back" in the pop-out ("dock") and "Bring it back here" in the panel return the chat to the page.
 */    /* Star layers are kept against the VIEWPORT via position:fixed pseudo-elements rather than
       background-attachment:fixed on html/body (which used to carry
       just the starfield here). That property is unreliable on iOS WebKit — Safari AND
       Chrome-for-iOS alike, since Apple requires every iOS browser to use Safari's own engine —
       where it commonly just behaves as background-attachment:scroll, so the starfield visibly
       scrolled along with the page instead of staying put as a backdrop (reported 2026-08-31).
       position:fixed is reliably supported there (this site already leans on it elsewhere: the
       header, the footer player, the corner clock's old home before it moved into the status
       bar). The oversized inset leaves a gutter for the tiny transforms, so no edge can enter
       the viewport while either layer drifts.

       The starfield itself: a seamless 2048x2048 tile generated by scripts/make-starfield.py
       (see its header for why the tile is square, and why the asset is lossless WebP); `auto`
       keeps it at native size, since scaling it would soften the stars and, worse, shrink the
       repeat distance.

       z-index MUST be negative, not 0 — this cost a real regression 2026-08-31, caught only
       after shipping: per the CSS stacking spec, non-positioned in-flow content (#content,
       site-footer — everything here is plain position:static) paints in an EARLIER phase than
       ANY positioned element carrying a z-index of 0, even explicitly. So at z-index:0 this
       pseudo-element painted ON TOP of the entire page, not behind it — invisible for years with
       just the near-transparent gradient (16% opacity, fading to nothing), but the starfield
       tile is opaque enough to visibly blank out every real content section once it joined this
       layer. Negative z-index moves it into the phase that paints BEFORE non-positioned content,
       restoring "backdrop behind everything" without needing position:relative on #content and
       every other static content wrapper on the site. *//* Theatre mode WITH a chat rail: widen the whole pane GROUP, not the frame on its own.

   html.ss-theatre .video-frame above breaks the frame out with margin-left:50% + translateX —
   inside this grid that centres it on its own TRACK rather than on the viewport, so it lands
   half a track to the left and overlaps the rail. That is why theatre used to stack the two
   panes; but a live chat pushed below a viewport-tall video is a chat nobody reads, which is the
   same reason .watch-panes exists at all. So neutralise the frame's breakout here and break the
   grid out instead: the frame simply fills a much wider track, and the chat keeps its place
   beside it.

   Width = what a 16:9 frame needs to fill the viewport height (the same
   100vh − player − chrome term the frame's own rule uses), plus the rail and the gap, capped at
   the viewport. The 48vw floor keeps the height term from collapsing the frame on short
   viewports, where it goes negative — same guard, lower than the frame-alone rule's 60vw
   because the rail is taking a slice of the width here.

   Full-bleed via margin-left, NOT translateX: a transformed ancestor becomes the containing
   block for its descendants, and the rail below is position:sticky. */
100 1
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 17/10/2026
@sodiboo The right click menu? I'm pretty sure at least this one is still native (GTK on Linux I think).
Firefox right click context menu, looks like my Breeze Dark theme with a green primary colour
110 1
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 17/10/2026
typing phrases into word 2003 that have never been typed into it before
Screenshot of Office Word 2003 running on Windows XP. The text "67 cuddly raccoons eating mangoes" is written in the document
091 9
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 14/10/2026
yeah sure whatever
Start date: 2026-07-12
(Error: Date can't be after 1970-01-01)

End date: 2026-10-14
(Error: Date can't be after 1970-01-01)Start date: 1970-01-01
(Error: Date can't be before 2025-06-14)

End date: 1970-01-01
(Error: Date can't be after 2025-06-14)
000 0
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 09/10/2026
me when I'm watching a video from 1940 of rube "rube goldberg machine" goldberg talking about the patentability of perpetual motion machines and he calls them queer devices
43
00:03:02,520 --> 00:03:04,520
Well, anyway, this is just one example

44
00:03:04,520 --> 00:03:07,680
of the many queer devices that have actually been patented.

45
00:03:07,680 --> 00:03:09,440
And here's a copy of the patent to prove it.
200 2
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 09/10/2026
Well there we go, got a Java ME app with a bunch of raccoons bouncing around the screen built and running on my feature phone. Interesting novelty.
Photo of my Sony Ericsson S312 phone running a simple self-built J2ME app which is a bunch of pixelated raccoon icons on a black background moving around.
132 3
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 09/10/2026
Short writeup and a web-based tool to generate the key needed is up on my website: voxelmanip.se/notes/making-attack-c… I have also uploaded the game itself, Attack Chopper 2, to archive.org […] [Original post on hachyderm.io]
Photo of Attack Chopper 2 running on my Sony Ericsson phone
000 0
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 07/10/2026
Installed a J2ME game to my feature phone which requires connecting to an ad server to display ads before the game will load. Given that the ad server as well as the payment server to turn it into an ad-free version are dead (and 2G has disappeared for these […] [Original post on hachyderm.io]
I'm holding a Sony Ericsson S312 in my hand, the screen shows a message box from MobileRated with the text "Key accepted - you will no longer have to download advertisements."
210 2
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 06/10/2026
A while back I found a collection of neodeer emojis, and I added two of them to a Discord server. Now I am adding emojis to another server I'm staff in and the owner requests deer emojis along with all the neoraccoon emojis I added. Can someone give me a link […] [Original post on hachyderm.io]
neodeer_cute.webp and neodeer_owo.webp
000 0
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 03/10/2026
The European Commission is currently requesting feedback on the EU Kids act up until 26th November. I have given feedback on the proposal (F33576133) as the project maintainer of Principia and how it would harm an under-funded open source project like ours. The […] [Original post on hachyderm.io]
03 October 2026 | EU citizen
Anonymous (Sweden)

I am the sole volunteer maintainer of an open source physics-based sandbox game which contains an online community and user generated content in the form of levels featuring various mechanical and electronical contraptions made in the game. The EU Kids Act, as it currently stands, appears to make it effectively impossible to keep operating this project when costly effective age verification measures are needed. The money I receive in donations barely cover the current ongoing server costs as it currently stands, and my personal income as a university student to put into the project is very limited. We have no algorithmic feeds, lootboxes, microtransactions or similar addictive features, and we strive to offer a safe place for people of any age to play the game and explore electronics, logical circuits and programming through Lua scripting with active moderation in place and a strong privacy policy. Banning users under the age of 18 from this sounds absurd, but a more reasonable prospect than spending unpaid development time on implementing all features required for the different age groups below the age of 18. As an example for how some of the points in the proposal are counter-intuitive for us - the implementation of screentime limits would mean adding new always-on surveillance technology in the client running on the user's local device, regularly phoning back to the game servers to check how long the guardian has set the screentime limit to - and as the game is open source, I have no way of enforcing this compliance for a potential fork of the project. I understand that there may be similarly small online communities that do actually pose great harms to children, and a blanket exemption for small, non-commercial, or personally run platforms would create loopholes in the legislation as already mentioned in the proposal. But I still implore the Commission to clarify or explore amendments to the proposal to allow under-funded community projects like mine who want to do the right thing to keep being able to operate legally under EU jurisdiction.
031 3
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 06/09/2026
I love it how GitHub's webhooks have a special message for when a previously private repository becomes public. Makes it all the more eventful when it happens.
rollerozxa
[principia-game/luascript-cheatsheet] Now open sourced!
200 2
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 05/09/2026
"But update!" Yes, obviously, but the purpose of this CI Is to build on as old of a distro version as possible, and the old package versions is not a hinderance for now. Browsing the directory index I also see packages for deb9 and deb10 in the non-archive […] [Original post on hachyderm.io]
[ ]	glib2.0_2.50.3-2+deb9u1.debian.tar.xz	2020-01-31 21:53 	73K
[TXT]	glib2.0_2.50.3-2+deb9u1.dsc	2020-01-31 21:53 	3.4K
[ ]	glib2.0_2.50.3-2+deb9u2.debian.tar.xz	2020-07-25 21:13 	76K
[TXT]	glib2.0_2.50.3-2+deb9u2.dsc	2020-07-25 21:13 	3.2K
[ ]	glib2.0_2.50.3-2.debian.tar.xz	2017-07-18 12:38 	69K
[TXT]	glib2.0_2.50.3-2.dsc	2017-07-18 12:38 	3.2K
[ ]	glib2.0_2.50.3.orig.tar.xz	2017-07-18 12:40 	7.2M
[ ]	glib2.0_2.58.3-2+deb10u1.debian.tar.xz	2019-11-12 20:53 	84K
[TXT]	glib2.0_2.58.3-2+deb10u1.dsc	2019-11-12 20:53 	3.3K
[ ]	glib2.0_2.58.3-2+deb10u2.debian.tar.xz	2020-01-31 21:53 	91K
[TXT]	glib2.0_2.58.3-2+deb10u2.dsc	2020-01-31 21:53 	3.4K
[ ]	glib2.0_2.58.3-2+deb10u3.debian.tar.xz	2022-09-03 12:27 	105K
[TXT]	glib2.0_2.58.3-2+deb10u3.dsc	2022-09-03 12:27 	3.4K
000 0
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 01/09/2026
"Well maybe if I check his newer discography I can find some recent gem, let's just check the YouTube channel. oh. oh... oh no..."
Screenshot of four different music videos uploaded by Kevin MacLeod onto YouTube around 2 years ago, all featuring what appear to thumbnails that feel very distinctly AI generated"
010 1
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 18/08/2026
holy shit there is a secret third program files directory
C:\Program Files: This directory is used for x64 applications, Arm64 applications, Arm64X applications. Learn more about how to port your app to Arm64 or build Arm64X binaries.

C:\Program Files (x86): This directory is used for x86 applications. Learn more about How x86 emulation works on Arm.

C:\Program Files (Arm): This directory was used for 32-bit Arm applications, which are no longer being supported in future versions of Windows.
000 0
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 14/08/2026
the goober
A crudely drawn MS Paint version of my raccoon character with sharp aliased black outlines, cute eyes, red facial blush, goofy smile and a cap
011 1
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 13/08/2026
@sodiboo ICE ICE baby
Screenshot of big log output from an internal compiler error in Clang when compiling Principia. The top line says "PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script."
010 1
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 09/08/2026
Guess when the Claude commits began? About 4 weeks ago. Now it's the 2nd contributor of all time.
claude
357 commits
11,148 ++ 4,428 --
110 1
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 08/08/2026
I really enjoy #kdenlive. I've been using it for over half a decade by now, somewhat coinciding with when I switched to Linux in late 2020, and I feel like it's grown quite a bit since then. In that time I've used it for school projects, random personal videos […] [Original post on hachyderm.io]
Screenshot of Kdenlive showing the "Principia - Four years of Open Source" video being edited. The project bin to the left shows a bunch of Principia level showcase videos, the timeline has them all cut up on top of the music track and there are various effects applied to some of the clips. To the right is the project monitor previewing the video at the end where it scrolls a list of levels on the community site as it blurs into the background and the text "Happy four years of open source Principia!" appears.
151 5
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 08/08/2026
The carousel of featured packages on #Luanti #ContentDB has been refreshed! Here are what we ended up choosing: - Repixture by @Wuzzy - a simplistic sandbox survival game featuring lush biomes in a mostly peaceful world and only simple technologies - Elepower […] [Original post on hachyderm.io]
Screenshot of a mixed forest in Repixture, showing various types of trees in a rather flat area of terrain. There is a sheep staring at the camera.Screenshot of the different machines in Elepower shown in an ascending pile.Screenshot of a Mineclone-based game with small goblins visible on the ground in a mineshaft. They are carrying various types of tools.Screenshot showcasing Realism 512 with two wooden walls inside what looks like a building with a ladder on the wall and a window to the outside. The textures look very photorealistic despite still following a blocky voxel shape.
042 4
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 01/08/2026
@sodiboo In Luanti's ContentDB we have a self-reported AI disclosure enum (Unknown/None/Assisted/Generated) for packages. The issue with this is that the difference between "assisted" and "generated" is rather vague so it just becomes a toss whether the […] [Original post on hachyderm.io]
Cumulative chart of the AI disclosure distribution over time for packages in ContentDB (2018-2026). The area consists largely of orange denoting no AI usage and blue denoting an unknown value (it could be anything). Across the graph there is an increasing sliver of red (generated) and green (assisted), which increases more after 2026 when the disclosure field was introduced.Non-cumulative chart of the AI disclosure distribution over time for packages in ContentDB (2018-2026). The area consists largely of orange denoting no AI usage and blue denoting an unknown value (it could be anything). Across the graph there are increasing spikes of red (generated) and green (assisted), which increases more after 2026 when the disclosure field was introduced and no packages with unknown disclosures are published anymore. The percentages varies from month to month in 2026, but a substantial percentage of packages are either marked as generated or assisted.
010 1
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 30/07/2026
Codeberg has the opportunity to do the funniest thing ever, however. waffles.
Screenshot of the top-left of Codeberg's logged in home page with my username visible. Above in the navbar, the Codeberg logo has been replaced with a waffles emoji.
001 1
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 30/07/2026
what is github doing? pancakes? sure
Screenshot of the top-left of GitHub's navbar, the hamburger menu icon has turned into pancakes.
100 1
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 28/07/2026
(It's up again now)
xkcd 3277

(A car with a bumper sticker "I FORTH ❤" on it)

Reading xkcd for many years, I never expected Randall to write about Forth, but he did - awesome :D

Below is one possible implementation of ❤. It takes two c-addr/len strings, outputs the lower one first (hence the 2swap), followed by the heart and the 2nd string. To get closer to the image, we define the strings as constants.

: ❤ ( c-addr1 n1 caddr2 n2 -- ) 2swap type ."  ❤ "type ;
s" We" 2constant We
s" xkcd/Randall Munroe" 2constant xkcd
We xkcd ❤
output:
We ❤ xkcd/Randall Munroe

Note, that FORTH I ❤ would allow us to get rid of the 2swap. Static objects should be closer towards the top of the stack. Then again, Randall's version is perfect for many people to love Forth, as Forth stays on top - how wonderful ❤.

- Gerald Wodni
000 0
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 28/07/2026
Latest xkcd 3277 has a Forth reference ("I Forth ❤️"). I wonder how the Forth Standard is celebrating? ...mm, celebrating a bit too hard
Forth Standard

503 Service Unavailable

The service cannot be found in the cluster - we are most likely doing maintenance. Please try again later.
101 1
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 27/07/2026
Networking works with devkitPro's curl build though, and with all the Dear Imgui dialogs implemented I can publish a level from the sandbox with a very unique "uploaded from" field: principia-web.se/level/1683
Screenshot of the Principia sandbox with a pixel art of the nintendo switch logo in the background. In front of it is the "Level published!" dialog saying that the level has been successfully uploaded to the community site.
001 1
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 26/07/2026
Yesterday I begun work on porting Principia to the #NintendoSwitch with devkitPro's homebrew toolchain. The Switch is an interesting console from a porter's perspective as it gives us nice and standard OpenGL ES support, so the initial work to get it running was […] [Original post on hachyderm.io]
Screenshot of Eden, a Switch emulator forked from Yuzu. It is running Principia in the sandbox, with the new Dear Imgui-based Tips and tricks dialog visible on the screen.
132 3
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 26/07/2026
What the hell, why does Discord suddenly not let me take screenshots on mobile?
Couldn't save screenshot 

Taking screenshots isn't allowed by the app or your organisation
100 1
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 22/07/2026
I plugged in my old desktop that I installed XP on again to try to test Principia on it again. This time I was also determined to try to find a graphics driver newer than the 2011 one from Windows Update, with utterly broken OpenGL support. ...It was a success! […] [Original post on hachyderm.io]
Screenshot of Principia on Windows XP playing the Rain Generator level (adventure level with the robot standing between a wooden bench and house with some trees nearby, and Lua rain effects). The text looks like it should and there are no graphical glitches in sight.
001 1
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 20/07/2026
Launched the old proprietary Principia 1.5.1 to test some stuff and somehow the DRM-y features of the Windows version, with that old crusty look that the GTK2 dialogs used to have on Windows gives me tingly nostalgia feelings
Thank you for playing Principia.

This is the demo version with limited functionality.

Purchase the full version to get rid of this annoying message, and to get unlimited publishing and downloading access to the community website.

Get the full version for a discounted price by referring your friends to buy it too. Read more on the store page.
100 1
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 18/07/2026
Strange things happen when your blog post gets on the front page of Hacher News, I'm being talked about by YouTube Shorts slop channels now
Screenshot of a YouTube short with the description visible to the right. The short is a stereotypical low-effort one with subtitles spoken out by TTS on top of unrelated stock footage. In the description there is a link to my blog post about building Principia on Windows XP.
101 1
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 17/07/2026
Also the ingenuity of Dear Imgui still never ceases to amaze me. There are some level backgrounds in the game where you can set a custom colour, so there should be a colour picker that appears when selecting one such background. ColorEdit4 provides a compact […] [Original post on hachyderm.io]
Screenshot of the world tab showing the Dear Imgui colour picker appearing when pressing the colour box to the right of the line for setting the background colour of the level.
001 1
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 17/07/2026
Principia's level properties dialog is probably one of the most complicated dialogs in the game, not because there's anything special with it but because of the sheer amount of *stuff* it contains, as well as various compatibility edge cases when handling old […] [Original post on hachyderm.io]
The new Principia Level properties dialog showing the Gameplay tab. There is a bunch of settings, mainly checkboxes for level flags and some numeric inputs and sliders for duration options and the final score. There is a button that displays the current version of the level and the confirmation dialog for upgrading the level version is shown in the screenshot.
132 3
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 17/07/2026
I can't help but feel like the stability of VSCode has gradually degraded for a while now. Have experienced performance degradation when having it open for many hours at a time, and now it just blanks out until I alt+tab to refresh the window.
Screenshot of Visual Studio Code with a Principia source file open visible in the titlebar, but the rest of the window is completely blank.
100 1
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 17/07/2026
@sodiboo same energy
Screenshot of the Principia settings dialog (the new Imgui-based one):

[x] Resizable window (BETA)
       Allow the window to be resized.

       NOTE: Principia does not support resizing while in-game.
       Things will break.
010 1
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 15/07/2026
Trying to get a patch release for Principia out today, and looking again at an issue with the Linux version of Principia with SDL3 (which defaults to Wayland) on GNOME, which I discovered around the last release. Basically: - Using an SDL built without libdecor […] [Original post on hachyderm.io]
Thread 112 "_gtk_loop" received signal SIGABRT, Aborted.
[Switching to Thread 0x7fff91ffb6c0 (LWP 10051)]
__pthread_kill_implementation (threadid=<optimized out>, signo=6, no_tid=0) at ./nptl/pthread_kill.c:44
⚠️ warning: 44	./nptl/pthread_kill.c: No such file or directory
(gdb) bt
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=6, no_tid=0) at ./nptl/pthread_kill.c:44
#1  __pthread_kill_internal (threadid=<optimized out>, signo=6) at ./nptl/pthread_kill.c:89
#2  __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ./nptl/pthread_kill.c:100
#3  0x00007ffff6c45b7e in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#4  0x00007ffff6c288ec in __GI_abort () at ./stdlib/abort.c:77
#5  0x00007ffff6c29979 in __libc_message_impl (vma_name=vma_name@entry=0x7ffff6ddb569 "glibc: fatal", fmt=fmt@entry=0x7ffff6ddeba5 "%s\n")
    at ../sysdeps/posix/libc_fatal.c:138
#6  0x00007ffff6cb0bac in __libc_message_wrapper (vmaname=0x7ffff6ddb569 "glibc: fatal", fmt=0x7ffff6ddeba5 "%s\n") at ../include/stdio.h:203
#7  malloc_printerr (str=str@entry=0x7ffff6de1658 "corrupted size vs. prev_size while consolidating") at ./malloc/malloc.c:5341
#8  0x00007ffff6cb25f4 in _int_free_merge_chunk (av=0x7ffff6e12ac0 <main_arena>, p=0x55555718e250, size=<optimized out>) at ./malloc/malloc.c:4439
#9  0x00007ffff6cb26b4 in _int_free_chunk (av=0x7ffff6e12ac0 <main_arena>, p=<optimized out>, size=<optimized out>, have_lock=<optimized out>)
    at ./malloc/malloc.c:4368
#10 0x00007fffd90122b1 in ??? () at /usr/lib/x86_64-linux-gnu/gtk-3.0/modules/libcanberra-gtk-module.so
#11 0x00007ffff7c1869f in ??? () at /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#12 0x00007ffff7308b9b in ??? () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#13 0x00007ffff730a1d7 in ??? () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#14 0x00007ffff730a577 in g_main_loop_run () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#15 0x00007ffff760fc05 in gtk_main () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#16 0x0000555555998adc in _gtk_loop (p=0x0) at /home/rollerozxa/principia/src/ui_gtk3.cc:3915
#17 0x0000555555b6de66 in SDL_RunThread (thread=0x5555584d6840) at /home/rollerozxa/principia/lib/SDL/src/thread/SDL_thread.c:339
#18 0x0000555555c00690 in RunThread (data=0x5555584d6840) at /home/rollerozxa/principia/lib/SDL/src/thread/pthread/SDL_systhread.c:73
#19 0x00007ffff6ca40da in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:454
#20 0x00007ffff6d377ac in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
(gdb)
101 1
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 13/07/2026
[silly (not serious)] @sodiboo not only is Tom Scott a conspiracy theorist now, he's a grifter too! pay for the privilege of getting brainwashed by his wacky conspiracies and falling into the Tomosphere
Paywall screen showing the price for Tom Scott's content on Nebula, 35€/yr or 7€/mo
011 1
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 12/07/2026
Are we Imgui yet? Sooner than you'd think! I've been on an absolute roll ever since the last Principia release on Thursday implementing and fixing up Imgui dialogs for the game. I think me making this page tracking the progress with a coloured bar really helped […] [Original post on hachyderm.io]
Are we Imgui Yet?

Principia is currently in the process of having all dialogs in the game migrated from GTK to Dear Imgui. Due to the amount of dialogs used in the game, this is a long process and will gradually happen over time, until there are no GTK dialogs left in the game.

This page tracks the current progress of each dialog in the game. 

Legend
(Red) Not implemented
(Orange) Dialog exists but is not finished
(Yellow) Fully implemented and included in latest nightly
(Green) Fully implemented and included in latest stable release

Current progress:
Green - 4 (6.8%) 
Yellow - 32 (54.2%)
Orange - 5 (8.5%) 
Red - 18 (30.5%)
1102 10
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 11/07/2026
Neither is recreating the entire 27 000 node linked list when removing a single node, when recreating it means doing I/O for each node. :neofox_woozy: I did not write this code originally. I fixed the whole _recreating the whole linked list_ by just removing […] [Original post on hachyderm.io]
Screenshot of the bottom of the Principia Dear Imgui open level dialog, showing two levels with IDs in the 22000s, and a label at the bottom saying 22681 levels were not shown.
100 1
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 10/07/2026
Also apparently the Hetzner referral program is... over, ended last month but existing codes are still valid. Oh well, nobody used my code anyways.
 Referral program ended

The referral program ended on 15 June 2026 and is no longer available.

If you previously participated in the program, your existing Hetzner Cloud promo codes remain valid until 31 December 2027 and can still be redeemed.
000 0
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 10/07/2026
Replacing GTK dialogs with Imgui ones piecemeal was probably the best decision I've made. So satisfying getting to delete large chunks of old GTK dialog code as I make my way through the list of dialogs in the game, ui_gtk3.cc gradually shrinking until there will be nothing left.
3,680 deleted lines in src/ui_gtk3.cc
000 0
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 10/07/2026
Un-unused? so it's used, right?
/** --Command pad **/
void on_command_pad_show(GtkWidget *wdg, void *ununused) {
    char tmp[64];
001 1
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 07/07/2026
Sideshot of my Blåhaj lying on his belly on my bed, in front of my laptop running Principia, playing a procedural adventure level.
001 1
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 06/07/2026
Moving Principia off of GTK and to Dear Imgui for dialogs is something that has been worked on slowly throughout the years. Emphasis on slowly. My brilliant idea for how to go forward with it is to make the migration more gradual, because now after my recent […] [Original post on hachyderm.io]
Screenshot of the Principia sandbox with the sandbox menu visible from the hamburger menu
031 3
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 05/07/2026
Been doing some refactoring of the Dear Imgui UI code in Principia to split up the init and draw of Imgui stuff itself from the Principia-specific dialogs, such that I could have a build with both Imgui and GTK dialogs. The idea being that we can start using […] [Original post on hachyderm.io]
Screenshot of Principia showing both the Dear Imgui demo window as well as a GTK dialog in front of the game.
152 5
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 04/07/2026
I usually upload the raw versions of Principia videos to an entry on archive.org for safekeeping, but I feel like I might need to find a better place to offload stuff...
The item you have requested has a problem with one or more of the metadata files that describe it, which prevents us from displaying this page.

Items may be taken down for various reasons, including by decision of the uploader or due to a violation of our Terms of Use.
000 0
ROllerozxa @rollerozxa.hachyderm.io.ap.brid.gy · 02/07/2026
It seems like someone deleted the entire /pub/ directory on kernel.org, hosting Linux kernel source tarballs and whatnot. Nothing is lost and the directory structure seems to be gradually reappearing, but all the tarballs for kernel sources hosted there are still 404 for now.
https://cdn.kernel.org/pub/linux/kernel/, normally a directory index over Linux kernel downloads, shows a 404 not found nginx error page.
100 1