Man, I hope you aren't anywhere near the legislative process. People like you are why we can't have nice things.
I have ten times more motivation and available time to research than my doctor does; he's just trying to last through his 80 patients a day and not kill anyone. His training and experience are certainly valuable, but for the most part when I'm talking to a doctor s/he's either (a) a generalist with a little bit of familiarity with me and a little bit of familiarity with what might be wrong with me, or (b) a specialist that knows a great deal about one particular thing that *might* be wrong with me but knows exactly dick about me personally.
I, on the other hand, have excellent computer skills and search fu, can read, understand and critique research in some disciplines (a skill that is highly transferable, by the way), and know a great deal about myself. I'd *much* rather be able to manage my own treatment and consult with a doctor when I need insight or specialized skills.
Breaking the law and a patent disregard constitutional rights is a "flaw"? It's not "evil" to make a secret court that makes secret laws that nobody is allowed to see?
I think I'm as concerned about the NSA's overreach as the next guy, but it should be noted here that it wasn't the NSA that established those secret courts and National Security Letters; it was our Congress.
Their focus is mostly financial, but I really enjoy their world news reporting. Whenever I pick up a "normal" paper here, even (especially?) one of the "big" ones, it seems that they're trying to sell me an extreme viewpoint - and maybe some male enhancement products to go with it - rather than actually impart any information. The FT is much more reporting like I remember it used to be. Maybe because they actually charge enough for their paper to cover their costs.
I find it somewhat reassuring that I can still encounter a government employee who doesn't know my shoe size before I walk in the door. Even if that is really just an illusion these days, it's one I treasure.
...code bumming kludge...
Speaking as someone who's developed C++ template libraries for a bunch of different projects, I've gotta say that that's the best description I've yet heard.
Flying in the U.S. is a godawful degrading experience these days. I remember when it used to be exciting. Frickin' sucks.
In my hypothetical offline-validator scenario, it doesn't have to scale because it's not running at transaction time. Go ahead and reset the password, generate a bunch of new fake hashes and store the index of the "real" one in the same log that will be picked up for validation later on. With asymmetric encryption, the log could be stolen outright and be of no use at all to an attacker.
That said, I'd probably lean towards an online validator just so I could stick attackers in a honeypot and keep them from messing with my users. Though, as someone else pointed out here, by far the most likely use for the stolen passwords is not on my site, but to use them to log into bank accounts.
The second DB doesn't have any of the the password hashes, it just knows which one is correct. It's a single table of (userid, hashid) where hashid is just some small integer.
The idea seems to be that the second system can be a smaller, less complicated single-function server, easier to harden and could be running a different OS/Webserver/DB stack. You could (by sacrificing real-time validation) even have the second system entirely firewalled off and unreachable to an attacker, just polling the login servers to validate the sessions at some small interval.
If the second system goes down, one approach would be to just accept any of the passwords until it comes back up. Then check the logs of what happened while it was offline and act accordingly (invalidate sessions, raise alarms, whatever).
Overall, I like the idea tremendously. It seems like it's not quite all there yet, but we're probably going to start implementing some variant of it immediately.
I think this whole tablet euphoria ends much like netbooks - a niche that garners a lot of attention and ramp up, peaks and then declines to its real, niche level.
What the heck, I'll bite. iPad-style tablets are probably the most important advance in general-purpose computing hardware since IBM launched their PC. I don't mean that as hyperbole, either. iOS and Android have made modestly powerful computers easy to understand and use by regular people. They are the present and future of consumer computing. Desktop and laptop PCs are and have always been a professional product, overcomplicated and poorly suited to the "workflow" of regular life, and they are rightfully being abandoned by everyone that doesn't actually need what they offer: A ridiculously powerful workstation with a bunch of overlapping windows, a disc burner, huge local hard drives and/or the latest graphics hardware.
If anything, I think the "home desktop computer" is going to quickly become a weird niche product.
Incidentally, I'm working with a customer of that company right now, and their downtime caused us a bunch of extra work. But I'm not bitter. Not at all.
I am sure that a 4 letter password that I remember is safer then ANY other password written on a post-it note taped to monitor.
Not necessarily; a 4-letter password can be brute-forced in a fraction of a second with most services, or in a couple of hours even with those that introduce delays after login failure, but to get the 26-letter password from your monitor they have to breach physical security at your company. That's usually not too hard ("Hi, someone said a toilet on the third floor is leaking?"), but it does have to be targeted.
For the rest, I agree with you. The policies you mention seem ill-conceived and poorly implemented.
Having also worked on (and lead) large game and non-game projects, I must respectfully completely disagree with you. The compiler might be able to boil someInstance.SetThing( someInstance.GetThing()*2 ) down to a couple of lines of assembly, but my eyeballs can parse someInstance.thing *= 2 much, much faster and (more to the point) more accurately. I think your potential for weird bugs just increases with the complexity of your syntax (and it's no trickier to catch one in a debugger than the other).