How is it more convenient to watch video on a computer screen, than in a living room designed specifically around a television set with a large screen ?
Read TFA. What Paul Graham claims doesn't contradict with what you say. Like other posters you fail to realize he isn't talking about the form factor (television set vs. computer with monitor and keyboard). He merely claims that the method of delivery that is replacing the TV is Internet + browser. Just like PVRs that can display YouTube content for example. These devices count as "computers" by Graham's definition.
I don't know of a single person that bought a computer or got internet connectivity because of Facebook.
"Facebook" is Graham's metaphor for social application: email, IM, social web app, online gaming, etc. This use of computers, plus accessing medias: reading blogs, watching shows, listening to music, is exactly what the average compute user does. I regularly read Graham's essays, and frankly one more time I think he is spot on in his analysis.
These two strings walk into a bar and sit down.
The bartender says, So whatll it be?
The first string says, I think Ill have a beer quag fulk boorg jdk^CjfdLk jk3s d#f67howe%^U r89nvy~~owmc63^Dz x.xvcu
Please excuse my friend, the second string says, He isnt null-terminated.
"...both ways !!".
Sorry. Meme reflex.
Seriously man, what you do is impressive. What's funny is that I read/. post at filter level +4 and, beside the funny comments from regular posters, all the insightful comments in that story are from you.
Why doesn't NASA simply use a reverse graviton flux to land the spacecraft without any rocket blowing towards the lunar sand ? Oh wait... you guys haven't discovered yet how to create gravitons right ? Shit. I hope I haven't modified this timeline too much by revealing things you aren't supposed to know. Shitshitshit.
Out of curiosity I just tried out my method with Konqueror 3.5 and Firefox 3, and it works ! I defined a DNS name resolving to 2 A records and simulated HTTP timeouts on my server with iptables. Konqueror will re-request the IP until it finds one that doesn't time out; in fact it always re-request the IP because contrary to what I thought it doesn't implement DNS pinning. Firefox is even more efficient: if the 1st IP times out, it will try to connect to the 2nd (and 3rd, etc) IPs returned in the DNS response without even having to send another DNS request (because it does implement DNS pinning).
Obviously both browsers take some time to detect the timeout, so it is preferable to keep only up-and-running server IPs in the zone file, but I am happy to discover that such a basic HA technique works:)
Has any/.er implemented the following ultra-simple solution to provide HA for websites serving static content: having the website DNS name resolve to 2 IP addresses pointing to 2 different servers, and simply duplicating the static content on the 2 servers ? How do browsers behave when 1 of the server goes down ? Will they automatically try to re-resolve the DNS name and attempt to contact the 2nd IP ? Or is the well-known DNS pinning security feature preventing them from falling back on the 2nd IP ?
I am surprised nobody mentioned it so far, but in my experience Windows 2008 suffers from the same atrocious network performance problems than Vista. DPCs made by the network drivers use too much CPU time when transfering data over a 100Mbps-1Gbps network link. Not sure who is at fault here (the driver or the driver API model ?) but AFAIK this is the reason why Vista throttle network bandwith when an MMCSS application is running: the DPCs use so much CPU time that it affects CPU-intensive media playback...
In theory a BIOS can purposefully refuse to POST if it detects (via the SPD EEPROM) that the type of RAM is ECC, but I have never seen any BIOS do that. What exactly did you notice with Gigabyte motherboards ?
Literally all socket AM2/AM2+ motherboards support unbuffered ECC memory, because the memory bus connects the memory slots directly to the CPU socket, therefore the CPU is the only thing dictating what type of memory is supported. And because all AM2/AM2+ Athlon processors support ECC memory, all AM2/AM2+ motherboards support ECC memory.
The blog post you linked to validates my statement: if parametized queries are not used by a stored procedure, then the code calling that procedure is vulnerable to SQL injection. Duh!
No. Escaping is error-prone as you will invariably fail to escape some special character you don't know about. The right way to fix SQL injection is to use parametrized queries.
The parent poster made a typo in the IEEE project name. It's P1619. Their main full disk encryption spec is XTS-AES, and is currently implemented by the Linux dm-crypt layer (cipher name aes-xts-plain), and by OpenBSD. I have been using it for almost a year on my laptop.
There is absolutely NO reason to use base 10 numbering for computer memory of any kind.
Uh, yes. It's called standardization. Don't modify the meaning of the prefixes to fit whatever you are measuring. If a vendor start selling storage devices internally using base 3, I don't want him to invent a new way of using prefixes ! However it's perfectly ok to create new prefixes, like Mi, Gi, etc.
True, sector remapping is transparent to the OS. But this is a pathological case for arguing whether the disk cache is worth it or not. Most sectors are not remapped.
You are of course correct that if a SAN exports a LUN to an OS, its I/O layer won't know the intricate details of that block device. But this is off-topic, as pretty much all SAN devices implement their own caching layer anyway, the latter is completely independent from the disk caches.
About higher and lower LBA addresses, OSes make the assumptions I was talking about because they are virtually always true. This is why the throughput graph of a hard drive benchmark always looks like a curve that plunges for LBA addresses increasing in value. Disk caches become less and less relevant nowadays especially with NCQ as many benchmarks show.
BTW "elevator" is the name of the I/O scheduler in 2.4 kernels. Yes, in 2.6 they have 4 different scheds with other names.
No, because the OS does not know about the physical layout of sectors on the
disk and the HDD controller does. Therefore, it can reorder requests
appropriately to maximise performance.
Yes the OS does know about the physical location of sectors !
Sectors with lower LBA addresses will be close to the outer cylinders,
and sectors with higher addresses will be close to the inner ones. In the Linux
kernel, the whole point of the I/O scheduler layer is to use that knowledge to
optimize the movement of disk heads. For example the "elevator" scheduler
attempts to move the heads from the outer cylinders, to the inner ones, and
back, etc.
Also, concocting a scenario where a 2nd machine would be restricted to act as the "RAM drive" is a laughable unfair comparison. Obviously combining the 2 machines in 1 is the way to do it.
You haven't checked hardware prices in a while, have you ? A "very expensive" motherboard supporting 8, no wait... 16 RAM slots costs $80 ! Add a single $180 socket F CPU to make use of 8 of these 16 slots, and this is still way below the price of the ANS-9010. Want to add 8 more RAM modules ? Another ANS-9010 will cost $380, or you can pop in a 2nd CPU in that mobo for $180. When I say RAM drives are overpriced, I mean it !
Regarding your comments that "400 MB/s is enough", you are wrong as you are completely ignoring many workloads where the throughput is needed internally to the system. For example, when processing data on the RAM drive itself, when rsyncing files with a remote machine where you need fast internal I/O throughput to compute the MD4 checksum, when searching through GB of data, when re-indexing a database, etc.
1. Find me a motherboard that has 8 RAM slots that doesn't require expensive ECC and/or Registered memory
2. Find me a computer that can boot from it's own RAM drive.
3. Find me a computer that can use a RAM drive that can be persistent through reboots without having to save the contents to something else.
1. Registered DDR2 is much cheaper than this hardware RAM drive based on unbuffered DDR2. Compare 8 2GB modules of reg DDR2 (16GB * $15/GB = $240) vs. this RAM drive + 8 2GB modules of unbuf DDR2 ($379 + 16GB * $10/GB = $539). And for 4GB modules, compare 32GB of reg DDR2 (32GB * $25/GB = $800) vs. RAM drive + 32GB of unbuf DDR2 ($379 + 32GB * $25/GB = $1179). And good luck finding 4GB unbuf modules, they are much less common than 4GB reg DDR2 modules !
2. Buying a RAM drive only to improve boot times is ridiculous. Something a teenager nerd would do to impress his friends. People who actually need (not want) data stored in RAM (whether it is a RAM drive or system RAM) usually do it for, you know, improve the perf of/O intensive applications.
3. As explained by the GP, this is already how the buffercache works on Linux: the kernel uses (very efficiently) system RAM to cache filesystem data, and will automatically cache more and more data as the system is used after a cold boot. Maybe you just don't realize how efficient this is. When launching OpenOffice on my Linux workstation, the first time is really slow (cold cache), but the 2nd, 3rd, etc, times, it hardly generates any disk I/O activity.
Not to mention that hardware RAM drives have laughable throughput speeds: 400 MB/s for the one reviewed in TFA, compared to 12800 MB/s or 10667 MB/s for standard system DDR2-800 or DDR2-667. I totally agree with the GP, what's the point of putting memory modules behind a slow I/O interface, with all the SATA protocol overhead ? What's the point of absolutely trying to prevent the OS from using these RAM modules as standard system RAM ? Just put the damn things in the motherboard's memory slots and let my OS use them as I want: system RAM, buffercache, software RAM drive, etc.
You are wrong. Because any decent hard drive encryption solution will
not use the password to directly encrypt the sectors. They will use it
to encrypt one ore more master keys which will then be used to encrypt sectors.
For example dm-crypt/LUKS works that way (up to 7 master keys), as well as
TrueCrypt. They do that precisely to render all the data inaccessible by simply
wiping the master key. Another advantage of this technique is that the user can
change her password at anytime without having to re-encrypt the whole disk (the
app just re-encrypts the master key).
So the GP is right: use disk encryption instead of relying on
time-wasting/manual/unreliable data wiping !
Intel doesn't have to do any innovation at all to beat these chips, all it has to do is drop the prices on current Core 2 quads
And what makes you think only Intel can drop prices ? The numerous price wars of
the past prove that the 2 processor manufactures tend to be very reactive to
each other's price changes.
Also, while it is true that Core 2 is overall somewhat faster than Phenom II on
a per-clock basis, as of today Phenom II is faster than Core 2 on a
per-dollar basis for CPUs under $300. That's the only thing that matters to
most buyers because this price range represents 90+% of the market. Of course
it would be nice if AMD could compete in the high-end market, but it's pretty
obvious that AMD made a good decision to outperform Intel in that end of the market.
Read TFA. What Paul Graham claims doesn't contradict with what you say. Like other posters you fail to realize he isn't talking about the form factor (television set vs. computer with monitor and keyboard). He merely claims that the method of delivery that is replacing the TV is Internet + browser. Just like PVRs that can display YouTube content for example. These devices count as "computers" by Graham's definition.
"Facebook" is Graham's metaphor for social application: email, IM, social web app, online gaming, etc. This use of computers, plus accessing medias: reading blogs, watching shows, listening to music, is exactly what the average compute user does. I regularly read Graham's essays, and frankly one more time I think he is spot on in his analysis.
These two strings walk into a bar and sit down.
The bartender says, So whatll it be?
The first string says, I think Ill have a beer quag fulk boorg jdk^CjfdLk jk3s d#f67howe%^U r89nvy~~owmc63^Dz x.xvcu
Please excuse my friend, the second string says, He isnt null-terminated.
"...both ways !!". /. post at filter level +4 and, beside the funny comments from regular posters, all the insightful comments in that story are from you.
Sorry. Meme reflex.
Seriously man, what you do is impressive. What's funny is that I read
Why doesn't NASA simply use a reverse graviton flux to land the spacecraft without any rocket blowing towards the lunar sand ? Oh wait... you guys haven't discovered yet how to create gravitons right ? Shit. I hope I haven't modified this timeline too much by revealing things you aren't supposed to know. Shitshitshit.
Out of curiosity I just tried out my method with Konqueror 3.5 and Firefox 3, and it works ! I defined a DNS name resolving to 2 A records and simulated HTTP timeouts on my server with iptables. Konqueror will re-request the IP until it finds one that doesn't time out; in fact it always re-request the IP because contrary to what I thought it doesn't implement DNS pinning. Firefox is even more efficient: if the 1st IP times out, it will try to connect to the 2nd (and 3rd, etc) IPs returned in the DNS response without even having to send another DNS request (because it does implement DNS pinning). Obviously both browsers take some time to detect the timeout, so it is preferable to keep only up-and-running server IPs in the zone file, but I am happy to discover that such a basic HA technique works :)
Has any /.er implemented the following ultra-simple solution to provide HA for websites serving static content: having the website DNS name resolve to 2 IP addresses pointing to 2 different servers, and simply duplicating the static content on the 2 servers ? How do browsers behave when 1 of the server goes down ? Will they automatically try to re-resolve the DNS name and attempt to contact the 2nd IP ? Or is the well-known DNS pinning security feature preventing them from falling back on the 2nd IP ?
I am surprised nobody mentioned it so far, but in my experience Windows 2008 suffers from the same atrocious network performance problems than Vista. DPCs made by the network drivers use too much CPU time when transfering data over a 100Mbps-1Gbps network link. Not sure who is at fault here (the driver or the driver API model ?) but AFAIK this is the reason why Vista throttle network bandwith when an MMCSS application is running: the DPCs use so much CPU time that it affects CPU-intensive media playback...
Because, you know, malware sending spams looking as if they came from your acquaintances do not exist at all.
At least he is doing better than his wife.
In theory a BIOS can purposefully refuse to POST if it detects (via the SPD EEPROM) that the type of RAM is ECC, but I have never seen any BIOS do that. What exactly did you notice with Gigabyte motherboards ?
Literally all socket AM2/AM2+ motherboards support unbuffered ECC memory, because the memory bus connects the memory slots directly to the CPU socket, therefore the CPU is the only thing dictating what type of memory is supported. And because all AM2/AM2+ Athlon processors support ECC memory, all AM2/AM2+ motherboards support ECC memory.
The blog post you linked to validates my statement: if parametized queries are not used by a stored procedure, then the code calling that procedure is vulnerable to SQL injection. Duh!
No. Escaping is error-prone as you will invariably fail to escape some special character you don't know about. The right way to fix SQL injection is to use parametrized queries.
RTFA that's the point ! They are building this supercomputer to run Excel 2012.
The parent poster made a typo in the IEEE project name. It's P1619. Their main full disk encryption spec is XTS-AES, and is currently implemented by the Linux dm-crypt layer (cipher name aes-xts-plain), and by OpenBSD. I have been using it for almost a year on my laptop.
Uh, yes. It's called standardization. Don't modify the meaning of the prefixes to fit whatever you are measuring. If a vendor start selling storage devices internally using base 3, I don't want him to invent a new way of using prefixes ! However it's perfectly ok to create new prefixes, like Mi, Gi, etc.
True, sector remapping is transparent to the OS. But this is a pathological case for arguing whether the disk cache is worth it or not. Most sectors are not remapped.
You are of course correct that if a SAN exports a LUN to an OS, its I/O layer won't know the intricate details of that block device. But this is off-topic, as pretty much all SAN devices implement their own caching layer anyway, the latter is completely independent from the disk caches.
About higher and lower LBA addresses, OSes make the assumptions I was talking about because they are virtually always true. This is why the throughput graph of a hard drive benchmark always looks like a curve that plunges for LBA addresses increasing in value. Disk caches become less and less relevant nowadays especially with NCQ as many benchmarks show.
BTW "elevator" is the name of the I/O scheduler in 2.4 kernels. Yes, in 2.6 they have 4 different scheds with other names.
Yes the OS does know about the physical location of sectors ! Sectors with lower LBA addresses will be close to the outer cylinders, and sectors with higher addresses will be close to the inner ones. In the Linux kernel, the whole point of the I/O scheduler layer is to use that knowledge to optimize the movement of disk heads. For example the "elevator" scheduler attempts to move the heads from the outer cylinders, to the inner ones, and back, etc.
This brought a tear to my cheek. Thank you !
- Steve Jobs
Also, concocting a scenario where a 2nd machine would be restricted to act as the "RAM drive" is a laughable unfair comparison. Obviously combining the 2 machines in 1 is the way to do it.
You haven't checked hardware prices in a while, have you ? A "very expensive" motherboard supporting 8, no wait... 16 RAM slots costs $80 ! Add a single $180 socket F CPU to make use of 8 of these 16 slots, and this is still way below the price of the ANS-9010. Want to add 8 more RAM modules ? Another ANS-9010 will cost $380, or you can pop in a 2nd CPU in that mobo for $180. When I say RAM drives are overpriced, I mean it !
Regarding your comments that "400 MB/s is enough", you are wrong as you are completely ignoring many workloads where the throughput is needed internally to the system. For example, when processing data on the RAM drive itself, when rsyncing files with a remote machine where you need fast internal I/O throughput to compute the MD4 checksum, when searching through GB of data, when re-indexing a database, etc.
1. Registered DDR2 is much cheaper than this hardware RAM drive based on unbuffered DDR2. Compare 8 2GB modules of reg DDR2 (16GB * $15/GB = $240) vs. this RAM drive + 8 2GB modules of unbuf DDR2 ($379 + 16GB * $10/GB = $539). And for 4GB modules, compare 32GB of reg DDR2 (32GB * $25/GB = $800) vs. RAM drive + 32GB of unbuf DDR2 ($379 + 32GB * $25/GB = $1179). And good luck finding 4GB unbuf modules, they are much less common than 4GB reg DDR2 modules ! /O intensive applications.
2. Buying a RAM drive only to improve boot times is ridiculous. Something a teenager nerd would do to impress his friends. People who actually need (not want) data stored in RAM (whether it is a RAM drive or system RAM) usually do it for, you know, improve the perf of
3. As explained by the GP, this is already how the buffercache works on Linux: the kernel uses (very efficiently) system RAM to cache filesystem data, and will automatically cache more and more data as the system is used after a cold boot. Maybe you just don't realize how efficient this is. When launching OpenOffice on my Linux workstation, the first time is really slow (cold cache), but the 2nd, 3rd, etc, times, it hardly generates any disk I/O activity.
Not to mention that hardware RAM drives have laughable throughput speeds: 400 MB/s for the one reviewed in TFA, compared to 12800 MB/s or 10667 MB/s for standard system DDR2-800 or DDR2-667. I totally agree with the GP, what's the point of putting memory modules behind a slow I/O interface, with all the SATA protocol overhead ? What's the point of absolutely trying to prevent the OS from using these RAM modules as standard system RAM ? Just put the damn things in the motherboard's memory slots and let my OS use them as I want: system RAM, buffercache, software RAM drive, etc.
You are wrong. Because any decent hard drive encryption solution will not use the password to directly encrypt the sectors. They will use it to encrypt one ore more master keys which will then be used to encrypt sectors. For example dm-crypt/LUKS works that way (up to 7 master keys), as well as TrueCrypt. They do that precisely to render all the data inaccessible by simply wiping the master key. Another advantage of this technique is that the user can change her password at anytime without having to re-encrypt the whole disk (the app just re-encrypts the master key).
So the GP is right: use disk encryption instead of relying on time-wasting/manual/unreliable data wiping !
"My wifi card goes to 14."
And what makes you think only Intel can drop prices ? The numerous price wars of the past prove that the 2 processor manufactures tend to be very reactive to each other's price changes.
Also, while it is true that Core 2 is overall somewhat faster than Phenom II on a per-clock basis, as of today Phenom II is faster than Core 2 on a per-dollar basis for CPUs under $300. That's the only thing that matters to most buyers because this price range represents 90+% of the market. Of course it would be nice if AMD could compete in the high-end market, but it's pretty obvious that AMD made a good decision to outperform Intel in that end of the market.