Furthermore, a single application need not use all 300,000 cores. Like your PC, the supercomputer can run multiple applications at once, using as many or few threads as each one needs. Or as many or as few threads as the researcher was able to bargain for.
That said, there's a lot of work to help your everyday PC programmers write programs that are designed to be multithreaded, too. It seems like every week there's a new library or technology to enable multithreading. Personally, I've used pthreads, OpenMP, MPI, TBB, MapReduce, and LogTM (Transactional Memory, which is a completely different paradigm from what people are used to). And now Apple has announced their Grand Central technology (whatever that may be), in addition to existing methods such as NSThreads.
Someday, one or a few of these will really win out (hopefully it's the one that makes multithreading easy and effective, though such a library has yet to be developed). Or, the multicore phenomenon may die down a bit - if you look at other parts of your computer (like the memory or I/O busses), they tend to be serial at first, then when serial can't be made much faster easily, they go parallel with similar technology. Eventually, somebody figures out that you can do something radically different, and get a really fast serial link (think ATA to SATA here). Next, it becomes feasible to make that really fast serial link parallel again. This generalizes a bit, and multicore processing seems to be very early in its lifetime yet, but failing to develop a good parallel programming language/library could cause its premature death...
I always thought the definition of a "core" as whatever the minimal set of hardware required to run a single thread at "full power". By my logic, anytime you run more than one thread on a core, you're doing what SMT does.
Someone please tell me if I'm wrong (and how).
A core is a set of registers and function units, among other hardware. Each core is, effectively, a completely separate processor (though it likely shares some things, such as the L2 cache and FSB with other cores). Since processor usually refers to a whole chip (encased in a plastic or ceramic package, and soldered on the motherboard), the term "core" refers to when there is more than one inside a single package. The ultimate goal is usually to have all cores on a single piece of silicon, but often multi-chip modules are used (especially early in production), where a four-core processor might contain two silicon dies, each with 2 cores. This can help increase yield (by reducing the die size), and reduce production cost. After improving the yield of the processor, or changing to a reduced feature size (eg 90 nm to 65 nm), a switch back to a single die is possible, reducing the packaging cost.
Simultaneous Multithreading (SMT), on the other hand, works on a single processor/core. It is a feature that allows sharing of the processor resources, such as registers and functional units. A PowerPC 970 (which never had SMT support) could issue 4 instructions and 1 branch every clock cycle. Because of that, plus the deep pipelines, up to 216 instructions can be in various stages of completion at any given time. However, on average, a program branches every 4 instructions - this means that the processor would have to correctly predict 54 branches to keep the pipeline full, AND that the instructions would be (mostly) independent of each other. This isn't easy to do. So, what many processors do is split the available resources. One might issue 2 instructions from one thread and 2 instructions from another in each clock cycle, or alternate clock cycles issuing 4 from one, then 4 from the other. This shares most of the CPU's resources, while requiring a fairly minimal amount of extra logic to track the second thread.
So, cores are extra hardware that can perform more calculations. SMT is taking better advantage of what is already present.
However, the disadvantage of SMT is that it can slow a single-threaded program down, because now it has to share resources. Some processors actually do away with superscalar (aka issuing multiple instructions at once) and out-of-order execution and bypass logic, and instead rotate through many threads. For example, if the pipeline is 8 stages deep and supports 8 threads in hardware, it can issue one instruction from each thread in each clock cycle. Then it never needs to check if an instruction is dependent on an earlier one, because an instruction is completed before the next one from the same program is issued. Having this many threads can also minimize the cost of a branch misprediction, cache miss, or other long-latency events. Also, removing the bypass, dependency checking, multiple-issue, and instruction reordering logic can give a significant reduction in power and area on the chip. The performance hit by these eliminations can then be made up by adding many more cores than you'd see in a superscalar out-of-order processor like a Pentium or Core architecture. The catch is that a processor like this is only faster if you have enough threads to keep the processor busy. However, if your problem is big enough to need a supercomputer, you're darn well going to spend time writing it to take advantage of as many threads as you can.
If you spend 5.99 on a sudoku app in the next week are you really going to buy a much better one in a month? Probably not, you probably won't even be looking for one.
Well, the point here is that if your application is a dime a dozen, who cares? Somebody will come out with one that's as good as yours (or close), and free. If your application is good enough to generate some word-of-mouth advertising, some the people willing to spend money on a different one in the first place will upgrade. But you're going to have more success by stepping off the beaten path, and coming up with something new.
If you're the first one to make an app that enables voice dialing or voice-controlled GPS with text-to-speech directions as you're moving, you'll make some money. But to really succeed, it has to be GOOD, and then it doesn't matter much if you're first or tenth.
Apple has been giving away the SDK, but you need to be in the developer program to run your code on an actual device (or to get your app into the App Store). They say that the Simulator in the SDK should be good enough even if it can't simulate one of the more interesting features of the iPhone/iPod touch, the accelerometer.
I'm still furious that Apple released the Macintosh before I had a chance to write $APPLICATION, and now it's been about 24 years since anybody has written anything for the Mac, because the first 500 applications written covered everybody's needs.
OK, seriously - yeah, it sucks that not everybody gets to be one of the first 500 applications. But, if you blow us away with your application, it doesn't matter. Make it so intuitive, pretty, and powerful that we can't resist. Find an application that meets the needs that I don't even know I have yet, then show me how much better my life would be with your application. That's what Apple does with its products (they were not the first to market with an MP3 player, but they effectively cleared the market of everybody else), and that's what you'll have to do to sell your software to the same users.
The real question is - what is its capacity? Can it continue to produce and store hydrogen while you're at work for the day? How long before it can't continue to produce hydrogen and needs to be emptied? I think the device would be feasible for many people; in a 24-hour period, I'd expect it to be able to produce 2 or 3 times more than the nebulous "overnight" concept. And, if it has at least a decent amount of storage, you wouldn't need it to handle your peak capacity, just something slightly over your daily average. If you drive 15 miles each way to work, and it can produce 50 miles of fuel per day, you could still take a 200-mile round trip every weekend. Your 3 month/3000 mile recommended oil change is equal at an average of 40 miles per day, well within the likely production capacity of this device. And most people I know hit the 3 months before the 3000 miles. (There are certainly people who hit the mileage first, but it sounds like in general, a currently-feasible hydrogen-powered car wouldn't have an acceptable range for them anyway, even with a well-established fueling network.)
Agreed. I'm also aware of the ECCC, Emergency Chicagoland Commodore Convention, dating back to 2006. I'm not absolutely sure, but I'd bet that at least parts of it might qualify as a LAN party. At the very least, I saw a photo from 2007 of a game being demoed as the "first Internet game for the C64".
In my middle school science class, we had a unit where we tried to mutate bacteria. First, we picked some off of a surface somewhere and grew them for a while in a petri dish. Then we picked one type out of that dish, spread it on a new dish, and exposed half of them to something we thought might mutate them. My partner and I tried a quick bath in the UV hood used for disinfecting the goggles. However, the exposed side grew as much bacteria as the side covered with aluminum foil. Then, we tried again - a full hour in the UV hood, with the cover off of the petri dish (to make sure it wasn't weakening the UV light). Again, no effect; the bacteria grew with no problems after that exposure. Now, maybe the agar was just providing such a wonderful environment for the bacteria that the UV didn't matter, or maybe we weren't perfect scientists at age 13, but I still find that a little disconcerting.
Moral of the story: I don't trust UV light to really kill bacteria.
Personally, I'd recommend just a slightly damp cloth, with a weak detergent if you really want. People generally worry too much about bacteria and viruses; you don't need to clean everything in your home with antibacterial soaps. If your immune system is unusually weak (ie you have some specific medical condition), you might need to - but then you end up just making sure that your home only contains bacteria that are resistant to the antibacterial component of your soaps. But, if your wife wants to use the MacBook Pro, maybe a quick cleaning would be courteous.;-)
It's not just the sound that matters, either. The feel of the instrument can be a big deal for the player as well. I've been playing cello since I was 4, and I've played on a lot of different instruments. The cheapest ones were those that our high school owned; probably around $600. One of my instruments had a Stradivarius label, but was just one of many knockoffs, trying to fool the buyer into paying more. My current instrument is probably worth $10,000, which isn't really all that much as far as cellos go. One of my teachers owned one valued at $80,000. It may sound expensive to the average person, but sometimes the astronomical prices are really worth it to the player. How many of us have sprung for a better video card, a faster processor, or a bigger display, even if the price of the newest technology is a bit high?
Perhaps most interestingly, though, is that it's not just the instrument; the feel of the bow can make a big difference, too. About 8 years ago, I needed a new bow. I tried out a wide variety. I had, of course, used many cheap fiberglass bows (under $100) at my high school, but I wanted a good one for my personal instrument to replace my rather old (but good-quality) bow. Many of the ones I tried were in the $500-$1000 range. Each one feels just a little bit different, probably mostly in terms of the distribution of weight. And then I tried one, just for the heck of it, that cost $2500. I'm not sure what it was, but it felt incredibly different from the rest. Some of the cost is undoubtedly additional embellishments (like small amounts of silver and pearl), but a maker who really knows what they are doing can make some incredible, errr, hardware.
I agree that this seems overblown. What the law prevents people from doing is calling up a repair shop to provide evidence; so the local police or a disgruntled ex can't say "undelete these files for me" unless the person doing so is a licensed PI. Seems reasonable, as the technician then has some credibility. Otherwise, could you imagine calling your average Geek Squad teenager to the stand to testify about how he found E-mails from your ex-wife to her lover?
My bet is that some small shop misinterpreted the new law, complained to the local CW TV station, who sent their very best intern (yes, the original article was written by an intern, and picked up with apparently minimal research by Gearlog and PC Magazine). The intern listened to the irate (and misinformed) shop owner, typed it up, and here we have it.
BTW, nice attempt at that "carefully hand crafted computer, made by artisans who trained for decades" canard. Apple is as mass produced as every other product out there (exploding batteries, anyone?). What IS different is that Apple manages to get at least 50% profit out of everything they make.
One major difference between Apple and other vendors is that Apple's design work is done in California, not China. Many other vendors either have their engineers located in China, or they just buy designs from a contract manufacturer. For better or worse, a Chinese engineer is cheaper than an American one.
There's also a lot of engineering work that goes into qualifying parts, such as RAM or hard drives. I know because I used to perform such work; I'd be given a system and a DIMM, and I'd have to create a lengthy report comparing the new DIMM to the previously-qualified ones. I'd start by running simulations, checking for timing violations (signals arriving too early or late), overshoot (exceeding dynamic voltage limits), knees (non-monotonic behavior during transitions), and any other specifications that might exist for the components in question. All those simulations have to be performed in both directions (read and write), for three drive strengths (minimum, typical, and maximum), for every single signal on the DIMM, to multiple destinations; depending on the type of DIMM, control and data signals will travel to several (or all) chips.
OK, now after the simulation comes the real testing; I'd select the worst signals (as determined from simulation) and verify the measurements from the simulations with a high-speed oscilloscope. With timing specifications diving down into the hundreds of picoseconds these days, it can be challenging to get accurate measurements. Since this involved some soldering, or scraping off the top layer of the PCB to get access to traces. Since most memory uses BGA chips now (which means there are no exposed pins to solder to), finding a good place to measure from becomes even more challenging.
And, on top of that, there's functional testing to be performed; we'd take a batch of systems, put them in a heavy-duty memory stress test, load them into a thermal chamber, and cycle them between high and low temperature (over a range of maybe 65 C/149 F) for many hours.
Just because memory says it conforms to a PC-whatever spec doesn't mean they've tested it thoroughly, and certainly not with your particular computer model. That just means some board manufacturer bought some chips, slapped together a PCB design, ran it through a software RAM tester (which, incidentally, suck - a dedicated hardware RAM tester will catch errors about 20 times more often), and declared it fit for consumption. More than once, I encountered a DIMM where the chips were good quality (like Micron or Samsung), but the PCB itself caused failures. Luckily, most vendors were happy to make changes to prevent these failures.
In another job, I worked at an Apple Authorized Service Provider. I saw more bad RAM than I'd care to admit. Apple's was, without a doubt, the most reliable brand; often the chips were from Samsung. Chips from other manufacturers (Elpida comes to mind) failed more often. It got to a point where, just from looking at the chip and PCB manufacturers, I could get a pretty good guess of which DIMMs were bad, and which were fine.
That said, yes, Apple's RAM is incredibly expensive. You could probably survive with cheap RAM if you have a Mac Pro (which uses ECC), but I always buy my RAM from Crucial, which is almost as good as the stuff Apple sells (though maybe not quite as good on the rare occasion that the DIMM is not using Micron chips). You can't go wrong buying the memory from Apple - but you can also save money by buying *quality* third-party memory.
The same logic applies to most other components. You can be assured that what Apple sells you will be well-tested, but you can save money by buying elsewhere. And, in my experienc
I don't know about Apple, but I can tell you that Dell, IBM, HP and probably most other big-name vendors tend to use the smallest possible power supply that can keep the machine running, with just enough headroom to outlast the warranty (power supplies get weaker with age). I'm sure they're all more or less the same. My G5 is, of course, on the high end of power consumption (the CPUs are horribly power-hungry, as is the memory controller and video card - which alone calls for 105 W peak). Often, each model of G5 would have a different power supply, depending mostly on the needs of the CPU. Some of the PowerMac G4s I fixed at an Apple Service Provider did have power supply problems - they were the ones that used the ADC connector to supply power, USB, and DVI video signals all in one cable to the display. The extra draw of the monitor was sometimes too much for the power supply as it got older. Not a common problem, but not rare either. In any case, at least Apple's designs account for any upgrades that one would be expected to perform. I imagine Dell and other venders do the same, though in efforts to cut cost, the extra capacity might get lowballed.
Typical air conditioning can remove heat from your house with a 30-45% penalty; eg running a 100W appliance might cost another 35W in air conditioning. Incidentally, at least for air conditioning planning, I've seen a human listed as producing about 600 BTUs per hour, or 175 Watts. So your room might be warming up as much from you using the computer as it is from the computer itself.
Also, some people seem surprised that their computer has a 450W power supply even though it is only drawing 150 Watts. This is because a power supply needs to supply the peak power for all accessories that might ever be installed. If you buy a computer from Apple or Dell, the power supply needs to have enough capacity to handle not only what you're getting, plus power for extra hard drives, PCIe cards, USB devices, FireWire devices, and anything else that might be added later. Furthermore, the power budget that they work with during design likely takes into account the maximum power specified for every single chip on the motherboard, even though it is unlikely that any one of them could reach that limit, much less all of them at the same time. The CPU's specifications might require 80W, even if it's only for a few milliseconds, and for the worst combination of operating temperature, manufacturing variance, and CPU load. There's a large margin built in to the design to ensure that your computer's power needs won't exceed what can be supplied.
In my case, my Dual 2.7 GHz PowerMac G5 has a 600W power supply, even though the peak usage I've measured is around 250W. Another 90W or so is reserved for PCI/PCI-X slots that I don't use, plus there's capacity needed for another hard drive, and 4 more sticks of RAM. Add in 15W available for bus power on FireWire, 2.5W for USB bus power... Then there's the difference between the actual sustained peak usage and the specification's instantaneous peak usage, which increases the requirements significantly. Pretty quickly, it adds up to something pretty close to 600 Watts.
I borrowed a Watts Up meter from the local library (the local power company supplies them to area libraries). I'd suggest that those interested in learning about their power consumption check if there is a similar program in your area, or ask if the power company, library, environmental group, or other organization would be interested in starting one. Or, offer to buy one and donate it when you're done, and encourage others to do the same.
If something is required for the operation of a software package, default to selected. If something is optional or not required for the operation of a software package, default to unselected. That's not quite what I'd want. I think it should default to whatever "most users" would want. If it's related to the software being installed but optional, go ahead and leave it as default if it's useful: like plugins, additional media files, large level or graphics files for a game that can load files either from the HD or a CD, whatever you expect to be actively used by your users.
On the other hand, if it's unrelated software, leave it unchecked. If the company only WANTS "most users" to want their software, leave it unchecked.
Basically, checked things should be useful for the main purpose of the program being installed, but you can uncheck them to save hard drive space, or to remove features that not every user will use. Unchecked things should be anything that is there for marketing purposes, or that only a small fraction of users may want.
Furthermore, a single application need not use all 300,000 cores. Like your PC, the supercomputer can run multiple applications at once, using as many or few threads as each one needs. Or as many or as few threads as the researcher was able to bargain for.
That said, there's a lot of work to help your everyday PC programmers write programs that are designed to be multithreaded, too. It seems like every week there's a new library or technology to enable multithreading. Personally, I've used pthreads, OpenMP, MPI, TBB, MapReduce, and LogTM (Transactional Memory, which is a completely different paradigm from what people are used to). And now Apple has announced their Grand Central technology (whatever that may be), in addition to existing methods such as NSThreads.
Someday, one or a few of these will really win out (hopefully it's the one that makes multithreading easy and effective, though such a library has yet to be developed). Or, the multicore phenomenon may die down a bit - if you look at other parts of your computer (like the memory or I/O busses), they tend to be serial at first, then when serial can't be made much faster easily, they go parallel with similar technology. Eventually, somebody figures out that you can do something radically different, and get a really fast serial link (think ATA to SATA here). Next, it becomes feasible to make that really fast serial link parallel again. This generalizes a bit, and multicore processing seems to be very early in its lifetime yet, but failing to develop a good parallel programming language/library could cause its premature death...
I always thought the definition of a "core" as whatever the minimal set of hardware required to run a single thread at "full power". By my logic, anytime you run more than one thread on a core, you're doing what SMT does.
Someone please tell me if I'm wrong (and how).
A core is a set of registers and function units, among other hardware. Each core is, effectively, a completely separate processor (though it likely shares some things, such as the L2 cache and FSB with other cores). Since processor usually refers to a whole chip (encased in a plastic or ceramic package, and soldered on the motherboard), the term "core" refers to when there is more than one inside a single package. The ultimate goal is usually to have all cores on a single piece of silicon, but often multi-chip modules are used (especially early in production), where a four-core processor might contain two silicon dies, each with 2 cores. This can help increase yield (by reducing the die size), and reduce production cost. After improving the yield of the processor, or changing to a reduced feature size (eg 90 nm to 65 nm), a switch back to a single die is possible, reducing the packaging cost.
Simultaneous Multithreading (SMT), on the other hand, works on a single processor/core. It is a feature that allows sharing of the processor resources, such as registers and functional units. A PowerPC 970 (which never had SMT support) could issue 4 instructions and 1 branch every clock cycle. Because of that, plus the deep pipelines, up to 216 instructions can be in various stages of completion at any given time. However, on average, a program branches every 4 instructions - this means that the processor would have to correctly predict 54 branches to keep the pipeline full, AND that the instructions would be (mostly) independent of each other. This isn't easy to do. So, what many processors do is split the available resources. One might issue 2 instructions from one thread and 2 instructions from another in each clock cycle, or alternate clock cycles issuing 4 from one, then 4 from the other. This shares most of the CPU's resources, while requiring a fairly minimal amount of extra logic to track the second thread.
So, cores are extra hardware that can perform more calculations. SMT is taking better advantage of what is already present.
However, the disadvantage of SMT is that it can slow a single-threaded program down, because now it has to share resources. Some processors actually do away with superscalar (aka issuing multiple instructions at once) and out-of-order execution and bypass logic, and instead rotate through many threads. For example, if the pipeline is 8 stages deep and supports 8 threads in hardware, it can issue one instruction from each thread in each clock cycle. Then it never needs to check if an instruction is dependent on an earlier one, because an instruction is completed before the next one from the same program is issued. Having this many threads can also minimize the cost of a branch misprediction, cache miss, or other long-latency events. Also, removing the bypass, dependency checking, multiple-issue, and instruction reordering logic can give a significant reduction in power and area on the chip. The performance hit by these eliminations can then be made up by adding many more cores than you'd see in a superscalar out-of-order processor like a Pentium or Core architecture. The catch is that a processor like this is only faster if you have enough threads to keep the processor busy. However, if your problem is big enough to need a supercomputer, you're darn well going to spend time writing it to take advantage of as many threads as you can.
If you spend 5.99 on a sudoku app in the next week are you really going to buy a much better one in a month? Probably not, you probably won't even be looking for one.
Well, the point here is that if your application is a dime a dozen, who cares? Somebody will come out with one that's as good as yours (or close), and free. If your application is good enough to generate some word-of-mouth advertising, some the people willing to spend money on a different one in the first place will upgrade. But you're going to have more success by stepping off the beaten path, and coming up with something new.
If you're the first one to make an app that enables voice dialing or voice-controlled GPS with text-to-speech directions as you're moving, you'll make some money. But to really succeed, it has to be GOOD, and then it doesn't matter much if you're first or tenth.
Apple has been giving away the SDK, but you need to be in the developer program to run your code on an actual device (or to get your app into the App Store). They say that the Simulator in the SDK should be good enough even if it can't simulate one of the more interesting features of the iPhone/iPod touch, the accelerometer.
I'm still furious that Apple released the Macintosh before I had a chance to write $APPLICATION, and now it's been about 24 years since anybody has written anything for the Mac, because the first 500 applications written covered everybody's needs.
OK, seriously - yeah, it sucks that not everybody gets to be one of the first 500 applications. But, if you blow us away with your application, it doesn't matter. Make it so intuitive, pretty, and powerful that we can't resist. Find an application that meets the needs that I don't even know I have yet, then show me how much better my life would be with your application. That's what Apple does with its products (they were not the first to market with an MP3 player, but they effectively cleared the market of everybody else), and that's what you'll have to do to sell your software to the same users.
The real question is - what is its capacity? Can it continue to produce and store hydrogen while you're at work for the day? How long before it can't continue to produce hydrogen and needs to be emptied? I think the device would be feasible for many people; in a 24-hour period, I'd expect it to be able to produce 2 or 3 times more than the nebulous "overnight" concept. And, if it has at least a decent amount of storage, you wouldn't need it to handle your peak capacity, just something slightly over your daily average. If you drive 15 miles each way to work, and it can produce 50 miles of fuel per day, you could still take a 200-mile round trip every weekend. Your 3 month/3000 mile recommended oil change is equal at an average of 40 miles per day, well within the likely production capacity of this device. And most people I know hit the 3 months before the 3000 miles. (There are certainly people who hit the mileage first, but it sounds like in general, a currently-feasible hydrogen-powered car wouldn't have an acceptable range for them anyway, even with a well-established fueling network.)
Agreed. I'm also aware of the ECCC, Emergency Chicagoland Commodore Convention, dating back to 2006. I'm not absolutely sure, but I'd bet that at least parts of it might qualify as a LAN party. At the very least, I saw a photo from 2007 of a game being demoed as the "first Internet game for the C64".
I guess that's where we'll be getting all our rare earth metals soon...
In my middle school science class, we had a unit where we tried to mutate bacteria. First, we picked some off of a surface somewhere and grew them for a while in a petri dish. Then we picked one type out of that dish, spread it on a new dish, and exposed half of them to something we thought might mutate them. My partner and I tried a quick bath in the UV hood used for disinfecting the goggles. However, the exposed side grew as much bacteria as the side covered with aluminum foil. Then, we tried again - a full hour in the UV hood, with the cover off of the petri dish (to make sure it wasn't weakening the UV light). Again, no effect; the bacteria grew with no problems after that exposure. Now, maybe the agar was just providing such a wonderful environment for the bacteria that the UV didn't matter, or maybe we weren't perfect scientists at age 13, but I still find that a little disconcerting.
Moral of the story: I don't trust UV light to really kill bacteria.
Personally, I'd recommend just a slightly damp cloth, with a weak detergent if you really want. People generally worry too much about bacteria and viruses; you don't need to clean everything in your home with antibacterial soaps. If your immune system is unusually weak (ie you have some specific medical condition), you might need to - but then you end up just making sure that your home only contains bacteria that are resistant to the antibacterial component of your soaps. But, if your wife wants to use the MacBook Pro, maybe a quick cleaning would be courteous. ;-)
It's not just the sound that matters, either. The feel of the instrument can be a big deal for the player as well. I've been playing cello since I was 4, and I've played on a lot of different instruments. The cheapest ones were those that our high school owned; probably around $600. One of my instruments had a Stradivarius label, but was just one of many knockoffs, trying to fool the buyer into paying more. My current instrument is probably worth $10,000, which isn't really all that much as far as cellos go. One of my teachers owned one valued at $80,000. It may sound expensive to the average person, but sometimes the astronomical prices are really worth it to the player. How many of us have sprung for a better video card, a faster processor, or a bigger display, even if the price of the newest technology is a bit high?
Perhaps most interestingly, though, is that it's not just the instrument; the feel of the bow can make a big difference, too. About 8 years ago, I needed a new bow. I tried out a wide variety. I had, of course, used many cheap fiberglass bows (under $100) at my high school, but I wanted a good one for my personal instrument to replace my rather old (but good-quality) bow. Many of the ones I tried were in the $500-$1000 range. Each one feels just a little bit different, probably mostly in terms of the distribution of weight. And then I tried one, just for the heck of it, that cost $2500. I'm not sure what it was, but it felt incredibly different from the rest. Some of the cost is undoubtedly additional embellishments (like small amounts of silver and pearl), but a maker who really knows what they are doing can make some incredible, errr, hardware.
I agree that this seems overblown. What the law prevents people from doing is calling up a repair shop to provide evidence; so the local police or a disgruntled ex can't say "undelete these files for me" unless the person doing so is a licensed PI. Seems reasonable, as the technician then has some credibility. Otherwise, could you imagine calling your average Geek Squad teenager to the stand to testify about how he found E-mails from your ex-wife to her lover?
My bet is that some small shop misinterpreted the new law, complained to the local CW TV station, who sent their very best intern (yes, the original article was written by an intern, and picked up with apparently minimal research by Gearlog and PC Magazine). The intern listened to the irate (and misinformed) shop owner, typed it up, and here we have it.
Nothing to see here, move along.
BTW, nice attempt at that "carefully hand crafted computer, made by artisans who trained for decades" canard. Apple is as mass produced as every other product out there (exploding batteries, anyone?). What IS different is that Apple manages to get at least 50% profit out of everything they make.
One major difference between Apple and other vendors is that Apple's design work is done in California, not China. Many other vendors either have their engineers located in China, or they just buy designs from a contract manufacturer. For better or worse, a Chinese engineer is cheaper than an American one.
There's also a lot of engineering work that goes into qualifying parts, such as RAM or hard drives. I know because I used to perform such work; I'd be given a system and a DIMM, and I'd have to create a lengthy report comparing the new DIMM to the previously-qualified ones. I'd start by running simulations, checking for timing violations (signals arriving too early or late), overshoot (exceeding dynamic voltage limits), knees (non-monotonic behavior during transitions), and any other specifications that might exist for the components in question. All those simulations have to be performed in both directions (read and write), for three drive strengths (minimum, typical, and maximum), for every single signal on the DIMM, to multiple destinations; depending on the type of DIMM, control and data signals will travel to several (or all) chips.
OK, now after the simulation comes the real testing; I'd select the worst signals (as determined from simulation) and verify the measurements from the simulations with a high-speed oscilloscope. With timing specifications diving down into the hundreds of picoseconds these days, it can be challenging to get accurate measurements. Since this involved some soldering, or scraping off the top layer of the PCB to get access to traces. Since most memory uses BGA chips now (which means there are no exposed pins to solder to), finding a good place to measure from becomes even more challenging.
And, on top of that, there's functional testing to be performed; we'd take a batch of systems, put them in a heavy-duty memory stress test, load them into a thermal chamber, and cycle them between high and low temperature (over a range of maybe 65 C/149 F) for many hours.
Just because memory says it conforms to a PC-whatever spec doesn't mean they've tested it thoroughly, and certainly not with your particular computer model. That just means some board manufacturer bought some chips, slapped together a PCB design, ran it through a software RAM tester (which, incidentally, suck - a dedicated hardware RAM tester will catch errors about 20 times more often), and declared it fit for consumption. More than once, I encountered a DIMM where the chips were good quality (like Micron or Samsung), but the PCB itself caused failures. Luckily, most vendors were happy to make changes to prevent these failures.
In another job, I worked at an Apple Authorized Service Provider. I saw more bad RAM than I'd care to admit. Apple's was, without a doubt, the most reliable brand; often the chips were from Samsung. Chips from other manufacturers (Elpida comes to mind) failed more often. It got to a point where, just from looking at the chip and PCB manufacturers, I could get a pretty good guess of which DIMMs were bad, and which were fine.
That said, yes, Apple's RAM is incredibly expensive. You could probably survive with cheap RAM if you have a Mac Pro (which uses ECC), but I always buy my RAM from Crucial, which is almost as good as the stuff Apple sells (though maybe not quite as good on the rare occasion that the DIMM is not using Micron chips). You can't go wrong buying the memory from Apple - but you can also save money by buying *quality* third-party memory.
The same logic applies to most other components. You can be assured that what Apple sells you will be well-tested, but you can save money by buying elsewhere. And, in my experienc
And, wow that site went down fast.
Nah, your ISP just sent a RST to both ends as soon as the connection was established.
Typical air conditioning can remove heat from your house with a 30-45% penalty; eg running a 100W appliance might cost another 35W in air conditioning. Incidentally, at least for air conditioning planning, I've seen a human listed as producing about 600 BTUs per hour, or 175 Watts. So your room might be warming up as much from you using the computer as it is from the computer itself.
Also, some people seem surprised that their computer has a 450W power supply even though it is only drawing 150 Watts. This is because a power supply needs to supply the peak power for all accessories that might ever be installed. If you buy a computer from Apple or Dell, the power supply needs to have enough capacity to handle not only what you're getting, plus power for extra hard drives, PCIe cards, USB devices, FireWire devices, and anything else that might be added later. Furthermore, the power budget that they work with during design likely takes into account the maximum power specified for every single chip on the motherboard, even though it is unlikely that any one of them could reach that limit, much less all of them at the same time. The CPU's specifications might require 80W, even if it's only for a few milliseconds, and for the worst combination of operating temperature, manufacturing variance, and CPU load. There's a large margin built in to the design to ensure that your computer's power needs won't exceed what can be supplied.
In my case, my Dual 2.7 GHz PowerMac G5 has a 600W power supply, even though the peak usage I've measured is around 250W. Another 90W or so is reserved for PCI/PCI-X slots that I don't use, plus there's capacity needed for another hard drive, and 4 more sticks of RAM. Add in 15W available for bus power on FireWire, 2.5W for USB bus power... Then there's the difference between the actual sustained peak usage and the specification's instantaneous peak usage, which increases the requirements significantly. Pretty quickly, it adds up to something pretty close to 600 Watts.
I borrowed a Watts Up meter from the local library (the local power company supplies them to area libraries). I'd suggest that those interested in learning about their power consumption check if there is a similar program in your area, or ask if the power company, library, environmental group, or other organization would be interested in starting one. Or, offer to buy one and donate it when you're done, and encourage others to do the same.
If something is optional or not required for the operation of a software package, default to unselected. That's not quite what I'd want. I think it should default to whatever "most users" would want. If it's related to the software being installed but optional, go ahead and leave it as default if it's useful: like plugins, additional media files, large level or graphics files for a game that can load files either from the HD or a CD, whatever you expect to be actively used by your users.
On the other hand, if it's unrelated software, leave it unchecked. If the company only WANTS "most users" to want their software, leave it unchecked.
Basically, checked things should be useful for the main purpose of the program being installed, but you can uncheck them to save hard drive space, or to remove features that not every user will use. Unchecked things should be anything that is there for marketing purposes, or that only a small fraction of users may want.