All the people being raped by Facebook now realize they are being raped by Facebook

Of course people like me have been telling them to quit Facebook forever, but they didn’t listen, so if you ignore the warnings you probably don’t have much right to complain. The level of brainwashing and manipulation by Facebook and friends is even higher than I  imagined, though. I believed they were just reaping obscene profits from wide-ranging psychological profiling and privacy abuse, but it’s become much worse than that.

Here’s Richard Stallman on this and similar topics, in an older but still valid talk from 2016:

Which GNU/Linux distributions are the freest?

Users of proprietary operating systems don’t really have control over their computers, and thus sometimes have to deal with inconvenient changes that they have no say in. macOS users had a new filesystem called APFS forced on them. A filesystem that is young and obviously still full of serious errors that can lead to data loss. When using SSDs, the OS can only be installed on APFS volumes now, effectively leaving users no choice in the matter. When using APFS as a backup drive (which the system allows without warning), backup data can be destroyed.

The situation isn’t better in the Microsoft camp, with forced updates making some computers unusable because they enter a reboot loop and headlines similar to “Microsoft Delivers Yet Another Broken Windows 10 Update” being more common over the last two years.

Because these companies operate according to their own strategic market interests and not in the best interest of their customers and users, this kind of thing always feels to me like they’re raping people’s computers. The user doesn’t want it, the computer certainly doesn’t need it, yet the actual owners just have to open wide and swallow because these companies have decided in their place. As a user, you signed away your right to intervene when you accepted the license terms.

Are things better in the GNU/Linux world, then? Yes and no. Some GNU/Linux distributions are controlled by companies that also serve their own interests first, such as Canonical, makers of the Ubuntu distribution. They have previously partnered with Amazon to supply sponsored search results inside the OS search function. This month they’ve announced that they will collect data on users’ machines. Granted, it’s a lot data less than what Microsoft collects about its users, but it’s an ugly move that doesn’t fit the GNU/Linux mentality.

Continue reading “Which GNU/Linux distributions are the freest?”

Yet another way to get a tear-free, stutter-free desktop with Plasma/KDE and Nvidia

So the proprietary Nvidia driver is a large, steaming, smelly pile of shit. At least that’s the impression you get when you read what developers say about it. There’s a bug here and a workaround there, and we haven’t even started talking about the messy situation that is EGLstreams yet. So why do people use Nvidia cards on Linux? Because so far, they give good bang for the buck, use relatively little energy for what they do and work with all commercial games. I’m pretty sure those are the reasons, anyway.

But Nvidia at least on Plasma/KDE has some serious problems with tearing and stutter — I have three Nvidia setups and they all are unsatisfying out of the box. If you use ForceCompositionPipeline like I recommended earlier, you will probably run into stutter issues. But I think I found the perfect setup now, stutter-free and tearing-free for desktop use as well as perfect for gaming.

There are two alternatives:

Solve it by switching the GL yield mechanism to USLEEP

Add the following to ~/.config/plasma-workspace/env/

export __GL_YIELD="usleep"

Thank mahenou on Steam for suggesting I try this again. The first time I did, it was probably too late in the environment for Kwin to pick it up. It’s important that the var is set when Kwin initializes.

Solve it by forcing triple buffering


Add the following to ~/.config/plasma-workspace/env/


And chmod +x the file. Then add the following to an Xorg config snippet, for example /etc/X11/xorg.conf.d/20-nvidia.conf:

Section "Device"
        Identifier      "Videocard0"
        Driver          "nvidia"
        Option          "TripleBuffer" "true"

Finally, enable compositing and vsync

Then make sure you have compositing enabled in System Settings -> Display and Monitor -> Compositor. If you are very doubtful, do a restart. After that you should have a perfect, tear-free and stutter-free desktop experience. I had to disable compositing manually with Alt-Shift-F12 before starting games with the triple buffering method. This was unnecessary with the __GL_YIELD method.

I can’t truthfully explain why this works, but I know it works around a bunch of bugs and unexpected default settings in the Nvidia driver. Also, Kwin is now able to compute the right timings and handle triple buffering instead of rendering half-finished frames like a fucking moron when it still believed Nvidia was doing triple buffering by default.

For me this has been wonderful. The desktop is smooth as if I were using a proper graphics card like an AMD RX 580 with Mesa. Games run exceedingly well, and there is no stutter or delay like with ForceCompositionPipeline. Not even in videos. It’s all just perfect.

This is a mix of hints received from several people on Reddit and Steam that I unfortunately forgot the names of, as well as info from the Arch Linux wiki. I’d like to thank all these people for their knowledge.

Working around broken firmware for Realtek USB WLAN adapters on newer kernels

If you run a combination of newer (4.9ish) kernels and systemd, your USB wifi networking gear probably now gets funky names such as “wlx74da387e95fe” instead of “wlan0” like you were used to back in the good days. This wouldn’t be so bad, only that the firmware on those dongles can mess up when the device gets a long name. Suddenly it won’t let you connect to your wireless network, claiming that the network does not exist, even though you know for a fact that it does. What your machine is actually trying to say, I believe, is that the network device doesn’t seem to exist.

If you have those symptoms, this answer by Maciek on Stackexchange will probably help. I encountered the problem while using one of the Edimax USB wifi dongles that are popular on the Raspberry Pi.

I had to add this to /etc/udev/rules.d/70-persistent-net.rules:

# edimax USB stick
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="ba:ba:ba:ba:ba:ba", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan", NAME="wlan1"

Substitute your own dongle’s MAC address for ba:ba:ba:ba:ba:ba and things should work. Of course make sure wlan1 isn’t taken already. If everything turns out well, your dongle now has a sane name again and connecting should just work.

Paul Hedderman does Buddhism with Star Wars and Sauron

That’s not the only thing he does, of course, but I needed a clickbaity title. This is one of his latest videos and it does have those two exact examples, though:

As far as I saw, most of his lectures focus on the non-self (anattā) and they’re delivered as big rambling streams of consciousness. Some smart people once said that if you truly get it, wisdom (dhamma) just flows out of your mouth freely without thinking. I guess that phenomenon produces eloquent masters that speak in a structured way or with beautiful similes, such as Thích Nhất Hạnh, Ajahn Sumedo, Brad Warner or Ajahn Chah.

But it also produces masters like Paul Hedderman. He’s more like a gurgling stream. You have to run to catch up with the ideas he presents and you never know if you interpret things correctly. But then again, at least he doesn’t make you solve koans. So far what he’s saying clicks with me and even those times when I learn nothing it’s still entertaining, so nothing’s lost. If you find the website a bit disorganized and just want the videos, the YouTube channel is simpler.

Paul has been in the recovery movement since the 80s and I first heard about him from a random person in chat while drunk. This person knew that I know some of the other teachers but specifically suggested Paul. I wonder what the hint was.

Starting a second year of game-buying abstinence

The last time I tried this went OK, but I think it didn’t really cure me yet. This is evidenced by my growing list of games on Steam, mostly coming from sales and bundles.

So for this second attempt at game-buying abstinence, I follow all the rules from my earlier attempt and add some additional restrictions:

  • No looking at bundles
  • No looking at sales

I found out that psychologically, what always gets me are very good deals (-75% or such). I might not actually play that game or anything from a bundle for several years  because my backlog is so long, but I always end up buying it anyway. That’s idiotic — if I waited two more years without buying any games, whatever is at -75% now will likely be even cheaper by the time I actually have time to play it. And my backlog should be shorter.

Of course it’s the crafty pricing psychologist that Valve hired in 2011 who is to blame for my failing. Not me! How could it be me?

Not even looking at any sales should help with this. As I found out last time, you can disable all sales notifications in Steam’s interface settings, and also skip directly to your library view instead of going to the store first. This helps more than you might think.

I’ll report in a year. Maybe I can make an improved list of suggestions.

Using Xbox 360-compatible controllers properly inside WINE

If you need to use WINE to play some Windows games, the lack of Xinput support might get on your nerves. WINE maps joystick devices to Dinput. That works for some older games, but buttons need to be mapped manually, and many newer games don’t detect the controllers at all because they expect Xinput.

I tried to get by this issue using x360ce, but this is a fickle beast already when run natively on Windows; even more so in WINE. But what worked really well for me was dumbxinputemu. Sometimes dumb things are the best.

To use it, determine if you’re running a 64-bit or a 32-bit WINE for the particular game you’re playing, then copy the matching xinput1_3.dll from the latest release to the same directory as the game’s binaries. So if you’re trying a Steam game inside WINE, that’s probably somewhere inside Steam/steamapps/common. Then make sure your WINE is set to prefer the native version of the DLL via winecfg:

In the “New override for library” dropdown select “xinput1_3”, then “Edit…” that entry to set it to “native” only. If you have a very new game, you might need to do repeat all these steps for xinput9_1_0.dll. This worked surprisingly reliably for me, no more double-detection of joysticks, no more wrong labels for buttons inside games, no more fiddly x360ce that works sometimes but then mysteriously breaks. Everything behaves as it shoud. Thank you, kozec.

Something for the weekend: Week 51, 2017

These are some longer things I’ve read this week. I don’t guarantee that they’re new, just that I found them interesting:

  1. Google is using its dominance to bully the makers of the Vivaldi browser. Google has blocked Vivaldi’s AdWords revenue and asked them to post links to “uninstall instructions” for the Vivaldi browser on their web page. Something Google itself doesn’t provide for Chrome. This is what happens when you let a single browser maker also control most of the online advertisement market, and things will only get worse the more people use Chrome and AdWords.
  2. Microsoft is using its dominance to bully Google (in the Windows Store). They kicked the Chrome installer out of the Windows Store because only browsers based on Microsoft Edge technologies are allowed there. This is similar to how Apple bullies browser makers on iOS, where you can’t add a browser with its own rendering or JavaScript engine, you must use Apple’s instead. This kind of non-competition is a straitjacket for innovation and destroys user freedom, just because some greedy big companies force it to be this way. Not the best technology wins, just whichever technology the oligopolist forces on users.

I’d be delighted if some of that tickled your curiosity.

Something for the weekend: Week 50, 2017

These are some longer things I’ve read this week. I don’t guarantee that they’re new, just that I found them interesting:

    1. Former Facebook exec says social media is ripping apart society. At least they admit it once they’ve quit the company.
    2. You don’t need to go vegan to save the planet. Nevertheless, your diet is one of the most important factors driving climate change. A less meat-heavy diet (like in the Mediterrean) is enough to improve things significantly. So you don’t have to buy a Tesla, just go vegetarian 5 days out of 7 and maybe add a vegan day now and then.
    3. Digitiser at 25, part 1. Mr Biffo is a Teletext celebrity. He did Teletext gaming journalism. In the 90s!
    4. How the US government pressured Sweden into taking down The Pirate Bay. If you are the USA, you can enforce your own values and laws all over the world. This has happened under the umbrella of the DMCA as when Norwegian special police stormed into Jon Lech Johansen‘s house and confiscated all his computers even though there were no legal grounds for it under Norwegian law. Why did they do it anyway? US government strongarming. This is also the reason all the banks in the world give up customer data about US customers, and only US customers, to the US government. Because otherwise the US central bank would cut off their access to US Dollars, and that would destroy any bank immediately.

I’d be delighted if some of that tickled your curiosity.