While that seems entertaining, why don't we all just write in saying "I also play violent video games and have a clean criminal history" (those of us for whom its true at least) to our local media outlets?
Basically, I'm not sure that people do the math on this -- a million copies of a shooter sell, and someone goes and kills people. One in a million. Isn't that better odds than using a motor vehicle?
What with the 'freedom fries' kick Americans went on and the fact that the French navy uses 'Colbert' in their naming so much, I'm pretty sure that's a "-1 foreign" rating from Nasa.
Kopete for example is moronic and manages to lose ALL my settings on a regular basis if I don't close it out nicely or if I run out of space on/home for it to write new settings.
The old settings were on disk, why are the new ones blank? Yeah. That's without a crash.
The rename/isn't/ happening before the data is written, unless you replay the journal, and you're not journaling data.
If you think about that, it makes perfect sense.
The rename is NOT happening on disk before the data is written to disk if the system is running normally.
If the system crashes, the log replay may rename the file without data because you're logging metadata (like renames) not data. Just turn on data logging and you'll be fine.
There are mount options to make EXT4 behave the way you want for all applications. This is another good reason not to use one big filesystem for your whole disk.
My mail server has separate LVM mounts for the mail queue, the IMAP storage, the root partition, the logs,/var/lib, local and home so they can be mounted with different options (and independently grown as necessary).
On a home PC, this might mean mounting your/home directory with "just write it now, seriously" while/tmp and/var is more lax.
Don't tell me how to get somewhere faster, tell me why I shouldn't be legally allowed to drive faster, that's the issue at question here.
Autobahn. AUTOBAHN.
Anyway, you're driving a 20 year old car, so don't drive the speed limit. God forbid the speed limit be an actual upper limit on the safe speed for a given road. People treat the speed limit like an average or target because its so obviously low in most cases.
Even old ladies with poor eyesight and bad brakes feel comfortable driving the speed limit on most highways.
If it were done properly, speed limits would be an actual limit that is well-designed and cognisant of all factors and not aimed at the lowest common denominator but fair to most drivers. If you're not comfortable or capable of driving at the speed limit, you should drive below it, simple as that.
I'm from Canada, and when there's fresh snow in the winter, people who don't slow down appropriately (below the speed limits) get into accidents. Should the limits all be reduced to reflect the possibility of winter ice? Of course not, we'd have 15km/h speed limits on major highways.
Rather, the province of Quebec mandated winter tires for winter driving, to make it safer. Ontario is considering the same.
Your car should be road worthy, period. If its not safe to drive at a given speed, don't, but leave the law out of it.
IANAL but licenses don't legally exist without a contract. The only reason ANY of these licenses work is because Copyright prevents any legal misunderstandings. That is to say, nobody at IBM could claim they thought they had the right to poach Apache's source code from you because Copyright would otherwise prevent it. The license gives them a loophole and they implicitly accept that license by virtue of not wanting to break the law.
The BSD license simply wouldn't be implied or accepted either if Copyright didn't exist. Code would all be Public Domain, and there'd be no way to enforce any rules at all without signed contracts by all parties.
If you read the comments on Slashdot, you'll find that's advice that passes right over the lazy heads of the average lay person here, and a few professional programmers too.
Making the OS decide which data needs to be fsync'd when is just silly. When to sync the data I'm copying off my memory card vs. the blocks coming in from BitTorrent vs. the temp files my Java game uses is stochastic and arbitrary, and if one of those apps knows its data needs to be preserved because its irreplaceable, it ought to fsync() it.
Without write-back (that's delaying writes until later and keeping them in a cache), you lose elevator sorting. No elevator sorting makes heavy drive usage ridiculously slower than with.
You can't re-sort and organize your disk activity without the ability to delay the data in a pool.
The difference between EXT3 and EXT4 is not whether the data gets written immediately -- neither do that. The difference is how long they wait. EXT4 finally gives major power preservation by delaying writes until necessary so my laptop hard drive doesn't spin up for brief moments of unnecessary disk activity all the time.
You want your data written synchronously? Just mount your filesystem with 'sync' and its all done for you. No problem, no bug.
First off, what we're talking about here is dealing with computer _crashes_, not standard operations.
This is not an issue of the file system doing anything wrong, this is a case of the computer hardware or user doing something wrong (like unplugging it instead of shutting it down).
Next, this is an issue that can be entirely addressed properly with a cron job that runs 'sync' every so often to commit data to disk.
Also note, this is moronic -- performance and battery life are what they're trying to address, whether the data needs to be committed immediately or not is something the application is supposed to tell the system.
Do you have any idea how many files my system writes out and subsequently deletes on a regular basis? None of them needed to be committed to disk, ever.
You don't risk any data loss, ever, if you shut down your system properly. The system will sync the data to disk as expected and everything will be peachy. You risk data loss if you lose power or otherwise shut down at an inopportune time and the data hasn't been sync'd to disk yet.
That is to say, 99% of people who use their computers properly won't have a problem.
Also note, the software you use should be doing something like:
loop: write some data, write some more data, finish writing data, fsync the data.
The problem here is that the program is doing the "writing" part and because of how caching and delayed writes work (without which, your computer would crawl), the data isn't written to disk _yet_ but will be, eventually.
Old software assumed the data would be written soon. With Ext4 its possible it won't be written until much much later for performance and power benefits.
PS you can just open a terminal window and type "sync" at any time to flush the data to disk on your system. I'm sure someone could write a tray icon that does the same in 30 seconds.
So you fail to understand how much safety progress has been made in modern vehicles? Or you fail to notice that the speed limit increase caused accident rates to drop where implemented?
At least you're wise enough to stay off the highway, people with a bad attitude cause a lot of accidents. I'd much rather have someone speed past me than sit in the fast lane limiting because they feel like it and don't care about the people around them.
That's like the old "men have more accidents than women" statistics, but at the time (the mid 90's when I checked), the women had more accidents per mile driven than the men. Of course, your insurance company only cares about your per-year accidents, and not at all about how much you drive.
Driving safely at very high speeds is not only possible, its done every day on certain stretches of the Autobahn. Speaking of the summary specifically, 75mph is the speed limit in certain areas in Michigan, and not speeding.
People in Europe will know very well that you can safely drive over 100mph on the highway under the right conditions. Driving appropriately to the conditions is the key, not some set speed limit you think is safe.
Now granted, there aren't many unlimited speed highways in the world, but the Autobahn tracks its accident rates, and they're very good in comparison to lower speed highways.
Michigan raised interstates to 75mph from 55mph and actually had a lower accident rate as a result.
Common sense isn't the issue -- facts are -- and the facts say that speed isn't the problem. The driver is.
What you're experiencing is being part of a younger industry than writers. Writers have been around a lot longer, and in the modern era of mass redistribution, have come up with pretty good guild rules and some good collective bargaining too.
If programmers got together, we'd come up with some silly way to give our code away and not get paid at all instead... oh wait, never mind.
In all honesty, I think modern Copyright rules suck, and I think Free Software is awesome, but of course the latter is dependant on the former -- so I'm of two minds I suppose.
That said, what you need is a better collective bargaining agreement as part of the "guild of software whozits" that gets you paid residuals from redistribution of your work. You don't have such a contract, and writers often do.
Intel has a lot of patents that essentially cover the implementation of x86 in any meaningful way. The way x86-64 was strapped onto x86 is on the other hand owned by AMD.
They play nicely, and they both get to use each others' innovations.
As the old tagline from 'Heat.net' went, "kill pixels, not people."
Those were the days.
While that seems entertaining, why don't we all just write in saying "I also play violent video games and have a clean criminal history" (those of us for whom its true at least) to our local media outlets?
Basically, I'm not sure that people do the math on this -- a million copies of a shooter sell, and someone goes and kills people. One in a million. Isn't that better odds than using a motor vehicle?
What with the 'freedom fries' kick Americans went on and the fact that the French navy uses 'Colbert' in their naming so much, I'm pretty sure that's a "-1 foreign" rating from Nasa.
I noticed too. Its irony.
So you're saying Windows Vista's codename was really "Thetan"?
I've never ever used A4 sized paper. 8x5"x11" only up here in Canada. From time to time I've also used "legal" which is 8.5"x14".
I also do business printing, for which we have a variety of wider paper formats, but none standard for printing normally.
Kopete for example is moronic and manages to lose ALL my settings on a regular basis if I don't close it out nicely or if I run out of space on /home for it to write new settings.
The old settings were on disk, why are the new ones blank? Yeah. That's without a crash.
Do I blame application authors? You bet I do.
The rename /isn't/ happening before the data is written, unless you replay the journal, and you're not journaling data.
If you think about that, it makes perfect sense.
The rename is NOT happening on disk before the data is written to disk if the system is running normally.
If the system crashes, the log replay may rename the file without data because you're logging metadata (like renames) not data. Just turn on data logging and you'll be fine.
There are mount options to make EXT4 behave the way you want for all applications. This is another good reason not to use one big filesystem for your whole disk.
My mail server has separate LVM mounts for the mail queue, the IMAP storage, the root partition, the logs, /var/lib, local and home so they can be mounted with different options (and independently grown as necessary).
On a home PC, this might mean mounting your /home directory with "just write it now, seriously" while /tmp and /var is more lax.
My hourly rate minus taxes vs. the chinese kid who assembles these things, plus taxes.
I'd rather work an hour of overtime here and there, enjoy my time off and pay for the solar panels.
Don't tell me how to get somewhere faster, tell me why I shouldn't be legally allowed to drive faster, that's the issue at question here.
Autobahn. AUTOBAHN.
Anyway, you're driving a 20 year old car, so don't drive the speed limit. God forbid the speed limit be an actual upper limit on the safe speed for a given road. People treat the speed limit like an average or target because its so obviously low in most cases.
Even old ladies with poor eyesight and bad brakes feel comfortable driving the speed limit on most highways.
If it were done properly, speed limits would be an actual limit that is well-designed and cognisant of all factors and not aimed at the lowest common denominator but fair to most drivers. If you're not comfortable or capable of driving at the speed limit, you should drive below it, simple as that.
I'm from Canada, and when there's fresh snow in the winter, people who don't slow down appropriately (below the speed limits) get into accidents. Should the limits all be reduced to reflect the possibility of winter ice? Of course not, we'd have 15km/h speed limits on major highways.
Rather, the province of Quebec mandated winter tires for winter driving, to make it safer. Ontario is considering the same.
Your car should be road worthy, period. If its not safe to drive at a given speed, don't, but leave the law out of it.
IANAL but licenses don't legally exist without a contract. The only reason ANY of these licenses work is because Copyright prevents any legal misunderstandings. That is to say, nobody at IBM could claim they thought they had the right to poach Apache's source code from you because Copyright would otherwise prevent it. The license gives them a loophole and they implicitly accept that license by virtue of not wanting to break the law.
The BSD license simply wouldn't be implied or accepted either if Copyright didn't exist. Code would all be Public Domain, and there'd be no way to enforce any rules at all without signed contracts by all parties.
If you read the comments on Slashdot, you'll find that's advice that passes right over the lazy heads of the average lay person here, and a few professional programmers too.
Real solution is more like VIM:
fwrite("oldfilename.dat~");
fclose();
rename("oldfilename.dat~", "oldfilename.dat");
fsync();
exit();
Making the OS decide which data needs to be fsync'd when is just silly. When to sync the data I'm copying off my memory card vs. the blocks coming in from BitTorrent vs. the temp files my Java game uses is stochastic and arbitrary, and if one of those apps knows its data needs to be preserved because its irreplaceable, it ought to fsync() it.
Without write-back (that's delaying writes until later and keeping them in a cache), you lose elevator sorting. No elevator sorting makes heavy drive usage ridiculously slower than with.
You can't re-sort and organize your disk activity without the ability to delay the data in a pool.
The difference between EXT3 and EXT4 is not whether the data gets written immediately -- neither do that. The difference is how long they wait. EXT4 finally gives major power preservation by delaying writes until necessary so my laptop hard drive doesn't spin up for brief moments of unnecessary disk activity all the time.
You want your data written synchronously? Just mount your filesystem with 'sync' and its all done for you. No problem, no bug.
"mount -o remount,sync /dev/sda1 /" all done.
That's essentially how Reiser4's wandering logs work at a lower level. Not that anyone cares.
First off, what we're talking about here is dealing with computer _crashes_, not standard operations.
This is not an issue of the file system doing anything wrong, this is a case of the computer hardware or user doing something wrong (like unplugging it instead of shutting it down).
Next, this is an issue that can be entirely addressed properly with a cron job that runs 'sync' every so often to commit data to disk.
Also note, this is moronic -- performance and battery life are what they're trying to address, whether the data needs to be committed immediately or not is something the application is supposed to tell the system.
Do you have any idea how many files my system writes out and subsequently deletes on a regular basis? None of them needed to be committed to disk, ever.
You don't risk any data loss, ever, if you shut down your system properly. The system will sync the data to disk as expected and everything will be peachy. You risk data loss if you lose power or otherwise shut down at an inopportune time and the data hasn't been sync'd to disk yet.
That is to say, 99% of people who use their computers properly won't have a problem.
Also note, the software you use should be doing something like:
loop: write some data, write some more data, finish writing data, fsync the data.
The problem here is that the program is doing the "writing" part and because of how caching and delayed writes work (without which, your computer would crawl), the data isn't written to disk _yet_ but will be, eventually.
Old software assumed the data would be written soon. With Ext4 its possible it won't be written until much much later for performance and power benefits.
PS you can just open a terminal window and type "sync" at any time to flush the data to disk on your system. I'm sure someone could write a tray icon that does the same in 30 seconds.
The POSIX standard is just fine. The problem is application assumptions that aren't up to snuff.
Read the qmail source code sometime. Every time the author wants to assure himself that data has been written to the disk, it calls fsync.
If you don't, you risk losing data. Plain and simple.
You brake earlier, of course. Duh.
The problem is the driver's ability to drive the conditions, not the speed itself.
So you fail to understand how much safety progress has been made in modern vehicles? Or you fail to notice that the speed limit increase caused accident rates to drop where implemented?
At least you're wise enough to stay off the highway, people with a bad attitude cause a lot of accidents. I'd much rather have someone speed past me than sit in the fast lane limiting because they feel like it and don't care about the people around them.
They also drive the most.
That's like the old "men have more accidents than women" statistics, but at the time (the mid 90's when I checked), the women had more accidents per mile driven than the men. Of course, your insurance company only cares about your per-year accidents, and not at all about how much you drive.
Driving safely at very high speeds is not only possible, its done every day on certain stretches of the Autobahn. Speaking of the summary specifically, 75mph is the speed limit in certain areas in Michigan, and not speeding.
No offence longacre, but you just can't drive.
People in Europe will know very well that you can safely drive over 100mph on the highway under the right conditions. Driving appropriately to the conditions is the key, not some set speed limit you think is safe.
Now granted, there aren't many unlimited speed highways in the world, but the Autobahn tracks its accident rates, and they're very good in comparison to lower speed highways.
Michigan raised interstates to 75mph from 55mph and actually had a lower accident rate as a result.
Common sense isn't the issue -- facts are -- and the facts say that speed isn't the problem. The driver is.
What you're experiencing is being part of a younger industry than writers. Writers have been around a lot longer, and in the modern era of mass redistribution, have come up with pretty good guild rules and some good collective bargaining too.
If programmers got together, we'd come up with some silly way to give our code away and not get paid at all instead ... oh wait, never mind.
In all honesty, I think modern Copyright rules suck, and I think Free Software is awesome, but of course the latter is dependant on the former -- so I'm of two minds I suppose.
That said, what you need is a better collective bargaining agreement as part of the "guild of software whozits" that gets you paid residuals from redistribution of your work. You don't have such a contract, and writers often do.
Intel has a lot of patents that essentially cover the implementation of x86 in any meaningful way. The way x86-64 was strapped onto x86 is on the other hand owned by AMD.
They play nicely, and they both get to use each others' innovations.