Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×

Comment Re:Powershell (Score 1) 729

I see that it is in C99. But it wasn't when I was learning C in the 1980s.

Well! I'll get off your lawn now. I learned on C99, I did not know that the guarantee was new.

Don't use a language that encourages pointer calculations. If you're working in the kernel or hardware drivers maybe.

That is hardly an argument against sizeof as a language feature. I think we both agree—outside of the first learning experience—developers who are getting tripped up by sizeof should't be using C in the first place; but it is not the fault of the language or a misfeature.

Comment Re:C (Score 1) 729

If you think all strings can be defined as const char arrays

Lucky for both of us, that's not what I think. I specifically said "string literal", which is a const array and not a pointer. This is relevant for the sizeof discussion because the operator is evaluating the size of the array (therefore the entire string) and not just evaluating the size of a pointer.

Comment Re:Numeric equality in PHP (Score 1) 729

Since (almost) no computer actually stores 1.0

Since almost every computer nowadays implements IEEE floating-point, they can all store 1.0 exactly. From the link:

Any integer with absolute value less than 2^24 can be exactly represented in the single precision format, and any integer with absolute value less than 2^53 can be exactly represented in the double precision format.

Comment Re:C (Score 1) 729

it should return the size of a memory pointer on the target machine, since that is what a "string" is in C.

A string literal in C is of type char[N] (where N is the minimum value required to store the whole string, including the null terminator). String literals degrade to pointers quite easily, so yours is a common error. So...
const char direct[] = "string";
const char *const indirect = "string";
sizeof(direct) == 7;
sizeof(indirect) == sizeof(char*); // 4 or 8 on most 32- or 64-bit architectures, respectively

Comment Re:Powershell (Score 1) 729

So to allocate a string you have to multiply sizeof with strlen and add 1 for the null terminator?

Since you specifically mentioned strlen, I can tell that you are doing the wrong thing. It is guaranteed that sizeof(char) == 1, so you can skip the sizeof. And then instead of allocating strlen(x)+1, you could use the standard function strdup .

Aside from this particular example, what is your beef with sizeof? Do you know an alternative for compile-time size calculations?

Comment Re:Probably not. (Score 1) 546

What's wrong with optimizing something by hand if it's so blatantly simple?

In what situation will an application of DeMorgan expected to actually be an optimization? I expect the compiled code would just end up using inverted comparison instructions and swapping ands/ors around. Net benefit: nada. In such a situation, the effort of optimization is a total waste and any resultant obfuscation is also a total waste, so that's what is wrong.

Comment Re:Fine ... (Score 1) 245

Nobody programs fast enough to fill data-centers with 'new programs'.

I don't read that as "new program text" i.e. the storage for newly-released executables. I read it as "storage for [data generated by] new programs," where the new programs are "programs" from a TLA organization's perspective and not individual executables. From that perspective, it is quite believable that the NSA would be capable of filling new datacenters with new programs.

Comment Re:How do you make a lego character female? (Score 1) 208

You just plainly CANNOT build anything out of the pieces but exactly what you are sold.

Several years ago, I would have agreed with you. Now it just sounds like you aren't looking hard enough, or haven't looked recently—check out the Creator series. Almost all of my newer lego collection is from those box sets, and they are very good about providing reusable pieces.

Comment Re:and front-running? (Score 1) 382

By continually extracting money from the exchange without injecting value, they reduce the overall value of the stocks... the best solution would be for legitimate companies to not allow their stocks to be traded on exchanges that permit HFTs. It would keep their stock values higher...

This is a weird analysis. HFTs are market-neutral, meaning they are trying to avoid taking any big directional bets. Because they are buying and selling symmetrically, they tend to have very little impact on long-term market prices. Instead, their profit comes from buying low and selling high on average, meaning that they are profiting at the expense of their trading counterparties. At the end of the day, the value of the stock should be unchanged by HFTs. Except when their systems go bonkers, a la Knight Capital.

Comment Re: Arbitrage (Score 1) 382

Per transaction fixed cost is the way to go if the goal is to discourage frequent trades.

Most transaction taxes discussed are a percentage of the notional value of the transaction (price * quantity, e.g. 100 shares of a $4 stock is $400 notionally). So Sweden's 1% tax could have easily been 1% of the value of the transaction, which is not at all stupid. In general, a transaction tax can be a function of the notional value of the transaction, quantity of the transaction (shares or contracts), or fixed per transaction; and in any case it will discourage frequent trading.

Comment Re:one device to rule them all (Score 1) 288

You are definitely moving the goalposts, but I will play along. Wikipedia names several products which use Infiniband, mostly for storage (not a surprise that NAS systems want high-bandwidth interconnects). On the HPC side, Los Alamos National Lab has IBM's Roadrunner cluster, which uses Infiniband. Finally, your underlying objection sounds a lot like "640k ought to be enough for anybody." Why wouldn't we want networks to get better? IB may eventually go the way of Betamax (there are other competing low-lateny/high-bandwidth interconnects out there), but even so it is currently providing value and pushing engineering boundaries.

Getting back to the original topic, I don't think HP deserves much credit for pushing IB. The customers whose needs are met by it are probably already working directly with all of the vendors in the chain: IBM or Intel for chips, HP or Dell for the base systems and BIOS, Mellanox and Cisco for networking, etc.

Slashdot Top Deals

To do nothing is to be nothing.

Working...