So this image has been doing the rounds on Twitter.
<snip>
And shots have been fired.
So this image has been doing the rounds on Twitter.
<snip>
And shots have been fired.
@loopback0 I mean, how dumb do you have to be to literally admit to plagiarising the answer to 'how can I demonstrate I'm not plagiarising'?
@dkf JIRA says hi in the background, while blowing bubbles of its nose, Ralph Wiggum style.
@Tsaukpaetra said in Things that remind you of WDTWTF members:
On my way to
foist yonderfunge your Bitcoin?
FTFTCR
Et tu, Telemetry, et tu??
WHAT THE EVERLOVING FUCK ARE YOU ACTUALLY DOING
Well, fuck.
New mattress meant to arrive today. Old mattress was taken away, new mattress delivery phoned to tell me that they couldn’t deliver because they were at the door and no one answered and they’d already left.
You fucks, you went to the wrong door in spite of my delivery notes, buzzed and got no answer because they’re at work and then fucked off.
So now I have no mattress and they can’t even tell me if they can redeliver tomorrow.
@HardwareGeek It's really complicated, who'd have thought?
I will say I respect the majority of people here. There are a few I don't, I suspect at least one of them would be quite proud of the fact. I'm certain that I'm not as well respected as I'd like to believe, but I think that fact is probably true of many of us on some level.
I think a lot of the toxicity starts with 'I am right' and not 'I think I'm right but'.
@izzion said in Things that remind you of WDTWTF members:
@HardwareGeek said in Things that remind you of WDTWTF members:
@boomzilla Sounds a lot like "throw a bunch of data at a black-box algorithm until is spits out a paper you can publish." How will anyone ever know whether bats actually interpret sounds like this?
It’s 2023, I’m sure you can find someone who identifies as an expert in bat-speak to confirm these results.
Nah nah nah nah nah nah nah nah nah nah nah nah.
@BernieTheBernie I did something. It wasn't a good thing. Now I am on medication. I think I can deal with the world.
// FILE_NOT_FOUND? (TDWTF would be proud.)
if (!file_exists($this->filepath))
{
return false;
}
I think it only fair to give you guys a shoutout.
@Tsaukpaetra here's a big cock. This is bigger for sure.
Erected by Johnson, of course.
So as some of you may remember, I built a media gallery solution in PHP. Yes, yes, I know, spare me the TRWTF commentary.
So, anyway. One of the things I need to do is EXIF parsing. Fine, except for the fact there are two existing libraries in PHP code, both of which are GPL... so that's a no-go for a paid product. The third option is the exif extension that most shared hosts don't seem to support. Fine. I'll fucking well build my own.
And I did. Three days, lots of swearing but it works. It doesn't do GPS yet, haven't decided if I want to support GPS or not, but I'll figure it out. Maybe I'll just write code to strip GPS tags out of pictures.
Anyway, one of the folks interested in the software has a bunch of pictures that he put metadata into himself from Windows Explorer - you know, right click an image, hit properties, there's the title/subject/author/keywords/comment field.
This is all, interestingly, in EXIF. It is, also interestingly, actually defined as standard in EXIF, as XPTitle, XPSubject, XPAuthor etc. tags in the IFD0 block.
Here comes the fun part. EXIF defines the data type of the content it's storing, there is a discrete text type, referred to in spec as 'ASCII' but it doesn't have to be, it can happily be UTF-8. Different manufacturers do different things but fortunately this is mostly UTF-8 or even just 7-bit ASCII. You're expected to play guess, but ASCII has shown to be a pretty safe bet.
But not these fields. Oh no, these ones can't use ASCII or UTF-8. They are listed as streams of unsigned bytes that the client is just expected to know what to do with - and after a bit of research, turns out they're UCS-2/UTF-16 strings with null terminators.
That is saddening but not surprising - this is, after all, introduced with Windows XP which is still UCS-2 under the hood in a lot of places.
Fair enough, it's UCS-2. Is it little endian or big endian? There's no BOM or anything, so problem number 1 is the fact you have to kind of manually detect whether it's little endian or not. You see, EXIF data is not actually one fixed endianness. You get a two byte string early on which indicates the endianness of things. But the endianness of the data is not guaranteed to match the endianness of the EXIF tags >_< So you have to manually detect that by guessing. Fortunately it's not that hard to come up with a semi reliable detection.
This is not the worst of it, in fact.
I'm working in that environment which means I can expect to be using UTF-8 if I'm very lucky or ISO-8859-SOMETHING if I'm not. I can't even buttume ISO-8859-1 for sure. I'll have information available to me to know which one it is, but yeah.
This gets better, though... PHP has the mbstring extension and access to iconv, both of which support UTF-16LE. Allegedly. Except when they don't. And there's no way to actually tell for sure without actually trying it, which is a fat lot of use to me. This of course presumes either are installed, and unsurprisingly there's a lot of crappy hosts that don't.
Cue me, then, spending my morning with a freshly brewed cup of tea in hand... manually decoding UCS-2/UTF-16 into codepoints and then doing something useful with them. By hand with bitshifting and everything... in PHP. The most pleasant comment I had from colleagues on the matter was '... in PHP? ICKY.'
For the record, I solved all of this by converting it back to a codepoint and then entity-encoding everything above 127. Ugly as sin, but at least it's safe in every single encoding.
Actually maybe PHP is TRWTF because PHP can't man up enough to bundle one of these libraries into the core and never let anyone disable it.
I still also think MS could have used UTF-8 for this instead of UCS-2
@Gribnit I am reminded of:
Just needs a creepy-but-catchy Oompa Loompa song now.
@DogsB I'd argue that the WTFs are what happens around me and y'all just amused at my frustrated wailing at trying not to lose my shit while coping with them all...
@cvi they can answer any question, no matter how obscure. Nothing said it was the right answer or even a useful answer.
You can answer literally any question with 'fuck off' and it's still an answer. Perhaps that's what I need to invent, FuckGPT.
Frantic Googling tells me the issue is that I have a too new version of Emscripten (which is what the docs told me to install), and having fixed that, it builds.
This is why I never seriously got into any of the neat shit back in the days when I had more time, because every time I wanted to learn C or do anything interesting with things I found online, I'd always have to contend with shit like this with esoteric and non-descript errors that I had no comprehension of at the time and no resources to help me work around it.
Like, I'd get a hello world to compile but as soon as I tried to do anything beyond that (up to and including following tutorials), I'd hit so many weird errors that I gave up and went to Visual Basic and then PHP where none of this shit ever really happened to me.
Where’s @Polygeekery when you need him for this kind of project?
You and I are going to have words.
I have a 6 physical core, 12 logical core laptop. What the heck is it doing to consume that level of crunch power?
Status: Yay I made my first program in Rust!
Status: Now what do I with this new found knowledge?
@Tsaukpaetra it’s very secure that way, no one can change anything in it.
@codinghorror1 my experience of many years (and hundreds of thousands of posts) of forum life, as well as all the years I’ve interacted with other human beings tells me that the vast majority of people do not want to hear what I think. They want to hear that which answers their question and which validates their views. Which is too bad if my opinion as local expert happens to not want to answer their question or invalidate their views.
The frequency I encounter situations where what I am asked for is a bad idea is “regularly”. I am a developer by day, I talk to clients, I proactively talk them out of spending money because what they want is not what they need and I don’t want to take their money chasing what I know will be a fool’s errand.
Only earlier this week I observed a pissing match on a support forum where the prevailing advice was “update your software, the version you are on is end of life” only for it to be derailed with a genius telling me that I shouldn’t force that change on users. Never mind that the version they’re using went end of life years ago, has known security issues that won’t be fixed etc…
In some ways I wish I could approach life with your boundless optimism for a better tomorrow but all my yesterdays long since disabused me of that notion.
@boomzilla "I have had it with this motherfucking skeleton on this motherfucking planet!" ?
@error well, let’s see:
✅ syntactically legal
✅ 100% unambiguous around indentation level
✅ demonstrates innovative approach to conventional problem solving domain
✅ encourages the developer to flatten logic and not introduce cyclomatic complexity
⛔️ more visually cluttered by default in editors, fixable in most editors however, YMMV as to level of effort
This sort of thing really grinds my gears.
The comedy of these is from ye olden times when we only had ...
instead of a real ellipsis and you'd say have a limit of 25 characters, feed it a 26 character string and end up with a 28 character result.
Good times.
No, I don’t think anyone actively in the npm ecosystem understands what semantic versioning means.
If they did, the ecosystem would be less of a nuclear-grade clusterfuck.
@Benjamin-Hall good times!
I remember having to do this on IE6 many years ago from a totally dynamic (as in literally everything was rendered from JavaScript) way and ended up writing the text to a div of a fixed size and rewriting it over and over taking a character off the end until it fit.
@hungrier the pandemic has distorted the last two years of linear time into something quite different,
We’ve always been at war with covid.
@dkf I don't have a problem, I can quit whenever I want to.
@Zecc nope, it’s cannot contain <, > or " which smells like “we don’t know how to deal with XSS and either we blindly convert everything on input and/or we have vulnerabilities we fixed badly”
@Medinoc Wiktionary has this covered:
funge (plural funges)
(obsolete) A fungus.
(obsolete) A fool or simpleton.
Fucking-A.
Just, - a large scale CryptoLocker type infestation at a number of NHS hospitals across the country and because of a certain degree of inter-connection foisted upon the NHS by a previous government, they propagate to other hospitals. Congrats.
Slightly sad note: a number of people seem to be under the presumption that this is a targeted attack - but I somehow doubt it.
@wharrgarbl because you made me do some work and the mods don't do work.
At least try to keep up with the forum memes.
@Zerosquare is that the same thinking that means you buy a product once - for which you have a reasonable expectation of several years lifetime, especially for a big ticket item - and for which you will see ads for more of them for weeks afterward?
@loopback0 said in WTF Bites:
Typical Enterprise support
I always feel like Scotty knows WTF is going on, though Geordi needs help someimes.
So last night I was setting up a new virtual hard drive for my Amiga emulation environment. Long story, not relevant.
The first fun hurdle I get:
The operating system knows that the volume BraveNewWorld has a total of 4GB - of which '3339M' is free. (In reality it's a passthrough to a folder, the drive is a 500GB drive with 120+GB free so it's already lying about the drive size)
But as you can see, the Workbench installer is confused about the amount of space I have.
If I follow the text as given, "dragging the icon of the Amiga Fonts disk version 3.1 on top of the BraveNewWorld icon", I get a weird and spurious error that the two things are differently sized.
Then I was installing a tool called Imagemaster.
"This installation requires about 7606088 bytes free on the volume where you wish to install Imagemaster. Please make this space available and the re-install. For your information, the volume you have selected has only -1100857344 bytes free. You need 1108463432 more bytes."
In reality I just nudged the emulation config to lie about the drive size and claim it was a 1GB drive rather than the 4GB it was already lying about being.
Old tech, eh?
@ixvedeusi I petition for it to be renamed kw
because typing out is too much effort to successfully do nothing.
@clippy ITYM "It looks like you're having trouble with Gateway 502. Would you like to replace it?"
@boomzilla but why stop there whan you have so many better choices?
@cartman82 Meh, just waving your hand and going 'it's complicated, suck it up' without actually justifying why the complexity should actually be there doesn't really counter the original article.
@DogsB the things in Westminster are less overtly vicious and more insidiously vile.
But the important question - do they have lasers attached to them?
@PJH said in Let's create DUMB PASSWORD RULES:
- Your password matches the administrator's password; please choose a different password.
@Applied-Mediocrity said in WTF Bites:
this sort of bullshit is why I pay $9.99 a month for PS
Stop paying rent for creative tools. Come in from the cold, into ABODE PhotoPOP
Is that a thing yet? They said it would be.
It’s not a thing yet. In fact there’s better utter radio silence from them since December 2023 when a “we need your help” survey was sent around.
Some of the backers who wanted hoodies have apparently received them.
Worth noting: the guy behind it is the artist who got pissy about not being able to use Vantablack, and he has released a new paint colour since this kicked off.
General mood is that it was a scam.
Oh, Ubisoft. (sad trombone noise, followed by a puking sound)
@Gustav I don’t think CADT is Google’s problem. Their problem is their internal culture that handles new stuff as the only barometer of promotion. So shilling a new product is always worth more than shipping a major version increment, which is always worth more than shipping a minor version increment.
Tie peoples’ raises and promotions to this and you get the culture of make as many “new” things as people can convince management to sign off on.