100ideas 5 hours ago

Very interesting comments and moderation discussion on this article.

  • h4ch1 3 hours ago

    Decent article, why the need for someone to pick up the pitchfork and emphasize their moral compass publicly like this? The comment and ensuing discussion is so pointless.

    • Brian_K_White 3 hours ago

      I think this point was valid: "she doesn't "stick to the technology""

      The tech is cool. But the person who made it kicks puppies. You don't care? Well I do.

      • VyseofArcadia 20 minutes ago

        Why?

        This makes sense in the case of, for example, a bestselling author who kicks puppies. Purchasing books by this author means you are giving them money, if indirectly, and thus to some degree subsidizing their puppy kicking habit.

        That I can determine using APE gives the original author nothing.

      • SanjayMehta 2 hours ago

        Werner von Braun comes to mind.

        • yawpitch 4 minutes ago

          Wait, Werner von Braun kicked puppies?

    • no_wizard 3 hours ago

      Why do we pretend that these things don’t matter? Why should we?

      Why in the norm to ignore these issues - there by perpetuating them because they face no consequences - rather than pointing them out?

      Justine did write openly on the web about their prejudices and never even apologized let alone showed in anyway evolution away from fascist leaning and prejudiced politics

      • lelanthran 2 hours ago

        I think I am missing a lot of context in this thread - I have no idea what any of the ancestral comments are talking about :-(

p0w3n3d 6 hours ago

I have learned there is no true portability. Example: named pipes:

I started my professional career as a C++/Qt developer. There was this code to disallow multiple application instances using named pipes. It used named pipes under both Linux and Windows - just create a named pipe "my-program-pipe" and it was a signal for other starting up instances to communicate to it "please put the main app on top" and close.

On linux it worked like a charm. On Windows it worked like a charm...

...only first time. The code was written to "try create a named pipe and if failed - then it means it exists, so write to it instead and exit". This "try create" operation on windows failed but also removed the original existing pipe, thus allowing the third instance to coexist with the first one.

What I mean - Operating Systems are more than this, you cannot write a truly portable application without knowing them all. And especially those quirks that differ...

  • sjsdaiuasgdia 3 hours ago

    Hence the Cosmopolitan Libc layer that's kinda essential to the APEs described in the article. That's where all the magic is to make the same code work on a variety of operating systems.

    There's even a handy table to express syscall compatibility across all of Cosmopolitan's targets - https://justine.lol/cosmopolitan/functions.html

  • Brian_K_White 3 hours ago

    portability in a language is sort of like the right to persue happiness vs a garantee to be happy.

    A language can't direct the rest of the universe to ensure that something always works regardless of the environment or context.

    But it can avoid adding it's own limitations and be agnostic itself. So c is very portable, even though c on machine A has acces to machine A features and not machine B features.

    Libraries and frameworks and standards just help a little for a few common cases but they are just travel power plug adapters, not pprtability.

  • actionfromafar 3 hours ago

    Your general point stands, of course. One can only code against a tiny subset of features. Windows has now finally gotten "real" named pipes, though. (Since Windows 8 or whenever, can't remember exactly when.)