HAproxy and Prometheus

Why didn’t my own handcrafted work when HAproxy was the middleman? It worked with curl! Maybe compression? No, turns out that was OK. Some other Accept-header? I ended up running tcpdump:

I ended up suspecting the port 80 being sent by Prometheus. I tried it with curl but even with this below curl didn’t send the portnumber(and so didn’t fail):

curl -sH 'Accept-encoding: gzip' -H "Accept: application/openmetrics-text;version=1.0.0,application/openmetrics-text;version=0.0.1;q=0.75,text/plain;version=0.0.4;q=0.5,/;q=0.1" http://networkmon.incandescent.tech:80/ | gunzip -

I changed it in HAproxy instead and it worked:

Note how the portnumber isn’t shown in the output above but tcpdump showed us that the port number is sent along. Anyway, I needed HAproxy’s Consul service discovery to translate the networkmon pointer into a fixed address. This is what I use now:

    acl ACL_networkmon hdr_sub(host) -i networkmon.incandescent.tech
    use_backend networkmon-backend if ACL_networkmon

backend networkmon-backend
    balance roundrobin
    option httpchk HEAD /
    server-template networkmon 1 _networkmon._tcp.service.consul resolvers consul resolve-opts allow-dup-ip resolve-prefer ipv4 check

I’ll post the entire Ansible cookbook soon.

Bad error messages 1

Here is output from my fully functional pdns-recursor instance:

Sep 12 19:48:25 runner02.incandescent.tech docker[429556]: Sep 12 17:48:25 PowerDNS Recursor 4.9.1 (C) 2001-2022 PowerDNS.COM BV
Sep 12 19:48:25 runner02.incandescent.tech docker[429556]: Sep 12 17:48:25 Using 64-bits mode. Built using gcc 10.2.1 20210110 on Aug 25 2023 09:18:15 by root@0b77bb2e4da4.
Sep 12 19:48:25 runner02.incandescent.tech docker[429556]: Sep 12 17:48:25 PowerDNS comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it according to the terms of the GPL version 2.
Sep 12 19:48:25 runner02.incandescent.tech docker[429556]: Sep 12 17:48:25 msg="Enabling IPv4 transport for outgoing queries" subsystem="config" level="0" prio="Notice" tid="0" ts="1694540905.330"
Sep 12 19:48:25 runner02.incandescent.tech docker[429556]: Sep 12 17:48:25 msg="NOT using IPv6 for outgoing queries - add an IPv6 address (like '::') to query-local-address to enable" subsystem="config" level="0" prio="Warning" tid="0" ts="1694540905.330"
Sep 12 19:48:25 runner02.incandescent.tech docker[429556]: Sep 12 17:48:25 msg="Setting access control" subsystem="config" level="0" prio="Info" tid="0" ts="1694540905.331" acl="allow-from" addresses="127.0.0.0/8 10.0.0.0/8 100.64.0.0/10 169.254.0.0/16 192.168.0.0/16 172.0.0.0/8 ::1/128 fc00::/7 fe80::/10"
Sep 12 19:48:25 runner02.incandescent.tech docker[429556]: Sep 12 17:48:25 msg="Will not send queries to" subsystem="config" level="0" prio="Notice" tid="0" ts="1694540905.339" addresses="127.0.0.0/8 10.0.0.0/8 100.64.0.0/10 169.254.0.0/16 192.168.0.0/16 172.16.0.0/12 ::1/128 fc00::/7 fe80::/10 0.0.0.0/8 192.0.0.0/24 192.0.2.0/24 198.51.100.0/24 203.0.113.0/24 240.0.0.0/4 ::/96 ::ffff:0:0/96 100::/64 2001:db8::/32 0.0.0.0 ::"
Sep 12 19:48:25 runner02.incandescent.tech docker[429556]: Sep 12 17:48:25 msg="Redirecting queries" subsystem="config" level="0" prio="Info" tid="0" ts="1694540905.339" addresses="192.168.2.72:8053" recursion="0" zone="svealiden.se"
Sep 12 19:48:25 runner02.incandescent.tech docker[429556]: Sep 12 17:48:25 msg="Redirecting queries" subsystem="config" level="0" prio="Info" tid="0" ts="1694540905.339" addresses="192.168.2.72:8053" recursion="0" zone="incandescent.tech"

The highlighted section is my problem because I use 192.168.0.0/16 for my local network. Well, 192.168.0.0/21 actually but that is a strict subset of 192.168.0.0/16 – which I also believe makes 192.168.0.0/21 a partition from a set-theoretical perspective. But guess what? I run my pdns authoritative name servers on this network which pdns-recursor claims it will not send queries to – and it works fine!

I don’t know what they are referring to but can’t figure it out. I even looked in the source code to no avail. Anyway, it slowed down debugging by a few hours.

Docker and dns

Got pihole<->pdns recursor<->pdns authoritative to work on docker. Had to make them use host network:

/etc/systemd/system/pdnsauth.service:

[Unit]
Description=PowerDNS authoritative DNS server

[Service]
TimeoutStartSec=45
Restart=always
ExecStartPre=-/usr/bin/docker stop pdnsauth
ExecStartPre=-/usr/bin/docker rm pdnsauth
ExecStart=/usr/bin/docker run --name pdnsauth --network host -v /etc/containers/pdns-authoritative/config/pdns.conf:/etc/powerdns/pdns.conf -v /etc/containers/pdns-authoritative/config/named.conf:/etc/named/named.conf -v /etc/containers/pdns-authoritative/zones:/etc/zones --cpu-quota=50000 --memory=256m "dockerregistry.incandescent.tech:1080/pdns-auth-48:4.8.1"

[Install]
WantedBy=multi-user.target

/etc/systemd/system/pdnsrecursor.service:

[Unit]
Description=PowerDNS recursive DNS server

[Service]
TimeoutStartSec=45
Restart=always
ExecStartPre=-/usr/bin/docker stop pdnsrecursor
ExecStartPre=-/usr/bin/docker rm pdnsrecursor
ExecStart=/usr/bin/docker run --network host --name pdnsrecursor -v /etc/containers/pdns-recursor/config/recursor.conf:/etc/powerdns/recursor.conf -v /etc/containers/pdns-recursor/config/dnshosts:/etc/hosts --cpu-quota=30000 --memory=256m "dockerregistry.incandescent.tech:1080/pdns-recursor-49:4.9.1"

[Install]
WantedBy=multi-user.target

/etc/systemd/system/pihole.service:

[Unit]
Description=PiHole

[Service]
TimeoutStartSec=60
RestartSec=5s
Restart=always
ExecStartPre=-/usr/bin/docker stop pihole
ExecStartPre=-/usr/bin/docker rm pihole
ExecStart=/usr/bin/docker run --name pihole --network host -v "/srv/storage/pihole/etc-pihole:/etc/pihole" -v "/srv/storage/pihole/etc-dnsmasq.d:/etc/dnsmasq.d" --restart=unless-stopped --hostname pihole --env-file /etc/containers/pihole/environment/pihole.env --cpu-quota=50000 --memory=2048m "dockerregistry.incandescent.tech:1080/pihole:2023.05.2"

[Install]
WantedBy=multi-user.target
/etc/containers/pdns-authoritative/config/pdns.conf:
local-address=0.0.0.0,::
local-port=8053
launch=bind
bind-config=/etc/named/named.conf
webserver-address=0.0.0.0
allow-axfr-ips=192.168.0.0/21,172.0.0.0/8,10.0.0.0/8
api=yes
api-key=SECRETAPI
default-ttl=3600
webserver=yes
webserver-password=SECRETWEB
webserver-allow-from=192.168.0.0/21,172.0.0.0/8,10.0.0.0/8
loglevel=6
include-dir=/etc/powerdns/pdns.d

/etc/containers/pdns-recursor/config/recursor.conf:
allow-from=127.0.0.0/8, 10.0.0.0/8, 100.64.0.0/10, 169.254.0.0/16, 192.168.0.0/16, 172.16.0.0/12, ::1/128, fc00::/7, fe80::/10
forward-zones=svealiden.se=192.168.2.73:8053
local-port=7053
local-address=0.0.0.0
webserver=yes
webserver-address=0.0.0.0
webserver-allow-from=192.168.0.0/16,172.0.0.0/8,10.0.0.0/8
webserver-password=SECRETWEB
webserver-port=8082
dnssec=off
export-etc-hosts=yes
log-common-errors=yes
loglevel=7
dont-throttle-netmasks=192.168.0.0/21,172.0.0.0/8,10.0.0.0/8

/etc/containers/pihole/environment/pihole.env:

PROXY_LOCATION=192.168.2.73
FTLCONF_REPLY_ADDR4=192.168.2.73
PIHOLE_DNS_=192.168.2.73#7053
TZ=Europe/Stockholm
WEBPASSWORD=SECRETWEBPIHOLE
QUERY_LOGGING=True
INTERFACE=ens18

Tests are run from runner03(192.168.2.73)

root@runner03:~# dig mx svealiden.se @192.168.2.73 -p 8053

; <<>> DiG 9.18.12-0ubuntu0.22.04.2-Ubuntu <<>> mx svealiden.se @192.168.2.73 -p 8053
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31309
;; flags: qr aa rd; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 2
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;svealiden.se.                  IN      MX

;; ANSWER SECTION:
svealiden.se.           3600    IN      MX      10 mail.svealiden.se.
svealiden.se.           3600    IN      MX      20 mail2.svealiden.se.

;; ADDITIONAL SECTION:
mail.svealiden.se.      3600    IN      A       192.0.2.3

;; Query time: 0 msec
;; SERVER: 192.168.2.73#8053(192.168.2.73) (UDP)
;; WHEN: Thu Aug 31 17:57:03 UTC 2023
;; MSG SIZE  rcvd: 100

root@runner03:~# dig mx svealiden.se @192.168.2.73 -p 7053

; <<>> DiG 9.18.12-0ubuntu0.22.04.2-Ubuntu <<>> mx svealiden.se @192.168.2.73 -p 7053
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48796
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;svealiden.se.                  IN      MX

;; ANSWER SECTION:
svealiden.se.           3225    IN      MX      20 mail2.svealiden.se.
svealiden.se.           3225    IN      MX      10 mail.svealiden.se.

;; Query time: 0 msec
;; SERVER: 192.168.2.73#7053(192.168.2.73) (UDP)
;; WHEN: Thu Aug 31 17:57:11 UTC 2023
;; MSG SIZE  rcvd: 84

root@runner03:~# dig mx svealiden.se @192.168.2.73

; <<>> DiG 9.18.12-0ubuntu0.22.04.2-Ubuntu <<>> mx svealiden.se @192.168.2.73
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26372
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;svealiden.se.                  IN      MX

;; ANSWER SECTION:
svealiden.se.           3221    IN      MX      20 mail2.svealiden.se.
svealiden.se.           3221    IN      MX      10 mail.svealiden.se.

;; Query time: 4 msec
;; SERVER: 192.168.2.73#53(192.168.2.73) (UDP)
;; WHEN: Thu Aug 31 17:57:15 UTC 2023
;; MSG SIZE  rcvd: 84

Thin volumes in Deb-based systems

I’ve tested this with Ubuntu 22.04.2(I even did a separate installation of it in case by cloned version was bad somehow) and Debian 12, both fails to mount /dev/gluster/smb01 as a THIN volume. It’s a-oh-key with it being a volume but not a thin volume. It mounts just fine after boot so I’ve done this:

ramfs                     ramfs           0     0     0    - /run/credentials/systemd-tmpfiles-setup.service
/dev/mapper/gluster-smb01 ext4         4.9G   24K  4.6G   1% /mnt
tmpfs                     tmpfs        392M     0  392M   0% /run/user/0
root@deb12:~# systemctl status domount.service
● domount.service
     Loaded: loaded (/etc/systemd/system/domount.service; enabled; preset: enabled)
     Active: active (exited) since Thu 2023-08-03 13:44:16 EDT; 23s ago
    Process: 453 ExecStart=/etc/mountdrives.sh (code=exited, status=0/SUCCESS)
   Main PID: 453 (code=exited, status=0/SUCCESS)
        CPU: 24ms

Aug 03 13:44:16 deb12 systemd[1]: Starting domount.service...
Aug 03 13:44:16 deb12 systemd[1]: Finished domount.service.
root@deb12:~# cat /etc/systemd/system/domount.service
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/etc/mountdrives.sh

[Install]
WantedBy=multi-user.target
root@deb12:~# cat /etc/mountdrives.sh
#!/bin/bash

mount -a

If you don’t follow along, it’s basically rc.locale but as a systemd script that simply runs “mount -a” after boot and everything is fine. I guess I should include fstab. Nah, I’ll just include the LVM stuff:

/dev/mapper/gluster-test        /srv/storage    ext4    defaults    0       0
/dev/mapper/gluster-smb01       /mnt            ext4    defaults,nofail 0   0
And LVM stuff:
root@deb12:~# lvs
  LV    VG      Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  smb01 gluster twi-aotz-- 5.00g             0.00   10.64
  test  gluster -wi-ao---- 5.00g
root@deb12:~# vgs
  VG      #PV #LV #SN Attr   VSize   VFree
  gluster   1   2   0 wz--n- <50.00g 39.98g
root@deb12:~# pvs
  PV         VG      Fmt  Attr PSize   PFree
  /dev/sdb   gluster lvm2 a--  <50.00g 39.98g

I’ve tried modifying initramfs, udev and so on but no luck. I’m busy writing Ansible stuff so I’m not going to hunt down this further but it seems like a pretty big oversight not to be able to mount thin volumes on boot.

Games I like and some that I don’t

Infinitely replayable

  • Fallout 3
  • Mass Effect
  • Mass Effect 2
  • Final Fantasy VII (PSX)
  • Civilization IV
  • XCOM: Enemy Unknown/Enemy Within
  • Frozen Synapse
  • BookWorm Adventures Volume 2
  • Minecraft Tekkit
  • Super Mario 64 (Nintendo 64) – I don’t think people without nostalgia for the game will like it.

Good

  • Assetto Corsa
  • Braid
  • Fez
  • Far Cry 3
  • Far Cry Blood Dragon
  • SpaceChem
  • Prince of Persia: The Sands of Time (PS2)
  • Chained Echoes
  • Factorio
  • Subnautica
  • The Talos Principle
  • Tropico 4
  • Viscera Cleanup Detail
  • Creeper World III: Arc Eternal
  • Bioshock
  • Bioshock Infinite
  • Shadowrun Returns
  • Kerbal Space Program
  • Fallout: New Vegas
  • Hotline Miami
  • Batman: Arkham City
  • The Swapper
  • Metroid Prime 3: Corruption (Wii)
  • Advance Wars (Gameboy Advance, series)
  • Super Mario Galaxy (Wii, series)
  • Door Kickers
  • Half-life
  • Half-life 2
  • Portal
  • Portal 2
  • Red Faction: Guerilla
  • World of Goo
  • Trials 2: Second Edition
  • Trials Evolution Gold Edition
  • Rush
  • Hexcells (series)
  • The Legend of Zelda: Ocarina of Time (N64)
  • The Legend of Zelda: A Link to the Past (SNES)
  • The Legend of Zelda: Twilight Princess (Wii) – The weakest Zelda game I’ve played that wasn’t Skyward Sword bad.
  • Mark of the Ninja
  • Nuclear Throne
  • Huntdown
  • Trine (series)
  • Operation Flashpoint: Dragon Rising
  • Simutrans/OpenTTD
  • Super Mario Sunshine (Gamecube)
  • God of War (PS2)
  • Deus Ex: Human Revolution
  • Ratchet & Clank (PS2)
  • Resident Evil 4 (PS2)
  • Grand Theft Auto III (PS2)
  • Grand Theft Auto: Vice City (PS2)
  • Metal Gear Solid (PSX)
  • GoldenEye 007 (N64)
  • Super Metroid (SNES)
  • Infested Planet
  • Mafia (2002)
  • Metro 2033
  • Gunpoint
  • Prison Architect
  • The Legend of Heroes – Trails in the Sky First Chapter

Candidates

  • Stardew Valley
  • FTL
  • Psychonauts
  • Darksiders Warmastered Edition
  • Cities: Skyline
  • Battletech
  • Children of a Dead Earth
  • Kingdoms of Amalur: Reckoning
  • Astlibra Revision
  • Satellite Reign
  • TIS-100
  • Ys-series
  • Tales of-series
  • Octopath Traveller
  • Dyson Sphere Program
  • CrossCode
  • Homeworld Remastered Collection
  • Shadowrun: Dragonfall
  • Ys Origin
  • The Legend of Heroes: Trails in the Sky
  • Torchlight II

Not right now

  • Bravely Default II – Visually overwhelming and not keen on the music. Otherwise it seems good.
  • Atelier Sophie – JRPG with 3D graphics might not be for me. I like the world of this game so I’ll try it again later.

No

  • Fallout 4
  • Disgaea
  • Primordia
  • The Bureau: XCOM Declassified
  • The Elder Scrolls IV: Oblivion

Things that we should all pretend never existed

  • Mass Effect 3
  • Legend of Zelda: Skyward Sword (Wii)
  • Metal Gear Solid 2 (PS2)

BookWorm Adventures Volume 2

I play this game from time to time but it needs to be played in moderation lest my brain gets locked into “letter permutation mode” which isn’t great. Big ups to Extra History on YouTube for bringing me the word debentures, a type of IOU issued by the British armed forces back in the day.

Sokrates ’63

ASAC: Come in!
Agent: Sir! Have you heard?
ASAC: About the president? Yes, I heard he died after being shot. It's been all over the news.
Agent: I'd like to volunteer to go down to Dallas to start investigating the assassination!

The agent stands at attention looking straight ahead, over the head of his boss.

ASAC: Could you close the door?
Agent: Uhm... Yes, of course!
ASAC: Thank you! Now, I have a few questions...

The agent in charge frowns and looks around the office.

ASAC: Could you tell me what leads you will investigate in Dallas and what you will uncover?
Agent: ... No, sir. I mean, I can tell you that we would start checking the physical evidence and work our way out from this suspect named Oswald, but where the investigation would go from there is something that we will have to figure out along the way. That's how things always work.
ASAC: Mmm... Let me put it slightly differently, can you tell me right here and now that your investigation won't under any circumstances investigate employees of the US federal government?
Agent: No, that would be precisely the sort of thing that we can only answer after the fact.

The agent in charge smiles.

ASAC: Ah, but that's just the thing! You would have to give that guarantee to be part of this investigation.

The young agent looks confused.

ASAC: Look, this just happened a few hours ago and I haven't heard word one from the top brass about this, but I can tell you what you should expect. No one in a position of authority is going to let an investigation of the murder of the president of the United States so much as imply that the military or the CIA was involved.
Agent: Do you really think they are?!
ASAC: That's not the point. The questions will be asked - whether it be born of a genuine suspicion or a wish to embarrass the government - and it will be the responsibility of investigators to categorically rule out any such connection. The Cuban missile crisis last year almost set the world on fire! Do you think the Soviet Union would allow there to be so much as a sliver of indication that the military is trying to take control?
Agent: ...
ASAC: The US can't afford to spend six months with half the government eyeing the other half under suspicion of arranging a coup d'état. I hope someone will investigate this assassination properly and... deal with whoever was behind it. But the FBI won't be doing that work. Our job will at most be to rubber-stamp a finished product that someone higher up the food-chain thinks is geo-politically acceptable. Do you want that job? Did you come in here to volunteer signing whatever whitewash the "powers that be" decides on?
Agent: No.
ASAC: I didn't think so. You want to do what I want to do, you want to investigate properly no matter where the investigation goes. But that's not on the cards. So please... Go back to work. Keep doing what your're doing and keep your nose out of this.
Agent: I see. I appreciate that you cleared this up.
ASAC: Politics is always a part of what we do, but it doesn't usually override the mandate congress has given us or the laws of this land. Here? It will.

The agent nods at his boss and turns to leave. He stops before he reaches the door.

Agent: Boss? Can I ask you one more thing?
ASAC: Sure.
Agent: What if they catch Oswald? Alive, I mean. He might point fingers every which way. Won't someone have to investigate those leads at that point?
ASAC: Uhm... I hadn't thought of that. Let's put it like this: if Oswald is arrested and he makes accusations against the military or some big-shot politicians... We're never going to hear about it. If there are ever transcripts of his testimony made public they will be very innocuous and Oswald will not challenge them. Perhaps because he won't be able to challenge those records. I'll bet you a steak dinner!
Agent: I understand.

The point of this scene comes from a thought-experiment: why did the FBI, the Dallas Police and the Warren commission investigate the assassination of John F. Kennedy so poorly? The quality ranges from “Not super-interested in hearing new things” in the case of the Warren commission to “Oliver and Hardy” in the case of the Dallas Police. It’s not entirely unreasonable to draw the conclusion that it was a massive cover-up to hide some deeper conspiracy. But my argument here is that no one doing any kind of official investigation was willing to ask certain questions simply because those questions were too dangerous, independently of the answer.

Simiarly you are unlikely to ever hear the head of the SEC or FDIC call for an investigation into whether the largest bank in America has falsified their records to hide insolvancy. That would crash the economy in about thirty minutes. So it’s just not done. It’s the sort of thing that is handled behind the curtain and if things are really bad the government announces the problem at the same time as their bail-out to keep the country from falling apart.

That the cover-up wasn’t done because of some specific knowledge of who was involved doesn’t make the cover-up any less of a cover-up. It’s just that we can’t necessarily draw the conclusion that the FBI knew that the CIA was involved in the assassination. It all had to point squarely at one guy and maybe some punks that guy knew. No links to his time in the military. No questions how he defected to the Soviet union and got help coming back to the US after two years instead of being investigated for treason. It was just one guy. The FBI probably started typing up that stuff the same day as the assassination.

Personally I think the ham-fisted investigations of the JFK assassination actually serves as something of an argument against it being a properly organized hit involving the CIA and the DoD. “The only suspect in the killing of the US President was just shot dead while in police custody, having been questioned without a lawyer present for two days leaving all statements inadmissable in a future court proceeding against him.”

In the movie JFK(which I recommend watching but which should also be taken with a grain of salt) the protagonist asks something along the lines of:

If you heard Premier Chrustchev was shot dead while being driven through Moscow, and that the only suspect was a capitalist who spent two years living in the US, would you take that a face value? When the only suspect is shot and killed while in police custody, do you not sense that something might be off? When law enforcement concludes almost immediately that there was one shooter and absolutely no one else was involved, do you consider that to be reasonable?

As competently as the assassination was performed, so the cover-up was incompetently performed. I assume Oswald was meant to be killed in a shoot-out with the police but that didn’t quite work. Seems like it would have been worth the effort to do that job properly. It was a mess when Oswald was captured alive. Now he had to meet an untimely end in police custody and in the meantime his statements created a big headache. His words “I am a patsy!” were caught on a TV news camera and is to JFK assassination conspiracy theories what the phrase “Let there be light!” is to the bible. Whoever was involved knew how to shoot really well and not get caught but to line up all the puzzle-pieces to make a nice believable story about a jackass named Oswald – who couldn’t do anything right – killing the president all by himself? Not so much.

Twitter in flames

As someone who considers Twitter to be equivalent to a disease I’m entertained by Elon Musk burning the company to the ground. He’s like Tony the security guard in this RiffTrax short about Hormel.

Tony has the Guinness world record for Most wrong decisions made in a lifetime.

Firing staff only to realize that some of them were necessary to maintain operations wasn’t great.

Blocking links to rival social media platforms is quite astounding. Something tells me that agencies like the FTC or the Swedish Competition Authority will take exception to that kind of move. It also goes down very poorly with netizens, which seem like an important part of the demographic for Twitter.

Now Twitter is issuing new shares to stay afloat.

In comes the EU to make the situation even worse. In writing this I’m reminded of JonTron’s attempt at being politically correct in his criticism of a bad game. The EU arguing that reporters’ ability to use a privately owned and operated service is an important part of media freedom is quite embarrassing. The remarks are not made more reasonable by the implication that a reporter has greater rights than non-reporters. The EU don’t condemn arbitrary suspensions of ordinary Twitter accounts, just those of reporters or politicians. It would have been nice if they had at least pretended to uphold egalitarian principles.

Not that it was a clever move for Twitter to ban the reporters in the first place. On account of issues faced by Elon Musk personally Twitter now takes the view that providing information about people’s real-time location is “doxxing”:

Any account doxxing real-time location info of anyone will be suspended, as it is a physical safety violation. This includes posting links to sites with real-time location info.

Elon Musk quoted by the BBC | https://www.bbc.com/news/world-us-canada-63978323

While restrictions of publishing people’s real-time location isn’t entirely unreasonable the ElonJet-account simply tweeted publicly available information about the movement of airplanes. To then go on a banning-spree of reporters who write about the suspension of the ElonJet-account and blocking links to Mastodon…

Can we now start talking about Hyperloop being a boondoggle from the very start and that Tesla has been promising more than it can deliver? Paypal and SpaceX are great accomplishments and Tesla has had a net-positive impact on the world(even if it makes promises it can’t keep) which Musk should be given credit for. But people shouldn’t trust his judgement in all matters more than they trust their own common sense.

2022-12-19

Well that escalated quickly. First banning people for referencing their accounts on other social media platforms: https://www.svt.se/nyheter/utrikes/twitter-forbjuder-lankar-till-konkurrenter [ In Swedish ]

And then Elon holding a public vote on whether he should step down as head of Twitter: https://www.bbc.com/news/business-your-money-64021412

Credit to him for taking complaints seriously, but I think it would be sufficient for him to run major changes by some people before rolling them out. You’ve got employees, most of them are probably at least of average intelligence. Why not avail yourself of their recommendations? You don’t have to abide by them. But listening to these questions carefully would have served Elon well these past few weeks:

  • Are we sure all these employees are redundant? Maybe we should understand the company a bit more before we fire half the workforce?
  • Banning people from linking to competitors might not be great. Don’t we risk picking a fight with the EU at the very least? The US DoJ might not be super-happy with it either…
  • Should we really be talking about freedom of speech in such black-and-white terms? It’s kind of a tricky issue – it has been for centuries – so saying that we’re for free speech is going to lead to lots of misunderstandings and accusations of not living up to our commitments. Because everyone has their own idea of what “free speech” is exactly.

Helpful Pointers for the British Conservative Party

In the interest of fairness I can’t tear Russia’s idiotic decisions to shreds and not call out the British Conservative Party for using the United Kingdom as a stage on which to play out their reality-TV “drama”. They spent a year bickering about kicking Boris Johnson out, then they finally did, then they spent three months choosing a new one who spent a month and a half in office before being forced to resign by her own party. If they don’t announce that a new general election will be held they might as well change the British national anthem to Einzug der Gladiatoren.

You can’t drag the whole country down with you as you play Survivor. Well, I mean you obviously can do that but I mean that you at least have to give the electorate an opportunity to vote on whether they accept your attempt to change the form of government from constitutional monarchy to Benny Hill slapstick. Because you didn’t run on a platform of Benny Hill slapstick in the previous election! You gave no indication whatsoever that you were intending to treat the positions of prime minister or chancellor of the Exchequer as a game of three card Monte.

The thing is, even if a very competent government with ample support from it’s own party ran the country they’d still be hard pressed to improve matters. Because the UK has been racking up massive debt for a long time and so it can’t borrow lots of money to introduce reforms that are necessary for the country to improve its ability to pay back the money it owes. That’s why you don’t rack up quite so much debt! It leaves you with a lot fewer choices.

If they cut public spending on things that don’t generate income, focus heavily on education and expand both IT and traditional industry domestically they might be able to crawl up the hill they are currently sliding down. The services they cut may well be things that improve public health, standard of living and international prestige but right now the UK is fighting to stave off bankruptcy. When you reach that point you need to play hard ball. Again, this is why you don’t decay for years and years and years and just say “This is fine.

2022-10-22

So far, the BBC estimates that Mr Sunak has the most MPs declaring their support, with 63, compared to 38 for Mr Johnson and 17 for Ms Mordaunt.

https://www.bbc.com/news/uk-politics-63338171

I often think about what Yahtzee of Zero Punctuation said about people launching a new MMO:

So the obvious question when you’re proposing a new MMORPG is “ARE YOU FUCKING INSANE?! World of Warcraft picks bigger rivals than you out of its teeth every morning!

https://youtu.be/FRXb1Lr4G3c?t=107

Someone needs to get the Tories together and run all their ideas through Yahtzee or some equivalent before saying anything publicly. I thought the worst case scenario here was that they elected someone new and then fired them after six hours. It never occurred to me that bringing back Boris Johnson would even be part of someone’s fever-dreams. You spent a year publicly debating his position as party leader before finally booting him out! That was fifteen weeks ago! I’m not surprised that he has his supporters within the party but I had thought some modicum of common sense would keep people from discussing this where other people could hear them…

2022-10-25

So Boris Johnson bowed out and Rishi Sunak won. Credit to Boris Johnson for seeing the absurdity in him vying for the leadership a few months after being kicked out. Now begins the real work, as opposed to Tory drama and picking fights with Britain’s creditors! I suspect Mr Sunak will go down in infamy. He will have to bring reality to the British people and I don’t think they will like that. He will fix the country and will be blamed for all the hardship that his predecessors made an inevitability. A sin-eater.

Favorite MST3K episodes

  • K09 – Phase IV
  • K19 – Hangar Eighteen
    It has a great scene with Robert Vaughn around 00h:15m-00h:20m where they arrange a cover-up about a UFO and reason back and forth about the hows and the whys. Actually a movie worth watching in its own right. Basically Capricorn One with some X-Files thrown in.
  • S01E02 – The Robot vs The Aztec Mummy
  • S01E13 – The Black Scorpion
  • S02E12 – Gozilla vs Megalon
  • S03E06 – Time of the Apes
  • S03E10 – Fugitive Alien I
  • S03E14 – Mighty Jack
  • S03E18 – Star Force Fugitive Alien II
  • S03E21 – Santa Claus Conquers the Martians
  • S03E23 – The Castle of Fu-Manchu
  • S04E20 – The Human Duplicators
  • S04E22 – The Day the Earth Froze
  • S04E23 – Bride of the Monster
  • S04E24 – Manos the Hands of Fate
  • S05E01 – Warrior of the Lost World
  • S05E21 – Santa Claus
  • S06E02 – Invasion USA
  • S06E06 – The Creeping Terror
  • S06E08 – Codename Diamond Head
  • S06E17 – The Sword and the Dragon
  • S06E19 – Red Zone Cuba
  • S06E20 – Danger Death Ray
  • S07E01 – Night of the Blood Beast
  • S07E04 – The Incredible Melting Man
  • S07E05 – Escape 2000
  • S08E01 – Revenge of the Creature
  • S08E04 – The Deadly Mantis
  • S08E06 – The Undead
  • S08E08 – The She Creature
  • S08E10 – The Giant Spider Invasion
  • S08E13 – Jack Frost
    Finnish or Russian movie about some deity that creates winter.
  • S08E14 – Riding with Death
    Two episodes from an intended TV series glued together to make a TV-movie. Nicely 70’s flat and stupid.
  • S08E15 – Agent for H.A.R.M
  • S08E16 – Prince of Space
    Atrocious Japanese black-and-white sci-fi. Marvelous MST3K-episode.
  • S08E17 – Horror of Party Beach
  • S08E18 – Devil Doll
  • S08E19 – Invasion of the Neptune Men
    Another atrocious Japanese black-and-white sci-fi. Another marvelous MST3K-episode.
  • S08E22 – Overdrawn at the Memory Bank
  • S08E20 – Space Mutiny
  • S09E01 – The Projected Man
  • S09E03 – Puma Man
  • S09E05 – The Deadly Bees
  • S09E06 – The Space Children
  • S09E07 – Hobgoblins
    A movie so blisteringly awful it almost makes the inventor of the movie camera renounce his great work from the grave.
  • S09E09 – Gorgo
  • S09E11 – Devil Fish
  • S10E04 – Future War
  • S10E05 – Blood Waters of Dr Z
  • S10E07 – Track of the Moon Beast