SCO was repeatedly asked by IBM to specify what IBM did wrong, has been ordered to specify what IBM did wrong by a judge and tried to wiggle around this obligation for three years. SCO got quite some information from IBM over the years.
Now the deadline has passed, SCO tries to slip in some new accusations. The judge says "No, you can't do that" on request of IBM. It would be unfair to defend against last-minute accusations without having an opportunity to collect the data you need to defend yourself.
Music CDs (and DVDs) and music/movie downloads are luxuries on my shopping list. They have to compete against game consoles, real computers, online gaming, holiday trips, etc. Heck, I can even start singing songs myself.
The record labels had good times when people replaced their (vinyl) music collection with CDs, nowadays they have to provide products that appease the market. The internet has made other business models possible (the record labels didn't believe in iTunes at first), a large proportion of customers rejects DRM and isn't interested in Top 30 crap. Good arguments to pray for a quick extinction of the RIAA and its members.
So I have to blame MI5 that I can not carry a bottle of water on a plane (and carry less than 100ml of toothpaste in a clear plastic resealable bag of no more than 1 liter) because of that "terrorist cell plotting to blow up planes with liquid explosives" that had no tickets, no passports, no back door onto a plane, no explosives, no explosive components and no equipment to manufacture explosives.
Thank you paranoia.
Traffic still kills far more people than terrorists.
I want to make clear that I agree that terrorism should be investigated and terrorists should be arrested, but not until they actually committed their preparatory crimes like obtaining guns, poisons or explosives.
If you don't have the resources right now, just hold off on retrieving/handling the request for a while.
And make your self extra vulnarable to DoS attacks... I know that it is hard to find the right balance of priorities when your site is slashdotted, been there:-(.
10 seconds to process a request is a very long time. If it takes that long, a few extra round trip times don't matter much.
Generating the megabyte of html is easily done within a second, there are few users that have a fast enough connection to receive it within a second. Luckily most browsers start rendering before they received the whole page and all graphics, which means that the users see sub-second response. But you still have those server side resources that you use... And a swapping webserver is no fun!
The "max two connections per webserver" limit is to keep resource usage in the webserver down; a single apache thread can use 16 or 32 Mbyte of RAM for dynamicly generated webpages. If you get 5 page requests a second and it takes (on average) 10 seconds to handle the request and send back the results you need 1 Gb RAM in the webserver, if you can ignore Slashdot. (2-4 Gb to handle peaks)
If you have a second webserver for all static data, that can be a simpeler http deamon with 1 Mb/connection or less. You can handle more parallel connactions (and Akamai the setup if needed!)
Yes, it's best to avoid inline images, Google text ad objects, etc. But allowing parallel loading of the objects (and that's the trick with using several separate hosts for images) you can take 8 or 16 roundtrips at the same time; here is your perceived speedup.
There are some interesting studies you could do. One thing you should realise is that while the USA has had the biggest influence on computing so far, there are significant contributions from Europe and Japan. Compare products from Japa, Europe and the USA.
Another of my theories is that the shape of our computing today is not driven by the general culture, but by a specific subculture, the PHB's that decide on look and features. You could verify that theory by looking at differences between "shrinkwap", "tailormade" and Open Source software.
I wouldn't be surprised if you found that a large part of the compromises we make in computing are caused by the limitations of our interface with computers. Mouse, keyboard and monitor are a far cry from digital brain to computer links.
It takes some time to get a supertanker turning... but once they turn it takes significant time to stop the rotation. Rotational inertia can work against you.
Having the pulling force closer to the center of the ship will decrease the needed rudder force for correction; using the rudder creates friction, so that's best avoided. Another advantage of having the ropes mid-deck makes it possible to lower the kite on deck, much more convenient than fishing it out of the waves after use.
I agree with Lenolium. Don't be paranoid. Have a good license contract made by a specialist lawyer, spelling that the customer licenses the source code and you retain copyrights; it's common to ask that your customer keeps the code confidential, but have a lawyer write it down.
Furthermore, before you ship sourcecode, check that all files have a prominent copyricht notice:
(c)
Unauthorised copying and publication prohibited...
Your lawyer should be able to give you some boilerplate text for that too.
What if the programmer is tired and makes a mistake and forgot to check for a precondition in some places?
The development process is there to catch these kinds of mistakes. When a programmer has proper specifications of what to program, he has less things to worry about and can spend his attention on making better code. The programmer should have the time to look over his own code and run his test set after a proper night of sleep.
Secondly, we do peer reviews and module tests. If you have a decent reviewer, he'll point out the forgotten checks, if it slips through the cracks there is the module test that should find this forgotten test. A proper code review finds 60-80% of the issues, a module test another 50%. You'll be able to catch 80-90% of the bugs the programmer left in before the code leaves your development group.
No, You'll never be able to weed out 100% of the bugs when you rely on humans to make designs and code the implementation. You can get reliable software for an acceptable price if you let your engineers do their work properly.
Too much time is spilled in "integration" and testing because management refuses to plan time for high level design. One can create better quality software in about the same amount of time when one uses a proper development process. Some hints:
Do a proper high-level design.
Review your design with all stakeholders, including QA/testing and marketing.
Plan time to fix issues in all steps of the project.
Prototypes are to throw away, don't build your product on top of them.
Require specifications for all parts of the application.
Peer review all specifications.
Peer review all code.
Perform unit and module tests on all parts of the code.
Fix bugs as early as possible.
Development will cost more and take longer
It will take more time till a programmer starts coding, you will need less time to find and fix bugs. A clean design leads to cleaner module interfaces, which makes tracing the bug easier. Doing module testing means that a lot of bugs are found early and are automaticly traced to an offending module, which means quick fixing.
Restrictions on hardware and software
For high-reliability, yes. It's hard to write software that can replace blown out fuses. I think it is rediculous that an Internet connected Windows system is "automagicly" degrading to a near useless condition, so Windows should be thrown out.
It should be possible to run a decent selection of software on a server, where the user selects his mixture, taking into account his desired level of reliability. An Operating System should sufficiently isolate processes so that a single bug doesn't crash the machine.
Slower performance.
Needless consistency checks slow things down (and improper checks may even cause instability). With a proper design you know what to check where, so you only check once. In my experience good quality software performs better than bad software.
Take the phone switches for example. These things don't crash, ever. They just work. [...] they've had like one major upgrade (5ESS to 7R/E) in the last couple decades
Sorry, I had to pick myself up from the floor, fell of my chair laughing. I did work for a telco and crashed a few switches myself, the Lucent stuff you mention. Ericson makes more reliable systems (but they have a different design philosophy). And software updates for phone switches appear regularly.
From 2003 to 2005, the annual rate of vulnerability discovery on Apple's Mac O
S platform has increased by 228 percent (Figure 2), compared to Microsoft's produ
cts which only saw a 73 percent increase.
As demonstrated by its March 2006 patch, which corrected 20 vulnerabilities, Apple's Mac OS platform is just as vulnera
ble to targeted malware attacks as other operating systems (Page 6).
Security researchers and hackers will increasingly target the Mac OS and other Apple products, such as iTunes and iPods (Page 6).
If you don't read much further, Apple is doing bad... If you compare the absolute numbers of exploits Apple trails a factor 1000 by Microsoft. It will take some time until Apple reaches par with Windows (if ever), even if all malware programmers dropped their Windows work ans started concentrating on OSX instead.
How many computers does the newspaper have left after the four computers are taken... Freedom of the press isn't worth a thing when all your ink is taken away "for investigation".
I agree that journalists should be punishable for crimes they commit, but "criminal investigation" is commonly used as an excuse for government intimidation. (Not often in the USA, but read the reports from Reporters without borders.) Is this happening here, the secrecy around all this makes me worry!
Asbestos is safe when the fibers are immobilised (nicely packaged and nobody stirring them up). Handling "asbestcement" roof tiles is safe as long as you don't break them: You don't want free asbestos fibers roaming around in the air you breath.
Nanotube paint will be safe once the paint has dried. (Organic solvents are not healthy!) I'ld suggest that painters were protective masks when sanding away the paint, because it is unknown what the health effects are. Mineral wools that chemically look a lot like asbestos are much safer and even within the various asbestos types there is a wild variation in the rates at which they cause cancer.
Seconded. The differences between java and C# are relatively small, but java fits better in a Linux environment. If you want to become a serious software engineer you should spend some time to learn one or two other programming languages too, to broaden your view.
The EC verdict had several points: 1. A fine of ~500 Million Euro 2. Windows without media player 3. Making available documentation for interfaces.
Microsoft is appealing the verdict and dragging its feet with respect to point 3. We'll need to keep up the pressure on Microsoft, the EU and others to have Microsoft open its interfaces.
Why don't you ask one of the guys(m/f) that sends you his MSVS project file to act as maintainer for the Windows port? Tasks:
- Alpha/beta testing
- Buiding the official Windows binary distribution Off course he'll be the one that has to keep the project file up to date.
There are several ways where GPL code can enter a company against the intent of the company. What is the contractor doing to which you outsourced a development project? Outsourcing may mean that you end up with bad code in more than one way. It is possible to use GPL code inside a company in specific ways. What are the financial consequences of an honest engineering or management mistake, like distributing an "internal use only" application to a business partner? A well run business can keep the risk that these kind of accidents happen low, but not guarantee they'll never happen. They can choose to insure themself against this kind of "accidental malpractice", like you may have a fire insurance.
-- I do work for OSRM, but the above is my personal opinion. Correlation with OSRM opinions would be accidental.
I wonder how Kees Agelink was able to extract some average TCO numbers from the Gartner database for organisations using Windows vs. organisations using Linux and present us his findings at the may 27, 2004 NLUUG conference, while Didio seems unable to do a similar database lookup. Didio is the bigger TCO expert, isn't she.
A summary of Kees's results for the curious: Linux is a few 100 dollars/PC/yr cheaper than Windows. It will take more than a year to recover the cost of migrating away from Windows to Linux.
The ususal botnet configuration is such that bots get their instructions to scan IP ranges from a central place. It isn't too difficult to add a "sensor database" to the botnet infrastructure.
Dynamic IPs and computers entering and/or leaving sensor networks complicate the case of mapping out the sensor network. Furthermore, in the real world not every probe package will be reported. Mapping out a subset of the sensor network and pollute it with false data is pretty easy. Mapping out the full network to avoid detection of a your next worm attack: close to impossible.
SCO was repeatedly asked by IBM to specify what IBM did wrong, has been ordered to specify what IBM did wrong by a judge and tried to wiggle around this obligation for three years. SCO got quite some information from IBM over the years. Now the deadline has passed, SCO tries to slip in some new accusations. The judge says "No, you can't do that" on request of IBM. It would be unfair to defend against last-minute accusations without having an opportunity to collect the data you need to defend yourself.
Music CDs (and DVDs) and music/movie downloads are luxuries on my shopping list. They have to compete against game consoles, real computers, online gaming, holiday trips, etc. Heck, I can even start singing songs myself. The record labels had good times when people replaced their (vinyl) music collection with CDs, nowadays they have to provide products that appease the market. The internet has made other business models possible (the record labels didn't believe in iTunes at first), a large proportion of customers rejects DRM and isn't interested in Top 30 crap. Good arguments to pray for a quick extinction of the RIAA and its members.
Thank you paranoia.
Traffic still kills far more people than terrorists.
I want to make clear that I agree that terrorism should be investigated and terrorists should be arrested, but not until they actually committed their preparatory crimes like obtaining guns, poisons or explosives.
If you have a second webserver for all static data, that can be a simpeler http deamon with 1 Mb/connection or less. You can handle more parallel connactions (and Akamai the setup if needed!)
Yes, it's best to avoid inline images, Google text ad objects, etc. But allowing parallel loading of the objects (and that's the trick with using several separate hosts for images) you can take 8 or 16 roundtrips at the same time; here is your perceived speedup.
Pilots are checked (and their bags X-rayed) just like ordinary passengers in the USA, when they enter via the terminal.
Another of my theories is that the shape of our computing today is not driven by the general culture, but by a specific subculture, the PHB's that decide on look and features. You could verify that theory by looking at differences between "shrinkwap", "tailormade" and Open Source software.
I wouldn't be surprised if you found that a large part of the compromises we make in computing are caused by the limitations of our interface with computers. Mouse, keyboard and monitor are a far cry from digital brain to computer links.
"The sun will turn in a red giant before the moon gets far enough away to be classified as a planet"
Even the Groklaw staff is unable to confirm that this Anonymous user signing his posts with Linus is Mr. Torvalds.
It takes some time to get a supertanker turning... but once they turn it takes significant time to stop the rotation. Rotational inertia can work against you.
Having the pulling force closer to the center of the ship will decrease the needed rudder force for correction; using the rudder creates friction, so that's best avoided. Another advantage of having the ropes mid-deck makes it possible to lower the kite on deck, much more convenient than fishing it out of the waves after use.
I agree with Lenolium. Don't be paranoid. Have a good license contract made by a specialist lawyer, spelling that the customer licenses the source code and you retain copyrights; it's common to ask that your customer keeps the code confidential, but have a lawyer write it down.
Furthermore, before you ship sourcecode, check that all files have a prominent copyricht notice:
(c)
Unauthorised copying and publication prohibited...
Your lawyer should be able to give you some boilerplate text for that too.
Secondly, we do peer reviews and module tests. If you have a decent reviewer, he'll point out the forgotten checks, if it slips through the cracks there is the module test that should find this forgotten test. A proper code review finds 60-80% of the issues, a module test another 50%. You'll be able to catch 80-90% of the bugs the programmer left in before the code leaves your development group.
No, You'll never be able to weed out 100% of the bugs when you rely on humans to make designs and code the implementation. You can get reliable software for an acceptable price if you let your engineers do their work properly.
- Do a proper high-level design.
- Review your design with all stakeholders, including QA/testing and marketing.
- Plan time to fix issues in all steps of the project.
- Prototypes are to throw away, don't build your product on top of them.
- Require specifications for all parts of the application.
- Peer review all specifications.
- Peer review all code.
- Perform unit and module tests on all parts of the code.
- Fix bugs as early as possible.
Development will cost more and take longerIt will take more time till a programmer starts coding, you will need less time to find and fix bugs. A clean design leads to cleaner module interfaces, which makes tracing the bug easier. Doing module testing means that a lot of bugs are found early and are automaticly traced to an offending module, which means quick fixing.
Restrictions on hardware and software
For high-reliability, yes. It's hard to write software that can replace blown out fuses. I think it is rediculous that an Internet connected Windows system is "automagicly" degrading to a near useless condition, so Windows should be thrown out.
It should be possible to run a decent selection of software on a server, where the user selects his mixture, taking into account his desired level of reliability. An Operating System should sufficiently isolate processes so that a single bug doesn't crash the machine.
Slower performance.
Needless consistency checks slow things down (and improper checks may even cause instability). With a proper design you know what to check where, so you only check once. In my experience good quality software performs better than bad software.
Take the phone switches for example. These things don't crash, ever. They just work. [...] they've had like one major upgrade (5ESS to 7R/E) in the last couple decades
Sorry, I had to pick myself up from the floor, fell of my chair laughing. I did work for a telco and crashed a few switches myself, the Lucent stuff you mention. Ericson makes more reliable systems (but they have a different design philosophy). And software updates for phone switches appear regularly.
I agree that journalists should be punishable for crimes they commit, but "criminal investigation" is commonly used as an excuse for government intimidation. (Not often in the USA, but read the reports from Reporters without borders.) Is this happening here, the secrecy around all this makes me worry!
Asbestos is safe when the fibers are immobilised (nicely packaged and nobody stirring them up). Handling "asbestcement" roof tiles is safe as long as you don't break them: You don't want free asbestos fibers roaming around in the air you breath.
Nanotube paint will be safe once the paint has dried. (Organic solvents are not healthy!) I'ld suggest that painters were protective masks when sanding away the paint, because it is unknown what the health effects are. Mineral wools that chemically look a lot like asbestos are much safer and even within the various asbestos types there is a wild variation in the rates at which they cause cancer.
Seconded. The differences between java and C# are relatively small, but java fits better in a Linux environment. If you want to become a serious software engineer you should spend some time to learn one or two other programming languages too, to broaden your view.
The EC verdict had several points:
1. A fine of ~500 Million Euro
2. Windows without media player
3. Making available documentation for interfaces.
Microsoft is appealing the verdict and dragging its feet with respect to point 3. We'll need to keep up the pressure on Microsoft, the EU and others to have Microsoft open its interfaces.
The first things that pop up in my mind: EULA and activation code.
Why don't you ask one of the guys(m/f) that sends you his MSVS project file to act as maintainer for the Windows port? Tasks:
- Alpha/beta testing
- Buiding the official Windows binary distribution
Off course he'll be the one that has to keep the project file up to date.
There are several ways where GPL code can enter a company against the intent of the company. What is the contractor doing to which you outsourced a development project? Outsourcing may mean that you end up with bad code in more than one way.
It is possible to use GPL code inside a company in specific ways. What are the financial consequences of an honest engineering or management mistake, like distributing an "internal use only" application to a business partner?
A well run business can keep the risk that these kind of accidents happen low, but not guarantee they'll never happen. They can choose to insure themself against this kind of "accidental malpractice", like you may have a fire insurance.
--
I do work for OSRM, but the above is my personal opinion. Correlation with OSRM opinions would be accidental.
A summary of Kees's results for the curious: Linux is a few 100 dollars/PC/yr cheaper than Windows. It will take more than a year to recover the cost of migrating away from Windows to Linux.
Dynamic IPs and computers entering and/or leaving sensor networks complicate the case of mapping out the sensor network. Furthermore, in the real world not every probe package will be reported. Mapping out a subset of the sensor network and pollute it with false data is pretty easy. Mapping out the full network to avoid detection of a your next worm attack: close to impossible.
Managing a website can cause you a significant headache in the USA: http://yro.slashdot.org/article.pl?sid=04/01/10/18 5236.
Luckily, in the end :things worked out nicely for the webmaster this time
http://yro.slashdot.org/article.pl?sid=04/06/10/23 55201, but how many days did this guy spend in jail innocently?