• 9 Posts
  • 50 Comments
Joined 2 months ago
cake
Cake day: August 10th, 2025

help-circle



  • Let me revise that statement to - it’s better in every metric (compression speed, compressed size, feature set, most importantly decompression speed) compared to all other compressors I’m aware of, apart from xz and bz2 and potentially other non-lz compressors in the best compression ratio aspect.

    Your Cloudflare post literally says “a new compression algorithm that we have found compresses data 42% faster than Brotli while maintaining almost the same compression levels.” Yes, I get that in some circumstances where compression speed is important, this might be very useful. I don’t see the point in talking further in circles anymore, thank you for the information.


  • You must be living in a different bubble than me then, because I see zstd used everywhere, from my Linux package manager, my Linux kernel boot image, to my browser getting served zstd content-encoding by default

    Clearly a different bubble lol.

    What distro are you using that uses zstd? Both kernel images and packages seem like a textbook case where compressed size is more important than speed of compression… which would mean not zstd. And of course I checked, it looks like NixOS uses bz2 for kernel images (which is obviously right to me) and gzip (!) for packages? Maybe? I’m not totally up to speed on it yet, but it sort of looks that way.

    I mean I see the benchmarks, zstd looks nice. I checked this:

    https://tools.paulcalvano.com/compression-tester/

    … on lemmy.world, and it said that lemmy.world wasn’t offering zstd as an option, In its estimate, Brotli is way better than gzip, and sort of equivalent with zstd with zstd often being slightly faster in compression. I get the idea, it sounds cool, but it sort of sounds like some thing that Facebook is pushing that’s of dubious usefulness unless you really have a need for much faster compression (which, to be fair, is a lot of important use cases).

    Yeah, I think of bz2 as sort of maximal compression at the cost of slower speed, gzip as the standard if you just want “compression” in general and don’t care that much, and then a little menagerie of higher performance options if you care enough to optimize. The only thing that struck me as weird about what you were saying was claiming it’s better in every metric (instead of it just being a good project that focuses on high speed and okay compression) and a global standard (instead of being something new-ish that is useful in some specific scenarios). And then when I tried both zstd and this other new Facebook thing and they were both worse (on compression) than bz2 which has been around for ages I became a lot more skeptical…



  • What are you basing this all on?

    $ time (cat optimizer.bin | bzip2 > optimizer.bin.bz2)
    
    real	0m4.352s
    user	0m4.244s
    sys	0m0.135s
    
    $ time (cat optimizer.bin | zstd -19 > optimizer.bin.zst)
    
    real	0m12.786s
    user	0m28.457s
    sys	0m0.237s
    
    $ ls -lh optimizer.bin*
    -rw-r--r-- 1 billy users 76M Oct 20 17:54 optimizer.bin
    -rw-r--r-- 1 billy users 56M Oct 20 17:55 optimizer.bin.bz2
    -rw-r--r-- 1 billy users 59M Oct 20 17:56 optimizer.bin.zst
    
    $ time (cat stocks-part-2022-08.tar | bzip2 > stocks-part-2022-08.tar.bz2)
    
    real	0m3.845s
    user	0m3.788s
    sys	0m0.103s
    
    $ time (cat stocks-part-2022-08.tar | zstd -19 > stocks-part-2022-08.zst)
    
    real	0m34.917s
    user	1m12.811s
    sys	0m0.211s
    
    $ ls -lh stocks-part-2022-08.*
    -rw-r--r-- 1 billy users 73M Oct 20 17:57 stocks-part-2022-08.tar
    -rw-r--r-- 1 billy users 26M Oct 20 17:58 stocks-part-2022-08.tar.bz2
    -rw-r--r-- 1 billy users 27M Oct 20 17:59 stocks-part-2022-08.zst
    

    Are you looking at https://jdlm.info/articles/2017/05/01/compression-pareto-docker-gnuplot.html or something? I would expect Lempel-Ziv to perform phenomenally on genomic data because of how many widely separated repeated sequences the data will have… for that specific domain I could see zstd being a clear winner (super fast obviously and also happens to have the best compression, although check the not-starting-at-0 Y axis to put that in context).

    I have literally never heard of someone claiming zstd was the best overall general purpose compression. Where are you getting this?



  • PhilipTheBucket@piefed.socialBanned from communitytoMemes@lemmy.mlFuck The Right, Left Unite
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    3
    ·
    edit-2
    1 day ago

    https://www.wsws.org/en/special/library/foundations-ger/10.html

    73 - The KPD had been established as a response to the betrayal of social democracy. But it proved just as unable as the SPD to weld together the working class and lead it into a struggle against the Nazis. A ten-year campaign against “Trotskyism” had politically corroded the party and transformed its leadership into a willing tool of Stalin. It repeated all the opportunist and ultra-left errors, against which Lenin and Trotsky had fought ten years before, and hid its paralysis and fatalism behind radical phrase-mongering. Until 1933, Trotsky tried relentlessly to correct the wrong course of the KPD. His writings on Germany from these years, which fill two thick volumes, prove his genius as a Marxist and political leader. Banished to a remote Turkish island, forced to rely on newspapers and reports from political friends, Trotsky demonstrated an understanding of German events and their internal dynamics that remains unparalleled to this day. He foresaw the events clearly and precisely and developed a convincing alternative to the devastating course of the KPD. The KPD responded not with arguments, but with slanders, violence and the entire weight of the Moscow apparatus.

    74 - At the heart of the policy of the KPD was the thesis of social fascism. From the fact that both fascism and bourgeois democracy were forms of capitalist rule, the Comintern drew the conclusion that there was no contradiction between them, not even a relative one. Fascism and social democracy were the same―in the words of Stalin: “not antipodes, but twins”―the social democrats therefore were “social fascists”. The KPD rejected any collaboration with the SPD against the rightwing danger and, in some cases, even went so far as to make common cause with the Nazis―for example, when it supported the referendum initiated by the Nazis in 1931 to bring down the SPD-led Prussian state government. Occasionally it called for “a united front from below”. But this was not an offer to collaborate, but an ultimatum to the SPD members to break with their party.

    75 - Trotsky decisively opposed this form of vulgar radicalism. He recalled that Marx and Engels had protested fiercely when Lassalle had called feudal counterrevolution and the liberal bourgeoisie “one reactionary mass”. Now Stalin and the KPD were repeating the same error. “It is absolutely correct to place on the Social Democrats the responsibility for the emergency legislation of Brüning as well as for the impending danger of fascist savagery. It is absolute balderdash to identify Social Democracy with fascism”, he wrote. “The Social Democracy, which is today the chief representative of the parliamentary-bourgeois regime, derives its support from the workers. Fascism is supported by the petty bourgeoisie. The Social Democracy without the mass organizations of the workers can have no influence. Fascism cannot entrench itself in power without annihilating the workers’ organizations. Parliament is the main arena of the Social Democracy. The system of fascism is based upon the destruction of parliamentarianism. For the monopolistic bourgeoisie, the parliamentary and fascist regimes represent only different vehicles of dominion; it has recourse to one or the other, depending upon the historical conditions. But for both the Social Democracy and fascism, the choice of one or the other vehicle has an independent significance; more than that, for them it is a question of political life or death.”[3]

    76 - Trotsky fought untiringly for a policy of the united front. This would have made it possible for the KPD to use the contradiction between social democracy and fascism to unite the working class, win the confidence of the social democratic workers and expose the social democratic leaders. In an article written at the end of 1931, entitled “For a Workers’ United Front Against Fascism”, he explained: “Today the Social Democracy as a whole, with all its internal antagonisms, is forced into sharp conflict with the fascists. It is our task to take advantage of this conflict and not to unite the antagonists against us.” One must “show by deeds a complete readiness to make a bloc with the Social Democrats against the fascists” and “understand how to tear the workers away from their leaders in reality. But reality today is―the struggle against fascism.” It was necessary to “help the Social Democratic workers in action―in this new and extraordinary situation―to test the value of their organizations and leaders at this time, when it is a matter of life and death for the working class.”[4]

    77 - The refusal of the KPD to accept such a policy led to the German catastrophe.

    I won’t say I agree with 100% of the analysis on that page but a lot of that last part of analysis seems completely spot-on to me. And, of course, how Trotsky predicted is exactly how it played out.




  • PhilipTheBucket@piefed.socialBanned from communitytoMemes@lemmy.mlFuck The Right, Left Unite
    link
    fedilink
    English
    arrow-up
    2
    arrow-down
    6
    ·
    1 day ago

    I feel like we had this conversation before at some point lol… I will summarize my point of view on it and then probably dip from it:

    • KPD in 1917: We’re going to seize all the guns and overthrow you and make Communism because Communism
    • German government + German people and unions + SPD: Fuck no you’re not (gunfire)
    • KPD in 1918: Wooooooowwwwwwwwww okay fuck you, I see how it is
    • Germany: Hey KPD you still can have a seat in government, you have to get the votes though, no shooting your opposition, no seizing
    • KPD: Woooooooowwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
    • SPD in 1932: Hey we’re going to make an alliance with you because this guy is dangerous, we don’t care about the whole “trying to overthrow thing” that happened a generation ago
    • KPD: Woooooooooooooooooooooooooooooooooooooooooooooowwwwwwwwwwwwwwwwwwwwwwwwwww
    • Hitler: (wins)

    And then much later:

    • KPD (ones still alive): Hey we’re going to need all the trade unions to do what we want instead of what the workers want, because that’s leftism
    • Germany: Lol fuck OFF

    That is my summary. I realize you may have a different one but I don’t think I really want to get in an extended argument about it today. But yes, Germany in the 30s is a relevant example on this topic, I absolutely think.

    (Oh, also, the KPD was being murdered by the Nazis with the aid of Stalin. The KPD was coordinating with Stalin, and he was selling them out because of course he was. I have absolutely no idea where you got this idea that the SPD was involved in what Hitler was doing to his opposition.)


  • PhilipTheBucket@piefed.socialBanned from communitytoMemes@lemmy.mlFuck The Right, Left Unite
    link
    fedilink
    English
    arrow-up
    4
    arrow-down
    12
    ·
    1 day ago

    Haven’t you heard? Shitting on liberals and not voting is all you need to do to defeat fascism. It’s literally the most important thing.

    It’s too bad the Weimar Republic didn’t think of that. I feel like if only the German Communists had been spending all their energy shitting on the center, they might have had a pretty good chance of stopping Hitler from coming to power. Well, at least now we have the chance to try again, with the benefit of hindsight, and make sure we do that known successful strategy…



  • I mean yeah lol. That’s why I said “mostly.” But my point was, more or less, that modern power tools can do stuff that you simply can’t do with C, but C is still a venerable tool to me. I like it. The old pros can make fantastic custom cabinets, they do framing almost as fast as someone with a nail gun, it’s just that it’s not practical for most people to try to get skilled enough to be able to make solid stuff (and of course you can never make a skyscraper with just hand tools.)

    Once you start finding yourself using malloc() all that much, you’re probably using the wrong tool, and it’s also just objectively less secure than other safer languages. But clean C code has a kind of beauty to me that is hard to replicate in the more powerful languages.



  • Completely agree. The forces of the medical establishment have been trying to get me to take antidepressants. I have so far resisted. Among other things, I asked one of the doctors what percentage of people he’s dealt with have simply started taking them and it becomes part of their routine basically for the rest of their life (which is what I’ve mostly observed) and what percentage take it for a short time and then are done with it because it fixed their life situation for them (which is the scenario he was describing as what might happen to me).

    He didn’t really address the question directly, which to me was plenty illuminating as to the answer.


  • C is the old carpenter, who can drive in nails with three strikes of the hammer and never forgets his tools.

    C# is his friend who just uses power tools instead. He is fine too. He goes home early whenever he can.

    Python is the new guy at work who thinks he’s super smart. He actually can do the job really well, but for some reason nobody likes him all that much.

    Javascript is the boss’s son who got the job since he agreed to stay off pills but he does not. He is useful to be friendly with, maybe, but avoid him any day that you can. Typescript is his weird fiancée. She is significantly less stupid but much more rarely useful, and also best avoided.

    Go and Rust are tight-knit friends who get shit done. They are extremely capable but also not friendly, they tend not to talk much.

    Clojure does mushrooms on weekends, and seems to believe he has key insights the rest of the crew is too dim to understand, but he also makes frequent simple mistakes on the job and forgets things. Also avoid.

    Java only has the job because he’s known the boss since they were kids. He was never that good, but now he is old, and frequently drunk. Avoid at all costs.