moonpiedumplings

joined 3 years ago
[–] moonpiedumplings@programming.dev 4 points 3 days ago* (last edited 3 days ago)

Illuminae. It's an epistolary novel, so it's narrated in the standard sense. They are often told via letters from protaganists to another chatlogs, or other documents. From wikipedia about Illuminae:

The story is told through a series of documents; including classified reports, censored emails, camera transcriptions, and interviews

(I did not quote it in full because I'm trying to keep it as spoiler free as possible. I remember having a lot of fun when I read it without knowing anything, I just picked it up from the library and started reading.)

This book definitely wins for uniqueness of form, although I now understand what type of book it is and how to find more like that. But I've only ever read one book like that.

Although House of Leaves also counts a little bit as epistolary fiction but we've all heard of House of Leaves so that one doesn't count.

Though, 17776 - wikipedia, is even more unique and also epistolary speculative fiction, but that's not a book, but is instead online articles (which means it can include videos!).

You can start reading that one, right now, here: https://www.sbnation.com/a/17776-football

[–] moonpiedumplings@programming.dev 6 points 5 days ago (1 children)

I just don't get it. Why does a game studio care about, and have better hardware attestation than most nation states?

[–] moonpiedumplings@programming.dev 4 points 5 days ago* (last edited 5 days ago)

Guix does not have that same churn by any stretch, but, would still offer all the wonderful features of NixOS if you are willing to do the work of setting up any packages yourself, that do not already exist, and that is not at all removed from my to do list

One of Guix's strengths, and one of the things that appeals to me over Nix, is importers:

https://guix.gnu.org/manual/1.5.0/en/html_node/Invoking-guix-import.html

You can import packages from go, ruby, python, rust, or a few other languages really easily. Just guix import packagerepo and boom you have a package. This makes it significantly easier to get packages from those ecosystems.

Now, Nix has unofficial equivalent functionality... but it's a mess and spread over 30 different projects, many of which would frustratingly only work with flakes (which are "experimental" and "not officiallly supported" despite the fact their extreme popularity), or only work with channels.

I remember this pain point when trying to import a python package with nix. The only "just works" way of doing it that only worked via channels... and was deprecated, with the repo being archived. There was this new, non deprecated way by the same group of people... that didn't support a specific feature I needed to get the python package to work. And to the best of my understanding, still doesn't.

Guix may not move as fast as Nix when it comes to packaging or innovation, but they have a certain "coherency", where everything is together, integrated, well documented, and guaranteed to work.

[–] moonpiedumplings@programming.dev 2 points 1 week ago* (last edited 1 week ago)

I feel obligated to give some context about why they are excited, since the article seems to be targeting people who understand. Specifically, this part:

"blue screen of the death" or "Oops"... except that it's just an error! It doesn't take your whole system away with it, only the particular operations that was going on.

There are two theoretical kernel architectures: Microkernel, and monolithic kernel.

The primary advantage of a monolithic kernel is performance. All modern operating systems a monolithic kernels [1]. The big advantage of a microkernel is security.

With a monolithic kernel, almost everything runs privileged, in the kernel. Hardware interactions, drivers, firewalls, various processes. The big disadvantage of this, is that if any of those components have a bug and crash, it bluescreens.

The best example was the crowdstrike blue screen of death issues: https://en.wikipedia.org/wiki/2024_CrowdStrike-related_IT_outages . Crowdstrike runs at the kernel level (kind of like kernel level anticheat), and it had a bug, causing BSOD's everywhere. Of course, this is a fairly drastic example. Anecdotally, I have noticed in an increase in random BSOD's from people who have kernel level anticheat installed. Of course, the average user never whines and you have to pull this out of them, they just treat this as "normal".

With a microkernel, things are different. Everything is separated out, running as less privileged processes. This has big security implications since, it means that pwning one component of the Linux kernel, wouldn't own the whole kernel. That has been how so many of the recent Linux kernel root exploits have happened, where subsystems, rather than the entire kernel are vulnerable. With a microkernel, the possibility of an exploit in say, the containerization/sandboxing features, wouldn't lead to a root exploit on the host. SImilarly, components like device or filesystem drivers could be put in userspace as well, enabling much better security and isolation.

[1], well, sometimes people try to argue that the difference between a microkernel and a monolithic kernel is about codebase organization, optimizing for development velocity. Windows, and Mac are called "hybrid kernels", because the core kernel code is separated from things like drivers, enabling people to develop them separately. This used to be a bigger deal back in the day, since it enabled faster development for things like peripherals.

But there is no security or correctness benefit, so I consider them a monolithic kernel. In addition to that, "true" monolithic kernels (like Linux) have since innovated. While being open source may not be a big deal to us today, it was an innovation on it's own, that enabled people to include the firmware/drivers in the kernel directly (albeit, sometimes as binary blobs distributed in linux-firmware). In addition to that, there is also dkms for loading out of tree kernel modules, or epbf which enables you to run arbitrary code with ring 0 level privileges... but in such a way that it also doesn't hard crash the system when there is a bug.

Idk..

Maybe you can use a VPN that acts a public ipv4 address so you can get to ipv4 only stuff reliably?

or you can use one of the public free 6to4 gateways?

[–] moonpiedumplings@programming.dev 3 points 1 week ago (2 children)

Could it be that rubygems does not support ipv6?

Some sites, even big sites don't support it: https://areweipv6yet.com/

According to the above, Github doesn't properly support it yet.

[–] moonpiedumplings@programming.dev 10 points 2 weeks ago* (last edited 2 weeks ago) (1 children)
  1. Preinstall wine

  2. Enable wine as the default app to open exes,.

then, when you double click on an exe you downloaded in your file explorer, it will launch and open.

Many of the user friendly Linux distros do this.

Of course there are caveats, in that if you run an installer, it might not show up in your desktop or so on. And any programs that need admin or have heavy drm also won't run.

Im addition to that, I dislike the model of downloading exes from the internet. Here is the other comment with my thoughts: https://programming.dev/post/48941029/23338730

[–] moonpiedumplings@programming.dev 2 points 2 weeks ago* (last edited 5 days ago)

There is the excellent chess programming wiki, but unfortunately it does error 503 for me right now.

Here is the archive: https://web.archive.org/web/20250302091125/https://www.chessprogramming.org/Main_Page

Main site: https://www.chessprogramming.org/Main_Page

It has some pretty good resources to get started, and all the techniques being used.

EDIT: It's back!!! And Lichess is doing the hosting.

[–] moonpiedumplings@programming.dev 7 points 2 weeks ago (1 children)

Debian has a policy of only cherry picking security updates, or critical bugfixes, in order to ensure maximum system stability. In general, they don't do entire program updates or additional features. For the 4 year lifecycle of a Debian release, it will behave the same as it did yesterday.

As of today, current version of rsync in Debian's stable's packages is 3.4.1: https://packages.debian.org/stable/rsync (archive).

The versions with significant LLM assistance are 3.4.3 and later.

If you don't have internet, which you may need for some of the fixes mentioned here, you can try tethering, which is where you share a phone's internet with a computer over a wired connection.

https://wiki.archlinux.org/title/Android_tethering

https://wiki.archlinux.org/title/IPhone_tethering

Although, these might depend on NetworkManager, although they might not.

[–] moonpiedumplings@programming.dev 6 points 2 weeks ago (2 children)

Debian has old software and doesn’t support some newer hardware. Even the latest version, Trixie, is still very far behind. I realize this now.

Debian has backports, which enable you to get select versions of newer software. Relevant to your case, you can get a newer version of the kernel, drivers, and other things relevant to hardware support.

Might be a bug, so we can troubleshoot to try to figure it out.

If you visit about:processes, is there any website or extension taking up a lot of system resources?

In addition to that, you can try launching firefox in safe/troubleshooting mode. 3 bars in the top right > Help > Troubleshooting mode

This restarts firefox with all addons, extensions, and themes disabled.

For further troubleshooting, also try:

Go to about:profiles, and create and launch a new one. This is a more complete reset, since it also resets all settings, about:config options, and similar.

After creating a new profile, you can play around with rebuilding your current firefox config, adding extensions and changing settings.

 

Pairdop is an open source, browser based, peer to peer file sharing application.

It is cool because it can find other devices on the network. So you open up pairdrop on one computer, and you open pairdop on another, and then you can see the devices and chat with eachother.

But, you also have the options of:

  • Creating a temporary public room for sharing files over the network to another device
  • Permanently pairing devices so that they can access eachother after you close the app

In addition to that, it's a progressive web application, so you can "install", and/or the web page does not need internet to load, firefox will cache it and let you use the app even if you don't have internet.

There is a publicly hosted instance you can try: https://pairdrop.net/

 

cross-posted from: https://programming.dev/post/52054729

Swarm simulator is an open source idle game:

https://github.com/swarmsim/swarm

 

Swarm simulator is an open source idle game:

https://github.com/swarmsim/swarm

 

I can't find the source code for this, I am posting here to save it to remind myself to search later.

 

Other fun answers:

This site is: https://youraislopbores.me/

This site is a "fake chatgpt" where you can pretend to be chatgpt or ask questions to people pretending to be chatgpt.

 

Phone game that measures how high you can throw your phone into the air...

 

It was fairly easy. I used rustic to back up my entire home directory to a USB flash drive.

The trick is to ensure that all applications (except KDE) are closed. Firefox, for example, really hates if you try to actively sync or copy over it's profile directories while it is running.

And then I also nuked my podman user data. (podman system reset). Podman sometimes makes the ownership of it's files weird, but also the container images take up a lot of space that I don't really care about actually backing up. It's okay if those aren't on the new laptop.

Then I backed up to the usb flash drive:

rustic init -r /path/to/repo — this will prompt you for a password

rustic backup -r /path/to/repo /home/moonpie

One cool thing about the backups is that they are deduplicated and compressed. So I backed up 120 gb of data, but it was compressed to 80 gb.

restic snapshots -r /path/to/repo

The snapshots are deduplicated as well. Data that doesn't change between snapshot versions, doesn't take up any extra space.

rustic restore -r /path/to/repo snapshotid /

The / is needed because rustic restores to paths underneath the thing. It gave me a bunch of permission errors about not being able to read stuff not in my home directory, but eventually it restored all of my data.

And then yeah. All my data. Except Wifi passwords, which I had stored as unencrypted for all users, because I didn't like having to unlock the KDE wallet to get to Wifi passwords when connecting. I had (and have) LUKS encryption so I didn't worry about that too much. But it means that data not in my home directory was not copied over.

It was surprisingly smooth, and now I have all my data and firefox profiles and stuff on the new machine.

 

Finally I can doomscroll books

 

As usual, phoronix is full of trolls. I was surprised to see only 17 comments, but perhaps that's because I viewed this very early. A highlight from the first page:

Everyday we stray further from GNU, POSIX, C, X11 and now SysVinit. 80s are over. Party is over. Wake up. It's 2026. Adapt or perish in irrelevance. Future is bright and is inevitable. Long live systemd, Wayland, Rust, Gnome and atomic and immutable distros.

Given the way this covers Systemd, SysV, and AI agents, and the way that I see trolling on the first page, There is a very real chance this could be one of those legendary Phoronix threads that manages to hit the 500 comment limit.

EDIT: more relevant threads: https://www.phoronix.com/linux/systemd

view more: next ›