WTF Bites



  • @Applied-Mediocrity said in WTF Bites:

    @TimeBandit said in WTF Bites:

    they put a lot of perfume

    Garlic is not a perfume

    It smells better.

    edit: I posted that before I saw the following post!



  • Oh, Google Drive, you complete me.
    9d8a0a41-cb4b-43a9-b181-e45e701018cb-image.png

    That's such a useful context menu.


  • Considered Harmful

    Not really WTF but... WTF.

    2871be0c-69db-4572-8f27-079447c60200-image.png

    I thought there was some overzealous character replacement that was transforming => and !== to ⇒ and ≠, but when I copy-paste it I get the original, so it seems like they're ligatures.


  • Banned

    @error said in WTF Bites:

    Not really WTF but... WTF.

    I agree 100%. FiraCode is always WTF.


  • 🚽 Regular

    @Gąska Yeah, all the cool kids have moved on to Recursive Mono now. 🎛


  • Banned

    @Zecc said in WTF Bites:

    Recursive Mono

    Just looked it up and fuck damn it's ugly.


  • Considered Harmful

    @Zecc said in WTF Bites:

    @Gąska Yeah, all the cool kids have moved on to Recursive Mono now. 🎛

    A parametric font? :wtf:


  • Considered Harmful

    I'm going to show this font to my graphic designer friends.



  • @Zecc said in WTF Bites:

    Recursive Mono

    I'm not sure how you'd make that recursive, but it doesn't sound like a good idea.


  • ♿ (Parody)

    Just discovered in code base:

    class Foo {
    
    private String name;
    ...
    private Boolean someBooleanField;
    
    public Foo( String name ){
        this.name = name;
        this.someBooleanField = new Boolean( someBooleanField );
    }
    
    public Foo( String name, ...., boolean theBoolean ){
        this.name = name;
        ...
       this.someBooleanField = new Boolean( theBoolean );
    }
    

  • 🚽 Regular

    @boomzilla said in WTF Bites:

    this.someBooleanField = new Boolean( someBooleanField );

    :yodawg:


  • Discourse touched me in a no-no place

    @Zecc said in WTF Bites:

    @boomzilla said in WTF Bites:

    this.someBooleanField = new Boolean( someBooleanField );

    :yodawg:

    “Fortunately”,. that's all going to not work because the Boolean type doesn't have a constructor that takes a Boolean



  • @Gąska said in WTF Bites:

    @Zecc said in WTF Bites:

    Recursive Mono

    Just looked it up and fuck damn it's ugly.

    Yup, totally agreed.

    @error said in WTF Bites:

    @Zecc said in WTF Bites:

    @Gąska Yeah, all the cool kids have moved on to Recursive Mono now. 🎛

    A parametric font? :wtf:

    That's how Computer Moderns were done—and there it includes the typewriter, i.e. serif monospace, variant—and the result is a very consistent and rather nice font family.

    The Recursive ones still have two base variants (roman and cursive) and are butt-ugly no matter what you select anyway.

    @Zecc said in WTF Bites:

    @Gąska Yeah, all the cool kids have moved on to Recursive Mono now. 🎛

    The even cooler kids have moved to JetBrains Mono¹


  • BINNED

    @error said in WTF Bites:

    @Zecc said in WTF Bites:

    @Gąska Yeah, all the cool kids have moved on to Recursive Mono now. 🎛

    A parametric font? :wtf:

    In 5 dimensions.
    When you're tired from programming all day, so you're optimizing your workflow by programming the font instead. :yodawg: :wtf:

    EDIT: Does it count as a semi-pseudo-:hanzo: when none of the direct replies had xzibit in it, but the unrelated posts below it did? :thonking:


  • ♿ (Parody)

    @dkf said in WTF Bites:

    @Zecc said in WTF Bites:

    @boomzilla said in WTF Bites:

    this.someBooleanField = new Boolean( someBooleanField );

    :yodawg:

    “Fortunately”,. that's all going to not work because the Boolean type doesn't have a constructor that takes a Boolean

    Also, I can't find that either constructor is actually called from anywhere in the code.



  • @Bulb said in WTF Bites:

    The even cooler kids have moved to JetBrains Mono¹

    I set up VS Code on my work laptop and wanted to match the fancy ligature font I use in Sublime Text. Turns out it was Jetbrains Mono. I don't recall how I first heard about it but it turns out I've been on the cutting edge for at least a few months


  • ♿ (Parody)

    @hungrier someone brings it up around here every few months or so.



  • @Bulb said in WTF Bites:

    Computer Modern (...) rather nice

    E_INCOMPATIBLE_STATEMENTS


  • Discourse touched me in a no-no place

    @Zerosquare said in WTF Bites:

    @Bulb said in WTF Bites:

    Computer Modern (...) rather nice

    E_INCOMPATIBLE_STATEMENTS

    It could be worse. It could be Papyrus.



  • But unlike Papyrus, Computer Modern takes itself seriously.



  • Microsoft To Do notification: What are you gonna spend your day on?

    TimeBandit It's 10:14PM :wtf:


  • Banned

    Time for new browser.

    3163fe3f-1e4d-47dd-8935-c84b8cec5947-image.png



  • @Gąska You can turn those off. You shouldn't have to, but at least you have the option.



  • @topspin said in WTF Bites:

    @error said in WTF Bites:

    @Zecc said in WTF Bites:

    @Gąska Yeah, all the cool kids have moved on to Recursive Mono now. 🎛

    A parametric font? :wtf:

    In 5 dimensions.
    When you're tired from programming all day, so you're optimizing your workflow by programming the font instead. :yodawg: :wtf:

    You know, we had Multiple Master fonts 20 years ago and even the DTP folks weren't that interested in them. Those had font designers picking out settings that looked halfway decent and were mostly consistent.

    At least they stopped using ligatures to replace disliked words character sequences.



  • status I love how my 401 likes to confuse Quicken. I just synced the data. A new stock purchase turned up in my 401. Uh. Where did that come from? (logs in, searches activity log. 💡 dividends)

    Idiots. At least create 2 transactions: a dividend payout and stock purchase, or you know, just one - a reinvest dividend.

    Since this only happens once a quarter, I always forget and have to figure out why my company is giving me extra money.


  • Discourse touched me in a no-no place

    Sometimes you come across a bug report that really makes you wonder :wtf: is going on…

    Three kilobytes in an environment variable? That's… rather more than is commonly used…


  • Banned

    @dkf when all you have is a hammerenvironment variables...



  • @Gąska … you create a twelvefactor(cr)app.


  • Considered Harmful

    "Brazil" Was Not Supposed To Be An Instruction Manual



  • @LaoC :hanzo: um, somewhere :arrows:



  • Entered "Zürich", got "Zu00fcrich".

    Great work there, guys.

    I almost prefer the version where the entry form tells me to fuck off due to "invalid characters" or something.


  • 🚽 Regular

    @cvi

    7ceef378-fb7b-4b93-b6b7-fc53ede9f4eb-image.png

    I've missed a character, I see.


  • Discourse touched me in a no-no place

    @cvi said in WTF Bites:

    Entered "Zürich", got "Zu00fcrich".
    Great work there, guys.

    I think I can spot the journey and the key decisions on the way:

    🤖: ZürichZ\u00fcrich (because “gotta escape the things!”; everyone knows that U+0000FC is ü)
    🤡: Z\u00fcrichZu00fcrich (because “we don't allow non-letters!”)

    Fuckwits.



  • @dkf said in WTF Bites:

    @cvi said in WTF Bites:

    Entered "Zürich", got "Zu00fcrich".
    Great work there, guys.

    I think I can spot the journey and the key decisions on the way:

    🤖: ZürichZ\u00fcrich (because “gotta escape the things!”; everyone knows that U+0000FC is ü)
    🤡: Z\u00fcrichZu00fcrich (because “we don't allow non-letters!”)

    Fuckwits.

    Yes, obviously, the :trwtf: is the intermediate step which takes proper JavaScript/JSON string (with escape sequence) and then parse it as a raw one. Handcrafted JSON parser? This looks like front page material.


  • BINNED

    @dkf So the actual u in there is a mere coincidence? That makes it even better. Or worse, depending on your perspective.



  • @dkf Yep, probably goes something like that. Wasn't in the mood to investigate. Not my software - it's an online form. Filling it (and its dozen or so steps*) out is aggravating enough.

    (*) Each step being a mobile-optimized page that ask for a handful of values. Just give me the whole damn thing, thanks.

    I'm perhaps getting old, but there should be a :belt_onion:-option in the modern attention-deficit forms that just show the whole damn form at once. I've dealt with multipage dead-tree forms for so long, I won't be overwhelmed, I promise.

    </rant>


  • @cvi said in WTF Bites:

    @dkf Yep, probably goes something like that. Wasn't in the mood to investigate. Not my software - it's an online form. Filling it (and its dozen or so steps*) out is aggravating enough.

    (*) Each step being a mobile-optimized page that ask for a handful of values. Just give me the whole damn thing, thanks.

    I'm perhaps getting old, but there should be a :belt_onion:-option in the modern attention-deficit forms that just show the whole damn form at once. I've dealt with multipage dead-tree forms for so long, I won't be overwhelmed, I promise.

    </rant>

    :um-actually: This is nothing new, "Wizards" were already plaguing the Earth 30 years ago


  • BINNED

    Status: Slightly annoyed how nowadays everything mindlessly uses up tons of storage.

    At work we have all filesystems run on NFS so I can access things from everywhere, with centralized backup and snapshots. That means, however, that my $HOME isn't mounted on my workstation's local drive. All work is done in project specific folders, so besides some temporary stuff and config files, email/browser cache etc., there really shouldn't be much in my home directory. Nothing large at least. For some reason, then, IT decided forever ago to have a ridiculously tiny quota for home directories of 5GB. That's a bit of a side-:wtf: but shouldn't be a problem.
    Except that I ran into the quota again. Look at what du tells me and I get things like 151M ./.atom, PyCharm config taking up 500MB, Matlab config taking up 800MB, etc. etc. How the fuck does it take all these things around half a GB to save the like 3 changes to settings I've made, tops?

    Probably posted the exact same rant last time I ran into quota, and will again next time.

    EDIT: Oh boy, there's old versions of everything too.

    992M    ./.PyCharmCE2019.1
    476M    ./.PyCharmCE2019.2
    473M    ./.PyCharmCE2019.3
    ...
    


  • @topspin I don't know about Matlab, but Atom and PyCharm are keeping the plugins there—after all you can install them for yourself and you normally don't have write access to the installation directory, so that's the only place to put them. And for these tools, plugins is where all the useful bits live. So at least those have an excuse for storing more than a couple of changed settings.


  • BINNED

    @Bulb if I had installed many plugins, yes. Okay, I think for Atom I actually did install one or two plugins, but it's also the least offender. PyCharm I definitely didn't install anything manually.



  • @topspin I don't have any IDEA-based IDE installed at the moment to check, but I suspect the gist is that what you install is just a emptyish shell that just automatically fetches the actual Python support as a bunch of plugins.

    Because, see, while there is zillion variants of IDEA for different languages, you can actually install plain IDEA and install all the languages into it as plugins.


  • ♿ (Parody)

    @dkf said in WTF Bites:

    Sometimes you come across a bug report that really makes you wonder :wtf: is going on…

    Three kilobytes in an environment variable? That's… rather more than is commonly used…

    It's a private key:

    In order to use the private key I've been to my admin panel and added it to environment variable (EE_PRIVATE_KEY).

    Yeah...it wouldn't occur to me put something like that in an environment variable.



  • @boomzilla It sort of

    1. is what environment variables were intended for, though back then keys were not 3 kb and
    2. environment variables is what all cloud environments of all kind allow you setting while ability to provide any other kind of configs varies wildly.

    … hm, what is the limit in the operating system (there would be one for whole environment, at least in Linux, because it is just a NUL-separated string)?



  • @Bulb said in WTF Bites:

    @topspin I don't know about Matlab, but Atom and PyCharm are keeping the plugins there—after all you can install them for yourself and you normally don't have write access to the installation directory, so that's the only place to put them. And for these tools, plugins is where all the useful bits live. So at least those have an excuse for storing more than a couple of changed settings.

    :um-actually: This directory also contain caches, see https://www.jetbrains.com/help/pycharm/2019.3/tuning-the-ide.html#default-dirs

    And caches are huge. They contain all known libraries, fully indexed for fast searching by various parameters (including fulltext, return/parameter type, etc). Less than 1/2 GB is actually rather small - my cache is 6.5GB right now (and that's just cache; plugins and settings are in a completely different location on mac). Preferences alone is actually just 5kB (plus JDBC drivers and shelved commits).

    In any case - definitely something that should never, ever touch NFS!

    @topspin I suggest you move that cache away ASAP. Link is to version 2019 (which you apparently have).


  • ♿ (Parody)

    @Bulb said in WTF Bites:

    @boomzilla It sort of

    1. is what environment variables were intended for, though back then keys were not 3 kb and

    Is it?

    1. environment variables is what all cloud environments of all kind allow you setting while ability to provide any other kind of configs varies wildly.

    Dunno. In my world you get in trouble for leaving stuff like unencrypted keys sitting around.



  • @Bulb said in WTF Bites:

    the limit in the operating system

    I found that:

    • in Linux it's complicated, but basically quarter of stack limit (so 2 MiB by default) total, and 32 pages (128 KiB on most platforms) per variable¹.
    • in Windows it's even more complicated. It's 32 KiB total, but registry only support 2 KiB per variable, plus there are further quirks concerning combining of PATH from system and user setting².
    • in AWS Lambda it's 4 KiB total only³


  • @boomzilla said in WTF Bites:

    @Bulb said in WTF Bites:

    @boomzilla It sort of

    1. is what environment variables were intended for, though back then keys were not 3 kb and

    Is it?

    Sort of.

    1. environment variables is what all cloud environments of all kind allow you setting while ability to provide any other kind of configs varies wildly.

    Dunno. In my world you get in trouble for leaving stuff like unencrypted keys sitting around.

    You are effectively doing that no matter what hoops you jump though, because there is no operator available to enter the key on demand, so the configuration must contain everything that is needed to use the key.

    These are not signing keys for legal documents. Just client certificates used instead of technical account passwords. Do you encrypt, in the application, the password the application uses to access the database—and give it another password to decrypt the first one?


  • ♿ (Parody)

    @Bulb said in WTF Bites:

    These are not signing keys for legal documents. Just client certificates used instead of technical account passwords. Do you encrypt, in the application, the password the application uses to access the database—and give it another password to decrypt the first one?

    The passwords at rest are encrypted, yes. The code knows how to decrypt. Yeah, not perfect, but that's what the security guys demand.

    EDIT: Also, we're not in any sort of commercial cloud so I have no idea about that sort of thing.



  • @boomzilla That definitely isn't common. Even the server TLS certificates and keys are usually not encrypted on servers I have seen. The Kubernetes API does not seem to expect it either. The cloud provider is supposed to use filesystem-level encryption so e.g. discarded disks cannot be read, but that's it.


  • ♿ (Parody)

    @Bulb actually, thinking about it, it's passwords, not keys that we encrypt at rest. Still, the environment variable would not have been something I'd have considered, if only because they're such a pain to maintain, etc, vs having it stored in / as a file somewhere.


Log in to reply