

Zero days because I don’t do stuff for money that I don’t enjoy.
Zero days because I don’t do stuff for money that I don’t enjoy.
How is that weird, as (nearly?) the only regular form of this verb?
Marzipan potatoes.
Absolutely. Time jump + story in the evolved situation for mankind. Final book is a collection of all the short novels, some of which were integrated into the show (“Drive”, “Strange Dogs”), or alluded to (" The Churn"). But others are new reading material. I recommend reading the novels & main books in chronological order.
I read that as “It’s the ones that adapt the fascist” :(
Definitely worth the read. The show was a great adaptation with some necessary compromises for a TV adaptation, but also, you have 3 (4) more books beyond season 6.
Don’t blame this on gcc or the library/function author - it is 100% user (i.e. programmer) error. Uninitialised memory of any type is undefined behaviour in the C and C++ abstract machine. That means optimising compilers can assume it does not exist.
I absolutely do blame this on the C++ standard being not specific enough, specifically for the way in how I learned about this: When writing a trivial function, you would never expect that - for a bool parameter - an “if (b)” branch can be executed as well as an “if (!b)” branch.
So basically, this mechanic sabotages input data validation in functions that test whether plausible parameters were provided. The problem is that a function you write that is bug-free and “perfect code” - despite input data validation - can exhibit undefined behavior due to an uninitialized bool type parameter. Something that can not happen with other uninitialized trivial (numeric) data types (int, float). Simply due to the way boolean checks are translated to x86 assembly:
Here’s an example: https://godbolt.org/z/T3f9csohd
Note the assembly lines 176-182: The only difference for the “if (!b)” check is that the lowest bit of the boolean is flipped with an xor - which assumes about the implementation that a boolean can never hold values other than 0 or 1. Which I - as a naive user - also assumed until this happened. Correction: I assumed that negating a bool would result in the inverse boolean value.
So the problem boils down to: The value range of any given (built-in) numerical data type fully encloses the value range that an uninitialized variable of that type can have. This is not necessarily true for boolean: In g++, the value range is [0;1] and the range of an uninitialized bool is [0;255].
Accordingly, I would expect the C++ standard to fix this by stating that an uninitialized bool must have a value for which only one of two conditions evluates to true: b or !b, but not both.
Been there, found undefined behavior where there should not be any. Imagine a function that takes a bool param with the following code, but neither branch gets executed:
if (b)
doStuffForTrue();
if (!b)
doStuffForFalse();
In a function that is passed an uninitialized bool parameter, in gcc compiler, both branches can get executed even when b is const. Reason: uninitialized bool in gcc can have values of a random integer, and while if(b) {} else ({} is guaranteed to execute only one branch, bool evaluations of a bool value take a “shortcut” that only has defined behavior with an initialized bool.
Same code with an uninitialized integer works as expected, btw.
One way to contribute to FOSS is to improve bad documentation. You are correct, of course, and lazy devs write bad code if they do not cultivate good documentation - imho.
manage user knowledge management system/notes
doesn’t have the same ring to it as
Managing and organizing notes
The first one sounds like it’s a meta-management engine with a very abstract purpose that is not explained in OP. The second - your wording - sounds like a simple Notes app, and I mean “simple” in a good way. The OP doesn’t manage to communicate such a simple message.
No, an explanation like you were five wouldn’t improve upon OP.
Admitted, it was a bit reductive and mean, because I was annoyed about the long list of meaningless mumbo-jumbo in the post, without explaining what this app supposedly does / is useful for. If people have something useful to present, why not start with the useful bit of info? “Managing knowledge management” sounds a bit like the “president of the tautology association presidency”
Still doesn’t make sense, nor does it sound useful.
No, left one is better for not becoming fat.
Not like Luigi is in any of the above pictures…
That’s fine. Some web developers are morons, but some of everyone are morons. We can partially agree.
Partially agreed :p
I could live with that, as long as the language menu button itself is labeled in English and not e.g. “Sprache ändern”
Forgot the drive but a shout-out for Final Space lovers!