The compiler can't know at compile time with a naked pointer like it can with an array. [static 1] is handy to say it must not explicitly be NULL, as if it were optional, however.
Bitfields have some crazy fun dark corners, though. For instance, which values can this bitfield hold:
int b:1;
Signed two's-complement n-bit integers can hold values from 2^(n-1)-1 to -2^(n-1), so in theory it can hold 0 and -1, but many compilers get that one wrong. Always declare one-bit bitfields as unsigned. (The Sparse static analyzer will warn you about that one.)
Please tell me who you work for, so I know to avoid any of your products. Using BBC Basic like this terrifies me. If anything, because its total lack of type safety for anything but the simplest of values.
Well I'm not referring to reading/writing from a data store, but actually processing the data in registers and such. Arithmetic operations and that sort of thing.
High-density ARM servers are not ideal for every application. However, there are plenty of applications where you don't need massive amounts of computational grunt in each CPU, such as web serving, hadoop, mail and DNS servers, etc. Also, the density and lower power/cooling requirements can often offset the lack of performance. Each slab has a 260W PSU. The whole system can't pull more than 260W, ever. Some Intel CPUs need 200W just on their own.
Been a while since I was heavily involved in high-density data centers... How does that work with traditional hot aisle/cold aisle layouts? Seems like you'd need to adjust the cooling to have an air channel up the middle of the rack?
In general, high-density or supercompute systems are installed with custom racks, cooling, power supplies, etc. This doesn't need anything custom, just something that isn't always the default in some DCs.
They're ARMs, they don't need much cooling anyway.
Yeah, I see they have the same sort of "talk to us for pricing and more info".
Important things to note is that each of the nodes in this Slab have their own local SATA solid-state storage, and the individual CPUs are quicker. The Boston thing has higher density though.
Possibly. If your SSH and HTTP daemons and encrypted file systems use /dev/random, and you're running Linux, then possibly. Look in /proc/sys/kernel/random/entropy_avail, and possibly graph this over time. Also, some modern Linux distributions use data from the random pool at exec() (to randomise linkage), and so it's possible you could be running low already. TLS email also consumes huge amounts, and anybody running virtual servers might be having a problem.
Is there anyway to speed this up without hardware? My server has a laughably low amount of entropy available and I think it is why a lot of the connections are slow.
If not what is a cheapish way to get hardware entropy?
If you have a sound chip on your server which is capable of disconnecting itself from the microphone socket on the back then you might be able to use low-order bits from that and a tool such as the audio entropy daemon or 'randomsound' (the latter is packaged in Debian) however I'd not recommend that as anything other than a stopgap until you can get something more effective.
Simtec expect to release their Entropy Key for around GBP42 delivered in the UK. (worldwide postage costs will obviously inflate that a bit).