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.
That's such a useful context menu.
-
Not really WTF but... WTF.
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.
-
-
@Gąska Yeah, all the cool kids have moved on to Recursive Mono now.
-
-
@Gąska Yeah, all the cool kids have moved on to Recursive Mono now.
A parametric font?
-
I'm going to show this font to my graphic designer friends.
-
Recursive Mono
I'm not sure how you'd make that recursive, but it doesn't sound like a good idea.
-
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 ); }
-
@boomzilla said in WTF Bites:
this.someBooleanField = new Boolean( someBooleanField );
-
@boomzilla said in WTF Bites:
this.someBooleanField = new Boolean( someBooleanField );
“Fortunately”,. that's all going to not work because the
Boolean
type doesn't have a constructor that takes aBoolean
…
-
Recursive Mono
Just looked it up and fuck damn it's ugly.
Yup, totally agreed.
@Gąska Yeah, all the cool kids have moved on to Recursive Mono now.
A parametric font?
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.
@Gąska Yeah, all the cool kids have moved on to Recursive Mono now.
The even cooler kids have moved to JetBrains Mono¹
-
@Gąska Yeah, all the cool kids have moved on to Recursive Mono now.
A parametric font?
In 5 dimensions.
When you're tired from programming all day, so you're optimizing your workflow by programming the font instead.EDIT: Does it count as a semi-pseudo- when none of the direct replies had xzibit in it, but the unrelated posts below it did?
-
@boomzilla said in WTF Bites:
this.someBooleanField = new Boolean( someBooleanField );
“Fortunately”,. that's all going to not work because the
Boolean
type doesn't have a constructor that takes aBoolean
…Also, I can't find that either constructor is actually called from anywhere in the code.
-
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
-
@hungrier someone brings it up around here every few months or so.
-
-
@Zerosquare 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.
-
-
Time for new browser.
-
@Gąska You can turn those off. You shouldn't have to, but at least you have the option.
-
@Gąska Yeah, all the cool kids have moved on to Recursive Mono now.
A parametric font?
In 5 dimensions.
When you're tired from programming all day, so you're optimizing your workflow by programming the font instead.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
wordscharacter 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.
-
Sometimes you come across a bug report that really makes you wonder is going on…
Three kilobytes in an environment variable? That's… rather more than is commonly used…
-
@dkf when all you have is
a hammerenvironment variables...
-
@Gąska … you create a twelvefactor(cr)app.
-
"Brazil" Was Not Supposed To Be An Instruction Manual
-
@LaoC um, somewhere
-
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.
-
I've missed a character, I see.
-
Entered "Zürich", got "Zu00fcrich".
Great work there, guys.I think I can spot the journey and the key decisions on the way:
:
Zürich
→Z\u00fcrich
(because “gotta escape the things!”; everyone knows that U+0000FC isü
)
:Z\u00fcrich
→Zu00fcrich
(because “we don't allow non-letters!”)Fuckwits.
-
Entered "Zürich", got "Zu00fcrich".
Great work there, guys.I think I can spot the journey and the key decisions on the way:
:
Zürich
→Z\u00fcrich
(because “gotta escape the things!”; everyone knows that U+0000FC isü
)
:Z\u00fcrich
→Zu00fcrich
(because “we don't allow non-letters!”)Fuckwits.
Yes, obviously, the 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.
-
@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 -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>
-
@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 -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>This is nothing new, "Wizards" were already plaguing the Earth 30 years ago
-
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- but shouldn't be a problem.
Except that I ran into the quota again. Look at whatdu
tells me and I get things like151M ./.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.
-
@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.
-
Sometimes you come across a bug report that really makes you wonder 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
- is what environment variables were intended for, though back then keys were not 3 kb and
- 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)?
-
@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.
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).
-
@boomzilla It sort of
- is what environment variables were intended for, though back then keys were not 3 kb and
Is it?
- 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.
-
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:
@boomzilla It sort of
- is what environment variables were intended for, though back then keys were not 3 kb and
Is it?
Sort of.
- 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?
-
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.
-
@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.