This feed omits posts by rms. Just 'cause.

In the early days of space missions it was observed that spinning objects flip over spontaneously. This got people freaked out that it could happen to the Earth as a whole. Any solid object spinning in three dimensions will do this, and the amount of time it spends between flips has nothing to do with how quickly the flips happen.

Since then you might assume that this possibility was debunked. That didn’t happen. People just kind of got over it. The model of the Earth as a single solid object is overly simplistic, with some kind of fluid flows going on below the surface. Unfortunately we have no idea what those flows are actually doing and how they might affect this process. It’s a great irony of our universe that we know more about distant galaxies than the core of our own planet.

Unfortunately the one bit of evidence we have about the long-term stability of the Earth’s axis might point towards such flips happening regularly. The Earth’s magnetic field is known to invert every once in a while. But it’s just as plausible that what’s going on is the gooey molten inner core of the Earth keeps pointing in the same direction that whole time while the crunchy outer crust flips over.

If a flip like this happens over the course of a day then the Sun would go amusingly skeewumpus for a day and then start rising in the west and setting in the east. Unlike what you see in ‘The 3 body problem’ apparent gravity on the surface of the planet would remain normal that whole time. (The author of that book supposedly has a physics background. I’m calling shenanigans.) But there might be tides going an order of magnitude or higher than they normally go, and planetary weather patterns would invert causing all kinds of chaos. That would include California getting massive hurricanes from over the Pacific while Florida would be much more chill.

A suddenly flip like that is very unlikely, but that might not be a good thing. If the flip takes years then midway through it the poles will be aligned through the Sun, so they’ll spend months on end in either baking Sun or pitch black, getting baked to a crisp or frozen solid, far beyond the most extreme weather we have under normal circumstances. The equatorial regions will be spared, being in constant twilight, with the passage of time mostly denoted by spectacular northern and southern lights which alternate every 12 hours. And there will probably be lots of tectonic activity, but not as bad as on Venus.

Posted Mon Mar 3 03:47:57 2025 Tags:
Doloresaurus:

A data privacy lawyer during the day, in the evening, Mead slips into his 6-foot tall, 7-foot-long luminous dinosaur costume and Dolores Park becomes Jurassic Park. "This is how I deal with my day, with my life choices that led me to become a lawyer," he said jokingly.

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

Posted Mon Mar 3 00:53:25 2025 Tags:

Lindsay Young:

I am the Executive Director of 18F and 18F's longest running employee- I have been at 18F for 10 years. You may not have heard of us, but last night proved that we are powerful. The way the administration ran to get rid of us under the cover of night and shut us down without warning proves that they were scared. They are too afraid to even speak to us. [...]

We were living proof that the talking points of this administration were false. Government services can be efficient. You can work with agencies as they are now and work with them to better manage their services.

This made us a target. People who own skyscrapers are afraid of 100 people who made websites better. Not because of the latest tech fad, but because we proved that the government can be fixed, the government can be made better and the government can work for the people.

They have an "in exile" web site already:

All 18F's support on that work has now abruptly come to a halt. Since the entire staff was also placed on administrative leave, we have been locked out of our computers, and have no chance to assist in an orderly transition in our work. We don't even have access to our personal employment data. We're supposed to return our equipment, but can't use our email to find out how or where.

Matthew Garrett:

If anyone is confused about 18F: imagine an in-house consultancy who could show up and solve your problems but who would then be able to use that knowledge to solve someone else's problems without billing them for the prior work, saving everyone money and also making a bunch of it open source. People took pay cuts to work there. Destroying them is a tragedy.

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

Posted Mon Mar 3 00:14:02 2025 Tags:

"I am so excited about the toilets!" is a sentence I heard myself saying out loud, without any sarcasm.

If you have pledged a donation for the toilet project but not sent us the money, now would be the time to do that...

Naming rights are still available for three of the toilets! What am I offered?

Posted Sun Mar 2 20:22:22 2025 Tags:
It's embarrassing, destructive, and looks like shit: AI-generated art is the perfect aesthetic form for the far right.

The right loves AI-generated imagery. [...] To understand it, we must consider the right's hatred of working people, its (more than) mutual embrace of the tech industry and, primarily, its profound rejection of Enlightenment humanism. The last might seem like a stretch, but bear with me.

The first point is the most obvious. 'AI' -- as embodied by large language models like ChatGPT, and largely diffusion-based image generators like DALL-E and Midjourney -- promises to make anyone who can write a single-paragraph prompt into a copywriter or graphic designer; jobs generally associated with young, educated, urban, and often left-leaning workers. That even the best AI models are not fit to be used in any professional context is largely irrelevant. The selling point is that their users don't have to pay (and, more importantly, interact with) a person who is felt to be beneath them, but upon whose technical skills they'd be forced to depend. [...]

No amount of normalisation and 'validation', however, can alter the fact that AI imagery looks like shit. But that, I want to argue, is its main draw to the right. If AI was capable of producing art that was formally competent, surprising, soulful, then they wouldn't want it. They would be repelled by it. [...]

AI is a cruel technology. It replaces workers, devours millions of gallons of water, vomits CO2 into the atmosphere, propagandises exclusively for the worst ideologies, and fills the world with more ugliness and stupidity. Cruelty is the central tenet of right wing ideology. It is at the heart of everything they do. They are now quite willing to lose money or their lives in order to make the world a crueller place, and AI is a part of this -- a mad rush to make a machine god that will liberate capital from labour for good. (This is no exaggeration: there is a lineage from OpenAI's senior management back to the Lesswrong blog, originator of the concept of Roko's Basilisk.) Moreso even than cryptocurrency, AI is entirely nihilistic, with zero redeeming qualities. It is a blight upon the world, and it will take decades to clear up the mountains of slop it has generated in the past two or three years.

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

Posted Sat Mar 1 22:12:30 2025 Tags:

Before getting into it I have to say: My experience in school was miserable. I hated it. My impression of the value of school is colored by that experience. On the other hand many if not most people hated school but it’s socially unacceptable to publicly say that school, especially college, was anything but transformative. So here’s to speaking up for the unheard masses.

The central thesis of ‘The Case Against Education’ by Bryan Caplan is that the vast bulk of benefit which students get from their schooling is the diploma, not the education. While his estimate of the value of the diploma at 80% sounds gut-wrenching, it’s hard to avoid getting somewhere close to that if you do even vaguely realistic estimates. Most classes cover material which students will never use even if they were to remember it. The claims that the real purpose is to enrich students lives and make them better citizens are not backed up by those things happening or even being seriously attempted.

All those arguments and counter-arguments are gone over painstakingly in the book, but they wind up roughly where anyone observing what actually goes on in schools would expect. Students retain almost nothing from school. What’s more interesting is the impacts on student’s politics and morals, which is almost nothing. It barely moves the needle. The one thing it does have an effect on is that it makes people have a lot fewer children, especially women. Caplan doesn’t go deep into why this may be, but if I may speculate based on what other areas of research have shown my guess is that it’s caused by (1) not having children while in school and (2) raising women’s standards for men high enough that many of them never settle.

This raises the question of how things got here and what could be done to fix it. The possibility which Caplan oddly does not consider is that it’s a broad conspiracy propped up by the rich and well-educated to make a path for their disappointing children to have solid careers. One in three students at Harvard got in through a path other than earning it from high school achievement. The parents of those kids repay Harvard with money or prestige. It’s remarkable and bizarre that employers don’t look on Harvard graduates with skepticism due to this fact, but they don’t.

What the book does go into is the question of why employers, especially private sector employers, continue to highly value degrees. The answer is an obvious but infuriating one: School, especially college, is something with all the trappings of a job: Boring, unimportant, authoritarian, and demanding. People who do well at it are likely to succeed at any job. (There’s a bunch of discussion of personality types and whatnot which are just poor proxies for succeeding at a sucky job and don’t add much to the discussion.) The only things which school is missing are productive output and pay. What alternative criteria there are for employers which happen to be exciting, meaningful, egalitarian, or fun to find high achieving employees who couldn’t cope with school due to it missing those things is unclear.

The obvious fix for this is to do the exact same thing but with an actual employer. If you get a job at a participating qualified employer and manage to stay working there for a prespecified number of years you get a certificate of sucking it up. The obvious objections are that this would be a big subsidy to large employers, especially those with known toxic work environments whose certificates would be especially valued, and that people who failed the program would have wasted years of their life. Those objections are true, but apply just as much to what happens in universities. In any case, programs like this are rare in the real world, even internationally, and unlikely to become common any time soon.

One source of improvement going on now which Caplan oddly doesn’t go into is the devaluing of the most useless majors. This tends to naturally feed on itself by a somewhat circular logic: Employers devalue the most ridiculous majors, which causes only people who are lacking judgement to pursue them as degrees, which causes employers to further devalue those majors. Such logic is often not a good thing. It’s what got us into overeducation in the first place. But at least in this case it’s causing students to make choices of major which cause them to get more education out of their schooling.

What ‘The Case Against Education’ does go into in great detail is the case for vocational education, which is overwhelming. All but the very best students would be better off getting a vocational degree, both for their own monetary self-interest and the amount of productive work they’re doing for society. The sneering attitude generally given towards vocational degrees (and even engineering degrees!) is obnoxious and unwarranted and should be changed. If vocational degrees were given even a fraction of the prestige which is given to four year degrees the world would be a better place.

What remains is the question of how to improve the education itself. Caplan barely touches on this but I will speculate. Rather than go into vitriolic rants about the problems in subjects which are not my field, I’ll talk about the ones which are, specifically mathematics and computer science.

Many if not most students feel that math classes are torture, a boring subject which they will never use and can barely pass. This assessment is, I’m sad to say, fairly accurate. The reforms which actual mathematicians favor are twofold. First, what’s considered basic literacy in mathematics should be expanded to include probability and expected value, both important concepts apply to people’s everyday lives. Second, everything beyond that shouldn’t be taught as something important which students need to be force-fed, but something beautiful which it’s enriching to learn, like art or literature. There are of course a tiny fraction of students who are likely to go into math-heavy fields, and there should be advanced classes available for them, but those should also be taught by people who love the subject, with an emphasis on its beauty. Nobody should ever be subject to the misery of trigonometry classes as they’re taught today. And people with PhDs in mathematics should be viewed as qualified to teach the subject.

Computer Science’s main problem is right there in its name: It’s Computer Science, not Programming. By an accident of history it’s socially acceptable to get something approximating a vocational programming degree by getting one in computer science. Either an alternative degree program focusing on software engineering should be set up, or the focus of computer science should be put on practical software development. Thankfully a lot of that is already happening.

Then there things which are so basic that they don’t even fit in a field. Can we drop cursive and teach everybody touch typing? Bring back cooking, cleaning, and shop classes? Yes it was a problem that those classes were gendered in the past, but a better solution to that would be to teach them to everybody instead of teach them to nobody.

Posted Sat Mar 1 22:02:22 2025 Tags:
Did I just spend hours bit-twiddling the on-the-wire performance of cmatrix to make it run way faster on 1200 baud terminals? Yes. Yes I did.


(Was this the very first time I have ever sent anyone a "pull request" instead of an "email" with a "patch" in it? Also yes.)


Previously, previously, previously, previously, previously.

Posted Sat Mar 1 04:59:50 2025 Tags:

There’s a new speedcubing single solve record which is by far the funniest one ever. No, it isn’t because it’s by an 11 year old kid. He’s the best speedcuber in the world. It isn’t even because he fumbles the solve at the end at the end and still shatters the world record, on a solve which isn’t even all that lucky, although that is very funny. What really makes it funny is that there are multiple videos breaking down the whole solve, by people who are themselves good speedsolvers, going over every single turn done in painstaking detail, which completely miss a key part of what’s happening.

The background to this is that there have long been pissing matches within the world of speedcubing about what’s the best solving algorithm. On one end there are methods which minimize total number of moves, with Petrus being particularly good at keeping that number down, and at the other end are methods which optimize for turning as fast as possible, with CFOP being an extreme of that. The problem with the turn optimizing algorithms is that they require a lot of analysis while the solve is being done and the finger placements to do the turns required tend to be awkward, in the end rendering the whole thing very slow. The speed oriented methods by contrast require only a few looks at the cube and then doing memorized sequences between them. (Speedcubers call sequences ‘algorithms’ which makes me cringe but I’ll go with it.) Good speedcubers have not only memorized and practiced all the algorithms but worked out exact finger placements throughout them for optimal speed. This is the approach which has worked much better in practice. CFOP has dominated speedsolving for the last two decades.

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

What seems to be happening to the speedsolvers who aren’t initiated is that this is a fairly lucky CFOP solve which happens to yield particularly good finger placements. While this is technically true it’s missing that those setups aren’t accidents. While this solve is a bit lucky, several of those things are guaranteed to happen because of some subtle things done in the solve. This isn’t actually a CFOP solve at all. It’s EOCross.

A quick summary of CFOP: First you solve the bottom four edges, which is done intuitively (really planned out during the inspection time provided before solving begins). Then a ‘look’ is done and one of the bottom corners and the edge next to it is solved. This is repeated three more times to finish the bottom two layers. Then a look is done and an algorithm is used to orient all the top layer pieces. Finally there’s one last look and an algorithm is done to position all the last layer pieces. Yes that’s a lot of memorized algorithms.

This is how EOCross works: First you solve the bottom edges and all edge orientations, a process which absolutely must be planned out during inspection. The meaning of ‘edge orientations’ in this context may sounds a bit mysterious and it’s subtle enough that it caused the accidental trolling of the new world record. If you only rotate the up, down, right, and left faces of a Rubik’s Cube the edges don’t change orientation. Literally they do change orientation in the sense that they rotate while moved, but whenever they go back to the position they started they’ll always be in the same orientation they were at the beginning. The solve then proceeds with doing corner and edge pairs from the first two layers but with the restriction that the front and back faces aren’t turned. Finally all that’s left is the last layer which happens to be guaranteed to have all the edges correctly oriented, and a single algorithm is done for those. Yes that’s an even larger number of algorithms to memorize.

That may have been a bit much to follow, but the punch line is that to an uninitiated CFOP solver an EOCross solve looks like a CFOP solve where the edge orientations happen to land nicely.

Technically EOCross is a variant on a solving method called ZZ but it’s sufficiently different that it should be considered a different method. It was invented several years ago and devotees have been optimizing the details ever since. There have of course been claims that it should beat CFOP, to which the response has mostly been to point out that no EOCross solvers have been anywhere near the best speedcubers. The rebuttal has been that the top solvers haven’t tried it because it’s so much work to learn and if they did they’d be faster. Given how handily the world record was just broken that rebuttal seems to have been correct. Good work EOCrossians getting the method optimized.

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

Posted Fri Feb 28 08:26:35 2025 Tags:
+1 (305) 419-4869
+1 (305) 419-4875
+1 (305) 419-4908
+1 (305) 419-5020
+1 (305) 419-5054
+1 (305) 419-5056
+1 (305) 419-5082
+1 (305) 419-5103
+1 (305) 419-5104
+1 (305) 419-5152
+1 (305) 419-5233
+1 (305) 419-5291
+1 (305) 419-5373
+1 (305) 419-5399
+1 (305) 419-5417
+1 (305) 419-7933
+1 (305) 419-7934
+1 (305) 419-7936
+1 (305) 419-7939
+1 (305) 419-7941
+1 (305) 419-7953
+1 (305) 419-7954
+1 (305) 419-7958
+1 (305) 419-7964
+1 (305) 419-7974
+1 (305) 419-7975
+1 (305) 419-7976
+1 (305) 419-7980
+1 (305) 419-7986
+1 (305) 419-8214
+1 (305) 419-8215
+1 (305) 419-8221
+1 (305) 419-8305
+1 (305) 419-8327
+1 (305) 419-8459
+1 (305) 419-8464
+1 (305) 419-8468
+1 (305) 419-8472
+1 (305) 419-8494
+1 (305) 419-8504
+1 (305) 419-8510
+1 (305) 419-8515
+1 (305) 419-8523
+1 (305) 419-8528
+1 (305) 419-8529
+1 (305) 419-8534
+1 (305) 419-8547
+1 (305) 419-8552

+1 (312) 680-0021
+1 (312) 680-0870
+1 (312) 680-1004
+1 (312) 680-7357
+1 (312) 680-7491
+1 (312) 680-7821
+1 (312) 680-7832
+1 (312) 680-8451
+1 (312) 680-8471
+1 (312) 680-8529
+1 (312) 680-8635
+1 (312) 680-8719
+1 (312) 680-8724
+1 (312) 680-8741
+1 (312) 680-8798
+1 (312) 680-8814
+1 (312) 680-8815
+1 (312) 680-8818
+1 (312) 680-8819

+1 (312) 820-0956
+1 (312) 820-0957
+1 (312) 820-2014
+1 (312) 820-2015
+1 (312) 820-2016
+1 (312) 820-2315
+1 (312) 820-2316
+1 (312) 820-3781
+1 (312) 820-3782
+1 (312) 820-3850
+1 (312) 820-3851
+1 (312) 820-3854
+1 (312) 820-3855
+1 (312) 820-3874
+1 (312) 820-3875
+1 (312) 820-3876
+1 (312) 820-5047
+1 (312) 820-5048
+1 (312) 820-6955
+1 (312) 820-6956
+1 (312) 820-6957

+1 (332) 238-0978
+1 (332) 238-0980
+1 (332) 238-0982
+1 (332) 238-1138
+1 (332) 238-1144
+1 (332) 238-1189
+1 (332) 238-1196
+1 (332) 238-1956
+1 (332) 238-2033
+1 (332) 238-2162
+1 (332) 238-2163
+1 (332) 238-2164
+1 (332) 238-2615
+1 (332) 238-2617
+1 (332) 238-3195
+1 (332) 238-4169
+1 (332) 238-4176
+1 (332) 238-4199

+1 (469) 517-4440
+1 (469) 517-4443
+1 (469) 517-4445
+1 (469) 517-4462
+1 (469) 517-4464
+1 (469) 517-4465
+1 (469) 517-4467
+1 (469) 517-4473
+1 (469) 517-4474
+1 (469) 517-4478
+1 (469) 517-4479
+1 (469) 517-4480
+1 (469) 517-4482
+1 (469) 517-4483
+1 (469) 517-4484
+1 (469) 517-4485
+1 (469) 517-4486
+1 (469) 517-4487
+1 (469) 517-4489
+1 (469) 517-4490
+1 (469) 517-4491
+1 (469) 517-4492
+1 (469) 517-4494
+1 (469) 517-4495
+1 (469) 517-4497
+1 (469) 517-4498
+1 (469) 517-4499
+1 (469) 517-4551
+1 (469) 517-4553
+1 (469) 517-4556
+1 (469) 517-4558
+1 (469) 517-4560
+1 (469) 517-4564
+1 (469) 517-4565
+1 (469) 517-4566
+1 (469) 517-4569
+1 (469) 517-4570
+1 (469) 517-4572
+1 (469) 517-4574
+1 (469) 517-4575
+1 (469) 517-4577
+1 (469) 517-4579
+1 (469) 517-4580
+1 (469) 517-4581
+1 (469) 517-4582
+1 (469) 517-4583
+1 (469) 517-4584
+1 (469) 517-4585
+1 (469) 517-4586

+1 (520) 675-1563
+1 (520) 675-2158
+1 (520) 675-3721
+1 (520) 675-4510
+1 (520) 675-7629
+1 (520) 675-7656
+1 (520) 675-7676
+1 (520) 675-7692
+1 (520) 675-7711
+1 (520) 675-7736
+1 (520) 675-7743
+1 (520) 675-7764
+1 (520) 675-7770
+1 (520) 675-7813
+1 (520) 675-7859
+1 (520) 675-7873

+1 (520) 679-1607
+1 (520) 679-1632
+1 (520) 679-1769
+1 (520) 679-1811
+1 (520) 679-1907

+1 (520) 680-3737
+1 (520) 680-3855
+1 (520) 680-3861
+1 (520) 680-3938

+1 (520) 681-0076
+1 (520) 681-0570
+1 (520) 681-0623
+1 (520) 681-0666
+1 (520) 681-0787
+1 (520) 681-0923
+1 (520) 681-0954

+1 (520) 683-3599
+1 (520) 683-3615
+1 (520) 683-3627
+1 (520) 683-3722
+1 (520) 683-3724

+1 (520) 688-2143
+1 (520) 688-4451
+1 (520) 688-4499
+1 (520) 688-4510
+1 (520) 688-4719
+1 (520) 688-4742
+1 (520) 688-4824

+1 (763) 301-5068
+1 (763) 301-5412
+1 (763) 301-5706
+1 (763) 301-5790
+1 (763) 301-7309
+1 (763) 301-8815
+1 (763) 301-8847
+1 (763) 301-8962

+1 (763) 307-7054
+1 (763) 307-7260
+1 (763) 307-7392
+1 (763) 307-7398
+1 (763) 307-7426
+1 (763) 307-7458
+1 (763) 307-7460
+1 (763) 307-7618
+1 (763) 307-7668
+1 (763) 307-7669

+1 (763) 309-2313
+1 (763) 309-2376
+1 (763) 309-2391
+1 (763) 309-2603
+1 (763) 309-2637
+1 (763) 309-3212
+1 (763) 309-3363
+1 (763) 309-3634
+1 (763) 309-3924
+1 (763) 309-4874
+1 (763) 309-4932
+1 (763) 309-4970
+1 (763) 309-6343
+1 (763) 309-7109
+1 (763) 309-7612
+1 (763) 309-8123
+1 (763) 309-8124
+1 (763) 309-8135
+1 (763) 309-8154

+1 (768) 301-5376
+1 (768) 301-5387
+1 (768) 301-5706

+1 (768) 307-7011
+1 (768) 307-7425
+1 (768) 307-7618
+1 (768) 307-7668

+1 (768) 309-2436
+1 (768) 309-2581
+1 (768) 309-2603
+1 (768) 309-2637
+1 (768) 309-3356
+1 (768) 309-3363
+1 (768) 309-3534
+1 (768) 309-3545
+1 (768) 309-3923
+1 (768) 309-3924
+1 (768) 309-5422
+1 (768) 309-7824

+1 (804) 602-7511
+1 (804) 602-7521
+1 (804) 602-7538
+1 (804) 602-7551
+1 (804) 602-7560
+1 (804) 602-7563
+1 (804) 602-7568
+1 (804) 602-7569
+1 (804) 602-7574
+1 (804) 602-7580
+1 (804) 602-7581
+1 (804) 602-7590
+1 (804) 602-7605
+1 (804) 602-7622
+1 (804) 602-7623
+1 (804) 602-7631
+1 (804) 602-7637
+1 (804) 602-7638
+1 (804) 602-7645
+1 (804) 602-7654
+1 (804) 602-7664
+1 (804) 602-7677
+1 (804) 602-7679
+1 (804) 602-7680
+1 (804) 602-7687
+1 (804) 602-7696
+1 (804) 602-7702
+1 (804) 602-7708
+1 (804) 602-7715
+1 (804) 602-7716
+1 (804) 602-7720
+1 (804) 602-7724
+1 (804) 602-7735
+1 (804) 602-7746
+1 (804) 602-7748
+1 (804) 602-7761
+1 (804) 602-7762
+1 (804) 602-7767
+1 (804) 602-7772
+1 (804) 602-7773
+1 (804) 602-7779
+1 (804) 602-7781
+1 (804) 602-7782
+1 (804) 602-7792
+1 (804) 602-7793
+1 (804) 602-7794
+1 (804) 602-7798
+1 (804) 602-7803
+1 (804) 602-7826

+1 (860) 743-7798
+1 (860) 743-7815
+1 (860) 743-7818
+1 (860) 743-7822
+1 (860) 743-7827
+1 (860) 743-7836
+1 (860) 743-7837
+1 (860) 743-7845
+1 (860) 743-7846
+1 (860) 743-7857
+1 (860) 743-7862
+1 (860) 743-7865
+1 (860) 743-7871
+1 (860) 743-7884
+1 (860) 743-7890
+1 (860) 743-7896
+1 (860) 743-7907
+1 (860) 743-7911
+1 (860) 743-7913
+1 (860) 743-7918
+1 (860) 743-7919
+1 (860) 743-7932
+1 (860) 743-7933
+1 (860) 743-7934
+1 (860) 743-7935
+1 (860) 743-7936
+1 (860) 743-7940
+1 (860) 743-7942
+1 (860) 743-7946
+1 (860) 743-7956
+1 (860) 743-7960
+1 (860) 743-7968
+1 (860) 743-7983
+1 (860) 743-7985
+1 (860) 743-7988
+1 (860) 743-8005
+1 (860) 743-8016
+1 (860) 743-8019
+1 (860) 743-8031
+1 (860) 743-8035
+1 (860) 743-8047
+1 (860) 743-8048
+1 (860) 743-8051
+1 (860) 743-8052
+1 (860) 743-8054
+1 (860) 743-8056
+1 (860) 743-8059
+1 (860) 743-8078

+1 (872) 204-2215
+1 (872) 204-2294
+1 (872) 204-2385
+1 (872) 204-2550
+1 (872) 204-2561
+1 (872) 204-2731
+1 (872) 204-2736
+1 (872) 204-2741
+1 (872) 204-2763
+1 (872) 204-2768
+1 (872) 204-2785

+1 (872) 210-5006
+1 (872) 210-5039
+1 (872) 210-5041
+1 (872) 210-5068
+1 (872) 210-5074
+1 (872) 210-5077
+1 (872) 210-5091
+1 (872) 210-5092
+1 (872) 210-5139
+1 (872) 210-5255
+1 (872) 210-5291
+1 (872) 210-5298
+1 (872) 210-5301
+1 (872) 210-5305
+1 (872) 210-5306
+1 (872) 210-5341

+1 (872) 213-7080
+1 (872) 213-7191
+1 (872) 213-7208

+1 (872) 215-9241
+1 (872) 215-9242
+1 (872) 215-9353
+1 (872) 215-9474
+1 (872) 215-9516
+1 (872) 215-9639
+1 (872) 215-9646
+1 (872) 215-9653
+1 (872) 215-9654
+1 (872) 215-9655
+1 (872) 215-9672
+1 (872) 215-9681
+1 (872) 215-9687
+1 (872) 215-9688
+1 (872) 215-9698
+1 (872) 215-9703
For no reason at all, here are some phone numbers.

Left as an exercise to the reader:

  1. Identify the owner of these numbers;
  2. Generate a list of all the other numbers they own;
  3. Figure out how to bulk import numbers into the Messages.app blocklist without clicking "plus" for each one.

Previously, previously.

Posted Thu Feb 27 20:33:36 2025 Tags:

Please enjoy jwz mixtape 250, the quarter-thousandth.

Posted Thu Feb 27 01:29:45 2025 Tags:
United States to be scuttled in Florida:

Despite its glory days, the United States faced a slow decline in the 1960s as air travel became increasingly popular and demand dwindled. By the early 1970s, the United States had retired from active service, and its fate became uncertain. Despite various attempts to preserve it, including plans for conversion into a floating hotel and museum, it was left in a state of disrepair in Philadelphia.

Previously, previously, previously, previously, previously.

Posted Thu Feb 27 00:28:54 2025 Tags:

I accepted nomination as a candidate for the open “Affiliate seat” in the Open Source Initiative (OSI) Board of Directors elections. You can see my official candidate page on OSI's website. This blog post will be updated throughout the campaign to link to other posts, materials, and announcement related to my candidacy throughout the campaign.

I am running on the “OSI Reform Platform” with Richard Fontana. Over the next few weeks, I'm planning to post a blog post specific to each item on the shared platform — including my own take on each item.

In the meantime, I created a Fediverse account specifically to interact with constituents and the public, so please also follow that on floss.social/@bkuhn.

Posted Wed Feb 26 21:01:05 2025 Tags:

Computer scientists have long studied the question of what things can fit through mouse holes. Early on it was an open question as to whether there even exists a star which is larger than a mouse hole. That question got settled with a seminal result tackling an easier problem: Is there a planet bigger than a mouse hole? Because the mouse hole exists on a planet that planet must be bigger than a mouse hole. Because the mouse hole can’t fit through itself the planet can’t either. Because there are stars bigger than planets there must exist a star which can’t fit through a mouse hole.

The next question is whether there exists a continent which can’t fit through a mouse hole. This frustratingly remains an open problem. Because the earth is composed of continents and water and there are no mouse holes on water that would seem to imply that there must be a mouse hole on a continent and therefore the continent is larger than the mouse hole. But there’s a loophole: Boats are also on water and may contain mouse holes. While it is known that mouse holes exist it remains an open question whether they occur on continents, on boats, or both. (All mouse holes are known to be about the same size, so ‘a mousehole’ and ‘any mousehole’ mean essentially the same thing.) If it could be shown that there there exists a continent larger than all boats, which is widely believed to be the case, then we would know that there exists a continent larger than a mouse hole, but for now all we can prove is that there is either a boat larger than a mouse hole or a continent larger than a mouse hole.

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

Several years ago there was a breakthrough result showing that there exists a blue whale larger than a mouse hole. This is a very exciting result not only on its own merits but also because it breaks the so-called recursion barrier: Blue whales are the first things known to be larger than mouse holes which cannot themselves contain mouse holes. Unfortunately whether there exists a continent larger than all blue whales remains open so this result can’t be used to resolve the question of whether there exists a continent larger than a mouse hole.

Now there is an exciting new result showing that there exists an elephant larger than a mouse hole. Unfortunately this result comes with a large caveat: While it’s known that blue whales don’t exist on other planets the question of whether elephants exist on other planets remains open. So it’s still possible that there doesn’t exist a continent larger than a mouse hole or even possible that there exists an elephant on another planet larger than the entire earth which would make this result trivial, although that isn’t believed to be the case. If it could be shown that there aren’t elephants on other planets, or that they aren’t any larger than the elephants on earth, then it would be known that there’s an elephant on our planet larger than a mouse hole.

This is an exciting time in mouseholeology with important results coming in quickly. The coming years are all but guaranteed to bring new breakthroughs in our understanding of which things can fit through mouse holes.

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

Posted Wed Feb 26 02:48:51 2025 Tags:
Anyone know where I can pick up a keyboard for an Ann Arbor Ambassador? My Tab key stopped working and I'm having a hell of a time fixing it.

But I now know why these keys were always so mushy! The keys don't have rubber domes, they have chunks of open-cell foam with aluminum foil glued under them. And the foam under the tab key has turned completely to dust.

The keyboard attaches with an RJ11 cable, as it predates PS/2 by at least 5 years.

I was finally getting around to fixing that termcap entry...

Previously, previously.

Posted Tue Feb 25 03:56:49 2025 Tags:

Ready in time for libinput 1.28 [1] and after a number of attempts over the years we now finally have 3-finger dragging in libinput. This is a long-requested feature that allows users to drag by using a 3-finger swipe on the touchpad. Instead of the normal swipe gesture you simply get a button down, pointer motion, button up sequence. Without having to tap or physically click and hold a button, so you might be able to see the appeal right there.

Now, as with any interaction that relies on the mere handful of fingers that are on our average user's hand, we are starting to have usage overlaps. Since the only difference between a swipe gesture and a 3-finger drag is in the intention of the user (and we can't detect that yet, stay tuned), 3-finger swipes are disabled when 3-finger dragging is enabled. Otherwise it does fit in quite nicely with the rest of the features we have though.

There really isn't much more to say about the new feature except: It's configurable to work on 4-finger drag too so if you mentally substitute all the threes with fours in this article before re-reading it that would save me having to write another blog post. Thanks.

[1] "soonish" at the time of writing

Posted Mon Feb 24 05:38:00 2025 Tags:

This is a heads up as mutter PR!4292 got merged in time for GNOME 48. It (subtly) changes the behaviour of drag lock on touchpads, but (IMO) very much so for the better. Note that this feature is currently not exposed in GNOME Settings so users will have to set it via e.g. the gsettings commandline tool. I don't expect this change to affect many users.

This is a feature of a feature of a feature, so let's start at the top.

"Tapping" on touchpads refers to the ability to emulate button presses via short touches ("taps") on the touchpad. When enabled, a single-finger tap corresponds emulates a left mouse button click, a two-finger tap a right button click, etc. Taps are short interactions and to be recognised the finger must be set down and released again within a certain time and not move more than a certain distance. Clicking is useful but it's not everything we do with touchpads.

"Tap-and-drag" refers to the ability to keep the pointer down so it's possible to drag something while the mouse button is logically down. The sequence required to do this is a tap immediately followed by the finger down (and held down). This will press the left mouse button so that any finger movement results in a drag. Releasing the finger releases the button. This is convenient but especially on large monitors or for users with different-than-whatever-we-guessed-is-average dexterity this can make it hard to drag something to it's final position - a user may run out of touchpad space before the pointer reaches the destination. For those, the tap-and-drag "drag lock" is useful.

"Drag lock" refers to the ability of keeping the mouse button pressed until "unlocked", even if the finger moves off the touchpads. It's the same sequence as before: tap followed by the finger down and held down. But releasing the finger will not release the mouse button, instead another tap is required to unlock and release the mouse button. The whole sequence thus becomes tap, down, move.... tap with any number of finger releases in between. Sounds (and is) complicated to explain, is quite easy to try and once you're used to it it will feel quite natural.

The above behaviour is the new behaviour which non-coincidentally also matches the macOS behaviour (if you can find the toggle in the settings, good practice for easter eggs!). The previous behaviour used a timeout instead so the mouse button was released automatically if the finger was up after a certain timeout. This was less predictable and caused issues with users who weren't fast enough. The new "sticky" behaviour resolves this issue and is (alanis morissette-stylue ironically) faster to release (a tap can be performed before the previous timeout would've expired).

Anyway, TLDR, a feature that very few people use has changed defaults subtly. Bring out the pitchforks!

As said above, this is currently only accessible via gsettings and the drag-lock behaviour change only takes effect if tapping, tap-and-drag and drag lock are enabled:

  $ gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click true
  $ gsettings set org.gnome.desktop.peripherals.touchpad tap-and-drag true
  $ gsettings set org.gnome.desktop.peripherals.touchpad tap-and-drag-lock true
  
All features above are actually handled by libinput, this is just about a default change in GNOME.
Posted Mon Feb 24 04:17:00 2025 Tags:

Board games are said to have ‘position’ which is about the longer term implications of what’s happening on the board, and ‘tactics’ which is amount immediate consequences. Let’s consider a game which is purely tactical. In this game the two sides alternate picking a bit which is added to a string and after they’ve both moved 64 times the secure hash of the string is calculated and that’s used to pick the winner. I suggest 64 as the number of moves because it’s cryptographic in size, so the initial moves will have unclear meanings and will become clearer towards the end of the game.

The first question to ask about this is what are the chances that the first player to move will have a theoretical win, assuming both sides have unlimited computational capability. It turns out if the chances are greater or less than a certain special value then the probability of one particular side having the win goes up rapidly as you get further from the end of the game. If the win probability is set to exactly that value then the winning chances remain stable as you calculate backwards. Calculating this value is left as an exercise to the reader. The interesting thing is that the value isn’t 50%, in fact it’s fairly partisan, which raises the question of whether the level of advantage for white in Chess is set about right to optimize for it being a tense game.

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

There are other variants possible. The number of possible plays could be more than 2, or somewhat variable since you might have a chance of making the opponent skip their turn and you go again. This would allow the ‘effective’ fanout to be something non-integer, but it’s an interesting question whether there’s a way for it to be less than 2.

There’s a variant where instead of there being a fixed number of moves in a game after each move the player who just moved has some probability of winning (or losing). It isn’t obvious whether any win probability guarantees a 100% probability that the game is winnable by one side or the other. It seems like that should be a foundational result in computer science but I’m unfamiliar with it.

In practice of course analyzing this sort of game is constrained by computational ability. That can be ‘emulated’ by assuming that the outcomes are truly random and there’s an oracle which can be accessed a set number of times on one’s turn to say who wins/whether a player wins in a given position. There are a lot of variants possible based on the amount of queries the sides have and whether there’s optionality in it and whether you can think on the opponent’s time. It feels like optimal play is slightly randomized. Intuitively if one player has more thinking time than the other then the weaker player needs to mix things up a bit so their analysis isn’t just a subset of what the opponent is seeing. But this is a wild guess. Real analysis of this sort of game would be very interesting.

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

Posted Sat Jan 25 23:26:36 2025 Tags:
Looking at some claims that quantum computers won't work. #quantum #energy #variables #errors #rsa #secrecy
Posted Sat Jan 18 17:45:19 2025 Tags:

You might notice Katy is having a bit of an interdimensional anomaly here. I implemented this as an experiment because it’s different from any color cycling effect I’ve ever seen before. Normally in color cycling there’s one position which is true, then the hues rotate until all of them are swapped, then they keep rotating until they’re back to true. In this one at any given moment there are two opposite hues which are true and the ones at 90 degrees from those are swapped, and the color cycling effect is rotating which angle is true. It’s also doing a much better job of keeping luminance constant due to using okhsl.

Code is here. It’s leaning on libraries for most of the work, but I did write some code to dither just the low order bits of the RGB values. That’s a technique which should be used more often. This effect would also work on animated video. You could even adjust the angle as a directorial trick, to draw the viewer’s eye towards particular things by making their color true.

(Now that I think about it low order bit dithering could be improved by using error in the okhsl gamut. It also be improved by other diffusion techniques, which in turn can be further improved by dynamically choosing which neighboring pixel most wants to have error in the opposite direction already. I’m going to exercise some self-control and not implement any of this, but you most definitely should pick it up where I left off. All video manipulation should be done in 16 bit color the entire time and only dithered down to 8 bit on final display.)

As a bonus, I also simplified the color swatches I gave previously into two separate ones, for light and dark backgrounds. Files are here and here.

All of the above is done within the limitations of the sRGB color space. The sRGB standard kind of sucks. It’s based off the very first color television which was ever made in 1954 and the standardization which came later made it consistent but not broader. Now that OLED is getting used everywhere my expectation is that things are going to start supporting Rec2100 under the hood and once that becomes ubiquitous new content will be produced in formats which support that extra color depth. It’s going to take a few years.

Posted Fri Dec 27 15:32:45 2024 Tags: