cautious_int
|
10 years ago
|
on: Remove anti-privacy, anti-security, and general nuisance “features” from Win 10
I don't trust open systems either.Don't put words in my mouth please.
I reject the thesis that trust is binary. Were I to accept it, I trust nobody - everyone is vulnerable to being subverted by blackmail, intimidation, making mistakes, etc.
You seem to be using a different definition of the word trust than I did. Everyone is vulnerable, does that mean you cannot trust anyone? No, you certainly can, that is the whole point of trust.
cautious_int
|
10 years ago
|
on: Remove anti-privacy, anti-security, and general nuisance “features” from Win 10
This is a lose-lose scenario. If you don't trust a closed operating system in the first place, why would you then, after performing these steps, trust the system that it really does what it says it does. The point is that you don't know, and you can never be sure. The solution is to either trust or not, switch or stay, there is no middle path, because any middle path implies some amount of non-trust.
cautious_int
|
10 years ago
|
on: Understand 1,700 Mechanical Linkages with These Helpful Animations
The Sun is the center of the Universe. Interesting.
cautious_int
|
10 years ago
|
on: Understand 1,700 Mechanical Linkages with These Helpful Animations
cautious_int
|
10 years ago
|
on: Let’s sunset C/C++
Mill processors? Aren't they still in research stage, only using emulation and no hardware.
cautious_int
|
10 years ago
|
on: Germans are so scared of surveillance they microwave their ID cards
Why not put it into a Faraday cage?
cautious_int
|
10 years ago
|
on: Android libstagefright still exploitable
I was talking about the same line.
Apparently new is a "special" operator, or there is a bug in the compiler. I also can't get a warning with g++.
The problem seems to be that, as I said, [] takes any integer expression, it is there where the value gets truncated when operator sizeof or new is applied on it since they either return or take a size_t value.
cautious_int
|
10 years ago
|
on: Android libstagefright still exploitable
Because no truncation happens. In this case [] operator doesn't specify any type, only that the expression inside is an integer expression. While normally the type size_t is used for object and array sizes, [] takes any integer expression and the compiler won't complain.
cautious_int
|
10 years ago
|
on: Android libstagefright still exploitable
This is a common problem in C. Integer types are inherently type unsafe and are silently promoted with many different rules which are hard to remember and understand. As is seen in this case, even the ( borderline paranoid ) flag -Wconversion would not catch the bug.
I think this problem in C would be solved with a single flag: -Wwarn-if-using-integers-of-different-types-in-an-operation , forcing you to cast the integer if the types don't match in a arithmetic operation, or an assignment.
cautious_int
|
10 years ago
|
on: Android libstagefright still exploitable
Because unsigned overflow will not happen in C, and will instead wrap the value. The variables in question were unsigned.
This is defined and perfectly normal.
However signed integers will cause undefined behavior on overflow and there is a common flag in most compilers to trap on overflow.
cautious_int
|
10 years ago
|
on: Disable Windows 10 Tracking
Can you also fake/spoof the appropriate signatures/headers? Otherwise separating that data is going to be very easy. Unless you do it on a higher level like emulating input, but then you won't have a very useful machine.
cautious_int
|
10 years ago
|
on: Every 30 minutes Windows 10 sends all typed text to Microsoft
Why?
cautious_int
|
10 years ago
|
on: Even when told not to, Windows 10 doesn't stop talking to Microsoft
Windows 10 seems to transmit information to the server even when OneDrive is disabled and logins are using a local account that isn't connected to a Microsoft Account.Well there you go. If you ever wondered whether this is happening only on the Microsoft Account(tm).
cautious_int
|
10 years ago
|
on: How We Beat C++ STL Binary Search
You got it backwards there. Only if you know your implementation and plan to code only for it, can you even start to consider bending the C Standard, and not the other way around.
cautious_int
|
10 years ago
|
on: “It’s done, there is no way back. We tried, we failed”
Since you didn't back it back then, you can now buy it immediately on Steam. It looks like a functional game, and not a failed project.
cautious_int
|
10 years ago
|
on: How We Beat C++ STL Binary Search
Actually it is misleading by them( and you ) to assume that in C, an unsigned int can represent values larger than the largest signed int value.
In other words, C allows that UINT_MAX == INT_MAX, in which case you will overflow.
If they made that assumption, they should explicitly mention it, but they didn't.
> Update 17 Feb 2008:... ...Now that we've made this change, we know that the program is correct;)
It seems the article is aware of the irony. Another update would be in order.
cautious_int
|
10 years ago
|
on: How We Beat C++ STL Binary Search
It is not true that unsigned wrap is defined?
Did you even read my comment, here is the relevant part: unsigned wrap is defined
cautious_int
|
10 years ago
|
on: How We Beat C++ STL Binary Search
The conditional move still depends on both values taken from the array, via other variables.
cautious_int
|
10 years ago
|
on: How We Beat C++ STL Binary Search
Well a branch will fetch the incorrect cache line if it mispredicts, but a conditional move will fetch both cache lines every time.
cautious_int
|
10 years ago
|
on: How We Beat C++ STL Binary Search
That blog is wrong. The program won't be undefined( unsigned wrap is defined ), but the offset will not be correct.
Don't put words in my mouth please.
I reject the thesis that trust is binary. Were I to accept it, I trust nobody - everyone is vulnerable to being subverted by blackmail, intimidation, making mistakes, etc.
You seem to be using a different definition of the word trust than I did. Everyone is vulnerable, does that mean you cannot trust anyone? No, you certainly can, that is the whole point of trust.