Mar 132024

The current crop of clownish criminals in the House of Commons just goes to show that the regulation need a bit of a brush-up. Here’s a few of my suggestions :-

  1. Secret electronic voting. Which has the downside that we can’t see what our MPs voted for or against, but does allow them greater latitude in ignoring the party whip when it comes to things that shouldn’t be passed.
  2. Electronic voting should make this easier: MPs should recuse themselves when their vote could influence their income – for example MPs who are also landlords should not vote on motions involving landlordism.
  3. MPs should be allowed to do jobs outside of their work as an MP, but their income should be capped at an hourly rate equivalent to their salary as an MP; any extra goes into the general taxation fund. Sound unfair? There’s plenty of senior public sector workers with exactly that sort of contract. It would allow MPs to keep “in practice” but not encourage them to seek outside work.
  4. MPs who change party allegiance or lose the whip should be subject to the same recall petition mechanism that being found guilty of “wrongdoing” makes available.
  5. Accusations of lying should be permitted which should invoke an investigation. A false accuser gets sanctioned (which opens them up to a recall petition) and an accurate accusation gets the accused sanctioned (likewise).

I’m sure there’s a whole bunch more to add but that’s enough for now. I’m sure MPs will hate it, but to be honest, the more an MP hates a regulation, the more likely it is to be useful.

B&W picture of the sea and some old wooden posts.
Mar 102024

The frothing-at-the-mouth loons on the far right are all over themselves whining about Islamic terrorism including counting the weekly marches against what is happening in Palestine as Islamic terrorism. Islamic terrorism in the UK is a legitimate problem, but the elephant in the room is far-right terrorism. There’s a fair amount of it going on :- (sourced from the Wikipedia article listing terrorist attacks in the UK)

  1. 2022-10-30: The Dover firebomb attack.
  2. 2019-03-16: Vincent Fuller “used a baseball bat to attack the home of a neighbour of Indian descent and several cars driven by non-white drivers, shouting “Kill Muslims” and “white supremacy” according to witnesses, before stabbing a 19-year-old Bulgarian man”
  3. 2017-06-19: The Finsbury Park van attack.
  4. 2016-06-16: The murder of Jo Cox.
  5. 2013-04-29: : Pavlo Lapshyn, a Ukrainian student and right-wing extremist, fatally stabbed Birmingham resident Mohammed Saleem.
  6. 2013-06-21: He detonated a home-made bomb outside a mosque in Walsall.
  7. 2013-06-28: He detonated a second home-made bomb near a mosque in Wolverhampton.
  8. 2013-07-12: He attacked a mosque in Tipton with an improvised explosive device containing nails.
  9. 1999-04-17: The London nail bombings.
  10. 1999-04-24: The London nail bombings.
  11. 1999-04-29: The London nail bombings.

Excluding a 2007 attack that was anti-authoritarian in nature (so could be said to be either right-wing or left-wing), and a joint IRA and Red Faction attack in 1993, the last genuine far left terrorist attack was in the early 1970s from the Angry Brigade.

Now that list of 11 attacks isn’t huge and hardly compares with the number of Islamic extremist attacks, but it’s there. And more than justifies keeping a close eye on right-whingers.

Dover Castle Gateway
Mar 102024

This is a collection of notes from my upgrade to an ASRock TRX50 WS motherboard fitted with an AMD Threadripper 7970X processor (32 cores) and 256Gbytes of memory. The upgrade meant that I retained the case, drives, graphics card, etc. from the previous system.

Most of the problems encountered were due to user stupidity.

First of all, whilst many of us have heard about the amount of time that DDR5 takes to “calibrate” itself, what I didn’t know was that the firmware status code shows “00” during this process (a dedicated “I’m messing with memory” code would be handy). And whilst it takes a while to do, if it takes longer than about 5m, then something else is wrong.

In my case it turned out that I hadn’t read the instructions properly and I hadn’t connected enough power connectors. To get it to work, I needed the usual 24-pin power connector, an 8-pin connector, and a 6-pin connector all connected on the “drive” side of the motherboard (opposite the side with the PCIe slots). Once that was sorted, the system was up and running.

The remaining notes relate to “tweaking”.

Booting Linux

Of course I use Linux, what the hell else would I use? FreeBSD? Well, that would be a good choice.

The biggest problem I had booting Linux was changing the netplan configuration to pick up the new network interfaces. In my case, the Marvell interface (the 10G one) came up as enp65s0 and the Realtek interface (the 2.5G one) as enp69s0. Because I’m bound to plug the cable into the wrong interface, I simply bonded the two interfaces together; the relevant section of my netplan configuration is as follows :-

  version: 2
  renderer: networkd
      interfaces: [enp65s0, enp69s0]
    enp65s0: {}
    enp69s0: {}

Yes, you can choose silly names here. And yes the bonding works fine – just now I swapped the cable over to the “right” NIC with numerous active network connections, and everything stayed alive.

Firmware Upgrade

The motherboard was supplied with version 6.04 of the firmware (I refuse to call this a “BIOS” because it just isn’t “basic” any more) whereas the latest was 7.09. The process is fairly simple :-

  1. Download the relevant firmware version from
  2. Save it to a FAT32 USB disk – I used a vfat formatted disk and I have a sneaking suspicion that exFAT will work too. The “Instant Flash” instructions by ASRock are obviously somewhat dated – it even mentions that saving to a floppy disk will work!
  3. Reboot the system and start the UEFI firmware. Select “Tools” and “Instant Flash”.
  4. Follow the on-screen instructions.

If you’re replacing a motherboard you won’t need detailed instructions here, but it is worth mentioning that the process takes a couple of reboots, and the second involves doing that memory calibration thing, so it takes an unusually long time to start.

I didn’t go to the effort to time the whole process, but my system went down at 18:04 and was back up at 18:15. So roughly 10 minutes.


This isn’t currently 100% confident as I haven’t plugged anything in yet (ignoring a failed attempt when I assumed it work just work), but the SlimSAS ports can be configured for SATA mode in the firmware. Just go to Advanced, Chipset, go to the end of the list (which involves scrolling) past the settings for the PCIe slot configuration parameters and set :-

  1. SLIMSAS1 Mode: SATA
  2. SLIMSAS2 Mode: SATA

Firmware Settings

The following settings are what I chose to set based on a very quick session search Duckduckgo for explanations. The built-in documentation is somewhat lacking although there are URLs (encoded as QR codes) for more details. This is one area where firmware authors should pay more attention – even if they just hinted which settings work best for Windows, which work best for Linux, and which ones are for compatibility for older hardware.

The choices I’ve made may not be the best, but it seems to be working. Some of the explanations may be off, so I’d welcome corrections. All of these settings are found under the “Advanced” tab of the firmware page :-

CPU Configuration

  1. SMT: Or “hyperthreading”. It is possible some scientific computing workloads might work better with this turned off, but my recommendation is to leave it to “Auto”.
  2. CPB – Core performance boost: presumably allows one core to accelerate when other cores are idle. Left on “Auto”.
  3. Global C-State control: related to power-saving. There’s a suggestion that disabling this may result in extra stability. Disabled.
  4. Local APIC Mode: controls how the APIC appears to the operating system with choices of Auto, Compatible, xAPIC, or 2xAPIC. Supposedly 2xAPIC allows for greater efficiency on higher core counts. Set to 2xAPIC.
  5. L1 Stream HW Prefetcher: Enables or disabled pre-fetching memory into cache. Enabled.
  6. L2 Stream HW Prefetcher: Enables or disabled pre-fetching memory into cache. Enabled.
  7. SMEE (SME?): Secure memory (i.e. encrypted) for virtual machines. Not likely to make much difference in my case as I’m the exclusive owner of both the “host” and all of the virtual machines running on it. Left as “Auto”.
  8. SEV-ES ASID Space Limit Control: More on virtual machine security. Left on Auto.
  9. SVM mode: This option seemed to disappear on the upgrade to 7.09. If this does appear, enable it.
  10. ROM Armor: protection for SPI flash. Left as Enabled.


  1. IOMMU: virtual machine I/O virtualisation to allow PCIe pass-through to a virtual machine. Enabled.
  2. ACS: More I/O virtualisation. Suggestions hinting at allowing PCIe←→PCIe transfers. Some hints at better IOMMU set up. Enabled.
  3. Enable AER Cap: PCIe error handling. Presumably disabling Linux AER error handling. Disabled.
  4. PCIe ARI Support: Enables support for ARI which allows a device to more easily support pretending to be multiple devices (so a graphics card could be shared amongst multiple virtual machines). Although card support for this is probably quite rare, I enabled it anyway.
  5. PCIe Ten Bit Tag Support: Allows a supporting device to use greater bandwidth and lower latency. Enabled.
  6. NUMA node(s) per socket: It is suggested that this allows the processor’s CCXes (the ‘core complex’ that appears as individual chiplets in an AMD processor) to operate as separate NUMA nodes. Set to NPS4.
  7. ACPI SRAC L3 Cache as NUMA domain: It is suggested that this also allows each CCX to function as a NUMA node. Enabled.
  8. TSME: Or Transparent SME. Support for SME is done by the firmware rather than the OS. Disabled.
  9. HPET: High Precision Timer. Enables support for a newer way of doing timing. Enabled.
  10. … (missing details because they weren’t of interest to me)
  11. SLIMSAS1 Mode/SLIMSAS2 Mode: As mentioned previously, allows switching the SlimSAS ports from supporting NVME devices to supporting SATA devices. Switched to SATA mode!


  1. PCI latency timer: How many clock cycles a 32-bit PCIe card can hang onto the bus for. Leave alone (32 cycles).
  2. PCI-X latency timer: How many clock cycles a 64-bit PCIe card can hang onto the bus for. Leave alone.
  3. VGA Palette Snoop: Whether to allow other cards to snoop on the VGA palette which is used by older cards for video encoding and the like. Disabled.
  4. PERR# Generation: Something to do with PCIe card errors. Left alone.
  5. SERR# Generation: Something to do with PCIe card errors. Left alone.
  6. Above 4G Decoding: Allows card to specify a 64-bit address to house their memory window. Enabled.
  7. Re-size BAR Support: Allows a card to negotiate a larger address window than the default of 256Mbytes. Enabled.
  8. SR-IOV Support: Where PCIe cards allow, enables the creation of virtual devices to be allocated to virtual machines. Enabled.
  9. BME DMA Mitigation: Re-enable Bus Master Attribute after SMM is locked. Whatever that means! Left disabled.
Mar 042024

I recently came across a post talking about how insane it was for a diesel generator to be generating electricity for an electric car charging station. Well, yes but it might not be quite as bad as it seems.

The first thing to bear in mind is that very few cars will charge here unless they really need to – most car users will charge at home and will only use public chargers when they have no other choice. And this one is undoubtedly in a remote location where a suitable electrical feed is not available. As a remote location, it’ll get even fewer users than most public chargers.

Probably only those who haven’t properly charged their car overnight and are ‘caught short’.

The second thing to bear in mind is that although it’s a more polluting solution, it is still almost certainly far less polluting than using a petrol car. For a start, most of the electricity used in an electric car is off the grid which whilst not completely clean is at least getting cleaner (the UK is currently generating 36% with renewables and is in late winter when demand is quite high).

Next, a diesel generator is a very efficient device – far more so than a diesel vehicle because it can always run at its most efficient (assuming a sensible load and it’ll have been picked to supply the load for an electric car).

But hopefully it is just a temporary solution until someone has enough nous to set up a solar farm and a battery backup.

Dawn At The End Of The Pier
Feb 182024

Nobody likes to hear their country isn’t the best country in the world – especially when said by a filthy foreigner. But the USA isn’t.

  1. The USA is ranked 59th by life expectancy.
  2. The USA is ranked 7th by GDP per capita.
  3. The USA is ranked 123rd by pregnancy mortality ratio (there are 180-odd positions and the lowest rate is best).
  4. The USA is ranked 12th by the World Freedom Index.

I could go on, and probably there’s a metric out there where the USA is #1. But I doubt reeling off metrics showing the USA isn’t the best is going to convince many.

But here’s another reason. Assuming your country is the best leads to complacency, which eventually leads it it not being the best country in the world. So even if your country is the best country in the world, pretend it isn’t and always strive to make it better.

The Bare Family