I don't understand the castling part of this - you can move a rook from its starting square and back and castling isn't available - it says that you can determine whether castling is available from the location of the pieces?
i think i just misunderstood the writing, it does explicitly say 4bits for castling. the prose around is just describing what castling is - i thought it was implying that you could determine whether castling is possible from the position of the pieces.
He starts out by using 4 bits for castling rights.
Then he introduces the other method (signify that castling is allowed by saying the rook on that side is on the same square as the king) and with that method he doesn't need any extra bits for castling rights.
Edit: it would be better on average to keep the castling bits, and omit the positions of kings and rooks if castling is possible. But that's variable length and it's simply 4 extra bits in the worst case.
the installation story for devs writing windows apps has been dreadful for 3 decades.
vs used to help you build setup.exe, which was always a huge chore to use.
clickonce was launched to replace all this with hosted manifests and auto-updates and modern features like that, and immediately forgotten about because it was so broken. nobody ever used it.
then they brought out WinUI and the windows store, which was so overly sandboxed that it didn't fit most use cases and the permissions system of the store never seemed to line up with the APIs themselves.
then they tried their best to destroy myget by launching winget, which got forgotten about again. now even MS doesnt use their own store.
Anecdotally, yesterday I launched the Windows sandbox to investigate some files and noticed that notepad.exe was not available. A quick research revealed that this is because notepad.exe was replaced by the modern variant with Colipot and shit, which is an AppX package (Windows Store file format). And since the store was ripped out of the sandbox, there's no Notepad in it.
I'm not sure I would say Microsoft forgot about the store. I think Microsoft is like a Dog that has no head, no legs, only tails. And these tails have their own will and don't care about the dog in the slightest.
rumour has it the next version of windows will be called Microsoft 365 Azure for Desktop XBOX Edition so that each of the executives in the money making sections gets their piece.
When I was developing C# winforms applications 15 years ago, I just created a fat signed .exe that was then distributed. Installers and click once stuff was a big turn off for users.
On startup, if not already there, it automagically copied itself to the installation directory, created an autostart directory link and started it from the new location and got killed with a named pipe command. It contained and extracted another .exe that was continuously checking for new versions, downloading them and starting them.
As malwary as it gets but it worked flawlessly!
The windows store nightmare that came after looks dreadful.
Not to mention the need for a code signing certificate, which even in 2026 is a gigantic and expensive hassle to obtain.
You can spend weeks of effort and hundreds of dollars just to ship an installable hello world app these days. The MS store takes care of signing, but there are other trade-offs.
The entire desktop TTHW (time to installable hello world) story is horrible across the board:
- Win: Decent tech foundation for updates made insufferable by code signing requirements.
- Mac: No update story, cobble together a bunch of tools/scripts, notarize releases with Apple (not very onerous), hope you don't ship an update that crashes at launch because you broke your updater too.
- Linux: No consensus on how to package. Bob wants a .deb, Alice wants a snap. Flatpak seems to be winning overall. The best tool to smooth over Win/Mac installer headaches (Conveyor) doesn't support flatpak. Bummer.
> No consensus on how to package. Bob wants a .deb,
Bob wants a deb. I give him a deb. Bob is not happy because I compiled the software with an incompatible glibc. I deploy a webapp for Bob. Alice gets to use it too.
Bob wants a deb. I tell him to pound sand and give him a statically linked executable and pray that DNS works. If the software is still relevant in five years, some Debian maintainer will take an ancient version, convert it to use shared libraries, apply a dozen patches and give a .deb to Bob.
clickonce for a brief shining moment was the closest we ever got to being able to deploy an application like a webpage.
I did run into a lot of issues with the store/winrt APIs where there were backdoors that the NTDev team used to work around all the limitations, but they would never publish them.
i think it's telling that Nullsoft created their own installer for WinAmp and its still 20 years later one of the most sane and popular ways of distributing apps.
I'm still using it to distribute/update production apps and whilst the script language is a bit funky, it works reliably. And the tools work under Linux too, so I can easily integrate a "create setup" step in the CI/CD environment.
They're self contained and native, but they're still massive.
There's been some work on CoreRT and a general thrust to remove all dependencies on any reflection (so that all metadata can be stripped) and to get tree-shaking working (e.g. in Blazor WASM).
It seems like in general they're going in this direction.
i went through border control twice at an airport after going to the wrong gate and when i returned to the uk the e-gates immediately declined to process it (the camera etc. didn't move and e.g. reject the facial recognition, it just immediately said go to the desks). i've always wondered what that was about, how do they know i didn't just go to a third country?
i think his point was that the actual LINQ (language integrated query) is already superior to transposing it back to the functional fluent version. i largely agree, especially when you're doing joins and group by.
i've worked with people in the past who refused to allow any actual LINQ in the codebase (use resharper to convert it to fluent!) even though it essentially became obfuscated.
I remember doing this about twenty years ago when many hotels blocked the internet behind a paywall but were naive in their approaches. I also remember trying this at a hotel in Tokyo about ten years ago and instantly finding my MAC address blacklisted. Their networking folks were clearly more sophisticated.
The reason starlink are so low in the first place is its cheaper to launch to that altitude, you need way less signal strength for devices to connect to them and the round-trip latency is vastly improved. They're intended to be essentially disposable, they're going for shorter lifetime and iterating on hardware improvements faster.
The further out you get, there's less atmospheric drag and each satellite is in view of the ground stations for longer but the cost of launch is higher and latency becomes a big issue. People expect 50ms latency for internet access not 500ms.
i'm not paying a lot of attention to this AI global economics war bs tbh, but the intel arc gpus seemed to be a sensible way of me getting back into pc gaming. good drivers, ok performance, great value and great energy efficiency.
then all of a sudden nvidia decides to "invest" in intel... and all of a sudden it sounds like arc will be probably be getting cancelled.
reply