Bullshit generators such as ChatGPT increasingly show racial stereotypes in judging people's employ-ability.

They don't actually understand anything, including the concept of "employ-ability" or "bigotry", so employers should not use them for that purpose.

Posted Tue Mar 19 00:35:24 2024 Tags:

Humanity is closing in on the last few areas where wild polio may still survive.

Posted Tue Mar 19 00:35:24 2024 Tags:

Increased plutocracy is increasing the income disparity between countries along with income disparity within most countries.

Posted Tue Mar 19 00:35:24 2024 Tags:

George Monbiot: *It's as if Keir Starmer is seeking out all the positive reasons to vote Labour — and deleting them.*

Posted Tue Mar 19 00:35:24 2024 Tags:

Advances in brain-machine interfaces are dangerous.

Musk has spoken in favor of fascism more than once. He could make Neuralink implants trigger pleasure in the brain whenever the patient hears words that endorse fascism. If the Neuralink itself is not capable of relaying the sound that the patient is hearing, the apparatus to run it could simply have an internet-connected microphone.

The only way to make them safe is if users have full control over the software that operates them and talks directly with them. They also need to be able to study the circuit diagram and verify that the device was built honestly.

Posted Tue Mar 19 00:35:24 2024 Tags:

*Climate activists across Europe block access to North Sea oil infrastructure.*

Governments that refuse to recognize that drilling for oil and methane is deadly are showing contempt for the lives of their young citizens.

Posted Tue Mar 19 00:35:24 2024 Tags:

Singer Olivia Rodrigo became a champion of freedom by distributing condoms and emergency contraception pills at her concerts. But now she has ceased that practice, citing a vague concern about "children" that attend.

I can't tell whether "children" in her statement refers to the people we normally call "children" — pre-teens — or to everyone under 18. But either way, I can't see even a lick of sense in that decision to stop. Whatever a person's age, if person is going to be sexually penetrated, it is good for that person to have a condom available. Whatever a female's age, if she may get pregnant, it is useful for her to have emergency contraception available.

Unless she presents clearly some other reason, I have to think that she has yielded to an incoherent right-wing moral panic.

Posted Tue Mar 19 00:35:24 2024 Tags:

British physicians are threatened with loss of their license to practice medicine as further punishment for being convicted of climate defense protests.

You can see this as further damage to non-rich Britons by Tories, who don't care about the non-rich, or as further repression intended to keep the drilling for oil and gas going.

Posted Tue Mar 19 00:35:24 2024 Tags:

Modi made a campaign promise to Indian farmers, then broke it. When they protested this, they met with repression

of the sort that he had previously reserved for Muslims.

Posted Tue Mar 19 00:35:24 2024 Tags:

Unofficial groups of Republicans are trying to rig elections by pressuring local election officials in some states to remove voters from he voting lists.

In Michigan, Nevada, and Georgia they have had successes.

Posted Tue Mar 19 00:35:24 2024 Tags:

Touchscreens are quite prevalent by now but one of the not-so-hidden secrets is that they're actually two devices: the monitor and the actual touch input device. Surprisingly, users want the touch input device to work on the underlying monitor which means your desktop environment needs to somehow figure out which of the monitors belongs to which touch input device. Often these two devices come from two different vendors, so mutter needs to use ... */me holds torch under face* .... HEURISTICS! :scary face:

Those heuristics are actually quite simple: same vendor/product ID? same dimensions? is one of the monitors a built-in one? [1] But unfortunately in some cases those heuristics don't produce the correct result. In particular external touchscreens seem to be getting more common again and plugging those into a (non-touch) laptop means you usually get that external screen mapped to the internal display.

Luckily mutter does have a configuration to it though it is not exposed in the GNOME Settings (yet). But you, my $age $jedirank, can access this via a commandline interface to at least work around the immediate issue. But first: we need to know the monitor details and you need to know about gsettings relocatable schemas.

Finding the right monitor information is relatively trivial: look at $HOME/.config/monitors.xml and get your monitor's vendor, product and serial from there. e.g. in my case this is:

  <monitors version="2">
   <configuration>
    <logicalmonitor>
      <x>0</x>
      <y>0</y>
      <scale>1</scale>
      <monitor>
        <monitorspec>
          <connector>DP-2</connector>
          <vendor>DEL</vendor>              <--- this one
          <product>DELL S2722QC</product>   <--- this one
          <serial>59PKLD3</serial>          <--- and this one
        </monitorspec>
        <mode>
          <width>3840</width>
          <height>2160</height>
          <rate>59.997</rate>
        </mode>
      </monitor>
    </logicalmonitor>
    <logicalmonitor>
      <x>928</x>
      <y>2160</y>
      <scale>1</scale>
      <primary>yes</primary>
      <monitor>
        <monitorspec>
          <connector>eDP-1</connector>
          <vendor>IVO</vendor>
          <product>0x057d</product>
          <serial>0x00000000</serial>
        </monitorspec>
        <mode>
          <width>1920</width>
          <height>1080</height>
          <rate>60.010</rate>
        </mode>
      </monitor>
    </logicalmonitor>
  </configuration>
</monitors>
  
Well, so we know the monitor details we want. Note there are two monitors listed here, in this case I want to map the touchscreen to the external Dell monitor. Let's move on to gsettings.

gsettings is of course the configuration storage wrapper GNOME uses (and the CLI tool with the same name). GSettings follow a specific schema, i.e. a description of a schema name and possible keys and values for each key. You can list all those, set them, look up the available values, etc.:


    $ gsettings list-recursively
    ... lots of output ...
    $ gsettings set org.gnome.desktop.peripherals.touchpad click-method 'areas'
    $ gsettings range org.gnome.desktop.peripherals.touchpad click-method
    enum
    'default'
    'none'
    'areas'
    'fingers'
  
Now, schemas work fine as-is as long as there is only one instance. Where the same schema is used for different devices (like touchscreens) we use a so-called "relocatable schema" and that requires also specifying a path - and this is where it gets tricky. I'm not aware of any functionality to get the specific path for a relocatable schema so often it's down to reading the source. In the case of touchscreens, the path includes the USB vendor and product ID (in lowercase), e.g. in my case the path is:
  /org/gnome/desktop/peripherals/touchscreens/04f3:2d4a/
In your case you can get the touchscreen details from lsusb, libinput record, /proc/bus/input/devices, etc. Once you have it, gsettings takes a schema:path argument like this:
  $ gsettings list-recursively org.gnome.desktop.peripherals.touchscreen:/org/gnome/desktop/peripherals/touchscreens/04f3:2d4a/
  org.gnome.desktop.peripherals.touchscreen output ['', '', '']
Looks like the touchscreen is bound to no monitor. Let's bind it with the data from above:
 
   $ gsettings set org.gnome.desktop.peripherals.touchscreen:/org/gnome/desktop/peripherals/touchscreens/04f3:2d4a/ output "['DEL', 'DELL S2722QC', '59PKLD3']"
Note the quotes so your shell doesn't misinterpret things.

And that's it. Now I have my internal touchscreen mapped to my external monitor which makes no sense at all but shows that you can map a touchscreen to any screen if you want to.

[1] Probably the one that most commonly takes effect since it's the vast vast majority of devices

Posted Tue Mar 12 04:33:00 2024 Tags:
When I hear someone say "a Unix timestamp is in GMT" I die a little inside. It is muddy thinking that leads to many of the problems that plague this modern world.

A time_t does not have a time zone at all. It is a point in time, a scalar value. A 'struct tm' is a point in spacetime, a vector value.

If you are trying to express a point in time to a human, you could do that by saying "1,710,111,386 seconds after the Epoch", but while precise, it's not very readable, so instead you might choose to convert that from a point in time to a point in spacetime instead, and say "2024-03-10 15:56:26 PDT". But those two are not the same thing. You converted a scalar to a vector by picking an arbitrary position in space to attach to it.

The Unix Epoch, the point in time when a time_t is numerically zero, is commonly defined as being at midnight on a particular date in England, but it could just as easily have been defined as having been at 4PM on a particular date in California, or as some number of nanoseconds since the Big Bang. There's nothing "GMT" or "UTC" about it, except that when converted to a human-readable string situated in England, that text has some extra zeroes in it and humans find zeroes comforting.

The number of seconds since that point in time does not change depending on my point in space. (Mostly.)

("GMT" is a time zone and "UTC" is not, but both are points in spacetime where that point happens to be the Royal Observatory. The Platinum-Iridium Reference Zero is of course stored in an evacuated vault in the basement of Pavillon de Breteuil.)

This has been a Public Service Announcement from The Paladin of the Lost Hour.

Previously, previously, previously, previously, previously, previously, previously, previously, previously, previously, previously, previously, previously, previously, previously.

Posted Sun Mar 10 23:48:09 2024 Tags:

As a 3d printing hobbyist with opinions about the strength of different types of materials I’ve sometimes had discussions with people with Real Engineering Degrees who feel the need to mansplain to me trivia about the different types of strength and how I’m using the terms all wrong. It might sound weird that I’m being dismissive of people who have an actual degree and are using real scientific jargon, but this is a case of knowing a lot of trivia while missing the underlying point.

Within engineering there’s a range of measurement types between ‘fundamental physics’ and ‘empirical rules of thumb’, with weight on one extreme and coefficient of friction on the other. It isn’t that weight has no artifacts: Objects are affected by moving them close to other objects, and when in orbit the centrifugal effect changes it a lot, but it’s so close to the fundamental physics concept of mass that we’ve relied on it for making very prices scales since antiquity. Coefficient of friction on the other hand is a vague concept about ‘how well these two things mash into each other’, strongly affected by how long they’ve been meshed together, how much force has been pushed into them orthogonally, whether they’ve been moved already, the phase of the moon, and the purity of the soul of the person conducting the experiment. When building things which rely on coefficient of friction we run the numbers, add an order of magnitude to it, and then test the real thing to find out when it actually breaks.

Thanks for reading Bram’s Thoughts! Subscribe for free to receive new posts and support my work.

Measures of hardness are much closer to coefficient of friction than mass. Take the Mohs scale, which is literally a metric of who beats who in a scratching contest. It’s more meaningful than IQ scores, but directly comparable to Chess ratings, which are at almost exactly the same point on the metric accuracy scale (but to their credit both are closer to real than the the metric accuracy scale itself).

For measuring strength there’s all manner of terms used, but they’re all different benchmarks based off what a particular measurement happens to say. The Shore measurement scale literally specifies the size and shape of objects to attempt to jam into the material and then measure penetration at different pressures. The different shapes have a fair amount of correlation but often deviate based on their size and spikyness. There’s no platonic ideal being measured here, it’s just an empirical value.

When you bend a ‘strong’ object it tends to snap back to where it was when you’re done but there are a lot of things which could happen during bending. Maybe it got little microfractures from the bending which build up at some schedule if you bend it repeatedly. Maybe it underwent some amount of plastic deformation. If it did maybe it lost some of its strength, or maybe it will stay a bit bent permanently. Maybe it undergoes plastic deformation slowly, and will snap back varying amounts based on how long you keep it bent, possibly on a schedule which doesn’t look very linear. The details are so varied and hard to measure that most of the measures of strength simply ignore the amount of material failure which happened during the test. This is an expedient but dubious approach. John Henry only technically defeated the steam engine. He died with a hammer in his hand. By any reasonable standard the steam engine won.

A material can be ‘stiff’, meaning it’s hard to bend in the first place, and it can be ‘tough’, meaning it doesn’t undergo much damage when it’s bent. PLA is still but not tough and tends to fail catastrophically. TPU is tough but not stiff. Nylon is both stiff and tough, but not as stiff as PLA or as tough as TPU. In general PLA+ is PLA with something added which makes it less stiff but more tough so it doesn’t undergo catastrophic failure. The downside is that it then undergoes material failure much sooner. This makes it do better on strength tests while making it a worse material for making real things out of. For some niche safety related applications it’s important that things fail visibly but not catastrophically, but for the vast majority of practical applications you don’t care how gracefully things fail, you care about them not failing in the first place. For that you need stiffness, and as boring of a result as it is PLA wins the stiffness competition against the other common and even not so common 3d printing materials. If your parts are failing you should design them more robustly not try to switch to some unobtanium printing material.

With that very disappointing result out of the way, the question is, what if you want to find some material which really is stronger than PLA? Having a 3d printer which could work with solder would be awesome, but there aren’t any of those on the market right now and I don’t know what it would take to make such a thing. Short of that the best material is… PLA. Even within PLA there are different levels of quality based on how long the chains are at the molecular level and how knotted up in each other they are, but as you may have gathered from the tirade about PLA+ about the PLA vendors are less than up front about the quality of their material and it isn’t possibly to simply buy higher quality PLA right now. Within what’s available now you can use PLA a bit better. If you print in a warm chamber and only slowly cool it down once printing is done you’ll get some annealing in and have a stronger final product which gets soft at a higher temperature. Ideally you’d repeatedly reheat the entire chamber to the temperature you’d properly anneal at and cool it back down again after every layer, which would result in an amazing quality product but take forever.

Thanks for reading Bram’s Thoughts! Subscribe for free to receive new posts and support my work.

Posted Sat Mar 9 21:29:27 2024 Tags:

There are two arguments about Bitcoin inscriptions: One is that it’s playing completely within the rules of Bitcoin and is fine. The other is that it’s massively increasing the costs of running full nodes and hence bad. Both are technically correct.

Rather than get moralizing and playing dumb cat and mouse games about letting them into blocks, which is what’s happening now, it would be far better for Bitcoin development to put together a soft fork to create a vbytes cost for UTXO creation. That should have been in there in the first place. The downside is that this reduces chain throughput even for people who have nothing to do with it. But they’ll get more space by having less inscription to compete with. And the vbytes cost necessary to keep UTXO size increase under control is small enough that there’s a sweep spot which doesn’t do much damage, nowhere near knocking down chain capacity to what it was pre-segwit.

If Bitcoin development were healthy the details of this would be getting hashed out in polite, highly technical, and frankly kind of boring discussions, but it isn’t. Back in 2015 such things got railroaded through so fast that even the core devs were alarmed at how much it smacked of centralized control, but now there’s the opposite problem, where even simple obvious fixes can’t get in.

Posted Fri Mar 8 20:22:56 2024 Tags:

Please enjoy jwz mixtape 244.

It has been quite a while since last one. As I have lamented before, my ingestion of new music has slowed to a trickle. Please send links to music video blogs that have RSS feeds.

Posted Wed Mar 6 20:06:29 2024 Tags:
I regularly replace old links with archive.org links using my Waybackify tool. But if often fails because an error or login page got archived instead. Here's one of my favorites.

Has anyone written a tool that does a decent job of detecting when an archived page is actually an error page?

Please, I beg of you, note that I did not ask, "Do you have any suggestions on how one might write such a tool." I also did not ask whether you think the task is easy, hard, or impossible.


Update: The answer is "No, nobody has done a decent job of that."

Adding myself to the list of people who have not done a decent job of that, I have added an indecent, halfassed "soft 404" detector to Waybackify that detects (some) unusable snapshots of Facebook and Twitter, and when found, tries several adjacent earlier and later snapshots until it finds one that works. My test case was the 8,000+ archived Facebook links to DNA Lounge performers. It works by matching how Facebook happened to translate the phrase "Security Check Required" into a dozen human languages.

In an ideal world, someone who works for Internet Archive would run a similar query internally and simply delete all of those bad crawls, since they convey no information other than "this snapshot failed but our system didn't notice that".


Previously, previously, previously.

Posted Tue Mar 5 03:34:08 2024 Tags:

At the start of the last pandemic I happened to have a huge bag of flour and a single packet of yeast and wound up living off homemade bread with a yeast culture I kept alive for a while. This is a pretty good plan for having a stockpile of food around for such an emergency, with dried rice, beans, and pasta being other good options, along with all manner of canned goods.

The good news from the experiences of the last pandemic is that although supply chains may be disrupted there will always be plenty of food. It may be necessary to drive around in tanks to crush the zombies on the road, but we’ll still have Door Dash via tank, because we aren’t savages.

Thanks for reading Bram’s Thoughts! Subscribe for free to receive new posts and support my work.

Still, it’s fun to consider what one would do to survive if all one had was an apartment or possibly a suburban lawn to get food off of. For basic calories there’s a clear winner: potatoes. Potatoes are the uber crop, able to be grown trivially and producing mass amounts of calories. They aren’t terribly nutritious, but they’ll keep you alive for a long time.

If things go long enough you’ll need a source of protein. We humans can eat practically any animal, but most of them have issues which make their domestication problematic. There are some animals which can be raised trivially under just the right conditions, for example sometimes you can build an artificial berm in the ocean and simply pick up oysters from it as they grow naturally, but for the most part the standard animals raised for meat are well the best in terms of ease of raising and yield of meat. Chickens are a ridiculous outlier in terms of yield but aren’t terribly conducive to keeping indoors. Crickets are another huge outlier in productivity and in principle can be ranched indoors but the equipment for that isn’t terribly common.

For ease of raising them indoors with occasionally letting them outside to graze there’s a clear winner: guinea pigs. The biggest problem would be people being able to bring themselves to slaughter them. Rabbits are close behind with similar slaughtering issues. Other reasonably easy animals which are bigger include goats and pigs. You’d be basically raising a petting zoo for food, which is good for having cute animals around but bad for getting attached to them.

Thanks for reading Bram’s Thoughts! Subscribe for free to receive new posts and support my work.

Posted Mon Mar 4 19:40:47 2024 Tags:
San Francisco political support data shows true alignment:

San Francisco (and much of the Bay Area) has a curious political idiosyncrasy where brand-name Republican candidates and issues get so little traction among voters so as to be considered irrelevant. Yet, many republican ideals and beliefs do receive substantial support from locals.

This dynamic causes practically republican organizations to outwardly re-code and re-brand as something -- anything -- other than GOP. Popular self-descriptions include Moderate or middle-of-the-road Democrat. However, this analysis is motivated by ignoring these pretenses and looking exclusively at indicated issue recommendations / endorsements, and understanding how similar vs. how different each political organization is acting (a behaviorist / empirical approach).

Previously, previously, previously, previously, previously, previously.

Posted Sun Mar 3 21:36:07 2024 Tags:
Code of Matt: (My favorite is this one):

Street lighting in Paris, France was inadvertently turned off at midnight at the start of February 29th, according to reporting by Le Parisien, a French daily newspaper. The operator, Cielis, told the reporter that the problem was linked to a programming fault related to the leap day. It took several hours for lighting to be manually restored.

Previously, previously, previously, previously.

Posted Sun Mar 3 19:09:21 2024 Tags:
Waymo can now charge for robotaxi rides in LA and on San Francisco freeways:

Last month, the CPUC's Consumer Protection and Enforcement Division suspended Waymo's application to expand its robotaxi service in Los Angeles and San Mateo counties for up to 120 days to provide extra time for review. [...] The five protests came from the city of South San Francisco, the county of San Mateo, the Los Angeles Department of Transportation, the San Francisco County Transportation Authority and the San Francisco Taxi Workers Alliance.

Just brazenly saying the quiet part out loud, as usual:

"We will, as we did in San Francisco, expand our service before we start charging," she said. "And I mean, we sort of show up and you get to experience this for a couple of months or several months without paying. And then we have that moment of truth, which we went through in San Francisco, which is we start charging, and then we figure out how many people [have] really integrated it into their lives. What's the price point they're willing to pay?"

Let's not forget that these companies are still immune from prosecution when one of their remotely-operated drones commits a moving violation, up to and including a killing. And that Waymo's owner Google have stated in court filings that it is good for business if their competitors' cars kill more people.

Previously, previously, previously, previously, previously, previously, previously.

Posted Sat Mar 2 20:30:43 2024 Tags:

Planet Debian upstream is hosted by Branchable.