The Ariane 5 can lift 6 tons, the Proton can lift 22 tons. The Ariane is big, but the Russians have some huge rockets. The Zenit lifts 15 tons, the Soyuz 7.5 tons...
I seem to recall hearing that Russia was having big financial problems with their space program, and that if they didn't scrape up funding in some form, that it may adversely impact the long term construction plans for the ISS over the next few years.
The cheapest and best solution is probably to just fund the Russian space program. They already have dependable large rockets. It would be much more expensive to revive that kind of program in the US. If we decided to kick in more Europe might be convinced to do it too, especially if they could get the designs of Russia's rockets, since Europe only has smaller rockets.
Japan has a very small program, they want to create a larger space program but they are in a deep 10 year depression with no end in sight. We could also adapt the Russian engine designs for the shuttles to lift larger payloads. I've read their engines are at least 10% more efficient, but they use much cheaper fuel so some re-engineering would have to happen for them to work with our stuff. Cheapest solution is to fund the Russians esp. if we can get the Europeans to pick up most of the tab in exchange for technology.
It's also good from a world peace standpoint to keep rocket builders employed in Russia.
Japan will at some point develop a space program, but it won't be fast tracked unless it really has to be (say if they feel they need to build tactical nuclear weapons, which they are severely antogonistic toward for all kinds of reasons.)
Given that the B-2 didn't fly until 1989, I'd drop that estimate down to 13 years.
Nah, I had model airplane of the B-2 in 1986. It was sold as the speculated design of the B-2, but it looked exactly like the plane you saw on TV in 1989. I think that was just the year they first tried to move it from the secret budget to the public one. And, when we all realized we were paying 2,000,000,000 a pop for those things. I think I didn't see one physically until early 1988 or so; I lived near an Air Force base though.
Where does someone get stats on "exact same crimes" differentiated only by poor vs rich?
There is a law school (I think in Michigan) that has analysed this for murder cases. There are also various studies done by Social Science schools. Those don't actually look at every case, but instead sample the population. I tend to yawn when one of these studies comes out, who really thinks that a white kid gets the same punishment for drug use or petty crime as a black kid? Who thinks that a competent defence lawyer has no effect on your chances of a lesser sentence?
But if the solutions were simple then we'd have already implemented them, juries discriminate, what can you do if they don't even know they are prejudiced? Prosecuters treat people differently, what can you do? How can you can ensure everyone gets a good lawyer? If you give everyone a state supported lawyer, you would probably have even less justice since a really good lawyer can change the interpretation of the law so that everyone accused of a crime benefits, and we already know state supported lawyers can't represent their clients very well. (They aren't all or even mostly bad, but they have large caseloads so they can't spend the time needed. I'm not talking about pro-bono work where a for pay lawyer takes a case on a no pay basis, this wouldn't exist in a all state supported system. At least as that system exists today and probably would in the future.)
I'm very pessimistic this system will ever be reformed. Those that get bad results usually lose their right to vote, and those who get good results won't have as much reason to force reform. And, most of are lucky enough to never be accused of a crime.
As for Lucky, he might get some support from non-Microsoft owned companies if he has to fight for his patents.
Lots of people on the Cooker list were calling for Bugzilla, but the developers insisted that the mailing list works just fine. Can anyone tell us if they've come to their senses? If not, the heck with 'em.
They have bugzilla now. I tested rc2 & rc3 this time around, and while the cooker mailing list had way too much traffic for me to keep up, they fixed most the bugs I complained about. Most serious was the inability to run the drak tools and urpmi...which they fixed. There were some little things, and the kernel was also unstable on my laptop. This they didn't fix but the linus kernel works, so I just switched to that.
I think they should have done a couple more release candidates, but I'm gonna test some of the beta's next time around so they at least get urpmi problems fixed before the rc's go out.
I like the decisions they made with the UI, I reconfigure the menu anyway so it's good to have every app there to begin with. I also install all the non-server packages since there is plenty of space and it saves me the effort of installing the things I need later. But, I know a co-worker that would have just prefered starting with that what do you want to do today menu they added; he's a business guy who hasn't tried Linux in a couple years so he's prolly as close to that mythical "regular user" as you're gonna get. He doesn't need 7 terminals, while I use 4 of them regularly.
First off what rocket scientist decided to install Windows 2000 on these computers!! I can't even keep that thing secure long enough to install the securty patches half the time. The fact that it's Microsoft's most stable OS is cold comfort. And how are they going to code review 1 million+ lines of sloppy C & C++ code for just 5 billion dollars? Oh, I guess their not:/
Second, what kind of idiot is sending Word attachments in e-mail? Shouldn't they be fired on general principle? (Wordstar 5.2 kicks ass BTW, most productive small document word processor ever. For books, math, journal papers latex is of course king with it's infinte macro and formatting abilities.)
Third, what's wrong with 2 computers? And why doesn't the guy in the picture have a KVM? If Wal-Mart can sell a computer for $199, couldn't the Navy buy in enough volume to get a better price? Two computers also means one could be connected to the internet for doing research, while the other machine is only attacked by those who have already made their way onto the navy network, which could be entirely seperate without even a web proxy, since everyone has an internet computer on their desk.
And again Windows 2000! do they want Mr. Osama to have control of 5000 nuclear warheads just to subsidize some convicted criminal?!?!
I used to be one of those people who thought those anti-globalization protesters were just treehugging tenderhearts looking for something to do. Mostly because I'm for free trade on principle. But then I realized how our farm subsidies caused starvation in poorer countries by destroying local food production industries. But our attack on those countries industrial sector with IP laws is part of the same picture.
The IMF orders those same third world countries we dump our subsidized food into on good years to stop helping local farmers buy chickens with something as simple as insurance that if the chick they buy doesn't become a 1 year old chicken it will be replaced. Then the free trade negotiators show up and tell them they can get rid of that 33% tariff on the president's widgets if he will just get rid of that tariff that protects his countries maize production and well prevents his family's competitors from coming out with better widgets by making those patent laws stronger, err in line with American standards.
What does it mean when we complain about a 55 year copyright in Taiwan, which hasn't even been around that long, much less democratic in that time? They are in line with international standards, and have trouble policing such an overlong copyright already, much less the kind of permanent monopoly the US wants them to establish on words.
PS As I understand it the farm subsidies are even worse in the EU, esp France, and this is causing problems with Eastern European countries who wouldn't get the subsidies if they joined the EU. This is from the economist which isn't an unbiased source; is it true?
No, look swapping is not the same as virtual memory. Virtual memory is useful even in the absence of any disk or swap space at all.
I wasn't clear enough, I see 0% chance that virtual memory will disappear from Linux because it provides protection from one application playing with another's memory.
I do fear for swapping, but only years from now when it's not so common. I do not fear for the loss of MMU support including virtual memory.
It isn't clear this is what I'm saying from that post, but if you read what I said before I think it's clear. I was agreeing with you on the point of virtual memory not being a big deal, but adding that swapping was in dirge territory on the modern systems that will benefit from upping HZ. Your original comment on swapping is what inspired me to write the comment, cuz I thought you were making the point that it's not a performance loss to use virtual memory even if you never swap, while my point on swapping had nothing to do with performance, but code maintinance. If an signal never fires who cares how long it takes to handle it after all.
If you have to do any swapping to disk I don't care how much you try to tune HZ, you need to buy more memory or run fewer apps to get a snappier system.
But enough on this point, it's tangental and I think I agree with everything you said in this last comment without exception.
Not really. The great thing about turbines is that you can run them really hot. The bad thing is they are fragile to shocks. You run these things either at the limit of your metals or use something inherently fragile like ceramics(experimentally at least). This allows you to get a big temperature difference, which means lots of energy can be extracted (at least that's what all those thermodynaics equations seemed to be about.)
If you tried to run it direct to the wheels you'd probably have to run it so cool that any energy efficiencies would be lost. You also wouldn't get the acceleration you can get by putting electric motors under every car in the train, powered by single lightweight generator car.
True, but if people stop even creating swap partitions in large numbers who's going to want to maintain the code? Code dies when it's not maintaned... I don't think this will happen to Linux or any of the free OS's anytime soon since they are still used on old hardware where it's hard to even find anyone selling compatible memory. And, as long as the embedded people don't all just switch over to uLinux/rtLinux it won't happen either. Something like PS2 Linux really needs swap files with just 32 megs of RAM. (The chip can support gigs of RAM, but the hack requires lots of soldering and expert knowledge of the MMU.)
I think the chance of Linux abandoning the MMU is 0%, if only because you need memory protection any general purpose machine. Also I think you'd be capped at 36bits of address space on i386, or only 64 Gigs of RAM, sounds great now, but won't in 5 years.
Incidentally, the overhead of doing the context switch is much bigger than you say here- one of the things that the kernel has to do is flush the caches as it swaps the virtual memory in and out- that will slow the system for tens of thousands of instructions afterwards.
It is higher if you switch to another userland application. If you go to the scheduler and decide to keep running the same app the TLB does not have to be flushed. Even if you do switch to another app it's unlikely that it's going to thrash the cache. Those gnome-apps aren't so data intensive. It's even more unlikely that you will have to page in virtual memory. I don't think I've even bothered to allocate virtual memory lately, when 2-4 Gigs are cheap why bother? (On a P4 you can even tell the processor not to flush the local's out of the TLB when you load a new LDT, and it never flushes the kernel's entries unless you change the GDT for some reason.) You can thrash the cache if you want to, just start a compile with -j# with # greater than the number of processors. But those little applications that need a small timeslice once in a while aren't gonna do it. There might be a security arguement for flushing the cache, so that some app can't communicate with another by reading or not reading in a memory location into the cache. But at that level of paranoia I wouldn't be using Linux anyway.
If you're swaping in virtual memory from a hard drive who cares what your timeslice is? It's going to take milliseconds just to get the page anyway! The only benefit of virtual memory is that it can swap out unused code so only the working set uses up RAM, in which case you still rarely actually swap things in since your working set is in RAM by definition. Overlays probably had a better granularity for that purpose. I'm always afraid virtual memory will be abandoned, even though it could be useful at some future date when you might have just 4GB of fast RAM, and 64TB of plan old DDR-RAM or something else the processor can't handle without OS help. (Yes I know there are machines that actually use virtual memory, but I'm not going to argue that they should have more ticks, they might benefit from fewer, in fact. I just haven't seen one of those machines in at least two years, so I think addressing the Athlons, and P3 & P4's of the world isn't such a bad idea.)
any decent OS has to do quite a bit of dorking around at that time.
Sure, but flush the whole cache? The virtual memory arguement justifies flushing the TLB cache if there is an actual switch to another running process. If it's just to the scheduler and back doesn't that have a valid mapping in any process (that whole reserve 1G for the OS out of the 4GB directly addressible must be for this purpose right?) But while I'm not familiar with the actual implementation of these chips I can't see why the cache wouldn't just be addressed by physical locations in memory, hence no need to invalidate their data, just because you change their virual adresses.
I'm not an Intel expert, but I know they have a GDT and LDT. That is a Global Descriptor Table and a Local one so the scheduler should be able to use the global one while the application uses the local one. I actually have the manuals so I looked but it's a bit esoteric. What I found that supports the TLB flushing is that whenever you load a new LDT you invalidate all the local TLB entries. You can have over 8000 entries in a LDT, but the OS needs to use one for each user level process in order to protect an applications memory from other applications. So if you're Amiga OS you just use the GLT for the kernel and an LDT for your apps, but if you're Linux each app gets it's own LDT. The Pentium 4 has a PGE flag that can be used to prevent flushing frequently used tables. So you could prevent flushing the entries if you had some use level app that was run frequently enough to get special treatment.
I'm still not convinced the actual L2 & L3 caches get flushed, esp since you can even avoid TLB flushes. The TLB is small, which is why you would want to flush it before running a different process, the caches are relatively big...
The only situation, where your description applies is when the thread would be polling some variable. In that case, the programmer is plain stupid, (or he better really knows, what he is doing) and no modification of the OS could improve the performance.
Like he knows that he needs to poll to get decent response times when there are no interrupts to wake the process up a quarter timeslice from now.
There are examples that are silly, like the lvcool user space idle loop I run on my AMD laptop cuz the kernel doesn't halt the processor in low power mode. I need to kill it to play a DVD, but if I don't run lvcool the fan runs constantly and the CPU still gets very hot. This should be in the kernel (and I've read is in 2.5 now as part of ACPI).
Then there are examples that aren't going to change unless the time slices get >muchdo exist even in some well written code. And sometimes it will spin until another thread gets control and releases some resource.
The reason is that across a scheduling tick the processors cache gets flushed and reloaded.
Whoa! What architecture is that!
That just doesn't sound right. The register files get flushed(well swapped), but if that 2 meg cache got flushed on every context switch there wouldn't be much point in having it at all. You can get cache thrashing if too many cache hungry programs are running simultaniously but that's why you get a bigger cache if you run lots of those programs, it so that their working set is saved across context switches.
Perhaps you mean the L1 caches? They can get tossed out cuz it can only hold a few inner loops and a few small working sets at a time anyway, but all that stuff should still be in the L2 cache and get loaded very quickly into those puny L1 caches, the L1 data cache is practically a register file anyway on P4's, 64 bit moves to/from them happen in a cycle...
Those L2->L1 moves might start to affect you at 1,000,000 ticks per second, but no one is proposing that, right? Even so in a typical environment the other context is just the scheduler which I can't imagine filling the L1 cache... It's not that complicated on a mostly idle machine. (Quick & Dirty schedulers have been written, some which looked through the entire process list. Erm, but on my machine there are less than 100 processes right now, still not so bad for L1;)
Anyway I think 1000 is just fine, if you're doing real-time music synthesis on lotsa channels a larger number might be better. Someone in Europe is working on a music disto, so maybe they will discover that 8000 is the magic number for 16 channels at 48000khz on a P4 at 2Ghz.
It would be neat if someone came up with metrics so that the tick was set so that 99.999% of the time the sound systems got their slices once every 500 usec but otherwise the timeslices were as large as possible. Then you could just tune that 500 usec thing, make it longer if you're on a 386, shorter if you really need more than half millisecond timings. I guess any program that needed frequent time slices could write to some proc file how much more often it should be called, or if it could afford to be called less often. For example 1.2 if it want's to be called more often, 0.8 if it's time needs were met. The kernel would only have to insure all the numbers it got were less than 1.0, and if the largest one were less than 0.95 it could even afford fewer time slices. The kernel might also want to ensure through process accounting that the time sensitive processes never got more than a certain percentage of the cycles available even if it meant they got called less often. This to prevent a denial of service where you just always write 10 to that proc file whenever you get run so the time tick grows until you spend all your time in the scheduler. It might also want to set a floor, so that a human can interact with the machine. Ticks should never be less than say 10 for instance on a PC(or 250 if it's my machine). Though for some special purpose interstellar Linux probe you might want to sleep for a whole second at a time before checking your direction once on your way so a tick of 1 would be acceptible once out of your solar system. (You still want 64 bit uptimes for you're interstellar probe it would be so embarassing if it arrived and the aliens were like, "Woah this species can't develop an operating system with more than 3 day uptime for a space probe that took like 40 years to get here, what l0s3rs!")
One of the great paradoxes of computer science is that perceived performance and actual performance almost always come at a tradeoff. By raising the frequency of the timer interrupt, individual timeslices are shorter and the processor needs to make more context switches, resulting in less overall processing being performed.
This is not quite true. If you only have a single program running just one thread this is true. You have to do a context switch at each tick to Ring 0 and back, which takes maybe 500 cycles, or 1/20 microseconds on a 1Ghz machine. Do this 1000 times and you've lost 50 microseconds of processing time.
BUT once you have more than one program or thread running the situation is different. Say you have one thread running flat out and another that needs to do 100microseconds of work. With 100 ticks per second you will lose 5 usec to context switching and 9900 usec to waiting for the next context switch. With 1000 ticks per second you lose 50us to context switching and 900 usec to waiting for the next context switch. So you get more work done.
For someone who always runs at 100% processor utilization 1000 ticks per second is probably a setting since you are probably just running one thread 99% of the time and once in a while writing logs to disk or responding to some other events. If you are more like me and run at 1% of your processor utilization most of the time, with the 100% utilization only happening when you compile so you would rather be able to continue to use the computer than save 1ms on the 5 minute compile then an even higher value might make sense. 10000 maybe, assuming there aren't limitations in the kernel that prevent the higher value.
Disclaimer: I've been applying Love's patches for a while now. They make a real difference in the responsiveness of X, esp if your running stuff like Mozilla or Gnome/KDE on your box. I haven't applied it on any servers cuz the preempt patch is not quite stable.
But then again, the Apple switch ads don't offer a single reason to use a Mac that WinXP doesn't have.
I think the point of the Apple ads isn't that you can't do things in Windows, just that it's easier with a Mac. I'm not really a Mac expert but I know I get frustrated when I set down on a fresh Windows machine and click on the web browser and instead of just popping up some window where I can type google in, I get asked 20 questions where the defaults are always wrong. When I sit down on a fresh Mandrake box I just launch Mozilla and boom, I'm on the web. Same with terminals, you have to install TweakUI before you can even get tab completion in Windows. Also when it comes to video you have to install a bunch of drivers to get Windows to recognize video, with Mandrake it plops a little XawtTV on your desktop and gives you broadcast2000 in the menu, drivers are just there.
You can do lots of things with Windows but it's always a major pain in the arse. I recently lost a Windows 2000 partition to safe only mode. Funny thing is I only have Microsoft software installed, something you think they could test on major brand hardware like a Vaio laptop. It's a month old partition that I had just finished configuring to be usable. Then I installed a security patch. I'm not a sysadmin, but I'm pretty computer aware as a programmer, and well a security patch killing a machine isn't unheard of, but a machine with no outside vendor programs or unapproved drivers? that's just wrong.
I don't want to use bitkeeper because their license is so anti-free, but subversion needs to be tested on smaller projects before we really can switch something as large as Linux over.
CVS is not so good mostly because it can't version directories. You can of course delete a directory and create another one and rename all your files into the new directory, but it's still ugly enough that I try very to get my directory structure right the first time, and only move files to new directories after a major version release in a branch. There are some other things missing like checkin lists, that allow you to work on different things within a source tree without checking out a parallel tree, it's not as safe, but essential if it's 4-5 Gigabyte source tree(I've worked on such a beast.) Those types of features could be added, as could an rsync type feature, also essential. But the for the directories CVS can't be nicely extended to do it.
I'm trying subversion on for one of my projects soon, and I've heard NetBSD folks talk about trying it. If it works well enough I might even add some of those other features we need so one day I'll never be tempted by perforce or bitkeeper.
BTW My first real vc experience was using RCS, and CVS is much better. RCS files are pretty clever themselves. Later I used Perforce, then I went back to CVS cuz I work on opensource things and everyone can use CVS;) It's also easier to train people on for some reason, I guess it's just so few things to remember, "cvs co, cvs add, cvs update, cvs commit" That's enough to get someone through their first month.
You don't remember correctly. It was a patent infringement case.
Microsoft might have settled the case in part because patent infringment. But I ditinctly finding STAC's copyright string searching one of the Windows 3.1? binaries.
But the BASIC, STAC, and last year's French case have nothing to do with reverse engineering which is a standard practice taught in school. These are cases of plagarism which happen all the time in big companies but are not standard practice and are sometimes even litigated successfully.
And while I'm no Microsoft fan, even the best code reviews can miss copied code since you're not really looking for this kind of thing. If you see a foreign copyright string in the code and the programmer says it's licenced or he has told legal they need to licence the code you trust him; most programmers can be trusted, it's just the law of large numbers that lead to a 0.1% cheat rate to mean there are 50 in a team of 50,000.
Ok, I don't know what Bill of Rights you are reading but the one I read has all kinds of things like a requirement for search warrants and most importantly the 9th and 10th amendments... Amendment IX
The enumeration in the Constitution, of certain rights, shall not be construed to deny or disparage others retained by the people.
Amendment X
The powers not delegated to the United States by the Constitution, nor prohibited by it to the states, are reserved to the states respectively, or to the people.
What you have to realize is that privacy was such a basic right that they didn't even think it needed to be stated. Except where it wasn't preserved, like customs and when you are attempting to deny someone a portion of their freedom through the court system, or where it had been violated with search warrants issued without public scrutiny and consent from the governed. Jefferson would have viewed today's airport searches and ID checks as repugnant and proof that the bill of rights had failed to preserve the rights of man from the tiranny of a too powerful state.
there is no right to being free from accountability.
There is, if it's in word, or righteous deed! It's simply that we live in a state that tramples on that right so often that some of us don't even realize it exists.
but have a look at this
http://www.gemgrp.com/Contaminants/18.pdf
Basically, it should have all left your system within a few months of the exposure. If it happened today and you might become pregnant it would be a worry. Your doctor might even give you some painful drugs to try to speed it out of your body. Organic mercury is a much larger concern because your body can't get rid of it very well.
Since you probably have a slightly higher than normal mercury level you can advise your fellow passengers in an airplane crash not to eat you first.
This is what I've been wondering through this thread. To what degree should a PRIVATE firm be forced to change their business to accomodate customers in sectors they just might not want to accomodate?
There are rules on these things in the US. There aren't that many. Basically it comes down to not discriminating based on race, or religion. And not to discriminate based on sex unless you have a reason; nor old age or disability if it can be accomidated for at minimal cost. I've seen the number $2000 tossed around.
Of course states can add to these rights, like a few don't allow you to descriminate against gays. These rights are respected within the state unless they contradict some other right like speach or privacy. If you sell your house to a white person over a black person offering more and never say race is the reason then it's ok. If you start a christian hate group like the KKK or the Boy Scouts of America then you can exclude jews.
As long as you are aware of it, it's not a problem. I had to spend three months in Florida to learn that "Car people" was not even recognized as a derogatory term in many places outside Manhattan. I'm still not sure that bit of self awareness was worth it.
I'll bet you call them "cable modems" or "xDSL modems"
BOTH of them are modems. So Are WiFi cards, BTW. Ethernet and fiber stuff is just about the only common "broadband" that doesn't use modulation. (Phone companies usually call DSL medium-band internally.)
This is common, the lawyers sue and settle for way less than they should because they are payed a percentage. I think tort reform should include only paying lawyers only out of punitive damages unless the class votes for the settlement.
This should have been a 2 billion dollar cash settlement. 480M*3(cartel)+500M(punitive). Though I'm more partial to the corparate death penalty, we need some serious tort reform to increase settlements if we want to keep the current system working.
This is like those car safety lawsuits where you get a coupon for buying another crappy car from the same company. Yeah Right!
The Ariane 5 can lift 6 tons, the Proton can lift 22 tons. The Ariane is big, but the Russians have some huge rockets. The Zenit lifts 15 tons, the Soyuz 7.5 tons...
I seem to recall hearing that Russia was having big financial problems with their space program, and that if they didn't scrape up funding in some form, that it may adversely impact the long term construction plans for the ISS over the next few years.
The cheapest and best solution is probably to just fund the Russian space program. They already have dependable large rockets. It would be much more expensive to revive that kind of program in the US. If we decided to kick in more Europe might be convinced to do it too, especially if they could get the designs of Russia's rockets, since Europe only has smaller rockets.
Japan has a very small program, they want to create a larger space program but they are in a deep 10 year depression with no end in sight. We could also adapt the Russian engine designs for the shuttles to lift larger payloads. I've read their engines are at least 10% more efficient, but they use much cheaper fuel so some re-engineering would have to happen for them to work with our stuff. Cheapest solution is to fund the Russians esp. if we can get the Europeans to pick up most of the tab in exchange for technology.
It's also good from a world peace standpoint to keep rocket builders employed in Russia.
Japan will at some point develop a space program, but it won't be fast tracked unless it really has to be (say if they feel they need to build tactical nuclear weapons, which they are severely antogonistic toward for all kinds of reasons.)
Given that the B-2 didn't fly until 1989, I'd drop that estimate down to 13 years.
Nah, I had model airplane of the B-2 in 1986. It was sold as the speculated design of the B-2, but it looked exactly like the plane you saw on TV in 1989. I think that was just the year they first tried to move it from the secret budget to the public one. And, when we all realized we were paying 2,000,000,000 a pop for those things. I think I didn't see one physically until early 1988 or so; I lived near an Air Force base though.
Where does someone get stats on "exact same crimes" differentiated only by poor vs rich?
There is a law school (I think in Michigan) that has analysed this for murder cases. There are also various studies done by Social Science schools. Those don't actually look at every case, but instead sample the population. I tend to yawn when one of these studies comes out, who really thinks that a white kid gets the same punishment for drug use or petty crime as a black kid? Who thinks that a competent defence lawyer has no effect on your chances of a lesser sentence?
But if the solutions were simple then we'd have already implemented them, juries discriminate, what can you do if they don't even know they are prejudiced? Prosecuters treat people differently, what can you do? How can you can ensure everyone gets a good lawyer? If you give everyone a state supported lawyer, you would probably have even less justice since a really good lawyer can change the interpretation of the law so that everyone accused of a crime benefits, and we already know state supported lawyers can't represent their clients very well. (They aren't all or even mostly bad, but they have large caseloads so they can't spend the time needed. I'm not talking about pro-bono work where a for pay lawyer takes a case on a no pay basis, this wouldn't exist in a all state supported system. At least as that system exists today and probably would in the future.)
I'm very pessimistic this system will ever be reformed. Those that get bad results usually lose their right to vote, and those who get good results won't have as much reason to force reform. And, most of are lucky enough to never be accused of a crime.
As for Lucky, he might get some support from non-Microsoft owned companies if he has to fight for his patents.
Lots of people on the Cooker list were calling for Bugzilla, but the developers insisted that the mailing list works just fine. Can anyone tell us if they've come to their senses? If not, the heck with 'em.
They have bugzilla now. I tested rc2 & rc3 this time around, and while the cooker mailing list had way too much traffic for me to keep up, they fixed most the bugs I complained about. Most serious was the inability to run the drak tools and urpmi...which they fixed. There were some little things, and the kernel was also unstable on my laptop. This they didn't fix but the linus kernel works, so I just switched to that.
I think they should have done a couple more release candidates, but I'm gonna test some of the beta's next time around so they at least get urpmi problems fixed before the rc's go out.
I like the decisions they made with the UI, I reconfigure the menu anyway so it's good to have every app there to begin with. I also install all the non-server packages since there is plenty of space and it saves me the effort of installing the things I need later. But, I know a co-worker that would have just prefered starting with that what do you want to do today menu they added; he's a business guy who hasn't tried Linux in a couple years so he's prolly as close to that mythical "regular user" as you're gonna get. He doesn't need 7 terminals, while I use 4 of them regularly.
To flush the $5 billion in waste down.
:/
First off what rocket scientist decided to install Windows 2000 on these computers!! I can't even keep that thing secure long enough to install the securty patches half the time. The fact that it's Microsoft's most stable OS is cold comfort. And how are they going to code review 1 million+ lines of sloppy C & C++ code for just 5 billion dollars? Oh, I guess their not
Second, what kind of idiot is sending Word attachments in e-mail? Shouldn't they be fired on general principle? (Wordstar 5.2 kicks ass BTW, most productive small document word processor ever. For books, math, journal papers latex is of course king with it's infinte macro and formatting abilities.)
Third, what's wrong with 2 computers? And why doesn't the guy in the picture have a KVM? If Wal-Mart can sell a computer for $199, couldn't the Navy buy in enough volume to get a better price? Two computers also means one could be connected to the internet for doing research, while the other machine is only attacked by those who have already made their way onto the navy network, which could be entirely seperate without even a web proxy, since everyone has an internet computer on their desk.
And again Windows 2000! do they want Mr. Osama to have control of 5000 nuclear warheads just to subsidize some convicted criminal?!?!
I used to be one of those people who thought those anti-globalization protesters were just treehugging tenderhearts looking for something to do. Mostly because I'm for free trade on principle. But then I realized how our farm subsidies caused starvation in poorer countries by destroying local food production industries. But our attack on those countries industrial sector with IP laws is part of the same picture.
The IMF orders those same third world countries we dump our subsidized food into on good years to stop helping local farmers buy chickens with something as simple as insurance that if the chick they buy doesn't become a 1 year old chicken it will be replaced. Then the free trade negotiators show up and tell them they can get rid of that 33% tariff on the president's widgets if he will just get rid of that tariff that protects his countries maize production and well prevents his family's competitors from coming out with better widgets by making those patent laws stronger, err in line with American standards.
What does it mean when we complain about a 55 year copyright in Taiwan, which hasn't even been around that long, much less democratic in that time? They are in line with international standards, and have trouble policing such an overlong copyright already, much less the kind of permanent monopoly the US wants them to establish on words.
PS As I understand it the farm subsidies are even worse in the EU, esp France, and this is causing problems with Eastern European countries who wouldn't get the subsidies if they joined the EU. This is from the economist which isn't an unbiased source; is it true?
No, look swapping is not the same as virtual memory. Virtual memory is useful even in the absence of any disk or swap space at all.
I wasn't clear enough, I see 0% chance that virtual memory will disappear from Linux because it provides protection from one application playing with another's memory.
I do fear for swapping, but only years from now when it's not so common. I do not fear for the loss of MMU support including virtual memory.
It isn't clear this is what I'm saying from that post, but if you read what I said before I think it's clear. I was agreeing with you on the point of virtual memory not being a big deal, but adding that swapping was in dirge territory on the modern systems that will benefit from upping HZ. Your original comment on swapping is what inspired me to write the comment, cuz I thought you were making the point that it's not a performance loss to use virtual memory even if you never swap, while my point on swapping had nothing to do with performance, but code maintinance. If an signal never fires who cares how long it takes to handle it after all.
If you have to do any swapping to disk I don't care how much you try to tune HZ, you need to buy more memory or run fewer apps to get a snappier system.
But enough on this point, it's tangental and I think I agree with everything you said in this last comment without exception.
Turbine B: Turbine > Gears > Wheels
Is Turbine B possible?
Not really. The great thing about turbines is that you can run them really hot. The bad thing is they are fragile to shocks. You run these things either at the limit of your metals or use something inherently fragile like ceramics(experimentally at least). This allows you to get a big temperature difference, which means lots of energy can be extracted (at least that's what all those thermodynaics equations seemed to be about.)
If you tried to run it direct to the wheels you'd probably have to run it so cool that any energy efficiencies would be lost. You also wouldn't get the acceleration you can get by putting electric motors under every car in the train, powered by single lightweight generator car.
you lose very little by using virtual memory
True, but if people stop even creating swap partitions in large numbers who's going to want to maintain the code? Code dies when it's not maintaned... I don't think this will happen to Linux or any of the free OS's anytime soon since they are still used on old hardware where it's hard to even find anyone selling compatible memory. And, as long as the embedded people don't all just switch over to uLinux/rtLinux it won't happen either. Something like PS2 Linux really needs swap files with just 32 megs of RAM. (The chip can support gigs of RAM, but the hack requires lots of soldering and expert knowledge of the MMU.)
I think the chance of Linux abandoning the MMU is 0%, if only because you need memory protection any general purpose machine. Also I think you'd be capped at 36bits of address space on i386, or only 64 Gigs of RAM, sounds great now, but won't in 5 years.
Incidentally, the overhead of doing the context switch is much bigger than you say here- one of the things that the kernel has to do is flush the caches as it swaps the virtual memory in and out- that will slow the system for tens of thousands of instructions afterwards.
It is higher if you switch to another userland application. If you go to the scheduler and decide to keep running the same app the TLB does not have to be flushed. Even if you do switch to another app it's unlikely that it's going to thrash the cache. Those gnome-apps aren't so data intensive. It's even more unlikely that you will have to page in virtual memory. I don't think I've even bothered to allocate virtual memory lately, when 2-4 Gigs are cheap why bother? (On a P4 you can even tell the processor not to flush the local's out of the TLB when you load a new LDT, and it never flushes the kernel's entries unless you change the GDT for some reason.) You can thrash the cache if you want to, just start a compile with -j# with # greater than the number of processors. But those little applications that need a small timeslice once in a while aren't gonna do it. There might be a security arguement for flushing the cache, so that some app can't communicate with another by reading or not reading in a memory location into the cache. But at that level of paranoia I wouldn't be using Linux anyway.
If you're swaping in virtual memory from a hard drive who cares what your timeslice is? It's going to take milliseconds just to get the page anyway! The only benefit of virtual memory is that it can swap out unused code so only the working set uses up RAM, in which case you still rarely actually swap things in since your working set is in RAM by definition. Overlays probably had a better granularity for that purpose. I'm always afraid virtual memory will be abandoned, even though it could be useful at some future date when you might have just 4GB of fast RAM, and 64TB of plan old DDR-RAM or something else the processor can't handle without OS help. (Yes I know there are machines that actually use virtual memory, but I'm not going to argue that they should have more ticks, they might benefit from fewer, in fact. I just haven't seen one of those machines in at least two years, so I think addressing the Athlons, and P3 & P4's of the world isn't such a bad idea.)
any decent OS has to do quite a bit of dorking around at that time.
Sure, but flush the whole cache? The virtual memory arguement justifies flushing the TLB cache if there is an actual switch to another running process. If it's just to the scheduler and back doesn't that have a valid mapping in any process (that whole reserve 1G for the OS out of the 4GB directly addressible must be for this purpose right?) But while I'm not familiar with the actual implementation of these chips I can't see why the cache wouldn't just be addressed by physical locations in memory, hence no need to invalidate their data, just because you change their virual adresses.
I'm not an Intel expert, but I know they have a GDT and LDT. That is a Global Descriptor Table and a Local one so the scheduler should be able to use the global one while the application uses the local one. I actually have the manuals so I looked but it's a bit esoteric. What I found that supports the TLB flushing is that whenever you load a new LDT you invalidate all the local TLB entries. You can have over 8000 entries in a LDT, but the OS needs to use one for each user level process in order to protect an applications memory from other applications. So if you're Amiga OS you just use the GLT for the kernel and an LDT for your apps, but if you're Linux each app gets it's own LDT. The Pentium 4 has a PGE flag that can be used to prevent flushing frequently used tables. So you could prevent flushing the entries if you had some use level app that was run frequently enough to get special treatment.
I'm still not convinced the actual L2 & L3 caches get flushed, esp since you can even avoid TLB flushes. The TLB is small, which is why you would want to flush it before running a different process, the caches are relatively big...
The only situation, where your description applies is when the thread would be polling some variable. In that case, the programmer is plain stupid, (or he better really knows, what he is doing) and no modification of the OS could improve the performance.
Like he knows that he needs to poll to get decent response times when there are no interrupts to wake the process up a quarter timeslice from now.
There are examples that are silly, like the lvcool user space idle loop I run on my AMD laptop cuz the kernel doesn't halt the processor in low power mode. I need to kill it to play a DVD, but if I don't run lvcool the fan runs constantly and the CPU still gets very hot. This should be in the kernel (and I've read is in 2.5 now as part of ACPI).
Then there are examples that aren't going to change unless the time slices get >muchdo exist even in some well written code. And sometimes it will spin until another thread gets control and releases some resource.
The reason is that across a scheduling tick the processors cache gets flushed and reloaded.
;)
Whoa! What architecture is that!
That just doesn't sound right. The register files get flushed(well swapped), but if that 2 meg cache got flushed on every context switch there wouldn't be much point in having it at all. You can get cache thrashing if too many cache hungry programs are running simultaniously but that's why you get a bigger cache if you run lots of those programs, it so that their working set is saved across context switches.
Perhaps you mean the L1 caches? They can get tossed out cuz it can only hold a few inner loops and a few small working sets at a time anyway, but all that stuff should still be in the L2 cache and get loaded very quickly into those puny L1 caches, the L1 data cache is practically a register file anyway on P4's, 64 bit moves to/from them happen in a cycle...
Those L2->L1 moves might start to affect you at 1,000,000 ticks per second, but no one is proposing that, right? Even so in a typical environment the other context is just the scheduler which I can't imagine filling the L1 cache... It's not that complicated on a mostly idle machine. (Quick & Dirty schedulers have been written, some which looked through the entire process list. Erm, but on my machine there are less than 100 processes right now, still not so bad for L1
Anyway I think 1000 is just fine, if you're doing real-time music synthesis on lotsa channels a larger number might be better. Someone in Europe is working on a music disto, so maybe they will discover that 8000 is the magic number for 16 channels at 48000khz on a P4 at 2Ghz.
It would be neat if someone came up with metrics so that the tick was set so that 99.999% of the time the sound systems got their slices once every 500 usec but otherwise the timeslices were as large as possible. Then you could just tune that 500 usec thing, make it longer if you're on a 386, shorter if you really need more than half millisecond timings. I guess any program that needed frequent time slices could write to some proc file how much more often it should be called, or if it could afford to be called less often. For example 1.2 if it want's to be called more often, 0.8 if it's time needs were met. The kernel would only have to insure all the numbers it got were less than 1.0, and if the largest one were less than 0.95 it could even afford fewer time slices. The kernel might also want to ensure through process accounting that the time sensitive processes never got more than a certain percentage of the cycles available even if it meant they got called less often. This to prevent a denial of service where you just always write 10 to that proc file whenever you get run so the time tick grows until you spend all your time in the scheduler. It might also want to set a floor, so that a human can interact with the machine. Ticks should never be less than say 10 for instance on a PC(or 250 if it's my machine). Though for some special purpose interstellar Linux probe you might want to sleep for a whole second at a time before checking your direction once on your way so a tick of 1 would be acceptible once out of your solar system. (You still want 64 bit uptimes for you're interstellar probe it would be so embarassing if it arrived and the aliens were like, "Woah this species can't develop an operating system with more than 3 day uptime for a space probe that took like 40 years to get here, what l0s3rs!")
One of the great paradoxes of computer science is that perceived performance and actual performance almost always come at a tradeoff. By raising the frequency of the timer interrupt, individual timeslices are shorter and the processor needs to make more context switches, resulting in less overall processing being performed.
This is not quite true. If you only have a single program running just one thread this is true. You have to do a context switch at each tick to Ring 0 and back, which takes maybe 500 cycles, or 1/20 microseconds on a 1Ghz machine. Do this 1000 times and you've lost 50 microseconds of processing time.
BUT once you have more than one program or thread running the situation is different. Say you have one thread running flat out and another that needs to do 100microseconds of work. With 100 ticks per second you will lose 5 usec to context switching and 9900 usec to waiting for the next context switch. With 1000 ticks per second you lose 50us to context switching and 900 usec to waiting for the next context switch. So you get more work done.
For someone who always runs at 100% processor utilization 1000 ticks per second is probably a setting since you are probably just running one thread 99% of the time and once in a while writing logs to disk or responding to some other events. If you are more like me and run at 1% of your processor utilization most of the time, with the 100% utilization only happening when you compile so you would rather be able to continue to use the computer than save 1ms on the 5 minute compile then an even higher value might make sense. 10000 maybe, assuming there aren't limitations in the kernel that prevent the higher value.
Disclaimer: I've been applying Love's patches for a while now. They make a real difference in the responsiveness of X, esp if your running stuff like Mozilla or Gnome/KDE on your box. I haven't applied it on any servers cuz the preempt patch is not quite stable.
But then again, the Apple switch ads don't offer a single reason to use a Mac that WinXP doesn't have.
I think the point of the Apple ads isn't that you can't do things in Windows, just that it's easier with a Mac. I'm not really a Mac expert but I know I get frustrated when I set down on a fresh Windows machine and click on the web browser and instead of just popping up some window where I can type google in, I get asked 20 questions where the defaults are always wrong. When I sit down on a fresh Mandrake box I just launch Mozilla and boom, I'm on the web. Same with terminals, you have to install TweakUI before you can even get tab completion in Windows. Also when it comes to video you have to install a bunch of drivers to get Windows to recognize video, with Mandrake it plops a little XawtTV on your desktop and gives you broadcast2000 in the menu, drivers are just there.
You can do lots of things with Windows but it's always a major pain in the arse. I recently lost a Windows 2000 partition to safe only mode. Funny thing is I only have Microsoft software installed, something you think they could test on major brand hardware like a Vaio laptop. It's a month old partition that I had just finished configuring to be usable. Then I installed a security patch. I'm not a sysadmin, but I'm pretty computer aware as a programmer, and well a security patch killing a machine isn't unheard of, but a machine with no outside vendor programs or unapproved drivers? that's just wrong.
Mod this comment up!
;) It's also easier to train people on for some reason, I guess it's just so few things to remember, "cvs co, cvs add, cvs update, cvs commit" That's enough to get someone through their first month.
I don't want to use bitkeeper because their license is so anti-free, but subversion needs to be tested on smaller projects before we really can switch something as large as Linux over.
CVS is not so good mostly because it can't version directories. You can of course delete a directory and create another one and rename all your files into the new directory, but it's still ugly enough that I try very to get my directory structure right the first time, and only move files to new directories after a major version release in a branch. There are some other things missing like checkin lists, that allow you to work on different things within a source tree without checking out a parallel tree, it's not as safe, but essential if it's 4-5 Gigabyte source tree(I've worked on such a beast.) Those types of features could be added, as could an rsync type feature, also essential. But the for the directories CVS can't be nicely extended to do it.
I'm trying subversion on for one of my projects soon, and I've heard NetBSD folks talk about trying it. If it works well enough I might even add some of those other features we need so one day I'll never be tempted by perforce or bitkeeper.
BTW My first real vc experience was using RCS, and CVS is much better. RCS files are pretty clever themselves. Later I used Perforce, then I went back to CVS cuz I work on opensource things and everyone can use CVS
You don't remember correctly. It was a patent infringement case.
Microsoft might have settled the case in part because patent infringment. But I ditinctly finding STAC's copyright string searching one of the Windows 3.1? binaries.
But the BASIC, STAC, and last year's French case have nothing to do with reverse engineering which is a standard practice taught in school. These are cases of plagarism which happen all the time in big companies but are not standard practice and are sometimes even litigated successfully.
And while I'm no Microsoft fan, even the best code reviews can miss copied code since you're not really looking for this kind of thing. If you see a foreign copyright string in the code and the programmer says it's licenced or he has told legal they need to licence the code you trust him; most programmers can be trusted, it's just the law of large numbers that lead to a 0.1% cheat rate to mean there are 50 in a team of 50,000.
Ok, I don't know what Bill of Rights you are reading but the one I read has all kinds of things like a requirement for search warrants and most importantly the 9th and 10th amendments...
Amendment IX
The enumeration in the Constitution, of certain rights, shall not be construed to deny or disparage others retained by the people.
Amendment X
The powers not delegated to the United States by the Constitution, nor prohibited by it to the states, are reserved to the states respectively, or to the people.
What you have to realize is that privacy was such a basic right that they didn't even think it needed to be stated. Except where it wasn't preserved, like customs and when you are attempting to deny someone a portion of their freedom through the court system, or where it had been violated with search warrants issued without public scrutiny and consent from the governed. Jefferson would have viewed today's airport searches and ID checks as repugnant and proof that the bill of rights had failed to preserve the rights of man from the tiranny of a too powerful state.
there is no right to being free from accountability.
There is, if it's in word, or righteous deed! It's simply that we live in a state that tramples on that right so often that some of us don't even realize it exists.
Yo I'm not a doctor, you should ask her.
but have a look at this
http://www.gemgrp.com/Contaminants/18.pdf
Basically, it should have all left your system within a few months of the exposure. If it happened today and you might become pregnant it would be a worry. Your doctor might even give you some painful drugs to try to speed it out of your body. Organic mercury is a much larger concern because your body can't get rid of it very well.
Since you probably have a slightly higher than normal mercury level you can advise your fellow passengers in an airplane crash not to eat you first.
This is what I've been wondering through this thread. To what degree should a PRIVATE firm be forced to change their business to accomodate customers in sectors they just might not want to accomodate?
There are rules on these things in the US. There aren't that many. Basically it comes down to not discriminating based on race, or religion. And not to discriminate based on sex unless you have a reason; nor old age or disability if it can be accomidated for at minimal cost. I've seen the number $2000 tossed around.
Of course states can add to these rights, like a few don't allow you to descriminate against gays. These rights are respected within the state unless they contradict some other right like speach or privacy. If you sell your house to a white person over a black person offering more and never say race is the reason then it's ok. If you start a christian hate group like the KKK or the Boy Scouts of America then you can exclude jews.
As long as you are aware of it, it's not a problem. I had to spend three months in Florida to learn that "Car people" was not even recognized as a derogatory term in many places outside Manhattan. I'm still not sure that bit of self awareness was worth it.
mercury in their backlights
1) LCD's do not need to use fluorescent lamps, they can use LED's. Even with fluorescent lamp it's a step in the right direction.
2) The power savings of using an LCD is significant.
I'll bet you call them "cable modems" or "xDSL modems"
BOTH of them are modems. So Are WiFi cards, BTW. Ethernet and fiber stuff is just about the only common "broadband" that doesn't use modulation. (Phone companies usually call DSL medium-band internally.)
This is common, the lawyers sue and settle for way less than they should because they are payed a percentage. I think tort reform should include only paying lawyers only out of punitive damages unless the class votes for the settlement.
This should have been a 2 billion dollar cash settlement. 480M*3(cartel)+500M(punitive). Though I'm more partial to the corparate death penalty, we need some serious tort reform to increase settlements if we want to keep the current system working.
This is like those car safety lawsuits where you get a coupon for buying another crappy car from the same company. Yeah Right!