Show newer

#Gemini is a really simple free and open application layer protocol for very simply formatted hypertext. It is like the world wide web in the early 1990s.

Looks like is borked.

Check your settings when you can normally access reddit again, I notice that some relevant settings like logging outbound clicks, notifications, etc. are reset, and all of "personalisation preferences" are too reset, i.e. data collection apparently re-enabled.


Attackers Can Now Remotely Deactivate WhatsApp on Your Phone

Not sure if hack...

... or a blessing.

@cadadr The question is, how general is your tool?

With a single-cup coffee maker, all you need to know is how to plug it in, where to pour water, put a coffee pod, a cup, and which button to press. The artifact is the coffee.

With a hoe, the artifact is... many steps away from your use of a hoe. The garden you're growing will use many tools, each in many roles, and you need to understand both some gardening *and* how the tools contribute to be effective.

Git is like a collection of gardening tools.



Hacked a website together for something I won't be starting to do before a couple months..

Guess I nerdsniped myself.

@temporal There's the question of how many levels of abstraction / levels of causality are understood at different levels of understanding.

Casual users know topical interfaces, power users now deep interfaces, technicians know technical and support interfaces as well as modules and components, designers and developers know construction and underlying design as well as the range of potential components, technologies, and implementations. Theoriests understand basic principles.

This applies to software, mechanical systems, biological systems, medicine, physics, chemistry, food and preparation (cooking, baking, preparation, cultivation, ...), pretty much any domain.

As tools become more widely used, the number of shallow-knowledge experiences increases. As society becomes more complex, the number of complex tools we interface with increases. Of necessity most of those interfaces are shallow.


The problem with way things are is either I have to insert a jack every time I want to use the HP, or am restricted to LS with an accessible killswitch when I want to buy a new one.


Show thread

What's the best way to switch between headphones (HP) and loudspeakers (LS) on Linux, without fiddling with the cable?

ATM the best I can do is to

amixer -c 1 set 'Auto-Mute Mode' Disabled

With that setting both HP and LS are on simultaneously. When I don't need LS, I flip the switch on it off. But ideally I'd do that on software.

I installed indicator--sound-switcher but it didn't really help.


LXC containers on Guix System, full blog post 

Great, I see there's interest in LXC on Guix 🙂

First of all: I only managed to get privileged LXC containers working as I wanted, because I didn't figure out a proper way to get networking in unprivileged ones (I did manage to start networkless unprivileged containers though). Secondly, my network configuration is rudimentary: the container just shares all devices with the host, so no inter-container networking is possible. Thirdly, I got X working in containers (even full-screen applications like ), and no, it's not X forwarding 😛

Details now.

I do some basic system-wide configuration in my `/etc/config.scm` by defining `lxc-config-service` as in the first attached file, and then including `lxc-config-service` in the list of services.

The most important part of this definition is the service for setting up `/etc/lxc/default.conf`: this is the configuration which will be included by default in any new container you will create. Not much goes into this file. The first line says that the container's network devices should be those of the host: no virtualization or anything. The second line sets up `/bin/bash` as the command to execute on starting the container. The third line bind mounts the X11 socket directory inside the container, and this is one of the keys to getting X applications in the container to cooperate with the host X server. The fourth line bind mounts the Xauthority file, which gives the X apps in the container the cookie necessary to connect to the X server (I actually do this slightly differently in concrete containers, more in this later). Finally, the last line of `default.conf` bind mounts `resolv.conf` so that the container uses the host's DNS.

The other three files defined in `lxc-config-service` are left-overs from my attempts to set up unprivileged containers. `subuid` and `subgid` specify the UIDs and GIDs to use in unprivileged containers. I'm not exactly sure what that means, but unprivileged containers won't work without these files 😄 `lxc-usernet` specifies that unprivileged containers should use the bridge `lxcbr0` as their default `veth` device. This setup allowed me to start unprivileged containers, but I couldn't sort out the access rights to bridges, and after a couple of hours of looking around I got bored and gave up.

With this configuration, the command `lxc-create -t download -n <container-name>` run as root allows you to download a template and create a new privileged container with networking and all the bind mounts to get basic X working.

Two big gotchas. LXC seems to expect to have systemd in the host system, so it symlinks the container's `/etc/resolv.conf` to someplace under `/sys`, which gets bind mounted by default. When you try to bind mount your real `resolv.conf` as I do, you'll get an error message about too many levels of symbolic links. Just go to `/var/lib/lxc/<container-name>/rootfs/etc/` and remove that nasty symbolic link. Second gotcha: when you do an `lxc-attach -n <container-name>` after starting the container, you get into a shell whose environment is completely uninitialized, so you won't be able to run `ls` for example. Just do `source /etc/profile` to get everything in place. I also prefer running `/bin/bash` before.

@cadadr @wire @MadestMadness

A data breach from Christian crowdfunding site GiveSendGo has revealed that millions of dollars have been raised on the site for far-right causes and groups, many of whom are banned from raising funds on other platforms.


A large proportion of that money came from a number of high-dollar donors who elected to be anonymous on the website, but whose identifying details were nevertheless preserved by GiveSendGo.


Reminder: I'm absolutely judging you for building a website without providing a webfeed. And I think it's wrong for browsers not to implement webfeed autodiscovery, even if they leave the actual feedreading to another app.

The alternatives to webfeeds are to:

1) Have visitors regularly & manually load your website to check for updates, or
2) Sending all the updates to some central service like Facebook.

Neither's ideal, so offer webfeeds! Especially for communication platforms!

#MechanicalKeyboard users of Mastodon! What is your favorite type of key switch?

@radicalrobit Sounds like should change to :T

Of course, OF COURSE the fucking operator of that famous excavator trying to free the ever given is both a sub-contractor and still hasn't been paid for all of his fucking OT work yet.

Roman Anin's apartment being raided by the #FSB today is most probably in connection with this story (from 2016):

The least we can do now is read and spread it. Clearly there is a reason why Russian authorities would like to stifle this kind of reporting.

Show thread

Today, the #FSB raided the apartment of Roman Anin, a Russian investigative journalist whom I had the pleasure and privilege of working with:

This guy has balls of steel, and did some absolutely astonishing investigative reporting (worth checking out the linked thread).

I believe currently there is no contact with him, nor confirmation that he's been arrested. This is worrisome, to say the least.

I will share any updates if/when I get them.

Show older
Mastodon @ SDF

"I appreciate SDF but it's a general-purpose server and the name doesn't make it obvious that it's about art." - Eugen Rochko