• 1 Post
  • 117 Comments
Joined 1 year ago
cake
Cake day: June 15th, 2023

help-circle
  • I’m not sure how they’re doing it but in Germany all those PET bottles go into a centrally-managed recycling stream (because 25ct deposit) and I bet they have some technical norms around that kind of stuff. The bottles are all crushed to save space, incl. the caps, which at least in the case of the water bottle next to me is HDPE. Judging by the haptics the label is PET, a flimsy banderole glued (fused?) on at the seam.

    Either they’re doing it chemically by breaking up the PET and then fishing out the rest from the soup (is that possible?) or what would also work I guess is shredding and mechanical sorting – the label is flimsy, the bottle always transparent, the cap never transparent. Such stuff.



  • I think that’s mostly UK and France. As in: I have an Opinel lying around here, perfectly legal to carry in any situation as long as it’s not a protest or such, it’s a French knife, lots of tradition behind it… and it’s illegal in France.

    Rules in Germany are quite simple: If the blade is longer than IIRC 14cm (palm of your hand), or it is a locking blade that’s designed to be opened with one hand, you need a good reason to carry it. Like, walking on the street towards the forest with an axe over your shoulder is fine because you have a proper reason, into a mall, not so much. Butterflies and some other one-handed opening mechanisms popular with notorious people are outlawed. Fixed blades with certain features, say, guards or more than one edge, are rightly classed as bladed weapons which you generally need to keep at home. Everything else is a tool you can EDC, and the only thing you need to buy a sword is your ID to show that you’re 18.




  • Azov has gotten completely diluted by a gigantic influx of ordinary people, its hardcore Nazi times were over before they were even rolled into Ukraine’s overall command structure which came along with some more denazification. The Wolfsangel isn’t recognised as a far-right symbol in Ukraine by the general public so they kept it. It’s also not a clear-cut Nazi symbol even in Germany, you see it on plenty of coat of arms, it also has plenty of use in forestry which is its original source: You hang it with bait onto a branch to kill wolves in a rather gruesome manner. That’s outlawed nowadays but you still see it on border forestry border stones, to mark wood, etc. The heraldic use derives from that, it symbolises presence or importance of forestry in the area the coat of arm represents. Not much forest around the Azov sea, though.

    Those are not the Nazis you’re looking for. If you want to see, well not exactly nazis but the hot-bed of ultranationalists in the Ukrainian army have a look at the right sector regiment. Dylan Burns did an interview.

    Next up: Someone’s going to claim that the Ukrainian army uses the “Iron Cross”. First off, the Bundeswehr still uses it, secondly, no the Ukrainians don’t use it you’re looking at the Cossack Cross, derived independently from the Templar Cross, unlike the Iron Cross not via the Teutonic Order. They’ve been using that thing for centuries.

    EDIT: Oh wait I just remembered I’m completely banned from lemmygrad they won’t see this. Well, whatever.


  • So then, you think Nazi Swastikas without context should be allowed without any repercussions.

    That’s incoherent. “Nazi swastika” and “without context” doesn’t mesh because “Nazi” is a context for “swastika”.

    That aside, I’m going to take German law as an example: No, non-nazi swastikas are very much not outlawed. You can see them on stray Hindu temples or shrines in the country, for example. “Without” context they’re generally assumed to be Nazi ones over here because historical context, also, only Nazis draw random swastikas over here. You also see ones broken in pieces getting thrown in the trash or in a crossed-out circle, those come from the Antifa side.

    Both the Hindu and Antifa uses are legal, the Nazi ones aren’t. That’s because German law doesn’t outlaw the swastika as such, it outlaws “using symbols of unconstitutional or outlawed organisations in a manner suitable to further their aims”. A Nazi painting a Swastika on a Jewish gravestone is considered furthering the aims of the NSDAP, which had the swastika as their logo. A Hindu chiselling a swastika into their gravestone is a completely different matter. (Do Hindus use gravestones? Anyway doesn’t matter it’s a hypothetical example).

    In another country, where the historical context is different, those “without” context swastikas won’t be interpreted the same as in Germany. So even under German law those would arguably be legal, there.


  • Assembly is a direct mapping to instructions. It just converts the text into machine code directly,

    Kinda… yes and no? At least with x86 there’s still things like encoding selection going on, there’s not a 1:1 mapping between assembly syntax and opcodes.

    Also assemblers, at least those meant for human consumption (mostly nasm nowadays) tend to have powerful macro systems. That’s not assembly as such, of course.

    But I think your “a compiler changes the structure of the code” thing is spot-on, an assembler will not reorder instructions, it won’t do dead code elimination, but I think it’s not really out of scope of an assembler to be able to do those things – compilers weren’t doing them for the longest time, either.

    I think a clearer division would be that compilers deal with two sets of semantics: That of the source language, and that of the CPU. The CPU semantics don’t say things like “result after overflow is undefined”, that’s C speaking, and compilers can use those differences to do all kind of shennanigans. With assemblers there’s no such translation between different language semantics, it’s always the CPU semantics.


  • 32 is ASCII space, the highest number you need is 114 for r (or 122 for z if you want to be generic), that’s a range of 82 or 90 values.

    The target string has 13 characters, a long long has 8 bytes or 16 nibbles – 13 fits into 16 so nibbles (the (x >>= 4) & 15) it is. Also the initial x happens to have 13 nibbles in it so that makes sense. But a nibble only has 16 values, not 82, so you need some kind of compression and that’s the rest of the math, no idea how it was derived.

    If I were to write that thing I’d throw PAQ at it it can probably spit out an arithmetic coding that works, and look even more arcane as you wouldn’t have the obvious nibble steps. Or, wait, throw NEAT at it: Train it to, given a specific initial seed, produce a second seed and a character, score by edit distance. The problem space is small enough for the approach to be feasible even though it’s actually a terrible use of the technique, but using evolution will produce something that’s utterly, utterly inscrutable.



  • One of the issues I have with C++ is the standard library source seems to be completely incomprehensible.

    AAAAAAhhh I once read a Stroustrup quote essentially going “if you understand vectors you understand C++”, thought about that for a second, coming to the conclusion “surely he didn’t mean using them, but implementing them”, then had a quick google, people said llvm’s libc++ was clean, had a look, and noped out of that abomination instantly. For comparison, Rust’s vectors. About the same LOC, yes, but the Rust is like 80% docs and comments.



  • Different kinds of sugar are all sugar when they get to your gut.

    Nope fruits are high in fructose while sucrose, aka table sugar, is 50:50 glucose and fructose. Fruit has the same or even worse makeup sugar-wise as HFCS, glucose can be used pretty much directly by the body while fructose needs to be processed by the liver, into fat. Evolutionary speaking that makes a lot of sense as when there’s a lot of fruit around it’s summer and you need to fatten up.

    Real fruit vs. juice is a matter of fibre and satisfaction from chewing, it’s way easier to overdrink than to overeat fruit.






  • Yes and no: The bottling lines don’t get replaced, and in fact the EU checked beforehand that they won’t need to be replaced because otherwise the whole thing might’ve been an undue burden on the industry and they would have to make a closer evaluation, give the industry more time to switch, etc. The new caps can be screwed on by the old machines and if not, only cheap parts need replacing.

    OTOH bottle cap manufacturers very much did do their homework, or at least the ones producing good caps that beverage companies will buy did it as no beverage company wants to be the one with the awkward caps. That’s not to say that there’s not bad designs out there but those will vanish. Also some consumers seem to have skill issues, like not latching the cap into the open position.


  • Yep exactly they latch in a wide open position.

    At this point there might still be experimental versions around, stuff which companies made and want to use up, but sooner than later you’ll only see the good, successful versions on bottles. The rest is muscle memory and, if you don’t have the physical/mechanical intelligence to figure out a latching mechanism yourself, learning by observing other people successfully not stabbing their faces.


  • 5/6/2024 hasn’t been yet… so its not expired hah.

    The current certificate is valid from Mon, 06 May 2024 07:58:01 GMT to Sun, 04 Aug 2024 07:58:00 GMT, it has been renewed today. Click on the padlock on the address bar and click your way through to see those dates. Renewal was probably automatic, in any case there was enough of a lapse for me to stumble across the error.

    I don’t think 3650000 is a typo, that’s four zeros away from being a year.

    Then where does the “365” come from? That’s some highly specific digits.