The submitter appears to know enough about what he's asking to know that it's also impossible / completely impractical. Recording ones and zeros directly isn't done for a reason, submitter appears to understand this.
Keep in mind that the question is not just why the submitter wants to write directly to the magnetic domains of a hard disk, but why the submitter asked the question of how to write directly to a hard disk.
I can think of a number of reasons for the latter:
- The submitter could be an author writing some cyberpunk techno-thriller, and wanted some technical feedback from the 'experts' on Slashdot.
- The submitter could be a CIA drone trying to write a report on how it's impossible for the terrorists to somehow 'hide' data on hard drives that even 'dd' can't read.
- The submitter could be a troll.
That's just off the top of my head.
On the other hand, I seriously can't think of a good reason why anyone would want to actually damage a hard drive that way. If all you wanted to do is very precisely create a surface with a complex pattern of specifically oriented magnetic domains, there's easier ways. For example, there are equipment suppliers that can provide high-precision two axis steppers with ready to use computer control interfaces. It's not hard to get equipment that'll go down to atomic precision.
This is a guy who thought he somehow 'owned' a network paid for by the taxpayers, just because he was the lead designer! Nobody that crazy should be allowed sole control of anything even remotely important, let alone the core government WAN of a major US city!
Again, you're merely stating that Childs' managers were idiots. Why should he be in jail for that?
Oh, he shouldn't be in jail, and his managers are idiots. That doesn't mean that Terry Childs wasn't a self absorbed prima donna who took huge risks with critical infrastructure.
Instead of jailtime, he should have been given a whopping great fine, and banned from ever working on public infrastructure ever again.
It doesn't matter if his employers were competent or not; he should have let them have access to their own property.
His employer was the city. His job was to keep the passwords safe from everyone except the Mayor. When the mayor finally asked for them, I understand he gave them to him. Was there something in there that I missed?
I'm pretty sure that's not in his job description. The Mayor is not the 'head of IT', and normally most mayors would NOT know the network passwords. Why would they?
When Terry's immediate supervisors -- in the IT department -- asked for the passwords, he refused, which is flat out insubordination. The senior IT managers should have access to the network passwords. That is a part of their job description. It's the responsibility of administrators to make sure that the passwords are disseminated to the appropriate people, and stored securely. (e.g.: in a lockbox, safe, or whatever...)
Terry didn't do his job. He made sure that he was the only person with the passwords, for years! What happens if he gets run over by a bus? Or dies of a heart attack?
This is a guy who thought he somehow 'owned' a network paid for by the taxpayers, just because he was the lead designer! Nobody that crazy should be allowed sole control of anything even remotely important, let alone the core government WAN of a major US city!
Wikipedia, the encyclopedia that anyone can edit - in my ass.
Actually, it's possible to make a wysiwyg editor for Wiki markup in HTML with a little Javascript, there's no need for Flash!
It's not even hard, I did one for a corporate project in about a week, and I'm by no means an expert at Javascript.
It's even possible to do a split-screen view where it shows you the markup AND the preview, and the user can edit either.
The trick is that doing this has a prerequisite: the wiki syntax has to have a nice unambiguous grammar, and you need a parser generator that can emit Javascript parsers for it. At first, I tried to base my wiki grammar on Wikipedia's syntax, but it turns out that it's ambigious and difficult to parse, so I made one from scratch, and used ANTLR to generate a parser for it. The actual project used the C# parser (it was for an ASP.NET web site), but I experimented with real-time parsing in web pages using the JS parser. It works well, and is fast enough for pages of about 1KB. It would need some clever programming to scale past that, like incremental parsing.
This wouldn't work for Wikipedia though, because the way it has been written is typical PHP spaghetti code. It relies heavily on repeated "search & replace" operations and regular expressions, which sounds not-too-bad, until you have to figure out the formal grammar or the page object model. It's got layers of crap on top of each other, with no rhyme or reason. For example:
Both of these are: '''bold''' <b>bold</b>
You can have nested code too: ''italic <b>italic-bold''bold<b>
This complex mess of Wiki markup, legacy HTML markup, and some XML-like elements makes parsing Wikipedia a royal pain. The nested syntax is especially nasty. Everyone else with any sense is moving toward XHTML-like syntax, where open tags have to be closed in a strict reverse sequence.
What I've never quite understood is why most operating systems boot every time like it's the first time. If you look at most operating systems, they run a bunch of scripts, initialize a bunch of things, thrash the hard drive with random read and/or write patterns, and end up.. at exactly the same state every time. Why not just capture that state, and restore it?
If you think about it, the only differences between typical boots are:
- The date & time - The type of boot (hibernation or cold boot) - Some USB type devices that may have been plugged in or unplugged - Minor logging events ('successful boot', 'need an fsck/chkdsk', etc...)
Really, all of that work can be done in milliseconds, not minutes. Operating systems should just read the ~100MB "ready for use" image from a nice contiguous section of the disk, write it straight into memory, and then do a quick sanity check for changed hardware.
A typical desktop SATA drive can read at 50MB/sec sequentially, so this should take, what, 2 seconds at most? On a good SSD, it should be 500ms!
I have a high-end laptop with a good SSD, and it still takes 46 seconds to go form "pressed the power button" to "logged on and usable" with Windows 7, and I suspect it wouldn't be much better with Linux.
The CPU utilization of typical machine booting in a VM with a very fast disk or SSD behind it is interesting to watch. It takes several seconds of 100% CPU time to boot either Windows or Linux. If you think about it, there's no useful computation that the OS can possibly be doing before it's booted. That's 100% wasted time.
Dude, don't forget stop and smell the roses. Not everything in life is supposed to be a race.
That's almost as bad as my parents. They'll miss the first 5 minutes of the movie, then sit down a little bit, stand up and go get themselves a drink, sit back down, stand up and go to the bathroom or whatever, and so on. They'll end up watching maybe 20% of a movie is small random pieces. I'm not just talking about over-the-air broadcast, but even DVDs, which they could pause, but don't.
Then the questions start: "who's that guy?"... "why are they shooting at each other?"...
I just don't show them movies any more. It doesn't matter how good it is, they'll ruin it for themselves, and piss me off until it's ruined for me too.
I think you're missing the point. The SATA form factor is going to have much higher demand than any PCI-e card, period, for the simple fact that PCI-e is not really expandable while SATA is.
I think you're missing *my* point. The PCI-e standard is for expansion slots. You know, for... expansion. There already are 1TB SSD PCI-E cards, and you can plug at least 4 into most motherboards, and 6-8 into most dual-socket server or workstation boards. Just how much expandability do you *need*?
Keep in mind that 99% of the point of SSD is the speed. It finally removes that hideous mechanical component that's been holding back computing performance for over a decade now. Nothing stops you from having a couple of 2TB spinning disk drives in there for holding your movies and photos and all that junk that doesn't need 100K IOPS.
The jump from 100 IOPS of mechanical drives to the 5K IOPS of a typical SSD is huge. The improvement from 5K to 100K is just as noticeable, especially for people doing real work on their machines. I've heard from owners of both the Intel and Indilinx controller based drives that the Intel is noticably "snappier", even though the performance difference there is at most 2x.
The fact that the form factor has volume demand means that many manufacturers can get a piece of a large pie by selling devices in that form factor. A larger piece than they could get selling PCI-e cards.
How do you know? The form factor is not the only consideration, performance counts also. If a PCI-e SSD at the same price as an equal capacity SATA drive provided literally 100 times the performance, would people ignore it because.. wait... it's a funny shape for a drive? Seriously? Do you expect to buy your 3D accelerators in little brick shaped metal boxes? No? Why not? Maybe it's because the performance is more important!
Speaking of 'expandability', people often buy multiple PCI-e 3D accelerators. Two is common, and some people go as high as 3 or 4 in a single system. Nobody talks about the "limited" market of PCI-e 3D cards because they are "insufficiently expandable".
PCI-e based solutions will track the same lines as all other bus-card solutions have tracked: Low volume, premium pricing, highly-specialized, and non-standard drivers. If you are hoping to see SATA based SSDs disappear in favor of a PCI-e card you are in for one hell of a disappointment.
Err.. what? Most PCI-e SSDs look like a generic SATA host bus adapter to the OS, or use some generic SCSI HBA interface. The SATA speed limit is in the cable, not the drivers or the protocol.
I'm saying that the reason the volumes are low is because the pricing is insane. There's no need to price PCI-e devices higher than the SATA form factor. It's the same electronics. There is basically no difference, except that the PCI-e devices can be much, much faster.
I'm betting that you'll be the one shocked to find that in 5-10 years, most entry-level motherboards, especially those designed for corporate desktops, will have something like a 64GB flash drive built right into them. Heck, we're half-way there already, just give it time.
"lots and lots of competition" is the opposite of an "overriding advantage". It's a huge disadvantage. No company wants to enter a market with massive competition.
The PCI-e cards aren't any more "custom" than the SATA drives. Is a 3D accelerator a "custom" PCI-e card? What about a PCI-e network card? Right now, a SATA SSD and a PCI-e SSD is actually more or less the same electronics, except that the PCI-e card also has a SATA controller built in.
There's zero need to squeeze a solid-state storage device into the form factor that was designed for mechanical drives with moving parts. Hard drives are the shape and size they are because it's a good size for a casing containing a couple of spinning platters. They are connected with long, flexible, but relatively low-bandwidth cables because mechanical drives are so glacially slow that the cabling was never the performance limit, and having flexible cabling is an advantage for case design, so in that case, it was worth it.
Meanwhile, SSDs have hit the SATA 3 Gbps bus speed limit in about two generations, and will probably saturate SATA 6 Gbps in just one more generation. There are drives already available that can exceed 2x the speed of SATA 6, which means that we'll have to wait years for some SATA 12 Gbps standard or something to get any further speed improvement.
Meanwhile, there's already several 20-80 Gbps PCI-e ports on every motherboard, which is cheap and easy for manufacturers to interface with. If flexible cabling is an absolute requirement, then there is PCI-e cabling.
Not really. You're limited to the speed of the individual chips and the number of parallel storage lanes. They also target the 2.5" SATA market because it gives them an immediate in. Directly into new desktops and systems without consuming a slot the high performance people who would buy these are likely shoving an excess of games into. The high end is already using those slots for storage.
Believe me, the industry -is- looking into ways of getting SSDs on to faster buses, but it takes time and some significant rearchitecture. Also, NAND sucks ass, with high block failure rates fresh out of the fab outweighed by sheer density. And it's only going to get worse as lithography gets smaller.
From what I gather, the performance limit is actually largely in the controllers, otherwise FusionIO's workstation class cards wouldn't perform as well as they do, despite using a relatively small number of MLC chips. Similarly, if the limit was caused by Flash, then why is it that Intel's controllers shit all over the competition? The Indilinx controllers got significant speed boosts from a mere firmware upgrade! There's a huge amount of headroom for performance, especially for small random IOs, where the controller makes all the difference (storage layout, algorithms, performance, caching, support for TRIM, etc...).
And there's no need to "rearchitect" at all! PCI/PCI-e is old, storage controllers of all sorts have been made for it for decades. There are RAID or FC controllers out on the market right now that can do almost 1GB/sec with huge IOPS. It's not rocket science, storage controllers are far simpler internally than, say, a 3D accelerator.
I also disagree that people are running out of expansion slots. On the contrary, other than a video card, I haven't had to use an add-in card for anything for the last three machines I've purchased. Motherboards have everything built-in now. Server and workstations boards have so many expansion sockets, it's just crazy.
If you think that's bad, consider that the Virtex5 they're using on it costs on the order of $500 for the chip itself. You linked the "pro" model, which supports multiple devices in the same system in some fashion. You want this one, which is only $900. Both models use MLC NAND, and neither are really intended for mass-market buyers (you can't boot from them, after all.)
Precisely my point! Every vendor is making some stupid compromises somewhere. Using an FPGA is really inefficient, but still better in some ways than what everyone else is doing, which ought to really make you wonder just how immature the market is.
Similarly, look at the price difference between the two FusionIO drives, the "Pro" and the "Non-Pro" model. I bet there's no physical difference, because all of the specs are identical, but there's a 2x price difference! It's probably just a slightly different firmware that allows RAID. This is artificial segmentation. If they had decent competition, the drive would cost 1/4 as much per GB, and all models would allow RAID.
I'm kinda fed up waiting for the SSD manufacturers to get their act together. There's just no reason for drives to be only 10-50x faster than physical drives. It should be trivial to make them many thousands of times faster.
I suspect that most drives we're seeing are too full of compromises to unlock the real potential of flash storage. Manufacturers are sticking to 'safe' markets and form factors. For example, they all seem to target the 2.5" laptop drive market, so all the SSD controllers I've seen so far are all very low power (~1W), which seriously limits their performance. Also, very few drives use PCI-e natively as a bus, most consumer PCI-e SSDs are actually four SATA SSDs attached to a generic SATA RAID card, which is just... sad. It's also telling that it's a factor of two cheaper to just go and buy four SSDs and RAID them using an off-the-shelf RAID controller! (*)
Meanwhile, FusionIO makes PCI-e cards that can do 100-200K IOPS at speeds of about 1GB/sec! Sure, they're expensive, but 90% of that is because they're a very small volume product targeted at the 'enterprise' market, which automatically inflates the price by a '0' or two. Take a look at a photo of one of their cards. The controller chip has a heat sink, because it's designed for performance, not power efficiency!
This reminiscent of the early days of the 3D accelerator market. On one side, there was the high-performing 'enterprise' series of products from Silicon Graphics, at an insane price, and at the low-end of the market there were companies making half-assed cards that actually decelerated graphics performance. Then NVIDIA happened, and now Silicon Graphics is a has been because they didn't understand that consumers want performance at a sane price point. Today, we still have SSDs that are slower that mechanical drives at some tasks, which just boggles the mind, and on the other hand we have FusionIO, a company with technically great products that decided to try to target the consumer market by releasing a tiny 80GB drive for a jaw-dropping $1500. I mean.. seriously... what?
Back when I was a young kid first entering university, SGI came to do a sales pitch, targeted at people doing engineering or whatever. They were trying to market their "low-end" workstations with special discount "educational" pricing. At the time, I had a first-generation 3Dfx accelerator in one of the first Athlons, which cost me about $1500 total and could run circles around the SGI machine. Nonetheless, I was curious about the old-school SGI machine, so I asked for a price quote. The sales guy mumbled a lot about how it's "totally worth it", and "actually very cost effective". It took me about five minutes to extract a number. The base model, empty, with no RAM, drive, or 3D accelerator was $40K. The SSD market is exactly at the same point. I'm just waiting for a new ''NVIDIA" or "ATI" to come along, crush the competition with vastly superior products with no stupid compromises, and steal all the engineers from FusionIO and then buy the company for their IP for a bag of beans a couple of years later.
*) This really is stupid: 256GB OCZ Z-Drive p84 PCI-Express is $2420, but I can get four of these 60GB OCZ Vertex SATA at $308 each for a total of $1232, or about half. Most motherboards have 4 built-in ports with RAID capability, so I don't even need a dedicated controller!
it was probably about 6 years ago when a number of goverment offices American Express, and others including CNN had their computers BSODing. CNN even stayed on the air for a few hours just talking about how the computers were all rebooting. The cause of that was that the computers were part of a botnet and an update to the botnet caused BSODs. In plain language, many government computers and businesses computers have been infected without them knowing it. And as I mentioned, large companies with financial ties like American Express. You can not secure Windows without unplugging it from the network. There was a CIO of one company which got hacked and he ended up quiting saying something much the same. Businesses who insist on Windows are insisting on something which is very very difficult to secure.
Oh, I assure you, they know about it. They're just too incompetent to do anything about it.
I was once at a large bank, and I was warned not to plug my laptop into the bank's network. At first I was thinking "this must be for security reasons, they clearly don't (and shouldn't) trust some random consultant's laptop on their network", but then I was told that it was for my own protection. Apparently the bank network was so lousy with viruses that a laptop without the latest patches would last only minutes before it was rooted. I keep my work laptop patched, so I did plug in. I ran Wireshark for a few minutes, which detected about a dozen hack attempts on my machine. On top of this, many of their servers were running ancient versions of windows, many at RTM patch levels. I suspect they were all infected, but I didn't have a chance to look into it.
It's not just one or two financial institutions, from what I gather, many of the larger ones have infections.
This is what excessive bureaucracy does to IT: the amount of paper work required to approve a patch is so onerous that IT managers simply don't patch servers. The paper work is meant to prevent the minor problem of 'unapproved' patches causing disruptions, but the end result is even worse, which is unpatched machines with rampant infections.
I seriously thought about ssding it this time around when purchasing a laptop. I just couldn't quantify the supposed advantages in power use of SSD over a HD. Still, SSD may have other advantages in random access situations. It would have been nice to try.
Anyway, I'm thinking of putting my whole installation on a 16 GB usb keychain thingie, and using the hard drive for archival purposes. Maybe I can just shut the HD off when not in use. Still, those aren't very big. There'd be a lot of writing going on for just 16 GBs.. Maybe it would die quick. Still, maybe 128 gigs will be cheap soon..
It's not about the power, many SSDs use about the same amount as a normal hard drive. It's about speed. An SSD vs a traditional disk is a night & day difference. It's like computers have been reinvented. There's just no comparison, and no going back!
The only other time I got a speed boost this big was when I switched from floppies to hard drives back in the IBM XT days.
... it's reliability that's the real issue. SSDs are a great idea in theory, but in practice the only time I tried to build a server around one, taking great care to ensure that as little as possible would ever be ever written to it (e.g. turned off atime, while/var,/temp,/home etc. were located on hard disks), it ended up lasting only about a month.
I would love to replace my hard disks, arguably the most critical and vulnerable components of my computers, with SSDs, but only if they are more reliable in the first place, and can thereafter be regarded generally as an improvement.
You either used a really cheap drive meant for netbooks, or you simply got a broken drive and didn't do a burn-in period. It's not like mechanical drives never fail, so just because you had a bad experience, once, that doesn't mean you should give out bad advice based on an anecdote.
Even a decent desktop drive can be overwritten at least a thousand times, and most 'enterprise grade' drives are rated for 100,000 or more. At the high-end, look at the products made by FusionIO or EMC, you'll get drives that might go to a million rewrites, and will actively report degradation so you can replace them before they die.
Also keep in mind that smaller drives are both slower and wear out faster. It's worth getting larger drives or striping several smaller ones to spread the write wear.
I love the way there's about a page of complex code that jumps through hoops to figure out a good buffer size, when 64KB would basically work well in all cases. From what I can see, there's a few situations in which 'cp' will pick tiny buffer sizes and waste a bunch of time on overhead. The default appears to be 32KB, which is too small these days. I've done experiments (admittedly on Windows, but same difference), demonstrating that using IO blocks as large as 1MB improves performance significantly. There's a reason Microsoft increased the default IO sizes on Windows Server from 64KB to 1MB.
A much better buffer selection algorithm would be to detect L2 or L3 cache sizes of the processor, and use a buffer slightly smaller than one of those. You'd have to play with benchmarks to see if staying within L2 is a benefit (I suspect that it isn't).
The biggest problem with 'cp' is that it's synchronous single-threaded. It does a read, then a write, then a read, then a write, etc... For comparison, Windows Vista and later does reads synchronously but then writes asynchronously so that the next read doesn't have to wait for the write to complete. Even with kernel buffering and lazy IO, 'cp' is probably much less efficient that it could be.
We're adjusting our disklabel64 utility and kernel support to set the partition base offset such that it is physically aligned instead of slice-aligned, and we are using 32K alignment. That should fix the problem without having to mess around with fdisk.
The DragonFly 64-bit disklabel structure uses 64-bit byte offsets instead of sector addressing to specify everything. It ensures things are at least sector aligned but we wanted to make disk images more portable across devices with potentially different sector sizes. The HAMMER fs uses byte-granular addressing for the same reason, 16K aligned.
-Matt
You should use 64K alignment at a minimum, almost all RAID and SAN volumes are 64K aligned with IO sizes of 64K minimum.
You'll lose up to 50% performance on random IOs on any server class hardware.
As a comparison, Windows now aligns to the nearest 1MB.
I was under the impression that mis-aligned partitions cause small random IOs to take up TWO small random IOs, basically halving random IO performance. It should have a negligible effect on any streaming operation, as only the first and last blocks will have an overhead, the others overlap with useful IO.
Just how BAD is the Linux 'cp' program? Is it doing writes one block at a time, or something insane like that?
On Windows, if you repeated the copy same test, you wouldn't see a measurable difference, unless the target partitions were horrifically fragmented. To get a real slowdown, you'd have to do something like work on a large database file (many small random reads and writes). Microsoft has a paper on tuning Exchange performance, where they demonstrate >100% overhead to unaligned partitions, but you get full speed for backup & recovery operations.
Actually this problem is potentially much worse on SSD's. Erase blocks are huge, and read-modify-write really sucks on flash.
Couldn't this be addressed (at least in part) by a battery-backed write cache like better RAID controllers use? Set it up like SAN snapshots (so it just stores the diff between what's in the actual flash storage and what's been changed so far), and then write the changed blocks when it's most advantageous (e.g. when there's an entire block's worth of data, so it would all have to be erased by the flash storage anyway). Maybe combine that with something like a disk defrag, except instead of storing frequently-sequentially-read data in physical sequence, store frequently-written data (regardless of if it's sequentially-read or not) in physical sequence.
That's exactly what most SSD controllers do!
Some now come with 32 to 64MB of cache, and some of the new Sandforce controller based SSDs also come with a little ultracapacitor that acts like a mini UPS. The cache is used as scratch space for reordering writes and defragging blocks.
There was a firmware patch recently for the OCZ Vertex series of SSDs that enabled background defrag. If you let the drive site there for a few minutes, it would start getting faster until it returned to 'as new' speeds
A lot of hardcopy is only read/used once or twice and then recycled. Sounds like a great idea to me.
If you're printing stuff out to only read it once, maybe you should ask yourself if it wouldn't be better to just read it on the screen instead.
Because most business managers buy the cheapest possible 15" monitors for their employees, the ones with the analog inputs only, and then they say things like "I don't like reading on computer screens".
Meanwhile, DELL will sell a 24" high resolution LCD with good contrast and deliver it for $189, which is about the equivalent of 60 sheets of this magic reusable paper. Think of the monitor as super-magic paper that can be reused an almost infinite number of times!
I work as a consultant, and have to process or generate enormous amounts of written material, but I print only a few pages a year, and wouldn't need to do that either if digital projectors were more common in meeting rooms.
If it is true that only compromised computers blue screen then it's hard to fault Microsoft for their patch code choking when it stumbles across the exploit code.
It's pretty easy to fault them for not taking a checksum before they patch to ensure that the file isn't modified. If it is, warn the user.
Microsoft patches are file-level, not delta-patches. They always overwrite complete files, and never try to modify files in-place.
That's why their patches are so huge, if there's a systematic error in many related files, then they all need to be replaced in their entirety.
It's a waste of bandwidth, but it's much more reliable.
I suspect what happened here is that Microsoft replaced one of two related files, but the other file was modified by the root-kit, and the mixed versions don't work together any more.
Bingo. If there's any story here, it's that Microsoft's reputation is so bad that people won't believe them even when they're right. That and that people aren't very technically minded. I once told my father to us a piece of software to monitor the SMART status on his HDD since it was "making a lot of noise". He just told me that he'd been doing it. About a year later he said that his laptop would barely run so I visited and noticed that the SMART was telling him that the HDD had irrecoverable errors and should be backed up and replaced immediately. When I asked how long it had been saying that, he replied that it had always said that (or something like it) since he first checked (at my encouragement). He just didn't think that it could be a real problem since the computer still ran at that time. Let's face it here, if a person is running Windows, they aren't going to believe that there's a problem until they can't work 'cause Windows gives alert after alert after alert and how can you know which ones to believe unless you're a "techie"? Sure if, you're reading here, you'll know, but 98% of people just don't.
However, the habit of just clicking "OK" to everything is at least partially Microsoft's fault. Their software systematically trains people to accept that popup warnings are going to occur over and over for perfectly innocuous reasons.
"This website is safely encrypted for YOUR PROTECTION! Click OK to accept your increased safety!"
"You may be.. omg.. submitting... INFORMATION to a web site! Panic now! Or just click OK!"
"You are changing the critical system setting 'background color'. Are you sure? ARE YOU? Then click OK!"... 500,000 of those later...
"Your mass storage device is reporting a fault status code... Click OK like you do every time!"
There's no ordinary user on earth who'll pay the slightest attention to that after being subjected to a bazillion meaningless warnings for years before.
There's a reason MS bought the company and hired Mark, he consistently puts out the most useful tools for in the trenches Windows diagnostics. Heck MS's PSS would routinely have you use his tools even before the purchase because nothing they put out internally was nearly as useful.
And the very first thing they did, within mere days of the acquisition, is they took his ultra-efficient, elegant little tools and put a 200KB EULA popup into every one of them.
Although lack of sunlight has been shown to be a cause of vitamin D deficiency in general populations of people and the health issues that go with that.
Australia and New Zealand's cover up campaign to ward off skin cancer turned out to do more harm than good, for the general population.
I doubt that. A mere 15-20 minutes of exposure to sunlight, while clothed, is sufficient to generate something like a week's worth of vitamin D over here.
Vitamin D deficiency is much more likely to occur when dark-skinned people move too far north, like Indians in England, or Africans in northern America or Canada.
A white skinned person here in Australia shouldn't get rickets unless they're a WoW addict who never leaves their room.
If any warming caused by holding a cell phone near your head caused sufficient warming to actually cause damage in the long term, then exercise of any sort would kill you dead a lot quicker than a cell phone could possibly be responsible for. A two or three degree Fahrenheit increase in body temperature is completely normal during exercise and even this is larger than a cell phone is capable of doing.
On top of that, cell phone heating is a local effect, but humans are liquid cooled and have an active temperature control system.
We have a greater percentage of our population in prison than North Korea does.
Their entire country is a prison.
The submitter appears to know enough about what he's asking to know that it's also impossible / completely impractical. Recording ones and zeros directly isn't done for a reason, submitter appears to understand this.
Keep in mind that the question is not just why the submitter wants to write directly to the magnetic domains of a hard disk, but why the submitter asked the question of how to write directly to a hard disk.
I can think of a number of reasons for the latter:
- The submitter could be an author writing some cyberpunk techno-thriller, and wanted some technical feedback from the 'experts' on Slashdot.
- The submitter could be a CIA drone trying to write a report on how it's impossible for the terrorists to somehow 'hide' data on hard drives that even 'dd' can't read.
- The submitter could be a troll.
That's just off the top of my head.
On the other hand, I seriously can't think of a good reason why anyone would want to actually damage a hard drive that way. If all you wanted to do is very precisely create a surface with a complex pattern of specifically oriented magnetic domains, there's easier ways. For example, there are equipment suppliers that can provide high-precision two axis steppers with ready to use computer control interfaces. It's not hard to get equipment that'll go down to atomic precision.
This is a guy who thought he somehow 'owned' a network paid for by the taxpayers, just because he was the lead designer! Nobody that crazy should be allowed sole control of anything even remotely important, let alone the core government WAN of a major US city!
Again, you're merely stating that Childs' managers were idiots. Why should he be in jail for that?
Oh, he shouldn't be in jail, and his managers are idiots. That doesn't mean that Terry Childs wasn't a self absorbed prima donna who took huge risks with critical infrastructure.
Instead of jailtime, he should have been given a whopping great fine, and banned from ever working on public infrastructure ever again.
His employer was the city. His job was to keep the passwords safe from everyone except the Mayor. When the mayor finally asked for them, I understand he gave them to him. Was there something in there that I missed?
I'm pretty sure that's not in his job description. The Mayor is not the 'head of IT', and normally most mayors would NOT know the network passwords. Why would they?
When Terry's immediate supervisors -- in the IT department -- asked for the passwords, he refused, which is flat out insubordination. The senior IT managers should have access to the network passwords. That is a part of their job description. It's the responsibility of administrators to make sure that the passwords are disseminated to the appropriate people, and stored securely. (e.g.: in a lockbox, safe, or whatever...)
Terry didn't do his job. He made sure that he was the only person with the passwords, for years! What happens if he gets run over by a bus? Or dies of a heart attack?
This is a guy who thought he somehow 'owned' a network paid for by the taxpayers, just because he was the lead designer! Nobody that crazy should be allowed sole control of anything even remotely important, let alone the core government WAN of a major US city!
Wikipedia, the encyclopedia that anyone can edit - in my ass.
Actually, it's possible to make a wysiwyg editor for Wiki markup in HTML with a little Javascript, there's no need for Flash!
It's not even hard, I did one for a corporate project in about a week, and I'm by no means an expert at Javascript.
It's even possible to do a split-screen view where it shows you the markup AND the preview, and the user can edit either.
The trick is that doing this has a prerequisite: the wiki syntax has to have a nice unambiguous grammar, and you need a parser generator that can emit Javascript parsers for it. At first, I tried to base my wiki grammar on Wikipedia's syntax, but it turns out that it's ambigious and difficult to parse, so I made one from scratch, and used ANTLR to generate a parser for it. The actual project used the C# parser (it was for an ASP.NET web site), but I experimented with real-time parsing in web pages using the JS parser. It works well, and is fast enough for pages of about 1KB. It would need some clever programming to scale past that, like incremental parsing.
This wouldn't work for Wikipedia though, because the way it has been written is typical PHP spaghetti code. It relies heavily on repeated "search & replace" operations and regular expressions, which sounds not-too-bad, until you have to figure out the formal grammar or the page object model. It's got layers of crap on top of each other, with no rhyme or reason. For example:
Both of these are: '''bold''' <b>bold</b>
You can have nested code too: ''italic <b>italic-bold''bold<b>
This complex mess of Wiki markup, legacy HTML markup, and some XML-like elements makes parsing Wikipedia a royal pain. The nested syntax is especially nasty. Everyone else with any sense is moving toward XHTML-like syntax, where open tags have to be closed in a strict reverse sequence.
"No Chicken Little, the sky is not really falling"
It's just going to reduce it's elevation to the point that anyone too tall will be crushed. The shorter animals will be fine.
What I've never quite understood is why most operating systems boot every time like it's the first time. If you look at most operating systems, they run a bunch of scripts, initialize a bunch of things, thrash the hard drive with random read and/or write patterns, and end up.. at exactly the same state every time. Why not just capture that state, and restore it?
If you think about it, the only differences between typical boots are:
- The date & time
- The type of boot (hibernation or cold boot)
- Some USB type devices that may have been plugged in or unplugged
- Minor logging events ('successful boot', 'need an fsck/chkdsk', etc...)
Really, all of that work can be done in milliseconds, not minutes. Operating systems should just read the ~100MB "ready for use" image from a nice contiguous section of the disk, write it straight into memory, and then do a quick sanity check for changed hardware.
A typical desktop SATA drive can read at 50MB/sec sequentially, so this should take, what, 2 seconds at most? On a good SSD, it should be 500ms!
I have a high-end laptop with a good SSD, and it still takes 46 seconds to go form "pressed the power button" to "logged on and usable" with Windows 7, and I suspect it wouldn't be much better with Linux.
The CPU utilization of typical machine booting in a VM with a very fast disk or SSD behind it is interesting to watch. It takes several seconds of 100% CPU time to boot either Windows or Linux. If you think about it, there's no useful computation that the OS can possibly be doing before it's booted. That's 100% wasted time.
Dude, don't forget stop and smell the roses. Not everything in life is supposed to be a race.
That's almost as bad as my parents. They'll miss the first 5 minutes of the movie, then sit down a little bit, stand up and go get themselves a drink, sit back down, stand up and go to the bathroom or whatever, and so on. They'll end up watching maybe 20% of a movie is small random pieces. I'm not just talking about over-the-air broadcast, but even DVDs, which they could pause, but don't.
Then the questions start: "who's that guy?"... "why are they shooting at each other?"...
I just don't show them movies any more. It doesn't matter how good it is, they'll ruin it for themselves, and piss me off until it's ruined for me too.
I think you're missing the point. The SATA form factor is going to have much higher demand than any PCI-e card, period, for the simple fact that PCI-e is not really expandable while SATA is.
I think you're missing *my* point. The PCI-e standard is for expansion slots. You know, for... expansion. There already are 1TB SSD PCI-E cards, and you can plug at least 4 into most motherboards, and 6-8 into most dual-socket server or workstation boards. Just how much expandability do you *need*?
Keep in mind that 99% of the point of SSD is the speed. It finally removes that hideous mechanical component that's been holding back computing performance for over a decade now. Nothing stops you from having a couple of 2TB spinning disk drives in there for holding your movies and photos and all that junk that doesn't need 100K IOPS.
The jump from 100 IOPS of mechanical drives to the 5K IOPS of a typical SSD is huge. The improvement from 5K to 100K is just as noticeable, especially for people doing real work on their machines. I've heard from owners of both the Intel and Indilinx controller based drives that the Intel is noticably "snappier", even though the performance difference there is at most 2x.
The fact that the form factor has volume demand means that many manufacturers can get a piece of a large pie by selling devices in that form factor. A larger piece than they could get selling PCI-e cards.
How do you know? The form factor is not the only consideration, performance counts also. If a PCI-e SSD at the same price as an equal capacity SATA drive provided literally 100 times the performance, would people ignore it because.. wait... it's a funny shape for a drive? Seriously? Do you expect to buy your 3D accelerators in little brick shaped metal boxes? No? Why not? Maybe it's because the performance is more important!
Speaking of 'expandability', people often buy multiple PCI-e 3D accelerators. Two is common, and some people go as high as 3 or 4 in a single system. Nobody talks about the "limited" market of PCI-e 3D cards because they are "insufficiently expandable".
PCI-e based solutions will track the same lines as all other bus-card solutions have tracked: Low volume, premium pricing, highly-specialized, and non-standard drivers. If you are hoping to see SATA based SSDs disappear in favor of a PCI-e card you are in for one hell of a disappointment.
Err.. what? Most PCI-e SSDs look like a generic SATA host bus adapter to the OS, or use some generic SCSI HBA interface. The SATA speed limit is in the cable, not the drivers or the protocol.
I'm saying that the reason the volumes are low is because the pricing is insane. There's no need to price PCI-e devices higher than the SATA form factor. It's the same electronics. There is basically no difference, except that the PCI-e devices can be much, much faster.
I'm betting that you'll be the one shocked to find that in 5-10 years, most entry-level motherboards, especially those designed for corporate desktops, will have something like a 64GB flash drive built right into them. Heck, we're half-way there already, just give it time.
You are basically saying contradictory things:
"lots and lots of competition" is the opposite of an "overriding advantage". It's a huge disadvantage. No company wants to enter a market with massive competition.
The PCI-e cards aren't any more "custom" than the SATA drives. Is a 3D accelerator a "custom" PCI-e card? What about a PCI-e network card? Right now, a SATA SSD and a PCI-e SSD is actually more or less the same electronics, except that the PCI-e card also has a SATA controller built in.
There's zero need to squeeze a solid-state storage device into the form factor that was designed for mechanical drives with moving parts. Hard drives are the shape and size they are because it's a good size for a casing containing a couple of spinning platters. They are connected with long, flexible, but relatively low-bandwidth cables because mechanical drives are so glacially slow that the cabling was never the performance limit, and having flexible cabling is an advantage for case design, so in that case, it was worth it.
Meanwhile, SSDs have hit the SATA 3 Gbps bus speed limit in about two generations, and will probably saturate SATA 6 Gbps in just one more generation. There are drives already available that can exceed 2x the speed of SATA 6, which means that we'll have to wait years for some SATA 12 Gbps standard or something to get any further speed improvement.
Meanwhile, there's already several 20-80 Gbps PCI-e ports on every motherboard, which is cheap and easy for manufacturers to interface with. If flexible cabling is an absolute requirement, then there is PCI-e cabling.
Not really. You're limited to the speed of the individual chips and the number of parallel storage lanes. They also target the 2.5" SATA market because it gives them an immediate in. Directly into new desktops and systems without consuming a slot the high performance people who would buy these are likely shoving an excess of games into. The high end is already using those slots for storage.
Believe me, the industry -is- looking into ways of getting SSDs on to faster buses, but it takes time and some significant rearchitecture. Also, NAND sucks ass, with high block failure rates fresh out of the fab outweighed by sheer density. And it's only going to get worse as lithography gets smaller.
From what I gather, the performance limit is actually largely in the controllers, otherwise FusionIO's workstation class cards wouldn't perform as well as they do, despite using a relatively small number of MLC chips. Similarly, if the limit was caused by Flash, then why is it that Intel's controllers shit all over the competition? The Indilinx controllers got significant speed boosts from a mere firmware upgrade! There's a huge amount of headroom for performance, especially for small random IOs, where the controller makes all the difference (storage layout, algorithms, performance, caching, support for TRIM, etc...).
And there's no need to "rearchitect" at all! PCI/PCI-e is old, storage controllers of all sorts have been made for it for decades. There are RAID or FC controllers out on the market right now that can do almost 1GB/sec with huge IOPS. It's not rocket science, storage controllers are far simpler internally than, say, a 3D accelerator.
I also disagree that people are running out of expansion slots. On the contrary, other than a video card, I haven't had to use an add-in card for anything for the last three machines I've purchased. Motherboards have everything built-in now. Server and workstations boards have so many expansion sockets, it's just crazy.
If you think that's bad, consider that the Virtex5 they're using on it costs on the order of $500 for the chip itself. You linked the "pro" model, which supports multiple devices in the same system in some fashion. You want this one, which is only $900. Both models use MLC NAND, and neither are really intended for mass-market buyers (you can't boot from them, after all.)
Precisely my point! Every vendor is making some stupid compromises somewhere. Using an FPGA is really inefficient, but still better in some ways than what everyone else is doing, which ought to really make you wonder just how immature the market is.
Similarly, look at the price difference between the two FusionIO drives, the "Pro" and the "Non-Pro" model. I bet there's no physical difference, because all of the specs are identical, but there's a 2x price difference! It's probably just a slightly different firmware that allows RAID. This is artificial segmentation. If they had decent competition, the drive would cost 1/4 as much per GB, and all models would allow RAID.
I'm kinda fed up waiting for the SSD manufacturers to get their act together. There's just no reason for drives to be only 10-50x faster than physical drives. It should be trivial to make them many thousands of times faster.
I suspect that most drives we're seeing are too full of compromises to unlock the real potential of flash storage. Manufacturers are sticking to 'safe' markets and form factors. For example, they all seem to target the 2.5" laptop drive market, so all the SSD controllers I've seen so far are all very low power (~1W), which seriously limits their performance. Also, very few drives use PCI-e natively as a bus, most consumer PCI-e SSDs are actually four SATA SSDs attached to a generic SATA RAID card, which is just... sad. It's also telling that it's a factor of two cheaper to just go and buy four SSDs and RAID them using an off-the-shelf RAID controller! (*)
Meanwhile, FusionIO makes PCI-e cards that can do 100-200K IOPS at speeds of about 1GB/sec! Sure, they're expensive, but 90% of that is because they're a very small volume product targeted at the 'enterprise' market, which automatically inflates the price by a '0' or two. Take a look at a photo of one of their cards. The controller chip has a heat sink, because it's designed for performance, not power efficiency!
This reminiscent of the early days of the 3D accelerator market. On one side, there was the high-performing 'enterprise' series of products from Silicon Graphics, at an insane price, and at the low-end of the market there were companies making half-assed cards that actually decelerated graphics performance. Then NVIDIA happened, and now Silicon Graphics is a has been because they didn't understand that consumers want performance at a sane price point. Today, we still have SSDs that are slower that mechanical drives at some tasks, which just boggles the mind, and on the other hand we have FusionIO, a company with technically great products that decided to try to target the consumer market by releasing a tiny 80GB drive for a jaw-dropping $1500. I mean.. seriously... what?
Back when I was a young kid first entering university, SGI came to do a sales pitch, targeted at people doing engineering or whatever. They were trying to market their "low-end" workstations with special discount "educational" pricing. At the time, I had a first-generation 3Dfx accelerator in one of the first Athlons, which cost me about $1500 total and could run circles around the SGI machine. Nonetheless, I was curious about the old-school SGI machine, so I asked for a price quote. The sales guy mumbled a lot about how it's "totally worth it", and "actually very cost effective". It took me about five minutes to extract a number. The base model, empty, with no RAM, drive, or 3D accelerator was $40K. The SSD market is exactly at the same point. I'm just waiting for a new ''NVIDIA" or "ATI" to come along, crush the competition with vastly superior products with no stupid compromises, and steal all the engineers from FusionIO and then buy the company for their IP for a bag of beans a couple of years later.
*) This really is stupid: 256GB OCZ Z-Drive p84 PCI-Express is $2420, but I can get four of these 60GB OCZ Vertex SATA at $308 each for a total of $1232, or about half. Most motherboards have 4 built-in ports with RAID capability, so I don't even need a dedicated controller!
it was probably about 6 years ago when a number of goverment offices American Express, and others including CNN had their computers BSODing. CNN even stayed on the air for a few hours just talking about how the computers were all rebooting. The cause of that was that the computers were part of a botnet and an update to the botnet caused BSODs.
In plain language, many government computers and businesses computers have been infected without them knowing it. And as I mentioned, large companies with financial ties like American Express. You can not secure Windows without unplugging it from the network. There was a CIO of one company which got hacked and he ended up quiting saying something much the same. Businesses who insist on Windows are insisting on something which is very very difficult to secure.
Oh, I assure you, they know about it. They're just too incompetent to do anything about it.
I was once at a large bank, and I was warned not to plug my laptop into the bank's network. At first I was thinking "this must be for security reasons, they clearly don't (and shouldn't) trust some random consultant's laptop on their network", but then I was told that it was for my own protection. Apparently the bank network was so lousy with viruses that a laptop without the latest patches would last only minutes before it was rooted. I keep my work laptop patched, so I did plug in. I ran Wireshark for a few minutes, which detected about a dozen hack attempts on my machine. On top of this, many of their servers were running ancient versions of windows, many at RTM patch levels. I suspect they were all infected, but I didn't have a chance to look into it.
It's not just one or two financial institutions, from what I gather, many of the larger ones have infections.
This is what excessive bureaucracy does to IT: the amount of paper work required to approve a patch is so onerous that IT managers simply don't patch servers. The paper work is meant to prevent the minor problem of 'unapproved' patches causing disruptions, but the end result is even worse, which is unpatched machines with rampant infections.
I seriously thought about ssding it this time around when purchasing a laptop. I just couldn't quantify the supposed advantages in power use of SSD over a HD. Still, SSD may have other advantages in random access situations. It would have been nice to try.
Anyway, I'm thinking of putting my whole installation on a 16 GB usb keychain thingie, and using the hard drive for archival purposes. Maybe I can just shut the HD off when not in use. Still, those aren't very big. There'd be a lot of writing going on for just 16 GBs.. Maybe it would die quick. Still, maybe 128 gigs will be cheap soon..
It's not about the power, many SSDs use about the same amount as a normal hard drive. It's about speed. An SSD vs a traditional disk is a night & day difference. It's like computers have been reinvented. There's just no comparison, and no going back!
The only other time I got a speed boost this big was when I switched from floppies to hard drives back in the IBM XT days.
... it's reliability that's the real issue. SSDs are a great idea in theory, but in practice the only time I tried to build a server around one, taking great care to ensure that as little as possible would ever be ever written to it (e.g. turned off atime, while /var, /temp, /home etc. were located on hard disks), it ended up lasting only about a month.
I would love to replace my hard disks, arguably the most critical and vulnerable components of my computers, with SSDs, but only if they are more reliable in the first place, and can thereafter be regarded generally as an improvement.
You either used a really cheap drive meant for netbooks, or you simply got a broken drive and didn't do a burn-in period. It's not like mechanical drives never fail, so just because you had a bad experience, once, that doesn't mean you should give out bad advice based on an anecdote.
Even a decent desktop drive can be overwritten at least a thousand times, and most 'enterprise grade' drives are rated for 100,000 or more. At the high-end, look at the products made by FusionIO or EMC, you'll get drives that might go to a million rewrites, and will actively report degradation so you can replace them before they die.
Also keep in mind that smaller drives are both slower and wear out faster. It's worth getting larger drives or striping several smaller ones to spread the write wear.
http://git.savannah.gnu.org/cgit/coreutils.git/tree/src
Of note, copy.c, copy.h, and cp.c.
Wow.. it's like code that time forgot.
I love the way there's about a page of complex code that jumps through hoops to figure out a good buffer size, when 64KB would basically work well in all cases. From what I can see, there's a few situations in which 'cp' will pick tiny buffer sizes and waste a bunch of time on overhead. The default appears to be 32KB, which is too small these days. I've done experiments (admittedly on Windows, but same difference), demonstrating that using IO blocks as large as 1MB improves performance significantly. There's a reason Microsoft increased the default IO sizes on Windows Server from 64KB to 1MB.
A much better buffer selection algorithm would be to detect L2 or L3 cache sizes of the processor, and use a buffer slightly smaller than one of those. You'd have to play with benchmarks to see if staying within L2 is a benefit (I suspect that it isn't).
The biggest problem with 'cp' is that it's synchronous single-threaded. It does a read, then a write, then a read, then a write, etc... For comparison, Windows Vista and later does reads synchronously but then writes asynchronously so that the next read doesn't have to wait for the write to complete. Even with kernel buffering and lazy IO, 'cp' is probably much less efficient that it could be.
We're adjusting our disklabel64 utility and kernel support to set the partition base offset such that it is physically aligned instead of slice-aligned, and we are using 32K alignment. That should fix the problem without having to mess around with fdisk.
The DragonFly 64-bit disklabel structure uses 64-bit byte offsets instead of sector addressing to specify everything. It ensures things are at least sector aligned but we wanted to make disk images more portable across devices with potentially different sector sizes. The HAMMER fs uses byte-granular addressing for the same reason, 16K aligned.
-Matt
You should use 64K alignment at a minimum, almost all RAID and SAN volumes are 64K aligned with IO sizes of 64K minimum.
You'll lose up to 50% performance on random IOs on any server class hardware.
As a comparison, Windows now aligns to the nearest 1MB.
Wait.. wait.. what the fuck?
I was under the impression that mis-aligned partitions cause small random IOs to take up TWO small random IOs, basically halving random IO performance. It should have a negligible effect on any streaming operation, as only the first and last blocks will have an overhead, the others overlap with useful IO.
Just how BAD is the Linux 'cp' program? Is it doing writes one block at a time, or something insane like that?
On Windows, if you repeated the copy same test, you wouldn't see a measurable difference, unless the target partitions were horrifically fragmented. To get a real slowdown, you'd have to do something like work on a large database file (many small random reads and writes). Microsoft has a paper on tuning Exchange performance, where they demonstrate >100% overhead to unaligned partitions, but you get full speed for backup & recovery operations.
Actually this problem is potentially much worse on SSD's. Erase blocks are huge, and read-modify-write really sucks on flash.
Couldn't this be addressed (at least in part) by a battery-backed write cache like better RAID controllers use? Set it up like SAN snapshots (so it just stores the diff between what's in the actual flash storage and what's been changed so far), and then write the changed blocks when it's most advantageous (e.g. when there's an entire block's worth of data, so it would all have to be erased by the flash storage anyway).
Maybe combine that with something like a disk defrag, except instead of storing frequently-sequentially-read data in physical sequence, store frequently-written data (regardless of if it's sequentially-read or not) in physical sequence.
That's exactly what most SSD controllers do!
Some now come with 32 to 64MB of cache, and some of the new Sandforce controller based SSDs also come with a little ultracapacitor that acts like a mini UPS. The cache is used as scratch space for reordering writes and defragging blocks.
There was a firmware patch recently for the OCZ Vertex series of SSDs that enabled background defrag. If you let the drive site there for a few minutes, it would start getting faster until it returned to 'as new' speeds
A lot of hardcopy is only read/used once or twice and then recycled. Sounds like a great idea to me.
If you're printing stuff out to only read it once, maybe you should ask yourself if it wouldn't be better to just read it on the screen instead.
Because most business managers buy the cheapest possible 15" monitors for their employees, the ones with the analog inputs only, and then they say things like "I don't like reading on computer screens".
Meanwhile, DELL will sell a 24" high resolution LCD with good contrast and deliver it for $189, which is about the equivalent of 60 sheets of this magic reusable paper. Think of the monitor as super-magic paper that can be reused an almost infinite number of times!
I work as a consultant, and have to process or generate enormous amounts of written material, but I print only a few pages a year, and wouldn't need to do that either if digital projectors were more common in meeting rooms.
If it is true that only compromised computers blue screen then it's hard to fault Microsoft for their patch code choking when it stumbles across the exploit code.
It's pretty easy to fault them for not taking a checksum before they patch to ensure that the file isn't modified. If it is, warn the user.
Microsoft patches are file-level, not delta-patches. They always overwrite complete files, and never try to modify files in-place.
That's why their patches are so huge, if there's a systematic error in many related files, then they all need to be replaced in their entirety.
It's a waste of bandwidth, but it's much more reliable.
I suspect what happened here is that Microsoft replaced one of two related files, but the other file was modified by the root-kit, and the mixed versions don't work together any more.
Bingo. If there's any story here, it's that Microsoft's reputation is so bad that people won't believe them even when they're right. That and that people aren't very technically minded. I once told my father to us a piece of software to monitor the SMART status on his HDD since it was "making a lot of noise". He just told me that he'd been doing it. About a year later he said that his laptop would barely run so I visited and noticed that the SMART was telling him that the HDD had irrecoverable errors and should be backed up and replaced immediately. When I asked how long it had been saying that, he replied that it had always said that (or something like it) since he first checked (at my encouragement). He just didn't think that it could be a real problem since the computer still ran at that time. Let's face it here, if a person is running Windows, they aren't going to believe that there's a problem until they can't work 'cause Windows gives alert after alert after alert and how can you know which ones to believe unless you're a "techie"? Sure if, you're reading here, you'll know, but 98% of people just don't.
However, the habit of just clicking "OK" to everything is at least partially Microsoft's fault. Their software systematically trains people to accept that popup warnings are going to occur over and over for perfectly innocuous reasons.
"This website is safely encrypted for YOUR PROTECTION! Click OK to accept your increased safety!"
"You may be.. omg.. submitting... INFORMATION to a web site! Panic now! Or just click OK!"
"You are changing the critical system setting 'background color'. Are you sure? ARE YOU? Then click OK!" ... 500,000 of those later ...
"Your mass storage device is reporting a fault status code... Click OK like you do every time!"
There's no ordinary user on earth who'll pay the slightest attention to that after being subjected to a bazillion meaningless warnings for years before.
There's a reason MS bought the company and hired Mark, he consistently puts out the most useful tools for in the trenches Windows diagnostics. Heck MS's PSS would routinely have you use his tools even before the purchase because nothing they put out internally was nearly as useful.
And the very first thing they did, within mere days of the acquisition, is they took his ultra-efficient, elegant little tools and put a 200KB EULA popup into every one of them.
A GUI popup.
Even into the command line tools.
I threw up in my mouth a little when I saw that.
Although lack of sunlight has been shown to be a cause of vitamin D deficiency in general populations of people and the health issues that go with that.
Australia and New Zealand's cover up campaign to ward off skin cancer turned out to do more harm than good, for the general population.
I doubt that. A mere 15-20 minutes of exposure to sunlight, while clothed, is sufficient to generate something like a week's worth of vitamin D over here.
Vitamin D deficiency is much more likely to occur when dark-skinned people move too far north, like Indians in England, or Africans in northern America or Canada.
A white skinned person here in Australia shouldn't get rickets unless they're a WoW addict who never leaves their room.
If any warming caused by holding a cell phone near your head caused sufficient warming to actually cause damage in the long term, then exercise of any sort would kill you dead a lot quicker than a cell phone could possibly be responsible for. A two or three degree Fahrenheit increase in body temperature is completely normal during exercise and even this is larger than a cell phone is capable of doing.
On top of that, cell phone heating is a local effect, but humans are liquid cooled and have an active temperature control system.