Interesting Links for 15-06-2025
Sunday, 15 June 2025 12:00 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
- 1. U.K. lesbians are resisting state-mandated transphobia
- (tags:LGBT lesbians transgender )
- 2. Cray supercomputer Vs Raspberry Pi
- (tags:computers history )
- 3. In San Francisco, Waymo Has Now Bested Lyft. Uber Is Next
- (tags:USA automation driving taxi )
- 4. For some people chronic pain could be an autoimmune disorder
- (tags:pain immune_system )
- 5. People asking LLM AIs about their medical issues get the right result ⅓ of the time (Vs ½ the time for doing their own research)
- (tags:ai medicine )
Photo cross-post
Sunday, 15 June 2025 05:15 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
It was about ten seconds later that we realised how terrible Crocs are
for climbing.
Original
is here on Pixelfed.scot.
Confused by Disney ineptitude
Saturday, 14 June 2025 12:03 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
The remake felt much clumsier. And I don't really understand why.
Edit: Just realised that they entirely cut the Ugly Duckling part from the remake. Why would you do that? It's key to Stitch's arc!
And all of the bits where Lilo how to be like Elvis.
In fact, nearly all of the bits where Lilo talked to Stitch and built a relationship with him.
In (near) Prague
Saturday, 14 June 2025 08:18 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
On an ice hockey camp in Slaný, near Prague. I flew out on Thursday afternoon with two friends from Kodiaks. We arrived at the rink hotel in time to check in, have a little walk down to the nearby supermarket and get food, and settle in for the night. For reasons the three of us were all sharing a dormitory room the first night, and we decided the perfect film to watch over our picnic dinner was Inside Out 2 - also set at a 3-day hockey camp. I hadn't seen it before, though the other two had, and I enjoyed it very much.
Friday morning was pretty relaxed; a fourth Kodiak joined us after leaving home at awful-o-clock in the morning, and we were moved into the nicer ensuite twin rooms in pairs for the rest of the camp. We met in the dressing room at 1pm, were on ice at 2pm and again at 6pm, with a stickhandling session in between. Then dinner at 8 and falling into bed not long after.
It's excellent coaching, I'm being pushed well out of my comfort zone and the balance of drill and rest in each session and between sessions is just right. I hit my "cannot actually skate any more" limit about 3 minutes before the end of the last ice session.
Today will be two ice sessions at either end of the day, with video review (argh), optional swim+spa (yes!), and stickhandling again in between. My muscles this morning are making themselves known but I'm not exhausted. All is good. Time to go get changed.
Interesting Links for 13-06-2025
Friday, 13 June 2025 12:00 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
- 1. Waymo rides cost more than Uber or Lyft -- and people are paying anyway
- (tags:taxi automation business )
- 2. How much is golfing at St. Andrews worth to the Scottish economy? (over $400m)
- (tags:golf Scotland business )
- 3. Recording orchestral music for a computer game (Bloodborne, Cleric Beast fight)
- (tags:games music video )
- 4. Why Israel Struck Iran Now
- (tags:Israel Iran nuclearweapons )
Interesting Links for 12-06-2025
Thursday, 12 June 2025 12:00 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
- 1. EU puts Monaco on money laundering blacklist
- (tags:fraud money Europe )
- 2. Steven Universe Sequel Series Heads to Prime Video
- (tags:TV animation scifi GoodNews )
- 3. Houseplants Do Not Purify the Air
- (tags:air pollution plants )
- 4. Solar Orbiter offers first glimpse of the Sun's poles in breakthrough mission
- (tags:sun astronomy space solarsystem )
- 5. Cthulhu's ABCs: A Heavy Metal Muppet Parody Song about the Alphabet
- (tags:muppets language funny video cthulhu viaKirsty )
- 6. Book burning is a modern free speech test for Labour
- (tags:uk freespeech religion )
Interesting Links for 11-06-2025
Wednesday, 11 June 2025 12:00 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
- 1. UK sanctions Israeli ministers over Gaza comments
- (tags:uk israel gaza )
- 2. Rough sleeping to be decriminalised in England and Wales
- (tags:homelessness England law )
- 3. The pictures that show why the UK has run up a £49bn repair bill
- (tags:UK infrastructure OhForFucksSake austerity )
- 4. Krakencoder predicts brain function 20x better than past methods
- (tags:brain algorithms )
The advice in the UK over teachers and AI is baffling to me
Tuesday, 10 June 2025 08:31 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
And what really annoys me about this is that it's a perfect example of where simple automation could be used without the need for AI.
The precise example in the article is "Generate a letter to parents about a head lice outbreak." - which is a fairly common thing to happen in schools. So why on earth isn't there one standard letter per school, if not one standard letter for the whole country, that can be reused by absolutely everyone whenever this standard event happens? Why does this require AI to generate a new one every time, rather than just being a standard email that gets sent?
Same with marking quizzes. If children get multiple-choice quizzes regularly across all schools, and marking them uses precious teacher time, why is there not a standard piece of software, paid for once (or written once internally) which enables all children to do quizzes in a standard way, and get them marked automatically?
If we're investing a bunch of money into automating the various processes that teachers spend far too much time on, start with simple automation, which is cheap, easy, and reliable.
Also, wouldn't it be sensible to do some research into how accurately AI marks homework *before* you tell teachers to use it to do that? Here's some research from February which shows that its agreement with examiners was only 0.61 (where 1.00 would be perfect agreement). So I'm sceptical about the quality of the marking it's going to be doing...
Interesting Links for 10-06-2025
Tuesday, 10 June 2025 12:00 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
- 1. This seems like a reasonable overview of how Labour are doing on the economy
- (tags:economics labour uk )
- 2. The Trump Administration's Nasty Campaign Against Trans People
- (tags:lgbt bigotry usa transgender OhForFucksSake )
- 3. The Allegory Of The Cave - Further Details
- (tags:comic philosophy funny )
- 4. Fiber Optic Bird's Nest Heralds A Fiber Drone Summer In Ukraine
- (tags:Ukraine fibreoptics drone war nature birds technology )
- 5. World fertility rates in 'unprecedented decline', UN says
- (tags:fertility population )
- 6. Civil servants told to consider quitting if they disagree with policy over Gaza
- (tags:uk gaza government )
- 7. Give new dads six weeks off work at nearly full pay, MPs say
- (tags:uk parenting fatherhood )
- 8. Uber brings forward trialling driverless taxis in UK
- (tags:automation taxi uk driving transport )
performance of random floats (amended)
Monday, 9 June 2025 10:00 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
After I found some issues with my benchmark which invalidated my previous results, I have substantially revised my previous blog entry. There are two main differences:
A proper baseline revealed that my amd64 numbers were nonsense because I wasn’t fencing enough, and after tearing my hair out and eventually fixing that I found that the bithack conversion is one or two cycles faster.
A newer compiler can radically improve the multiply conversion on arm64 so it’s the same speed as the bithack conversion; I've added some source and assembly snippets to the blog post to highlight how nice arm64 is compared to amd64 for this task.
To-read pile, 2025, May
Monday, 9 June 2025 07:31 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Books on pre-order:
- Queen Demon (Rising World 2) by Martha Wells (7 Oct 2025)
Books acquired in May:
- and read:
- Copper Script by KJ Charles
- Red Boar's Baby by Lauren Esker
- and unread:
- The Wrath & The Dawn by Renée Ahdieh [3]
- The Unexpected Inheritance of Inspector Chopra by Vaseem Khan [3]
- Kidnap on the California Comet by M.G. Leonard & Sam Sedgman [3]
- Betrayal (Trinity 1) by Fiona McIntosh [3]
Borrowed books read in May:
- The Good Thieves by Katherine Rundell
- One Christmas Wish by Katherine Rundell
- You Have a Match by Emma Lord [2][6]
I continue to not read much (by my standards). I did not manage to read any of the physical books I had out of the library until they needed to be returned, and I've got several half-finished books in progress. (Oh, and in writing this I've realised I already have the Renée Ahdieh book in ebook, and haven't read it there either!)
[1] Pre-order
[2] Audiobook
[3] Physical book
[4] Crowdfunding
[5] Goodbye read
[6] Cambridgeshire Reads/Listens
[7] FaRoFeb / FaRoCation / Bookmas / HRBC
[8] Prime Reading / Kindle Unlimited
Interesting Links for 09-06-2025
Monday, 9 June 2025 12:00 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
- 1. Have you experience the glory that is "It's Raining Tacos"? Because my children have subjected me to it over 5,000 times now...
- (tags:music video children food funny )
- 2. Mapping Edinburgh planning applications
- (tags:Edinburgh planning maps visualisation )
- 3. The UK's North-South divide in transport funding - mapped
- (tags:uk transport government money )
- 4. AI - where are we now?
- (tags:ai programming globalwarming economics )
EHRC nonsense
Monday, 9 June 2025 11:14 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
We still haven't met with Senior Management: it's now due tomorrow, in person. I'm gently trying not to panic.
There's still been no message of support to all members of staff and students from the University, and nothing at all from the department. Though I understand they're still in discussions in the background. This is frustrating.
The subject was raised at a recent All Staff meeting (in which people submit questions as text, and senior management attempt to answer them). We were given broad assurances that the university values and supports trans people, but nothing actually useful or genuinely supportive was said.
In the meantime a new EHRC chair is due to be appointed, and they're considering a person with a known anti-trans background. There's an Open Letter available to sign in protest, written by a very good friend and colleague: https://docs.google.com/forms/d/e/1FAIpQLSe_Y77t7CQqKjdGifNa0lE3HKjDAb1UoJdjuLAbInhIQsRMhw/viewform
I've also seen a good template if you want to write directly: https://docs.google.com/document/d/1865KMfu24JgmwnWmYXaVc3jlzj5uQFEq69hXMxKP6BU/edit?tab=t.0
And I wrote my own version:
9th June 2025
Dear Women’s and Equalities Select Committee and Joint Committee on Human Rights,
Cc: Pippa Heylings, as my MP
I am writing to express my grave concern about the proposed appointment of Dr Mary-Ann Stephenson as the Chair of the Equality and Human Rights Commission.
I won't include a string of references here, because I think you will have seen them all already, but I think it is imperative that the next person appointed as Head of the EHRC should not be seen to have a strong anti-trans background. Trans people are currently scared. Scared for their jobs, if they cannot access their workplace in safety and dignity. Scared of being assaulted if they go to the "wrong" toilet. Scared of being outed as trans in public if they try to follow the new guidelines.
And I am scared as a cis woman, a woman who is not trans, at what is happening in our country, and what this means for my friends and colleagues and for trans people in general. For intersex people, non-binary people, and any woman who might be mistaken for being trans. Other women need to feel safe too, but excluding trans people is not the way to do this.
The EHRC needs to stand up for the rights of everyone, and to be seen to do so. I sincerely hope you will take this into account.
Kind Regards,
Eleanor Blair
Great Shelford, Cambridge, CB22
I'm not even going to attempt to get into the member of the EHRC who was quoted as effectively saying that trans people have been misled about their rights under the Equality Act for the last 15 years, and there will now be a period of adjustment, but they should just get used to having fewer rights than they thought they did. The Guardian changed their headline and reporting three times as a result of her protesting about being misquoted, but that seems to have been the gist of it. Not mentioning that the "misleading" guidance came from the EHRC themselves, and was based on the previous understanding of the Equalities Act and entirely consistent with it. FFS
Interesting Links for 08-06-2025
Sunday, 8 June 2025 12:00 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
- 1. Summarising the last few days in American politics
- (tags:USA politics EpicWTF republicans )
- 2. UK — High Court to lawyers: cut the ChatGPT or else
- (tags:UK law ai )
- 3. After Pornhub left France, Proton VPN saw a 1,000% surge in minutes
- (tags:VPN censorship porn France )
- 4. Reform UK doesn't know how government spending works
- (tags:UK bureaucracy politics )
performance of random floats
Sunday, 8 June 2025 03:15 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
https://dotat.at/@/2025-06-08-floats.html
A couple of years ago I wrote about random floating point numbers. In that article I was mainly concerned about how neat the code is, and I didn't pay attention to its performance.
Recently, a comment from Oliver Hunt and a blog post from
Alisa Sireneva prompted me to wonder if I made an
unwarranted assumption. So I wrote a little benchmark, which you can
find in pcg-dxsm.git
.
(Note 2025-06-09: I've edited this post substantially after discovering some problems with the results.)
recap
Briefly, there are two basic ways to convert a random integer to a floating point number between 0.0 and 1.0:
Use bit fiddling to construct an integer whose format matches a float between 1.0 and 2.0; this is the same span as the result but with a simpler exponent. Bitcast the integer to a float and subtract 1.0 to get the result.
Shift the integer down to the same range as the mantissa, convert to float, then multiply by a scaling factor that reduces it to the desired range. This produces one more bit of randomness than the bithacking conversion.
(There are other less basic ways.)
code
The double precision code for the two kinds of conversion is below. (Single precision is very similar so I'll leave it out.)
It's mostly as I expect, but there are a couple of ARM instructions that surprised me.
bithack
The bithack function looks like:
double bithack52(uint64_t u) {
u = ((uint64_t)(1023) << 52) | (u >> 12);
return(bitcast(double, u) - 1.0);
}
It translates fairly directly to amd64 like this:
bithack52:
shr rdi, 12
movabs rax, 0x3ff0000000000000
or rax, rdi
movq xmm0, rax
addsd xmm0, qword ptr [rip + .number]
ret
.number:
.quad 0xbff0000000000000
On arm64 the shift-and-or becomes one bfxil
instruction (which is a
kind of bitfield move), and the constant -1.0
is encoded more
briefly. Very neat!
bithack52:
mov x8, #0x3ff0000000000000
fmov d0, #-1.00000000
bfxil x8, x0, #12, #52
fmov d1, x8
fadd d0, d1, d0
ret
multiply
The shift-convert-multiply function looks like this:
double multiply53(uint64_t u) {
return ((double)(u >> 11) * 0x1.0p-53);
}
It translates directly to amd64 like this:
multiply53:
shr rdi, 11
cvtsi2sd xmm0, rdi
mulsd xmm0, qword ptr [rip + .number]
ret
.number:
.quad 0x3ca0000000000000
GCC and earlier versions of Clang produce the following arm64 code, which is similar though it requires more faff to get the constant into the right register.
multiply53:
lsr x8, x0, #11
mov x9, #0x3ca0000000000000
ucvtf d0, x8
fmov d1, x9
fmul d0, d0, d1
ret
Recent versions of Clang produce this astonishingly brief two instruction translation: apparently you can convert fixed-point to floating point in one instruction, which gives us the power of two scale factor for free!
multiply53:
lsr x8, x0, #11
ucvtf d0, x8, #53
ret
benchmark
My benchmark has 2 x 2 x 2 tests:
bithacking vs multiplying
32 bit vs 64 bit
sequential integers vs random integers
I ran the benchmark on my Apple M1 Pro and my AMD Ryzen 7950X.
These functions are very small and work entirely in registers so it has been tricky to measure them properly.
To prevent the compiler from inlining and optimizing the benchmark loop to nothing, the functions are compiled in a separate translation unit from the test harness. This is not enough to get plausible measurements because the CPU overlaps successive iterations of the loop, so we also use fence instructions.
On arm64, a single ISB (instruction stream barrier) in the loop is enough to get reasonable measurements.
I have not found an equivalent of ISB on amd64, so I'm using MFENCE. It isn't effective unless I pass the argument and return values via pointers (because it's a memory fence) and place MFENCE instructions just before reading the argument and just after writing the result.
results
In the table below, the leftmost column is the number of random bits; "old" is arm64 with older clang, "arm" is newer clang, "amd" is gcc.
The first line is a baseline do-nothing function, showing the overheads of the benchmark loop, function call, load argument, store return, and fences.
The upper half measures sequential numbers, the bottom half is random numbers. The times are nanoseconds per operation.
old arm amd
00 21.44 21.41 21.42
23 24.28 24.31 22.19
24 25.24 24.31 22.94
52 24.31 24.28 21.98
53 25.32 24.35 22.25
23 25.59 25.56 22.86
24 26.55 25.55 23.03
52 27.83 27.81 23.93
53 28.57 27.84 25.01
The times vary a little from run to run but the difference in speed of the various loops is reasonably consistent.
The numbers on arm64 are reasonably plausible. The most notable thing is that the "old" multiply conversion is about 3 or 4 clock cycles slower, but with a newer compiler that can eliminate the multiply, it's the same speed as the bithacking conversion.
On amd64 the multiply conversion is about 1 or 2 clock cycles slower than the bithacking conversion.
conclusion
The folklore says that bithacking floats is faster than normal integer to float conversion, and my results generally agree with that, apart from on arm64 with a good compiler. It would be interesting to compare other CPUs to get a better idea of when the folklore is right or wrong -- or if any CPUs perform the other way round!
Photo cross-post
Saturday, 7 June 2025 12:29 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
My brother Mike got me this for my birthday, and it just takes a
weight off my mind being able to say "bring the steam temperature up
to 95 degrees and hold it there"
(Control over oil temperature when frying eggs is also awesome.)
Original
is here on Pixelfed.scot.
Interesting Links for 07-06-2025
Saturday, 7 June 2025 12:00 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
- 1. "Free Roam" mode is Mario Kart World's killer app
- (tags:Mario nintendo games driving )
- 2. Low-calorie diets make you depressed
- (tags:diet mentalhealth depression )
- 3. "I serve school dinners at state schools and private schools - here's the difference"
- (tags:food money school england )
- 4. Robots are coming for mail-sorting jobs
- (tags:robots video viaKenny )
- 5. Well, CAN You Prove You're a US Citizen?
- (tags:usa citizenship )
- 6. Women warned weight-loss jabs may affect contraception
- (tags:drugs contraception weight )
A mostly-free day
Saturday, 7 June 2025 10:31 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
I'm playing an ice hockey game tonight in Cambridge, a charity fundraiser between Warbirds and Tri-Base Lightning. But until then I have a strangely unscheduled day. I might sleep or read or something.
I could post about what I've been up to lately!
Work:
- spoke on a panel about effective 1:1s, it seemed to go well
- played my usual Senior Tech Woman role for a colleague's recruitment panel, and am happy that our preferred candidate has apparently just accepted. (a frustrating number of timewasting applicants more or less obviously using LLMs to write their applications and generate their free-text statements on suitability for the role; I really resent having to wade through paragraphs of verbose buzzword bilge to ... fail to find any evidence they actually know how to do the job)
Hockey:
- KODIAKS WON PLAYOFFS on the bank holiday weekend oh yes they did. So proud of the players, and definitely earned my share of reflected glory managing the team this season and running around half the weekend. League winners, Cup winners, Playoff winners, promotion to Division 1 next season, utter delight.
- Very much an Insufficient Sleep weekend, we topped off the playoff win with a night out in Sheffield, I got back to my hotel as the sky was getting light, good times.
- Kodiaks awards evening last night: lots of celebration of the hard work and lovely camaraderie of this group of players, A and B teams both. I got to announce and hand out the B team awards, and I received a really nice pair of gifts for me as manager: a canvas print of a post-final winners photo, and a personalised insulated travel mug (club logo and MANAGER on it). I love this team.
- I'm still enjoying also playing with Warbirds, and have now been to a few summer Friday scrimmages run by Tri-Base. I went to a couple of Friday scrims at the end of last summer and felt everyone was very kind but I was pretty outclassed. I'm pleased to feel like I'm keeping up a bit better now after training a lot harder this last season.
- I trained three days in a row this week (Warbirds Monday, Haringey Greyhounds tryouts in Alexandra Palace on Tuesday, Kodiaks Wednesday) and that was Too Much and I was pretty sore Wednesday evening and Thursday. Rest days are important even if I am much improved in fitness compared to this time last year.
Other:
- I did a formal hall at my old College! Using my alumna rights and having a nice evening hanging out with old friends (who were the ones to suggest the plan). Good times, will do again but probably not this term.
- I had an excessive number of books out from Suffolk libraries that needed returning, so I did a flying visit to Newmarket by bus last Saturday, this turned out to be the cheapest/quickest way across the county border. I managed to stick to my resolution not to borrow any more physical books but slipped and fell on the "withdrawn books for sale" stand. Managed to only come home with four.
- I did a little indoor cricket the Friday before playoffs (it's now finished due to exam period), and some nets practice last Sunday, but I keep being too busy to actually play any of my team's games. I'd like to do more nets practice though, that was intense but also felt like I was beginning to improve.
- I did a little table tennis with Active Staff but that's also now suspended for exams. I'm considering getting a cheap set of bats and balls for me and the family to go use at the local rec ground, or in the free indoor tables at the Grafton Centre.
Coming up: my summer is full of ice hockey camps and tournaments (Prague, Hull, Sheffield, Biarritz) and my old club Streatham have just announced all their summer training sessions will be "Summer Skills Camps" open to all interested WNIHL players, so I'm looking at going to London regularly again in July and August.