It wasn't "The Internet." We were both using the same time-sharing computer system via modems and dumb terminals. When it turned out we were only 60 miles away from each other, we decided to meet.
And considering how much computers are now a part of the newest generations lives, it wouldn't surprise me if more and more people hang out with the people they met online in real life.
My youth was spent hanging out with friends I met online, and we're still friends. As a matter of fact I met my wife on line 27 years ago. There's nothing wrong with meeting new friends who share your interests, and on-line is a great way for those friendships to happen.
The whole 'pedophile' thing makes the nightly news because it's shocking and sells advertisements, not because it's commonplace. Even a tiny bit of common sense exercised by a parent is usually enough to keep their kids safe.
Damn media blows the whole "online predator" shit way out of proportion. The same kids that meet 45 yr old men are the same ones that would get into a van because the guy offered them candy.
Well, you know what they say: "Strangers have the best candy!"
So I figured I knew what my teenager was up to. Nothing he'd find particularly worried me, as long as he didn't start espousing Nazi rhetoric or join some freaky cult.
I was mostly hoping he was learning to hack, but afraid that he was probably just surfing for pr0n and MP3s... I did warn him a couple times about file sharing, and I did maintain control of the router. But for the most part, he was responsible, so I let him be.
I was richly rewarded. He's 20 and turning out to be a hacker, much to my relief.:-)
Ha, I couldn't help but thinking of Tom from Office Space talking to the two Bobs:
"I already told you, I deal with the goddamn customers so the engineers don't have to. I have people skills!! I am good at dealing with people. Can't you understand that? What the hell is wrong with you people?!?"
Well, if we're playing conspiracy game theory, there are a lot of possibilities.
Maybe it's a series of tests designed to figure out how resilient the networks are, and what the fiber operators' response times are? Could be the U.S., or it could be others.
Another possibility is it's a show of force by a James-Bond-villain style extortionist. "Pay me a billion dollars, Q'atar, or your internet lines will be cut just like this! Moo-hoo-huh-huh-hah-hah-hah!" Maybe we should all be on the lookout for a large underwater city, owned by Stromberg Enterprises...
Actually, the church can still show the super bowl anyway.
The NFL has no authority to prevent it. They can merely threaten after-the-fact legal action if they do.
And I don't think that would work out too well for the NFL. "Your Honor, ladies and gentlemen of the jury, today I'm going to prove that these Christians stole the rights to our game for use in their church!" If the jury doesn't run the NFL's lawyer out the door just from the opening statement, I'd be amazed.
Someone else brought up the point that since these are churches, they'll have prayers and fellowship stuff going on during halftime. This means turning off the TV while the commercials and the awe-inspiring halftime show are playing, and effectively leeching the popularity of the game for their own ends while not delivering the bought-and-paid-for messages.
It might be amusing to see what would happen if a church had a "Super Bowl Commercial" party, one where they delivered their sermons while the game was being played, but everyone watched the commercials. Would the NFL still send out a cease and desist letter?
"Tommy John surgery" was originally developed as a way to repair a baseball pitcher's damaged elbow ligament. Scientific American had an article not too long ago suggesting that the surgery is dangerously close to an enhancement, as it improved the mechanical advantage of the muscles in the pitching motion.
While it's not a "bionic" replacement (the donor ligament is still tissue harvested from elsewhere in the patient's body) there are still ethical questions to be asked whether or not a healthy player should be permitted to undergo the surgery simply to improve his performance. (I don't know if that's happened or not.)
I wasn't thinking of the bionic sound, but rather that the recipient of the arm was going to have to agree to be filmed lifting heavy things in slow motion.
There's a lot of difference between Shinto and Islam, and I bet you know it. It's all about the central authority figure versus the quarreling clerics. When Hirohito surrendered and later issued the ningen-sengen, all the hard work of "defeating" the religion was over. The mullahs haven't surrendered to anyone, and Islam is so decentralized that the Mahdi Army itself is fragmenting; intelligence suggests that Moktada al-Sadr himself may have lost control of up to a third of his army at this point. It's suspected that much of that loss of control is that he's not active enough in fighting the Americans.
And I stand by my statement that MacArthur had it easy "by comparison". The actual, factual god of Japan's religion/state told them to lay down their arms, and then told everyone that maybe he wasn't really their god. In contrast, Allah is not present in human form today, and his prophet Mohammed is no longer alive making claims or raising armies. With nobody in control of Islam, nobody has the authority to even say such a thing.
MacArthur had an entire compliant, beaten, and headless nation handed to him. Not to take anything away from his many great accomplishments, but it wasn't even close to the same kind of situation we're facing in the Middle East.
So sure, I misspoke in saying that Japan wasn't driven to war using religion. That changes very little of the differences between then and now.
I hope the NFL enforces this across America. Since most people are apparently too stupid to notice how the greedy bastards are taking away their freedoms, maybe this will wake more than a few of them up.
I agree that it took both tremendous skill and discipline to restore Germany and Japan to the world, and the success is incredible.
But there are a lot of significant differences between them and the nations following sharia law, and nobody has yet figured out how to bridge them.
In both Germany and Japan, there was a central figure of extreme authority, a small group of insiders hoping to be next in line, a larger group of thugs willing to do their bidding because they enjoy hurting people, and a large percent of the populace that was willing to believe that their crappy lot in life was the result of "population X" (fill in the X with Jews, Poles, gypsies, westerners, Chinese, blacks, Arabs, homosexuals, or whoever is a convenient target.) All forms of tyranny essentially use this same model. And defeating them is also quite well understood: destroy the head, remove the insiders, and the movement dies. But in those cases, it was the national government that was responsible for the war. They were well known, easy to identify, and easy to physically locate. The fact that our politicians were willing to sacrifice a lot of innocent civilians with our bombing campaigns made it that much easier.
But the current situation with violent Islamists is very different. First and foremost, their battle is based on religion, rather than politics. Despite the occasional memo coming from Osama bin Laden, there is no official head, no single "pope" of Islam dictating the violence -- mullahs all over the place are free to interpret the Qu'ran however they wish and issue fatwas of their own. Many are corrupt, seeking only to establish or maintain a power base for themselves, and the Westerners|Su'unis|Shi'a are easy and convenient targets for raising the ire of the populous. But being heads of religions, they have elevated themselves to being "above" questioning -- indeed, TFA is about the impending death of one such questioner. And the blanket of religion protects them all -- an attack by the U.S. on even a minor but corrupt mullah would rally much of ordinary non-violent Islam against the Americans. And each corrupt mullah has built himself up as a mini-tyrant, and is surrounded by a small group of insiders plus a wider group of thugs, making each individual sect almost as hard to clean up as a whole nation.
The historical example would suggest a strategy such as the simultaneous assassinations of all the corrupt mullahs and their circles. And that is so heinous and illegitimate as to be unthinkable, even to our current violence-prone government, not to mention impossible to coordinate. And who would decide their guilt? Who would do the investigating? Where would the trials be held? We'd essentially be using both a Gestapo AND a schutstaffel to pull it off. It would require an absolutely corrupt process, bringing new corrupt people and a new horrible set of problems into the mix.
We in the West know very little about Islam, or how to influence it. I'm sure we're trying to find ways to convince the honorable mullahs to discredit the corrupt ones, but they already have a huge base of well-deserved mistrust for us. New meddling in their business will not endear us to them, either.
It looks like you're making a basic mistake. Don't confuse recognizing a "threat" with the outlawing of it.
In the real world, almost anything could be a threat. Your child could knock a salad fork off the table, and it could land tines-up wedged into a crack in the floor, and you could then slip from your chair trying to pick it up, and put your eye out. By means of an implausible scenario, the fork has become a threat. But you don't address such a threat by outlawing salad forks, or all dining implements, or feeding your children only spoon food. Instead you analyze the risk of having salad forks on your dining room table, and realize it's silly to worry about such ridiculous scenarios.
For a variant, consider placing steak knives on the table. Now, if your child were to knock one off it becomes somewhat more serious. Perhaps you mitigate the risk by sensibly not placing sharp knives within reach of your child; but you don't outlaw knives from the kitchen nor do you stop eating steak. You simply keep them out of your child's reach.
Now move to a slightly more sinister threat or risk, that of a free press or possibly an extremist group publishing the location of every chlorine tanker in America. Could that be a threat to our security? Of course, it might even herald the initial coordination of a nationwide attack. But just like the above stories, you don't outlaw bloggers or their right to publish (nor can you.) Instead you look at potentially dangerous objects or information, you analyze the potential risks, and you find a way to mitigate them. Step 0 might sensibly be "don't publicly publish lists of hazardous tankers" except to those persons with a need to know. Step 1 might be to keep any such lists as small as possible -- the Seattle fire department doesn't need to have the schedule for the Atlanta chlorine train. Step 2 might be to publish a generic set of instructions, "How to safeguard chemical tankers". Step 3 might be a communications plan to the rail lines informing them of a security breach. And so on.
Almost anything can be a threat. What defines an appropriate reaction is recognition of the risks, planning and mitigation strategies. Over the top reactions like saying "OMG they're trying to silence the press and Jefferson is rolling in his grave" are completely missing the point. Nowhere in TFA are they even suggesting they suppress the blogs; they're just recognizing a potential threat, and figuring out what plans (if any) they need to make.
Does there need to be a shift in the way we view our responsibilities as tech authors/creators?
This is very much like the "security through obscurity" argument. In security it's always assumed that the bad guys know or can learn the algorithms, weaknesses, etc., everything but the key. In the case of technology such as phishing kits, there may be no reason for a legitimate developer to write such a thing, but there's nothing stopping an unethical person from writing one.
Don't get me wrong: training software engineers in ethics is a good thing. Professionals need to understand their responsibilities. But bad people can't be stopped from writing malicious software. The bar for writing software is already too low, and is getting lower by the day.
"Sneakers"? With its magical decrypt-everything-regardless-of-algorithm chip? That central gaffe made it almost unwatchable for me.
It was kind of like the basic assumption in the Matrix that humans would make good batteries to power robots (we don't.) At least the Matrix had both bullet-time AND Carrie Anne Moss in PVC so you always had something uber-cool to watch. But when the second and third movies built themselves further around this extremely lame assumption, they too became crap with respect to their stories.
Phishers have forums where they trade with other phishers.
Most phishers are script kiddies. Phishing is usually done with pre-made phishing kits. The phisher plugs in their email address and uploads it to a compromised server.
The phishing kits are riddled with backdoors, where the original kit author does stuff like send copies of the victims data to their own email address.
Anti-phishing browser plugins lead to a ready-made list of compromised servers. Hackers know that any server on the list is hackable.
Six pages? I was hoping for at least the transcript of a chat with a phisher.
What about the other 10 political parties in this country? Where are their representatives? It's not a two-party system despite what the media has led you to believe.
Because the other parties around here can't muster enough people to vote at every polling place, much less provide a volunteer to staff each one and assist in carrying the ballots around.
Neither the Republicrats nor the Demopublicans currently feels threatened enough by a third party to risk charges of rigging an election. Think about the risk required for both of them to agree to jointly commit a felony. If one asks the other, you know damn well the other would much rather see the first behind bars for election tampering, rather than fool around with half a dozen votes.
If the Greys, Libertines, or whoever ever reaches a threatening level of participation, (such as about 20%,) then it'll be different. It would also be different if we didn't have a winner-take-all voting system -- a proportional representation system would need to be much more careful. But until then, having two people who mistrust each other is a pretty good solution.
I used to teach a course in debugging with Visual Studio, and I basically trawled through my syllabus looking for the cool tricks. Using the stack-crash demo to drop into the source code of the crashing module is a real attention-grabber.
I found debugging in gdb to be a lot like debugging in WinDBG. You have to learn a lot of esoteric commands that you don't use very often, so it takes a lot of practice to learn them. And if you aren't constantly searching for the side effects of each step, you can miss a valuable clue. Seeing the color change on watched values that have changed is a great way to pick up on otherwise subtle corruptions. Seeing an entire object's value hierarchy go red because you munged its pointer really stands out, at least to my eye.
Here is the bibliography and recommended references from my syllabus. It's pretty out of date these days (I especially miss the C/C++ Journal,) but the references are still good if you can find them.
Bibliography
Debugging Applications by John Robbins (Microsoft Press, 2000, ISBN 0-7356-0886-5)
Visual C++ Development Stunts by Mike Blaszczak (Lecture at Tech Ed 98)
How to Debug Quickly and Effectively with Visual Studio 97 by Martyn Lovell (Lecture at Tech Ed 98)
MSDN Library Visual Studio 6.0 (Microsoft, 1998), see also http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvc60/html/memleaks.asp
Customising Autoexp_dat.doc, by EMCC Software, see http://www.emccsoft.com/devzone/tools/devstudio.html The Bugslayer by John Robbins (Column in Microsoft Systems Journal / MSDN Magazine) MFC mailing list, 1998-1999 (see http://www.microsoft.com/workshop/essentials/mail.asp) 2600 Magazine, Finding and Exploiting Bugs, Spring 2000, (2600 Enterprises, Inc.)
Resources
MSDN Library Visual Studio 6.0 (Microsoft, 1998), Visual C++ Documentation, Using Visual C++, Visual C++ Programmer's Guide, Debugging. Actually, the whole of the MSDN Visual Studio Library is my number one resource for Windows development. Lean on the F1 key first. It's available online at: http://msdn.microsoft.com/library/default.asp
Microsoft Knowledge Base: http://search.support.microsoft.com/kb/c.asp
MSDN Magazine (the combined former Microsoft Systems Journal and MIND Magazine) is the official Microsoft developer's publication. You'll find all the current and upcoming Microsoft acronyms detailed here. The writing is usually top notch, but the content is usually based on the over-hyped acronym of the month, and is frequently too specialized to be of real value. Since about 2000, it's been the official mouthpiece of.NET. But, it's pretty much required reading to stay on top of what Microsoft is rolling out the door next month.
C/C++ Users Journal is a cutting edge independent magazine that offers the latest developments in C++ techniques, STL work, exception handling research, and C++ language development. It has articles written to many levels, from beginners to experts.
Dr. Dobb's Journal is another independent magazine that more broadly approaches development with a wider variety of tools including C, C++, Java, perl, and Python. It is very strong in any subject it touches, but it is not Windows specific (it has a definite UNIX slant and a frequent anti-Microsoft bias) and some of it will be of less value to a Windows-only programmer.
There's a subtle distinction here. The Good Samaritan laws are a "defense" against a lawsuit that has been filed, not a magical "prevention" blocking a lawsuit from being filed. A lawyer who tried to sue a first responder in such a state would almost certainly be found in contempt of the court for filing an intentionally frivolous lawsuit. But that doesn't mean they can't be filed.
Here's a hypothetical situation that indicates the need to allow these suits to be filed: What if the first responder was actually negligent in a related incident? What if they went to the accident scene and, before performing CPR, flicked their cigarette butt into a pile of leaves that a few minutes later ignited a puddle of gasoline? There is certainly a case to be made that the first responder went to the crash to attempt to perform CPR, and that he couldn't very well perform it with a cigarette hanging out of his mouth. But there's an equal case to be made for suing the first responder for carelessness. These circumstances are far from easy to sort out, and a lawsuit would be a wholly appropriate way to resolve them.
You can indeed be sued as a first responder. As an American citizen you can file a lawsuit for any damn thing you want. (Hell, convicted felons have sued the prison system for failing to give them ice cream.) But if you're suing a first responder your chances for success are likely to be close to zero, and the courts are likely to be unfriendly to you as a result.
Technically, you can be sued for anything in this country. You could be sued for trying to stop the bleeding, or you could be sued for standing by and doing nothing.
However, if you are going to sue for a stupid reason, your lawyer should be responsible for telling you that you are filing a frivolous case, and not to pursue it. Most lawyers wont take a paper-thin case, but some would rather try for the money. Pursuing frivolous lawsuits is a black mark against them, and if they do it too often they risk being disbarred.
According to TFA above, he recently took this job. It's not like it's a 20 year commitment he's walking out on, he's just started this job. He doesn't know yet if his manager is smart, reasonable, easy-going, rock-stupid, scared stiff, or bat-shit insane. If it turns out that his manager is one of the bad ones, it's best for him to keep looking quickly as if he hadn't taken that job. A bad manager will lead to poor reviews (and no raises) which will hurt him looking for a new job. A bad manager will lead to ulcer-inducing stress, and/or heart conditions. The guy will wake up every morning trying to figure out if he can call in sick. He will hate his life -- that's what a bad manager can do to you.
I've had the opposite -- a lucky string of managers ranging from "great" to "pretty good". But I've seen some of the bad ones, and how much their employees suffer beneath them. I wouldn't wish that life on an enemy. And I shudder to think what might happen to me the next time I get a new manager, and he or she turns out to be one of the crazies -- I too have a mortgage, two college tuition bills, and no desire to get in a price war with a bunch of low-cost H1-B visas in this job market.
Well, the learning curve is certainly important in the real world, although I expect a professional to know his or her tools before they arrive on the job. But there are a metric crapload of things I like better about Visual Studio that make it a much more effective debugger than gdb, in my opinion. (Note that I am not a big gdb user, so I may be cutting it a bit short in the feature set here. My apologies in advance if I do so.)
Things I've found I prefer include many tool windows simultaneously showing the states of registers, memory, the call stack, an object or seven (expanded to show a few properties), and automatic resolution of virtually every symbol and name, including the operating system (although you have to download the symbol files for your OS version from Microsoft.) And you still have full navigation through the source.
Simply hovering the mouse over a symbol will bring up a tool-tip to display the contents. If you highlight an entire expression such as pFoo->pBar->Blah.count+7 and hover, the tooltip will display the calculated result.
You can set a temporary breakpoint by setting the cursor on a line of code and clicking "run to cursor." You can run, single step, run to the current cursor, or run till function return. That last one is great for re-entering a function multiple times to test different conditions.
The variables window contains the current call stack as a dropdown list -- changing the stack lets you see the newly-local variables. Watch windows can display data as hex or decimal, just right click and select. Watch entries can even be used as calculators (enter a literal value, such as 0xf0 + 12, and it will display the results.)
In the watch windows, you can also call arbitrary functions (good for testing without driving your code to that point) or other functions in your memory space, such as the C runtime memory checkers. If you're trying to track an errant pointer, create a debug build, start running and break, type _CrtCheckMemory() into a watch window, and every time the watch window is refreshed, it will check all your fenceposts. You might get lucky and spot your corruption as it happens. The/GZ compiler option will perform a similar task at the function level, but this would let you do it at a line level.
There are also dozens of possible formats it can display your watch variables in -- suffix a pointer with,s and it'll display the contents as an ASCII string. Only see one byte because of Unicode? Suffix the pointer with,su and you'll see the unicode string. A,wm suffix displays window messages by name.,hr suffix displays HRESULTs by name.
The memory windows will highlight in another color any data that's changed since the last time it was refreshed, whether it be a single step or a previous breakpoint. You can have memory displayed as bytes, shorts, or longs. And with the newer visual studios, you can have multiple memory windows, so you can keep track of two, three or four arrays simultaneously. You simply drag and drop them wherever they're convenient, then step through the code and watch for colored variables indicating change.
Again, all these windows are automatically updated every time the debugger drops from the program to your control. I've got two 17" monitors, and I can fill them both. The problem with debugging is that sometimes you are really starting blind, and the faster you can get more information, the less time you waste debugging.
There's a cute "magic trick" I like to show people with the memory window and the disassembly window. Let's say you've had a crash, and attached the debugger to the running program. You're looking at a corrupt stack in the call stack window -- just one line of garbage data. What to do? Where did it break? Enter @ESP in the memory window. Change the view to 'long' and it displays the memory as 8-digit numbers. If y
It wasn't "The Internet." We were both using the same time-sharing computer system via modems and dumb terminals. When it turned out we were only 60 miles away from each other, we decided to meet.
My youth was spent hanging out with friends I met online, and we're still friends. As a matter of fact I met my wife on line 27 years ago. There's nothing wrong with meeting new friends who share your interests, and on-line is a great way for those friendships to happen.
The whole 'pedophile' thing makes the nightly news because it's shocking and sells advertisements, not because it's commonplace. Even a tiny bit of common sense exercised by a parent is usually enough to keep their kids safe.
Well, you know what they say: "Strangers have the best candy!"
I was mostly hoping he was learning to hack, but afraid that he was probably just surfing for pr0n and MP3s... I did warn him a couple times about file sharing, and I did maintain control of the router. But for the most part, he was responsible, so I let him be.
I was richly rewarded. He's 20 and turning out to be a hacker, much to my relief. :-)
"I already told you, I deal with the goddamn customers so the engineers don't have to. I have people skills!! I am good at dealing with people. Can't you understand that? What the hell is wrong with you people?!?"
There, fixed that for ya.
Maybe it's a series of tests designed to figure out how resilient the networks are, and what the fiber operators' response times are? Could be the U.S., or it could be others.
Another possibility is it's a show of force by a James-Bond-villain style extortionist. "Pay me a billion dollars, Q'atar, or your internet lines will be cut just like this! Moo-hoo-huh-huh-hah-hah-hah!" Maybe we should all be on the lookout for a large underwater city, owned by Stromberg Enterprises...
The NFL has no authority to prevent it. They can merely threaten after-the-fact legal action if they do.
And I don't think that would work out too well for the NFL. "Your Honor, ladies and gentlemen of the jury, today I'm going to prove that these Christians stole the rights to our game for use in their church!" If the jury doesn't run the NFL's lawyer out the door just from the opening statement, I'd be amazed.
It might be amusing to see what would happen if a church had a "Super Bowl Commercial" party, one where they delivered their sermons while the game was being played, but everyone watched the commercials. Would the NFL still send out a cease and desist letter?
While it's not a "bionic" replacement (the donor ligament is still tissue harvested from elsewhere in the patient's body) there are still ethical questions to be asked whether or not a healthy player should be permitted to undergo the surgery simply to improve his performance. (I don't know if that's happened or not.)
I wasn't thinking of the bionic sound, but rather that the recipient of the arm was going to have to agree to be filmed lifting heavy things in slow motion.
And I stand by my statement that MacArthur had it easy "by comparison". The actual, factual god of Japan's religion/state told them to lay down their arms, and then told everyone that maybe he wasn't really their god. In contrast, Allah is not present in human form today, and his prophet Mohammed is no longer alive making claims or raising armies. With nobody in control of Islam, nobody has the authority to even say such a thing.
MacArthur had an entire compliant, beaten, and headless nation handed to him. Not to take anything away from his many great accomplishments, but it wasn't even close to the same kind of situation we're facing in the Middle East.
So sure, I misspoke in saying that Japan wasn't driven to war using religion. That changes very little of the differences between then and now.
I hope the NFL enforces this across America. Since most people are apparently too stupid to notice how the greedy bastards are taking away their freedoms, maybe this will wake more than a few of them up.
But there are a lot of significant differences between them and the nations following sharia law, and nobody has yet figured out how to bridge them.
In both Germany and Japan, there was a central figure of extreme authority, a small group of insiders hoping to be next in line, a larger group of thugs willing to do their bidding because they enjoy hurting people, and a large percent of the populace that was willing to believe that their crappy lot in life was the result of "population X" (fill in the X with Jews, Poles, gypsies, westerners, Chinese, blacks, Arabs, homosexuals, or whoever is a convenient target.) All forms of tyranny essentially use this same model. And defeating them is also quite well understood: destroy the head, remove the insiders, and the movement dies. But in those cases, it was the national government that was responsible for the war. They were well known, easy to identify, and easy to physically locate. The fact that our politicians were willing to sacrifice a lot of innocent civilians with our bombing campaigns made it that much easier.
But the current situation with violent Islamists is very different. First and foremost, their battle is based on religion, rather than politics. Despite the occasional memo coming from Osama bin Laden, there is no official head, no single "pope" of Islam dictating the violence -- mullahs all over the place are free to interpret the Qu'ran however they wish and issue fatwas of their own. Many are corrupt, seeking only to establish or maintain a power base for themselves, and the Westerners|Su'unis|Shi'a are easy and convenient targets for raising the ire of the populous. But being heads of religions, they have elevated themselves to being "above" questioning -- indeed, TFA is about the impending death of one such questioner. And the blanket of religion protects them all -- an attack by the U.S. on even a minor but corrupt mullah would rally much of ordinary non-violent Islam against the Americans. And each corrupt mullah has built himself up as a mini-tyrant, and is surrounded by a small group of insiders plus a wider group of thugs, making each individual sect almost as hard to clean up as a whole nation.
The historical example would suggest a strategy such as the simultaneous assassinations of all the corrupt mullahs and their circles. And that is so heinous and illegitimate as to be unthinkable, even to our current violence-prone government, not to mention impossible to coordinate. And who would decide their guilt? Who would do the investigating? Where would the trials be held? We'd essentially be using both a Gestapo AND a schutstaffel to pull it off. It would require an absolutely corrupt process, bringing new corrupt people and a new horrible set of problems into the mix.
We in the West know very little about Islam, or how to influence it. I'm sure we're trying to find ways to convince the honorable mullahs to discredit the corrupt ones, but they already have a huge base of well-deserved mistrust for us. New meddling in their business will not endear us to them, either.
MacArthur had it easy, by comparison.
In the real world, almost anything could be a threat. Your child could knock a salad fork off the table, and it could land tines-up wedged into a crack in the floor, and you could then slip from your chair trying to pick it up, and put your eye out. By means of an implausible scenario, the fork has become a threat. But you don't address such a threat by outlawing salad forks, or all dining implements, or feeding your children only spoon food. Instead you analyze the risk of having salad forks on your dining room table, and realize it's silly to worry about such ridiculous scenarios.
For a variant, consider placing steak knives on the table. Now, if your child were to knock one off it becomes somewhat more serious. Perhaps you mitigate the risk by sensibly not placing sharp knives within reach of your child; but you don't outlaw knives from the kitchen nor do you stop eating steak. You simply keep them out of your child's reach.
Now move to a slightly more sinister threat or risk, that of a free press or possibly an extremist group publishing the location of every chlorine tanker in America. Could that be a threat to our security? Of course, it might even herald the initial coordination of a nationwide attack. But just like the above stories, you don't outlaw bloggers or their right to publish (nor can you.) Instead you look at potentially dangerous objects or information, you analyze the potential risks, and you find a way to mitigate them. Step 0 might sensibly be "don't publicly publish lists of hazardous tankers" except to those persons with a need to know. Step 1 might be to keep any such lists as small as possible -- the Seattle fire department doesn't need to have the schedule for the Atlanta chlorine train. Step 2 might be to publish a generic set of instructions, "How to safeguard chemical tankers". Step 3 might be a communications plan to the rail lines informing them of a security breach. And so on.
Almost anything can be a threat. What defines an appropriate reaction is recognition of the risks, planning and mitigation strategies. Over the top reactions like saying "OMG they're trying to silence the press and Jefferson is rolling in his grave" are completely missing the point. Nowhere in TFA are they even suggesting they suppress the blogs; they're just recognizing a potential threat, and figuring out what plans (if any) they need to make.
This is very much like the "security through obscurity" argument. In security it's always assumed that the bad guys know or can learn the algorithms, weaknesses, etc., everything but the key. In the case of technology such as phishing kits, there may be no reason for a legitimate developer to write such a thing, but there's nothing stopping an unethical person from writing one.
Don't get me wrong: training software engineers in ethics is a good thing. Professionals need to understand their responsibilities. But bad people can't be stopped from writing malicious software. The bar for writing software is already too low, and is getting lower by the day.
It was kind of like the basic assumption in the Matrix that humans would make good batteries to power robots (we don't.) At least the Matrix had both bullet-time AND Carrie Anne Moss in PVC so you always had something uber-cool to watch. But when the second and third movies built themselves further around this extremely lame assumption, they too became crap with respect to their stories.
To summarize:
Six pages? I was hoping for at least the transcript of a chat with a phisher.
Because the other parties around here can't muster enough people to vote at every polling place, much less provide a volunteer to staff each one and assist in carrying the ballots around.
Neither the Republicrats nor the Demopublicans currently feels threatened enough by a third party to risk charges of rigging an election. Think about the risk required for both of them to agree to jointly commit a felony. If one asks the other, you know damn well the other would much rather see the first behind bars for election tampering, rather than fool around with half a dozen votes.
If the Greys, Libertines, or whoever ever reaches a threatening level of participation, (such as about 20%,) then it'll be different. It would also be different if we didn't have a winner-take-all voting system -- a proportional representation system would need to be much more careful. But until then, having two people who mistrust each other is a pretty good solution.
I used to teach a course in debugging with Visual Studio, and I basically trawled through my syllabus looking for the cool tricks. Using the stack-crash demo to drop into the source code of the crashing module is a real attention-grabber.
I found debugging in gdb to be a lot like debugging in WinDBG. You have to learn a lot of esoteric commands that you don't use very often, so it takes a lot of practice to learn them. And if you aren't constantly searching for the side effects of each step, you can miss a valuable clue. Seeing the color change on watched values that have changed is a great way to pick up on otherwise subtle corruptions. Seeing an entire object's value hierarchy go red because you munged its pointer really stands out, at least to my eye.
Here is the bibliography and recommended references from my syllabus. It's pretty out of date these days (I especially miss the C/C++ Journal,) but the references are still good if you can find them.
Here's a hypothetical situation that indicates the need to allow these suits to be filed: What if the first responder was actually negligent in a related incident? What if they went to the accident scene and, before performing CPR, flicked their cigarette butt into a pile of leaves that a few minutes later ignited a puddle of gasoline? There is certainly a case to be made that the first responder went to the crash to attempt to perform CPR, and that he couldn't very well perform it with a cigarette hanging out of his mouth. But there's an equal case to be made for suing the first responder for carelessness. These circumstances are far from easy to sort out, and a lawsuit would be a wholly appropriate way to resolve them.
You can indeed be sued as a first responder. As an American citizen you can file a lawsuit for any damn thing you want. (Hell, convicted felons have sued the prison system for failing to give them ice cream.) But if you're suing a first responder your chances for success are likely to be close to zero, and the courts are likely to be unfriendly to you as a result.
However, if you are going to sue for a stupid reason, your lawyer should be responsible for telling you that you are filing a frivolous case, and not to pursue it. Most lawyers wont take a paper-thin case, but some would rather try for the money. Pursuing frivolous lawsuits is a black mark against them, and if they do it too often they risk being disbarred.
I've had the opposite -- a lucky string of managers ranging from "great" to "pretty good". But I've seen some of the bad ones, and how much their employees suffer beneath them. I wouldn't wish that life on an enemy. And I shudder to think what might happen to me the next time I get a new manager, and he or she turns out to be one of the crazies -- I too have a mortgage, two college tuition bills, and no desire to get in a price war with a bunch of low-cost H1-B visas in this job market.
Well, the learning curve is certainly important in the real world, although I expect a professional to know his or her tools before they arrive on the job. But there are a metric crapload of things I like better about Visual Studio that make it a much more effective debugger than gdb, in my opinion. (Note that I am not a big gdb user, so I may be cutting it a bit short in the feature set here. My apologies in advance if I do so.)
Things I've found I prefer include many tool windows simultaneously showing the states of registers, memory, the call stack, an object or seven (expanded to show a few properties), and automatic resolution of virtually every symbol and name, including the operating system (although you have to download the symbol files for your OS version from Microsoft.) And you still have full navigation through the source.
Simply hovering the mouse over a symbol will bring up a tool-tip to display the contents. If you highlight an entire expression such as pFoo->pBar->Blah.count+7 and hover, the tooltip will display the calculated result.
You can set a temporary breakpoint by setting the cursor on a line of code and clicking "run to cursor." You can run, single step, run to the current cursor, or run till function return. That last one is great for re-entering a function multiple times to test different conditions.
The variables window contains the current call stack as a dropdown list -- changing the stack lets you see the newly-local variables. Watch windows can display data as hex or decimal, just right click and select. Watch entries can even be used as calculators (enter a literal value, such as 0xf0 + 12, and it will display the results.)
In the watch windows, you can also call arbitrary functions (good for testing without driving your code to that point) or other functions in your memory space, such as the C runtime memory checkers. If you're trying to track an errant pointer, create a debug build, start running and break, type _CrtCheckMemory() into a watch window, and every time the watch window is refreshed, it will check all your fenceposts. You might get lucky and spot your corruption as it happens. The /GZ compiler option will perform a similar task at the function level, but this would let you do it at a line level.
There are also dozens of possible formats it can display your watch variables in -- suffix a pointer with ,s and it'll display the contents as an ASCII string. Only see one byte because of Unicode? Suffix the pointer with ,su and you'll see the unicode string. A ,wm suffix displays window messages by name. ,hr suffix displays HRESULTs by name.
The memory windows will highlight in another color any data that's changed since the last time it was refreshed, whether it be a single step or a previous breakpoint. You can have memory displayed as bytes, shorts, or longs. And with the newer visual studios, you can have multiple memory windows, so you can keep track of two, three or four arrays simultaneously. You simply drag and drop them wherever they're convenient, then step through the code and watch for colored variables indicating change.
Again, all these windows are automatically updated every time the debugger drops from the program to your control. I've got two 17" monitors, and I can fill them both. The problem with debugging is that sometimes you are really starting blind, and the faster you can get more information, the less time you waste debugging.
There's a cute "magic trick" I like to show people with the memory window and the disassembly window. Let's say you've had a crash, and attached the debugger to the running program. You're looking at a corrupt stack in the call stack window -- just one line of garbage data. What to do? Where did it break? Enter @ESP in the memory window. Change the view to 'long' and it displays the memory as 8-digit numbers. If y