This is wrong, or misleading at best. Two of my credit cards are known by their issuer to have chips; both have been used hundreds of times on chip-capable terminals with only the magstripe (because the chip is missing from both cards) with zero complaints or problems; both have had their magstripes copied by restaurant employees and used to illegally purchase goods. If any retailers are treating magstrip info as second-class I've yet to run into one, QED. So the big problem with the chips is that you can reconstruct the magstripe info from quite a distance. And you only need the magstripe info to clone a card well enough to go buy something at your local Wal-Mart or any of the other thousands of shops that don't ask for the CVN2/CVV2 (which, around here, only Sears does ask).
So tell me again why I'd want to use this insecure contactless system when it saves me perhaps a second or two, tops?
Classic case which I run into somewhat regularly at work:
void some_hot_interrupt_handler(struct some_message * p) { ..// sanity stuff ..switch (p->message_type) { ..case WHATEVER1: ....// code ....if (message isn't for us) ......goto noack; ....// code ..case WHATEVER2: ....// code ....if (message handled by FPGA, so bail out ASAP for speed) ......goto ack; ....// code ....if (message has bad timestamp, etc.) ......goto noack; ....// code ..case WHATEVER3: .... etc. for several more message types ..} ack: ..ack_message(p); noack: ..free_message(p); ..reenable_receiver(); ..return result; }
Yes, there are a lot of ways to solve the problem. The easiest is by breaking the mass up into inlined function calls that return to the common parts, but then you have to signal which common parts you want (ack/noack) and that sort of hamstrings the (or just this particular?) compiler's ability to generate code as efficient as the goto. And this thing is being called many, many thousands of times a second so even tiny bits of overhead really hurt. You could duplicate the ack/free/enable bit within the various message handler cases, etc., but the sprawl hurts you pretty badly, too, because that's code duplication (an error waiting to happen) and you shouldn't try to "fix" that macro-izing it because you have to keep the whole function in very limited fast RAM. You could use another signaling variable (do_ack, etc.) but then you have a huge nest of if/else within the handler and the compiler starts to have trouble with optimizing that, too.
Our house rule is: do not use gotos... except for the few cases where they're the right tool for the job.
It depends on the field you end up in, really. Writing $randomSmallSocialWebApp requires only a moderate understanding of algebra, statistics, and numerical methods. (You can get by with less, but you won't be as good a programmer and won't float as high.) Writing $randomControlApp requires considerably more math, depending on the job.
In my job I write a lot of embedded software and use a lot of my math training. From control theory to simple things like calculating rise times and ring on a bus.
A sheet-feeder duplex scanner that'll scan and OCR to a PDF. Drop in your year of bank statements, press the button, come back in five minutes. Scan your receipts, product manuals, whatever you actually use. Throw out everything else.
At my last employer, where I was involved in the technical half of resume screening and candidate evaluations, online courses weren't worth very much in the early stages. The problem is that the quality of the programs varies so widely that it's best for the screener to just ignore them. Yes, there are diamonds in the rough, but you don't have enough time to go do the research, so you mentally block that part out and continue on. It's not particularly fair, but when you have 500 resumes to work through in a day, you have to come up with a fast system.
Now, if you make it into the later rounds and it comes down to you versus someone who hasn't demonstrated that drive to better themselves and their career? Yeah, I'd take the time to go look up the online program, any graduation statistics it published, etc.
1. Failure to comply with a court order puts you in civil contempt of court. You can be held indefinitely for that. There is no habeas corpus involved there because you hold the keys to your own cell. You can sit in jail until you comply with the order, the order is overturned, or the order no longer serves a purpose (e.g., grand jury convenes, the jury trial at which you were supposed to testify is done, etc.). Even better, civil contempt charges don't require iron-clad proof, merely that the preponderance of evidence shows that you are violating the court order.
2. Yes, you cannot be compelled to testify against yourself, but US courts have repeatedly ruled that you can be forced to turn over evidence which is potentially incriminatory. "I have hidden them because they incriminate me" isn't a valid reason to avoid turning over fingerprints, hair samples, security camera footage, files, day planners, etc. If you know where the thing is and the court holds a valid order to get the thing, failure to comply is civil contempt of court. Then see point #1.
You realize that you can be held indefinitely on contempt charges? As in, for the rest of your life or until you comply? There's no violation of your rights in that case because you are considered to hold the keys to your own cell, as it were.
This is a load of horse shit. Yes, atomic mercury is bad for you. However, there are several useful and demonstrably non-harmful mercury compounds. "There's no safe amount of arsenic exposure!" "Hey, your cellphone contains some gallium arsenide transistors. OMGYERPOISONED"
They're using a palladium element as their "fusion" site. Palladium can absorb an absolutely amazing amount of hydrogen (900 times its own weight at the proper temperature). That's a supidly large amount of hydrogen which you can use for self-powering a demonstration for quite a long time.
The built-in PDF reader on the Nook Color is decent. It drains the battery faster (maybe 2x or 3x?) than reading epub files but is still quite usable. I've only ever had trouble with one PDF: there was one page with a TON of overlaid vector images and it wouldn't render correctly; all pages after that page were missing images entirely. Otherwise it's been a fine machine.
The summary incorrectly states "5 ft" but the other news releases state "5 m." The fuel rods are 4.5m long, so the implication is that 100% of the hanging fuel rods are exposed. Any that fell/slumped to the bottom of the pressure vessel are, of course, probably 100% covered since there is still some water in the vessel.
1. download dd-wrt and flash your router; a decent one with a full 8 MB of flash is probably ideal. 2. set it up to have two SSIDs; one will be encrypted, one will not. DO NOT BRIDGE THEM. (You don't want the open wifi AP traffic to be able to reach your other subnet.) 3. set up traffic rate limiting (QoS) on the router; put the public subnet traffic into the "bulk" (i.e., low) priority and your private subnet's traffic into something higher. 4. turn it on, test it well, and smile because you're doing well and doing good.
The linked article about the nuclear plant problems in Japan is chock full of technical errors and omissions. He skips the primary danger of exposed fuel rods, the danger Japan is facing: thermal damage to the fuel rods themselves, prior to the total meltdown stage, means your steam pressure releases now contain primary radionuclides! He states that the melted fuel rods aren't hot enough to melt steel and concrete, when they most certainly are! (They melted sizeable chunks of the containment vessels at TMI and Chernobyl.) He fails to correctly describe what emergency core cooling systems do and how. He miss-states the actual danger of graphite-moderated reactors: it isn't that graphite is flammable, it's that you're using it as a moderator (as thus, water as some of the neutron absorption) and that makes the system inherently unstable. Once you reach the point of worrying about the graphite burning, you're way past the tremendous explosion/meltdown phase.
Run it as a normal user, bind to port N (where N is >= 1024), and use iptables to forward the ports 80 to port N. It is common enough that a quick Google search will show you exactly how.
As someone who works in the solar and wind controls business, let me state: this is not a surprise or really even a problem. People who install big wind and solar systems understand, because of the payback horizon of such installations, the limitations of the local distribution system. It is completely normal for big turbines to have to feather/furl/divert themselves during strong wind. The owners and installers design for this. It's factored into the payback time of the project!
The problem here is the sensationalist reporting. Yes, we need better electricity distribution systems for distributed generation, but we in the industry know that. We've known it for years. The guys who financed and installed the system at Columbia River Gorge almost certainly knew it.
So, yes, pump money into building bigger lines in the right places, but that's something we've been doing for more than fifty years. Generation locations are rarely at consumption locations, after all, and that was true for coal, natural gas, etc., just as it is for wind, hydro, and solar. The only problem here is that our 1990's generation locations aren't where tomorrow's generation locations are.
rest of the drive is an encrypted LVM partition with Linux
When I go to travel, I edit my grub menu and enable (uncomment) "hiddenmenu", make sure the default is to boot to XP and the default timeout is just a couple seconds. If you want more stealth, force the machine to boot XP always, recoverable only if you boot off a Live CD (Knoppix, et al) and go re-enable booting to Linux. If you want even more, put your grub and/boot on a thumb drive.
Agent boots up the laptop, perfectly benign Win XP computer. If they want to clone the drive and examine it off-line at their leisure, they're more than welcome.
Of course, I've long ago forgotten my encryption password, so I can't boot into it even if compelled by a court. I guess that makes me a terrarist.
I can't help but mention rdiff-backup, which stores deltas of files changes going backwards in time, allowing one to retrieve the file at time X with a minimum of storage waste. The interface is, of course, nowhere near as nice as Time Machine.
Re:I call bullshit on this
on
Finding New Code
·
· Score: 5, Insightful
There's an old adage in the racing business: if you're building a parade float, buy your wheels. If you're racing a 300 kph Formula One car, consider building your own. If you place very high demands on a component because it is at the core of what you do, the stock component may not be good enough.
So, in software, if the "wheel" is at the core if your product, you may have to re-invent it to get exactly what you need. This is not because everyone else screwed it up, just that the stock "wheel" serves 90% of the features for cheap. Look at the Mac iPhone's OS, Cisco's move to (cheaper, memory-wise) VxWorks on the WRT54, etc.
[...] a DRM scheme that allowed full legitimate usage (format shifting, time shifting, playback on different devices, etc.) and only blocked illicit usage (illegal copying), would you support the usage of such a DRM scheme?
The describe a system which is impossible to create, so the question is pointless. Software can never tell the difference between fair and illegal use. If panels of judges regularly have trouble determining if a use is legal or not, I guarantee it can't be done algorithmically.
Even better, use TrueCrypt and create a hidden volume within an encrypted volume. You decode the "dummy" volume for the investigators and, for shame, it has merely a racy picture in it. The real data is hidden in the "random" unused data elsewhere on that volume.
This is wrong, or misleading at best. Two of my credit cards are known by their issuer to have chips; both have been used hundreds of times on chip-capable terminals with only the magstripe (because the chip is missing from both cards) with zero complaints or problems; both have had their magstripes copied by restaurant employees and used to illegally purchase goods. If any retailers are treating magstrip info as second-class I've yet to run into one, QED. So the big problem with the chips is that you can reconstruct the magstripe info from quite a distance. And you only need the magstripe info to clone a card well enough to go buy something at your local Wal-Mart or any of the other thousands of shops that don't ask for the CVN2/CVV2 (which, around here, only Sears does ask).
So tell me again why I'd want to use this insecure contactless system when it saves me perhaps a second or two, tops?
Classic case which I run into somewhat regularly at work:
Yes, there are a lot of ways to solve the problem. The easiest is by breaking the mass up into inlined function calls that return to the common parts, but then you have to signal which common parts you want (ack/noack) and that sort of hamstrings the (or just this particular?) compiler's ability to generate code as efficient as the goto. And this thing is being called many, many thousands of times a second so even tiny bits of overhead really hurt. You could duplicate the ack/free/enable bit within the various message handler cases, etc., but the sprawl hurts you pretty badly, too, because that's code duplication (an error waiting to happen) and you shouldn't try to "fix" that macro-izing it because you have to keep the whole function in very limited fast RAM. You could use another signaling variable (do_ack, etc.) but then you have a huge nest of if/else within the handler and the compiler starts to have trouble with optimizing that, too.
Our house rule is: do not use gotos... except for the few cases where they're the right tool for the job.
They're still what they were designed to be. They're just investing in P.R. now. Next.
It depends on the field you end up in, really. Writing $randomSmallSocialWebApp requires only a moderate understanding of algebra, statistics, and numerical methods. (You can get by with less, but you won't be as good a programmer and won't float as high.) Writing $randomControlApp requires considerably more math, depending on the job.
In my job I write a lot of embedded software and use a lot of my math training. From control theory to simple things like calculating rise times and ring on a bus.
A sheet-feeder duplex scanner that'll scan and OCR to a PDF. Drop in your year of bank statements, press the button, come back in five minutes. Scan your receipts, product manuals, whatever you actually use. Throw out everything else.
At my last employer, where I was involved in the technical half of resume screening and candidate evaluations, online courses weren't worth very much in the early stages. The problem is that the quality of the programs varies so widely that it's best for the screener to just ignore them. Yes, there are diamonds in the rough, but you don't have enough time to go do the research, so you mentally block that part out and continue on. It's not particularly fair, but when you have 500 resumes to work through in a day, you have to come up with a fast system.
Now, if you make it into the later rounds and it comes down to you versus someone who hasn't demonstrated that drive to better themselves and their career? Yeah, I'd take the time to go look up the online program, any graduation statistics it published, etc.
1. Failure to comply with a court order puts you in civil contempt of court. You can be held indefinitely for that. There is no habeas corpus involved there because you hold the keys to your own cell. You can sit in jail until you comply with the order, the order is overturned, or the order no longer serves a purpose (e.g., grand jury convenes, the jury trial at which you were supposed to testify is done, etc.). Even better, civil contempt charges don't require iron-clad proof, merely that the preponderance of evidence shows that you are violating the court order.
2. Yes, you cannot be compelled to testify against yourself, but US courts have repeatedly ruled that you can be forced to turn over evidence which is potentially incriminatory. "I have hidden them because they incriminate me" isn't a valid reason to avoid turning over fingerprints, hair samples, security camera footage, files, day planners, etc. If you know where the thing is and the court holds a valid order to get the thing, failure to comply is civil contempt of court. Then see point #1.
You realize that you can be held indefinitely on contempt charges? As in, for the rest of your life or until you comply? There's no violation of your rights in that case because you are considered to hold the keys to your own cell, as it were.
This is a load of horse shit. Yes, atomic mercury is bad for you. However, there are several useful and demonstrably non-harmful mercury compounds. "There's no safe amount of arsenic exposure!" "Hey, your cellphone contains some gallium arsenide transistors. OMGYERPOISONED"
They're using a palladium element as their "fusion" site. Palladium can absorb an absolutely amazing amount of hydrogen (900 times its own weight at the proper temperature). That's a supidly large amount of hydrogen which you can use for self-powering a demonstration for quite a long time.
The built-in PDF reader on the Nook Color is decent. It drains the battery faster (maybe 2x or 3x?) than reading epub files but is still quite usable. I've only ever had trouble with one PDF: there was one page with a TON of overlaid vector images and it wouldn't render correctly; all pages after that page were missing images entirely. Otherwise it's been a fine machine.
While it'll be nice to get native lambdas, the above example is a bit contrived; it's a lot prettier than this in current C++. With boost's lambda:
vector<int> foo(5, 0);
// one example
// and another
int n = 42;
for_each(foo.begin(), foo.end(), _1 = var(n)++);
for_each(foo.begin(), foo.end(), cout << _1 << '\n');
The syntax isn't perfect, but can be very handy for throwing together prototypes, descriptive code, etc.
The summary incorrectly states "5 ft" but the other news releases state "5 m." The fuel rods are 4.5m long, so the implication is that 100% of the hanging fuel rods are exposed. Any that fell/slumped to the bottom of the pressure vessel are, of course, probably 100% covered since there is still some water in the vessel.
1. download dd-wrt and flash your router; a decent one with a full 8 MB of flash is probably ideal.
2. set it up to have two SSIDs; one will be encrypted, one will not. DO NOT BRIDGE THEM. (You don't want the open wifi AP traffic to be able to reach your other subnet.)
3. set up traffic rate limiting (QoS) on the router; put the public subnet traffic into the "bulk" (i.e., low) priority and your private subnet's traffic into something higher.
4. turn it on, test it well, and smile because you're doing well and doing good.
The linked article about the nuclear plant problems in Japan is chock full of technical errors and omissions. He skips the primary danger of exposed fuel rods, the danger Japan is facing: thermal damage to the fuel rods themselves, prior to the total meltdown stage, means your steam pressure releases now contain primary radionuclides! He states that the melted fuel rods aren't hot enough to melt steel and concrete, when they most certainly are! (They melted sizeable chunks of the containment vessels at TMI and Chernobyl.) He fails to correctly describe what emergency core cooling systems do and how. He miss-states the actual danger of graphite-moderated reactors: it isn't that graphite is flammable, it's that you're using it as a moderator (as thus, water as some of the neutron absorption) and that makes the system inherently unstable. Once you reach the point of worrying about the graphite burning, you're way past the tremendous explosion/meltdown phase.
Run it as a normal user, bind to port N (where N is >= 1024), and use iptables to forward the ports 80 to port N. It is common enough that a quick Google search will show you exactly how.
As someone who works in the solar and wind controls business, let me state: this is not a surprise or really even a problem. People who install big wind and solar systems understand, because of the payback horizon of such installations, the limitations of the local distribution system. It is completely normal for big turbines to have to feather/furl/divert themselves during strong wind. The owners and installers design for this. It's factored into the payback time of the project!
The problem here is the sensationalist reporting. Yes, we need better electricity distribution systems for distributed generation, but we in the industry know that. We've known it for years. The guys who financed and installed the system at Columbia River Gorge almost certainly knew it.
So, yes, pump money into building bigger lines in the right places, but that's something we've been doing for more than fifty years. Generation locations are rarely at consumption locations, after all, and that was true for coal, natural gas, etc., just as it is for wind, hydro, and solar. The only problem here is that our 1990's generation locations aren't where tomorrow's generation locations are.
I'll never get my speedy zhevra at this rate.
My solution:
When I go to travel, I edit my grub menu and enable (uncomment) "hiddenmenu", make sure the default is to boot to XP and the default timeout is just a couple seconds. If you want more stealth, force the machine to boot XP always, recoverable only if you boot off a Live CD (Knoppix, et al) and go re-enable booting to Linux. If you want even more, put your grub and /boot on a thumb drive.
Agent boots up the laptop, perfectly benign Win XP computer. If they want to clone the drive and examine it off-line at their leisure, they're more than welcome.
Of course, I've long ago forgotten my encryption password, so I can't boot into it even if compelled by a court. I guess that makes me a terrarist.
I can't help but mention rdiff-backup, which stores deltas of files changes going backwards in time, allowing one to retrieve the file at time X with a minimum of storage waste. The interface is, of course, nowhere near as nice as Time Machine.
There's an old adage in the racing business: if you're building a parade float, buy your wheels. If you're racing a 300 kph Formula One car, consider building your own. If you place very high demands on a component because it is at the core of what you do, the stock component may not be good enough.
So, in software, if the "wheel" is at the core if your product, you may have to re-invent it to get exactly what you need. This is not because everyone else screwed it up, just that the stock "wheel" serves 90% of the features for cheap. Look at the Mac iPhone's OS, Cisco's move to (cheaper, memory-wise) VxWorks on the WRT54, etc.
The describe a system which is impossible to create, so the question is pointless. Software can never tell the difference between fair and illegal use. If panels of judges regularly have trouble determining if a use is legal or not, I guarantee it can't be done algorithmically.
Even better, use TrueCrypt and create a hidden volume within an encrypted volume. You decode the "dummy" volume for the investigators and, for shame, it has merely a racy picture in it. The real data is hidden in the "random" unused data elsewhere on that volume.