WTF Bites
-
- Just
- Send
- Instead
- TDEMSYR
-
@JazzyJosh: I don't get it. How do you insert a cloud into a fax machine?
-
@Zerosquare You're supposed to launch the fax machine into the cloud - using a can
non or similar, presumably.
-
-
@loopback0 said in WTF Bites:
using a canon or similar
-
@dkf If they can throw a fax machine really high, sure.
-
@Zerosquare said in WTF Bites:
https://www.nytimes.com/2018/09/21/opinion/the-dangers-of-dna-testing.html
When I read headline, I thought it's going to be an attack on paternity tests. But the rest of onebox makes it sound interesting enough to read it.
-
@loopback0 The old "game" where you mentally substitute cloud with butt suddenly becomes relevant again.
(Actually, it never lost its relevancy. But I occasionally pretend to be more mature than that.)
-
@loopback0 said in WTF Bites:
If they can throw a fax machine really high, sure.
Frankly, if they could exorcise the damn thing while they're at it, that'd be great.
-
@Gąska And in this case "most people" includes me. Could you explain (or post a link to an article that explains) why this isn't the case?
(something to do with memory locality perhaps? but what about linked lists using a custom allocator?)
-
@Medinoc Memory locality is one part of it. The other one is that linked lists have a per-node overhead in the form of one or two pointers to the next/previous nodes. Besides the memory overhead, those will also clutter your caches. Then there's also prefetching (depending on your platform), which works pretty well with a vector (and even a vector of pointers), but not so much with a linked list, where you actually need to follow the chain of pointers to figure out where you're going.
FWIW, I'm usually a bit more careful with that statement. A vector is for sure the default choice (and not the list), but you can (of course) find cases where a list outperforms a vector if you go looking hard enough. Although, in quite a few of those cases, a vector of pointers will again probably perform better than the list... (And there are other alternatives with other trade-offs.)
Edit: Here's a cppcon talk about some of this stuff. It's by Chandler Carruth, who -IIRC- is a LLVM dev. He briefly talks about vector (of pointers) vs lists around 16:00 and forward.
-
https://www.youtube.com/watch?v=0iWb_qi2-uI&feature=youtu.be&t=2678
(The slide I linked is the missing slide from his presentation.)
-
@Zerosquare said in WTF Bites:
https://www.nytimes.com/2018/09/21/opinion/the-dangers-of-dna-testing.html
He was advised that a jury would most likely believe the DNA, not him. Facing a life sentence at trial, he pleaded guilty to reduced charges in 2003.
This apparently very common practice is the real .
-
@Gąska The better question is "Why is C++ std::list insertion Θ(n2)?"
EDIT: Oh, it's a linked list. The data structure that on its surface seems amazing for inserts (just three ops!) but is actually quite trash for anything other than Dequeues (and by association Stacks).
-
@JazzyJosh said in WTF Bites:
Oh, it's a linked list. The data structure that on its surface seems amazing for inserts (just three ops!) but is actually quite trash for anything other than Dequeues (and by association Stacks).
Linked lists are fine for general insertion and deletion if you are allowed to hold pointers (or references; not debating that nicety here) into the middle of the list as part of your algorithm running outside immediate vicinity of the data structure. If the only operations you're allowed to use (suitable for what you're doing) require you to index from the beginning each time, you're guaranteed to be in O(n2) space (excepting the special cases used by queues and stacks).
-
@loopback0 said in WTF Bites:
using a canon or similar
I just assumed
-
-
-
I tend to keep my (customer provided) Win10 laptop closed and sleeping most of the time. When I need to use it, I open and wake it up and then unlock it (using my smart card, which by this point I've probably even used a couple of more times). A few minutes after that, this shows up:
-
@boomzilla That's normal if you've changed your password on another machine. I assume you're posting it here because you haven't? It needs you to go through the login process so it can like re-cache the correct credentials.
Unless the WTF is "Windows logon reminder" which I'm 99.9% sure the standard Windows term is "log in" and not "log on".
-
@blakeyrat there is no password (aside from the PIN that unlocks the card itself). Hmm...re-cache...that's probably it, because I wasn't connected to the VPN when I unlocked, and apparently credentials caching is a thing that Windows does, because I've heard that phrase before.
-
@boomzilla Well that distracts from me being wrong on my second point. MS documentation does say "log on". And frequently "logon" as one word. Only third-party docs say "log in". Huh.
-
wow
such help
much support(I know, I know, remove the language identifier from the URL and it works. It happens often enough)
-
@anonymous234 said in WTF Bites:
wow
such help
much supportAt least it isn't saying “please see your system administrator for assistance” when you're the sysadmin…
-
@blakeyrat said in WTF Bites:
@boomzilla Well that distracts from me being wrong on my second point. MS documentation does say "log on". And frequently "logon" as one word. Only third-party docs say "log in". Huh.
Hah! So I tried connecting and then lock / unlock and then this happened:
After which it goes back to the authentication screen. You are suck a dick for giving me unsolicited help.
-
@boomzilla
Looks like your AD admins dun fukt up.
-
@boomzilla said in WTF Bites:
After which it goes back to the authentication screen. You are suck a dick for giving me unsolicited help.
I didn't tell you to do jack shit, fuck you.
-
@izzion probably. I was able to restart, logon and connect to the vpn after that, however. But trying to access an app that uses the domain (which I've already used several times today) isn't letting me in either. Time to call the helpless desk.
-
@boomzilla yeah...gotta take it in to unbreak whatever broke with my certificates and the domain.
-
God damn it ...
-
@TwelveBaud I think someone wants to tell you something…
-
-
@boomzilla said in WTF Bites:
@boomzilla yeah...gotta take it in to unbreak whatever broke with my certificates and the domain.
They'll probably just drop it from the domain and rejoin.
It was likely disconnected from the domain for too long.
-
@loopback0 said in WTF Bites:
It was likely disconnected from the domain for too long.
Yeah. Whatever that means.
-
@JazzyJosh said in WTF Bites:
EDIT: Oh, it's a linked list. The data structure that on its surface seems amazing for inserts (just three ops!) but is actually quite trash for anything other than Dequeues (and by association Stacks).
It's trash even for queues and stacks. Extra allocations plus extra pointer jumps to far away locations totally kill performance. You need very special circumstances for lists to get even close in performance to vectors. And in those circumstances, you'd most likely be better off with yet another, specialized data structure.
Linked lists are fine for general insertion and deletion if you are allowed to hold pointers (or references; not debating that nicety here) into the middle of the list as part of your algorithm running outside immediate vicinity of the data structure.
They're only fine if you don't care about performance at all. And if you don't care about performance at all, it doesn't matter what you use - vector, list, deque or whatever - which makes this all a moot point. There isn't any situation where using list is a good choice for anything. There's no reason whatsoever to ever choose a list as your data structure of choice.
-
@boomzilla said in WTF Bites:
@loopback0 said in WTF Bites:
It was likely disconnected from the domain for too long.
Yeah. Whatever that means.
Under normal operations, a computer joined into an Active Directory Domain has its own password (key). This key regularly gets updated. If the key that the computer has doesn't match that of a servicing domain controller that's authenticating it, shit breaks.
Most likely the comment from @loopback0 meant that the domain controller's keys updated but the laptop's didn't, and broke all the way down.
-
@Tsaukpaetra said in WTF Bites:
Most likely the comment from @loopback0 meant that the domain controller's keys updated but the laptop's didn't, and broke all the way down.
I just know that something happens if the two don't talk for a certain period of time - the length of that period of time being defined by the whims of AD.
I haven't had to fix it for many years and considering that leaving and rejoining fixes it, the specifics of why haven't been worth digging into.
-
There isn't any situation where using list is a good choice for anything. There's no reason whatsoever to ever choose a list as your data structure of choice.
Hey now. Don't go expanding Linked Lists to the Abstract Data Type named List.
-
@JazzyJosh
std::list
. he was removing the namespace.
-
They're only fine if you don't care about performance at all.
No. But they have a totally different performance profile to arrays: if your application requires insertion in the middle of the sequence or deletion from the middle of the sequence, linked lists are superior as you avoid many copies.
-
@dkf except they're not, due to how cache works in modern computers.
-
@JazzyJosh said in WTF Bites:
There isn't any situation where using list is a good choice for anything. There's no reason whatsoever to ever choose a list as your data structure of choice.
Hey now. Don't go expanding Linked Lists to the Abstract Data Type named List.
Did I mention I'm using C++ terminology? Because I'm using C++ termonology. And in C++, "list" always means linked list. The abstract term is "container".
-
-
except they're not, due to how cache works in modern computers.
It depends a lot on the number of elements in the container and on the size of each element. (And, if we're in C++ land, whether or not the elements can be cheaply moved/copied or if copies are bloody expensive).
-
except they're not, due to how cache works in modern computers
Except that's also an oversimplification. Cache coherence behaviour depends on the overall system, and doing lots of copies can get really expensive indeed, even with trivial values.
-
Some of the files in this Project "mumble mumble" contain spaces or odd characters in their name or their path. This could potentially cause issues during the build process. This is a limitation of GNU Make tool that we use as part of our build process
Why are my build tools emitting excuses
-
except they're not, due to how cache works in modern computers.
It depends a lot on the number of elements in the container and on the size of each element.
Agreed - you need a huge number of huge elements for list to be even within the same order of magnitude as vector.
(And, if we're in C++ land, whether or not the elements can be cheaply moved/copied or if copies are bloody expensive).
There's one very simple way to work around this problem: make it a vector of pointers. This one simple trick makes both the size of the object and the cost of copy/move a non-issue!
except they're not, due to how cache works in modern computers
Except that's also an oversimplification. Cache coherence behaviour depends on the overall system, and doing lots of copies can get really expensive indeed, even with trivial values.
That's right. But all this tells you is that under very specific circumstances - which precludes at least 99.99% uses of containers - lists outperform vectors for insertion and deletion from the middle of container. And even in these 0.01% of cases, most of the time the lookup cost or sequential read cost will be much more important than insertion or deletion cost. And even in this small fraction of 0.01% where lists actually outperform vectors in the specific algorithm, there's always a data structure that will perform even better - a B-tree of some sort, a hashmap, or even deque - or something entirely different, specific to the algorithm.
The bottom line is - on modern architectures with megabytes of cache, there's never a good reason to use a linked list over something else.
-
@Cursorkeys said in WTF Bites:
Some of the files in this Project "mumble mumble" contain spaces or odd characters in their name or their path. This could potentially cause issues during the build process. This is a limitation of GNU Make tool that we use as part of our build process
Why are my build tools emitting excuses
To make you aware that it's GNU Make and not your IDE that sucks. And if something really goes wrong, to give you a heads-up on what the problem might be.
-
@ben_lubar said in WTF Bites:
@boomzilla said in WTF Bites:
You are suck a dick
Oh yeah? Well you are write a forum post!
No, I am write a forum post!
Wait...what?
-
@Cursorkeys said in WTF Bites:
Some of the files in this Project "mumble mumble" contain spaces or odd characters in their name or their path. This could potentially cause issues during the build process. This is a limitation of GNU Make tool that we use as part of our build process
Why are my build tools emitting excuses
To make you aware that it's GNU Make and not your IDE that sucks. And if something really goes wrong, to give you a heads-up on what the problem might be.
That doesn't make it better, if a sub-component you're using sucks then it still means your software sucks. Why not submit a PR to fix the issue rather than writing passive-agressive messages for your users?
Also, it builds just fine. If you're going to do this anyway then maybe only show the message on build failure.