1,924 karma · joined May 16, 2008
[ my public key: https://keybase.io/tspiteri; my proof: https://keybase.io/tspiteri/sigs/12YpbcDWvBDiF1HW66L_acFVS8N9MnonlctvQrsPhHs ]
If you're going to wrap, you could go all the way and assign 64 bits to the most significant limb; that way you save 12 bits which you can spread to the other four limbs. You can go from {52, 51, 51, 51, 51} to {64, 48, 48, 48, 48}, so you have a spare 16 bits instead of 13 bits.
And about the Brian-Herbert-and-Kevin-Anderson things; I once found a comment on them which I really liked: "Pass on them. As in pass waste. Defecate."
Book 4 brings out the most different reactions: some people even prefer it to 1, some just find it too slow. If you don't like the beginning, I don't think you'll like the rest as it doesn't change its pace. Maybe the problem is reading it in quick succession after 1, 2 and 3. The first time I read it it was after a break from the other 3 and it turned out I now love it (though I still prefer 1). If you're finding it frustrating a third of the way through, I would recommend dropping it now. Then if you feel like it, maybe restart after some time, maybe then it would work, and maybe it wouldn't.
Then books 5 and 6 pick up the speed once more, I find them very fast paced.
int x;
if(x == 0) foo();
if(x != 0) foo();
That is reading the uninitialized value twice. Since it is unspecified, it does not have to be consistent, so you could get the same behavior as non-zero for the first reading, and zero for the second reading. Changing your code to: int x;
if(x == 0) foo();
else foo();
will give different output (same if you use !=).Edit: Some excerpts from the C standard:
6.7.8 Initialization
10 If an object that has automatic storage duration is not initialized explicitly, its value is indeterminate.
3.17.2 indeterminate value
either an unspecified value or a trap representation
3.17.3 unspecified value
valid value of the relevant type where this International Standard imposes no requirements on which value is chosen in any instance
6.2.6 Representation of types
6.2.6.1 General
5 Certain object representations need not represent a value of the object type. … Such a representation is called a trap representation.
1. Print the nickname before clearing the name so that nickname is still valid when you print it (swap lines 4 and 5).
2. Make nickname a copy of the first three bytes of name, rather then a reference to the first three bytes of name.
let nickname = String::from(&name[..3]);What do you mean by personal experience? That you were poor and made the named stupid decisions? Or that you know of poor people who made the named decisions?
https://www.gnu.org/licenses/gpl-3.0.en.html#section7
Quoting the relevant bit:
Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:
…
c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or
…
e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or
…
Is it though? If you're trying to hold six closed laptops in the same hand, thinner might be better, but when holding one laptop in one hand, it's weight not thickness that matters.
That is a very bad idea. The protestors are already against one powerful actor. If they are against a second powerful actor, and something sinister happens to protestors, it will be easy to cast doubts on who did the sinister act.