• 1 Post
  • 173 Comments
Joined 1 year ago
cake
Cake day: June 12th, 2023

help-circle

  • Once I was tasked with doing QA testing for an app which was planned to initially go live in the states of Georgia and Tenessee. One of the required fields was the user’s legal name. I therefore looked up the laws on baby names in those two states.

    Georgia has simple rules where a child’s forename must be a sequence of the 26 regular Latin letters.

    Tenessee seemed to only require that a child’s name was writable under some writing system, which would imply any unicode code point is permissible.

    At the time, I logged a bug that a hypothetical user born in Tenessee with a name consisting of a single emoji couldn’t enter their legal name. I reckon it would also be legal to call a Tenessee baby 'John '.



  • As someone who’s just spent half an hour reading Wikipedia thanks to this thread, I can now dispense a summary of what I read to make it feel like I didn’t just waste a chunk of time I should have spent in bed by wasting another chunk of time I should be spending in bed.

    Fats are made out of fatty acids, which are carboxylic acids with a longish carbon chain. A saturated fatty acid only has single bonds between carbon atoms, a monounsaturated fatty acid has a single double bond somewhere in the chain (and these are sometimes things that turn into buzzwords, e.g. omega three oils are ones where there’s a single double bond three along from the end of the chain), and a polyunsaturated fatty acid has more than one double bond.

    Single bonds in a carbon chain can only be one way around, so you don’t get isomers of saturated fatty acids, but double bonds in a carbon chain can be in either of two orientations. If the hydrogens are on the same side for both sides of the bond, that’s the cis orientation, and if they’re on opposite sides, that’s the trans orientation. Most natural unsaturated fats are cis, so they generally don’t get explicitly labelled as cis fats, and just the trans ones get the extra label. Notably, though, vaccenic acid, which is about 4% of the fat in butter, is trans by default, so it’s cis-vaccenic acid that gets the extra label.

    Unsaturated fats tend to be more liquid at room temperature, but can be made by growing cheap vegetables. They also go off faster as free radicals can attack the double bonds. Saturated fats tend to be solid at room temperature, but mostly need to come from animals or more expensive plants (palm fat is an exception - it’s cheap and mostly saturated). It’s therefore desirable to use industrial processes to artificially saturate fats, and we can do that by heating them up and exposing them to hydrogen in the presence of a catalyst like Nickel. You don’t necessarily want to fully saturate your fat, though, so might stop part way, and if you do, unless you intentionally tweak the process to avoid it because it’s the 21st century and you’re legally obliged to, you get some of the partially hydrogenated fat switching from cis to trans.

    Over the course of the last century, we realised that (except for a few like vaccenic acid) trans fats are harmful in lots of exciting ways, e.g. messing up cholesterol, blocking your arteries, and building up in your brain. They’ve therefore been banned or restricted to certain percentages in a lot of the world. You can get a similar effect by fully hydrogenating things to get safe (or at least safer) saturated fat and mixing it with the unmodified fat, or by switching everything that used to use hydrogenated vegetable oil to using palm oil, which is one of the driving forces behind turning rainforests into palm plantations.

    Apparently, this was twenty five minutes of writing, so I’m nearly up to an hour of thinking about fats.


  • Conspiracy theory: they realised this news was about to break, and removed the comment section because they expected a shitshow where every one of their customers saw comments pointing out their crimes.

    As a dub watcher, the comment section was important. The dub comments were the only place to see what an unsubtitled background sign said or which scene had been cut from the manga that explained why something weird happened without there being comments from sub watchers full of spoilers for a couple of episodes later, which they don’t consider spoilers as the subtitled version of that episode was a week old.


  • It makes sense, but it also makes sense to design society so that situations where it’s helpful happen as rarely as possible. If some people are predisposed to being a good firefighter, it doesn’t negate the fact that you don’t want buildings to catch fire in the first place, so you still want to teach children not to play with matches, teach adults not to keep lighter fuel near their heater, and ban companies from selling combustible cladding to insulate tower blocks. Prevention is better than cure. You just then have a load of people who aren’t great at being anything except a firefighter, ready for fires that never happen, and under the current system, forced either into jobs they’re bad at, or into chronic stress to get consistent productivity.



  • A big part of the reason was that Facebook offered game studios a big upfront sum if they made their games work on whatever headset they were selling at the time in standalone mode with no major caveats. The headset only had an anemic mobile GPU, so was only capable of as much as mobile games were doing at the time. A bunch of studios took them up on this offer, and cut back their projects’ scope to be viable under the hardware constraints, so nearly everything that got made was gimmicky mobile-style minigames, and obviously that’s not what makes people want to drop hundreds of dollars on hardware, as they can get their fill by borrowing someone else’s headset for an hour.

    Mobile GPUs have improved, so standalone headsets aren’t as terrible now, but we missed the expensive toy for enthusiasts and arcades phase and soured most people’s opinions by making their first VR experience shovelware.


  • It’s not realistic to demand to own games in the same way as a spoon any time soon. It is, however, pretty reasonable to demand you own games like you’d own a book. You can chop up a book and use it to make a paper maché dog, but you can’t chop up the words within to make a new derivative book (or just copy them as its to get another copy of the same book except for a single backup that you’re not allowed to transfer to someone else unless you also give them the original). The important things you can do with a book but not a game under the current system, even with Gog, are things like selling it on or giving it away when you’re done with it and lending it out like a library.

    About a hundred years ago, book publishers tried using licence agreements in books to restrict them in similar ways to how games and other software are restricted today, but courts decided that was completely unreasonable, and put a stop to it. In the US, that’s called the First Sale Doctrine, but it has other names elsewhere or didn’t even need naming. All the arguments that applied to books apply equally well to software, so consumers should demand the same rights.


  • The vfs of MO2 isn’t the thing that’s hard to port. FUSE would make it fairly straightforward and the main reason USVFS is complicated in the first place is that there’s not a way to make a fast VFS under Windows due to the higher overhead of going back and forth between kernel and user mode, so it has to resort to hooking most of the multitude of functions in the Win32 and NT filesystem APIs instead of just providing about twenty callbacks like you’d do with FUSE.

    A mod manager looks much simpler than it is as it looks like you’re just keeping track of lists of files, but mods come in the most insane packaging formats ever devised (e.g. with mad compression schemes and custom scripting languages) and mod managers need to selectively pretend to have all the bugs of every other mod manager as mods get made that rely on a particular bug in the mod manager their author used.

    MO2 has a particular extra complexity when thinking about porting it to Linux in that it uses Win32 APIs in lots of places it doesn’t really need to, and also does so in a few places where it’s genuinely much more convenient that it does. It also uses a custom build system generator generator because its CMake and dependencies are too complicated for a human to practically deal with, so it would take loads of work to even build a completely unusable binary on Linux. We have people volunteer to do the work a few times a year and read a warning I write that looks like this comment and claim to have the willpower to do it anyway, but none of them have ever submitted a single commit.






  • I’m not arguing for anything in the post above, just pointing out that a broken (or badly repaired) insulin pump is genuinely more dangerous than having no insulin pump. That doesn’t have to count against the right to repair one, as if you’ve got the right to repair an insulin pump, and do so badly, it doesn’t mean you’re legally forced to use it afterwards, just like I’ve got the right to inject all the insulin in my fridge with an insulin pen back to back, but I’m not legally forced to do so.

    I do think the right to repair should be universal, but as I think that medical stuff should be paid for by the state, NHS-style, that would end up meaning that the NHS could repair medical devices themselves if they deemed it more economical to do so and recertify things as safe than to get the manufacturer to repair or replace them. The NHS is buying the devices, and gets the right to repair them, and that saves the taxpayer money, as even if they don’t actually end up repairing anything, it stops manufacturers price gouging for repairs and replacements, and if the manufacturer goes bust or refuses to repair something, there’re still ways to keep things working. It doesn’t mean unqualified end users can’t use their new right to repair their medical devices and risk getting it wrong, but if you’ve got an option of a free repair/replacement, most people would choose the safe and certified repair over their own bodge.


  • If you’ve got a broken insulin pump, assuming you’re in a country with a functioning healthcare system, you should have been given a spare pump with the original, and probably some insulin pens, so when one breaks, you fall back to the spare, and get given a new one to be the new spare (or could get the broken one repaired). Using the spare is completely safe.

    If you don’t have a spare, your sugars would go up over several hours, but you’d have a day or two to get to a hospital and potentially several days after that for someone to find you and get you to a hospital, so it’s not safe, but also not something you’d die from if you had any awareness that there was a problem.

    If you’ve got an incorrectly-repaired pump, you could have it fail to give you enough insulin, and end up with higher sugars, notice the higher sugars, and then switch to the spare. That’d be inconvenient, but not a big deal. However, you could also have it dump its entire cartridge into you at once, and have your sugars plummet faster than you can eat. If you don’t have someone nearby, you could be dead in a couple of hours, or much less if you were, for example, driving. That’s much more dangerous than having no insulin at all.

    Prosthetic legs don’t have a failure mode that kills you, so a bad repair can’t make them worse than not having them at all, but insulin pumps do, so a bad repair could.



  • In real life, all quantum entanglement means is that you can entangle two particles, move them away from each other, and still know that when you measure one, the other will have the opposite value. It’s akin to putting a red ball in one box and a blue ball in another, then muddling them up and posting them to two addresses. When opening one box, you instantly know that because you saw a red ball, the other recipient has a blue one or vice versa, but that’s it. The extra quantum bit is just that the particles still do quantum things as if they’re a maybe-red-maybe-blue superposition until they’re measured. That’s like having a sniffer dog at the post office that flags half of all things with red paint and a quarter of all things with blue paint as needing to be diverted to the police magically redirect three eighths of each colour instead of different amounts of the two colours. The balls didn’t decide which was red and which was blue until the boxes were opened, but the choice always matches.


  • The US government asked the big ISPs how much it would take to wire everyone up to high-speed Internet, then passed a bill to give them a ludicrous lump sum to do so (IIRC it was hundreds of billions). The money was split between dividends, buying up other companies, and suing the federal government for attempting to ask for the thing they’d paid for, and in the end, the government gave up. That left loads of people with no high-speed Internet, and the ISPs able to afford to buy out anyone who attempted to provide a better or cheaper service. Years down the line, once someone with silly amounts of money for a pet project and a fleet of rockets appeared, there was an opportunity for them to provide a product to underserved customers who could subsidise the genuinely impossible-to-run-a-cable-to customers.

    If the US had nearly-ubiquitous high-speed terrestrial Internet, there wouldn’t have been enough demand for high-speed satellite Internet to justify making Starlink. I think this is what the other commenter was alluding to.


  • It also doesn’t help that once you’ve paid the large fee for the Pro version, it doesn’t actually guarantee any support if you encounter a bug. You get access to a different issue tracker, and might get a Unity employee to confirm that the bug exists after a couple of months (and maybe close it as a duplicate, then reopen it as not a duplicate when the fix for the other bug doesn’t help, then reclose it as a duplicate when it turns out the fix for the other bug also doesn’t fix the other bug, and at the end of a multi-month process, there still being a bug with no indication an engineer’s looked at it).

    Anyway, I’m glad to no longer be working for a company that uses Unity.