There is a lot of unverifiable assumptions in the article, and I cannot see how the 3 things are linked here: Google/China/IE 0day ?
Frankly, do you believe Google uses IE or even Windows ? And what kind of sites are infected with this 0day flaw ? Sure, if the employees surf for porn or warez, they should be blamed.
Also, if I were the chinese government, there is an easier way to infect computers: insider employees. They can simply plug an USB key and infect the computers.
Anybody who knows anything about biochemistry and/or pharmaceuticals knows that novel drugs that are SAFE and EFFECTIVE are enormously expensive to develop and clinically test.
It's not entirely true:
1) first, they test their new drugs on cheaper people (India, China and similar countries). The big companies however concentrate searching drugs for western diseases, because it's much more profitable, so it's quite difficult to test the drugs on people needing it.
2) secondly, when a drug is finally available, everybody is a beta-tester, and the manual's instructions are changed from time to time (there is a revision date for the notice of a medicine).
3) thirdly, a drug needs advertisement to really become profitable (or to concentrate on a popular disease, like the swine flu or erection problems). There have been a lot of abuse in this part in France. For example, the doctors prescribing the most drugs of a certain company could be invited to a seminar in a sunny country (or rewarded financially).
Finally, doctors are not saints. They try to earn money too. If they can earn enough money without cheating, I don't think they'll take the risk. But a lot of high-profile experts (and I mean those who pass on TV) are in fact working for the pharmaceutical companies, and a lot of doctors don't earn enough money, even after 9 to 11 years of studies ! It's difficult to push for morality when doctors are just overwhelmed by work, with a quite low pay.
In my opinion, the manager must tell the developers to return to their home, and take a good night sleep.
A few years ago (when I worked as a game programmer), it was common to do some all-nighters, since everybody was doing it. There were some problems, though:
- the code tends to be crappier, since we are tired
- jetlag: if you are alone, this is not a problem, but it's difficult to live as a couple
- burnout: you'll pay your night of work
- you can be very productive the first night, but not for an extended period
Also, when the project finishes, all the tensions disappears, and everybody is completely demotivated, resulting in their resignation in 30% of the cases.
It's not reasonable to work like a crazy when you approach the deadline.
Now, I much prefer the agile approach: instead of trying to put all you want in the product, just try to put what can fit within the given amount of time.
There are some interesting techniques that you may apply:
- YAGNI: http://en.wikipedia.org/wiki/You_ain't_gonna_need_it instead of implementing a ton of things, implement the simplest set of what is needed
- BDD: http://en.wikipedia.org/wiki/Behavior_Driven_Development instead of coding without a goal (except to finish the product), ask your manager to write executable specifications. This includes also to concentrate on finishing the features one after another (and not keeping them half-finished, due to lack of time).
And the most important thing: if you cannot add a feature in your program, because you lack of time, DON'T ADD IT !
This is definitely NOT the work of an amateur ! The director has probably access to an expensive camera. Why ? I worked previously in a game company where the graphists had to integrate effects into real pictures. There was a problem because some parts of the movie were shot without steadycam (meaning that when the cameraman filmed, the camera was moving just a little bit, because of his breathing). To adjust the effects on the pictures, the graphists had to correct the scenes frame by frame, by slightly rotating the effect.
In the video, you can see that the camera is always moving, so this means that the director kept track of the position of the camera at every frame. It's of course possible to do this manually, but requires a lot of (useless) manual work.
Anyway, the effects are very well embedded into the real pictures.
So the $300 have probably been spent on paying the extras on the screen.
Hint: I have been one of the programmers behind Omikron the Nomad Soul, their previous success.
The biggest problem with Omikron is that we spend a lot of time adjusting the gameplay on the first level, at the expense of the following levels. Making the game appealing takes a lot of time, and when the game is too large (and not clearly defined), it takes an exponential amount of time.
Another big problem is that Omikron tried to merge several types of games: adventure, action and fight. Instead of creating one good adventure game, we created 3 below-average games. And these games mix as easily as water and oil.
I lost all my ties with Quantic Dreams, but I'm pretty sure they still have these problems, with a boss who wants to create too ambitious games, and a team confronted to an unclear direction. Quantic Dreams also lost a lot of their coders at the end of the first game, due to stress, bad scheduling, and in general a terrible lack of organization.
An anecdote: the boss wanted that the player might pilot the cars in the city, so we spent 3 weeks of coding to allow that, plus a lot rework of the 3D graphics, since the roads needed to be tagged. Did you know that you could pilot the car manually ?
At my work, we used Bugzilla extensively, but it was because one of our developers maintained it, by coding some new components. It is really oriented towards bug tracking, but it's not very well integrated with anything else. For example, how can you automatically link a wiki page to a bug, when you do a commit on a SVN server, then run a build ? It's also a mess to maintain, since it's written in Perl.
We recently switched to Trac because we needed a more complete integration between the automated build process, the wiki, the bug tracking and the frequent releases (we try to work with agile methodologies).
Frankly, Trac is not very good on each of the above points, but it's easy to use, fast and light and it's written in Python (and our Bugzilla maintainer is a Python expert, so he's much happier). Bugzilla is slow and if Mozilla did not put resources on maintaining it, it would have died since a long time.
Note that using two different tools (Wiki and Bugzilla) leads to developers concentrating on Bugzilla, and never updating the wiki. On the contrary, having the wiki and bug tracking forces them to update the wiki.
If the French are to be blamed for anything after WWI, it is for being too *aggressive* against the Germans. They crippled the German economy with vengeful reparations. They invaded and occupied the Ruhr.
My grand-father fought during WWI. Two generations after him, I still bear the sequels of the chemical military attacks from the Germans (check http://en.wikipedia.org/wiki/Sulfur_mustard, and yes, this gas modifies the DNA ).
A whole generation of young french guys were sacrificed during WWI, and a lot of family names disappeared during this time. Yes, the french generals were partly to blame, because they used the soldiers as cannon fodder. But the Germans were the first to use chemical weapons.
If you were a french during this period, you would have a lot of resentment against Germany. There is no doubt that you would have done the same thing.
Unfortunately, the games industry is being pushed by customer demand and sabotaged by shrinking budgets from the corporate side.
Definitely no.
I worked for the video game industry, and this has nothing to do with QA or anything... The period of the year when the games sell well is Christmas. But selling your game at Christmas means that the game MUST be ready by the end of September. If you miss September, you can say goodbye to make money with your game (especially if it's crappy). There is also a small period at the beginning of January: parents gave money to their children, and the children tend to buy games.
In general, the company does not care if the game is ready for launch or not, because it does not want to miss the launch date, so the game is sold in the state it is in September. Also, the company believes that a patch will be available by December and won't affect most of the customers, since the game is scheduled to be played after the Christmas sales. Only the early customers will discover the problem. Note also that when a crappy game is published, the company behind the game does not send the game to the magazines, since it does not want to ruin its Christmas sales.
QA has probably found the problem before September, but the marketing department told that the game must be available whatever the circumstances are.
So, instead of blaming QA or developers, blame the marketing department instead !
I forgot to add that you should use _fastcall, instead of the standard _cdecl. When you have a lot of calls with parameters in your code, it's significantly faster.
About my primes implementation, I simply use an array for primes (with one byte per prime), and the program simply marks all multiples of prime numbers. I use it for a programming contest: http://www.v-sonline.com/index.pl?C4
I also would like to see a site with benchmarks between the different compilers (Intel C++, MSVC,...)
Try the following settings: - Maximize Speed - Omit Frame Pointers - Buffer Security Check: No - Enable Enhanced Instruction Set: SSE2
VS2008 does a better job at optimizing the code, but it introduces a lot of overhead everywhere, ruining all the optimizations. I did some comparisons with Intel C++ some years ago, and VS.Net was much faster in my case (integer and memory use, Intel was better when using floating point), but perhaps the situation has changed now.
BTW, your prime generation algorithm is really slow, since I'm able to compute primes upto 100000000 in less than 2 minutes (of course, not by doing multiple divisions for each number). Google Eratosthenes sieve for more information.
There is a lot of unverifiable assumptions in the article, and I cannot see how the 3 things are linked here: Google/China/IE 0day ?
Frankly, do you believe Google uses IE or even Windows ?
And what kind of sites are infected with this 0day flaw ?
Sure, if the employees surf for porn or warez, they should be blamed.
Also, if I were the chinese government, there is an easier way to infect computers: insider employees.
They can simply plug an USB key and infect the computers.
You ruined my lunch.
Fire the incompetent boobs that let it happen and blacklist them from ever getting another government job again in their lives.
Because they are difficult to fire or demote, and also because it's hard to replace them.
Do you know Peter Principle ?
http://en.wikipedia.org/wiki/Peter_principle
Anybody who knows anything about biochemistry and/or pharmaceuticals knows that novel drugs that are SAFE and EFFECTIVE are enormously expensive to develop and clinically test.
It's not entirely true:
1) first, they test their new drugs on cheaper people (India, China and similar countries). The big companies however concentrate searching drugs for western diseases, because it's much more profitable, so it's quite difficult to test the drugs on people needing it.
2) secondly, when a drug is finally available, everybody is a beta-tester, and the manual's instructions are changed from time to time (there is a revision date for the notice of a medicine).
3) thirdly, a drug needs advertisement to really become profitable (or to concentrate on a popular disease, like the swine flu or erection problems).
There have been a lot of abuse in this part in France.
For example, the doctors prescribing the most drugs of a certain company could be invited to a seminar in a sunny country (or rewarded financially).
Finally, doctors are not saints. They try to earn money too. If they can earn enough money without cheating, I don't think they'll take the risk.
But a lot of high-profile experts (and I mean those who pass on TV) are in fact working for the pharmaceutical companies, and a lot of doctors don't earn enough money, even after 9 to 11 years of studies !
It's difficult to push for morality when doctors are just overwhelmed by work, with a quite low pay.
Only the activists search for porn on the Internet.
Officials are encouraged for morality:
http://www.huffingtonpost.com/2009/11/14/chinese-officials-told-to_n_358021.html
And for all whose who want to get free porn, they surely search for freedom, so they are potential activists.
It will be difficult to find online chinese porn.
In the Register article:
Although more limited, Wednesday's malicious torrent of web traffic will insure that someone gets coal in their stocking.
Of course, it's again the fault of those torrents of bits.
And the iranian government will be happy to track the iranian posters...
The ad was banned later:
http://news.cnet.com/8301-13579_3-10108679-37.html
Link for the video (compared with reality):
http://blog.websourcing.fr/wp-content/plugins/embedded-video-with-link/mediaplayer/player.swf?file=http://movies.itpro.co.uk/pcpro/online/appleadlow_DI_New_4x3_001.flv
Really, which film was worse?
Both of them.
In my opinion, the manager must tell the developers to return to their home, and take a good night sleep.
A few years ago (when I worked as a game programmer), it was common to do some all-nighters, since everybody was doing it.
There were some problems, though:
- the code tends to be crappier, since we are tired
- jetlag: if you are alone, this is not a problem, but it's difficult to live as a couple
- burnout: you'll pay your night of work
- you can be very productive the first night, but not for an extended period
Also, when the project finishes, all the tensions disappears, and everybody is completely demotivated, resulting in their resignation in 30% of the cases.
It's not reasonable to work like a crazy when you approach the deadline.
Now, I much prefer the agile approach:
instead of trying to put all you want in the product, just try to put what can fit within the given amount of time.
There are some interesting techniques that you may apply:
- YAGNI: http://en.wikipedia.org/wiki/You_ain't_gonna_need_it instead of implementing a ton of things, implement the simplest set of what is needed
- BDD: http://en.wikipedia.org/wiki/Behavior_Driven_Development instead of coding without a goal (except to finish the product), ask your manager to write executable specifications. This includes also to concentrate on finishing the features one after another (and not keeping them half-finished, due to lack of time).
And the most important thing:
if you cannot add a feature in your program, because you lack of time, DON'T ADD IT !
If you read the original post: http://www.taringa.net/posts/videos/3854519/Ataque-de-Panico!-Robots-Gigantes-en-Montevideo.html
you'll see that they worked for 6 months on it, with a ton of tools, that are a lot more expensive than $300 (they cite 3dMax, FumeFx, Glu3d, AfterEffects, Photoshop y Premiere), unless these softwares were pirated.
This is definitely NOT the work of an amateur !
The director has probably access to an expensive camera.
Why ?
I worked previously in a game company where the graphists had to integrate effects into real pictures.
There was a problem because some parts of the movie were shot without steadycam (meaning that when the cameraman filmed, the camera was moving just a little bit, because of his breathing).
To adjust the effects on the pictures, the graphists had to correct the scenes frame by frame, by slightly rotating the effect.
In the video, you can see that the camera is always moving, so this means that the director kept track of the position of the camera at every frame. It's of course possible to do this manually, but requires a lot of (useless) manual work.
Anyway, the effects are very well embedded into the real pictures.
So the $300 have probably been spent on paying the extras on the screen.
Did I say that Perl was not good ?
I simply said that Bugzilla has been written since a long time, it's pretty old and over-bloated, and hard to maintain.
It's difficult to keep a project not bloated during a long period of time.
BTW, our Python expert is also a Perl expert, and he teaches these languages in an university.
Don't expect too much !
Hint: I have been one of the programmers behind Omikron the Nomad Soul, their previous success.
The biggest problem with Omikron is that we spend a lot of time adjusting the gameplay on the first level, at the expense of the following levels.
Making the game appealing takes a lot of time, and when the game is too large (and not clearly defined), it takes an exponential amount of time.
Another big problem is that Omikron tried to merge several types of games: adventure, action and fight.
Instead of creating one good adventure game, we created 3 below-average games.
And these games mix as easily as water and oil.
I lost all my ties with Quantic Dreams, but I'm pretty sure they still have these problems, with a boss who wants to create too ambitious games, and a team confronted to an unclear direction.
Quantic Dreams also lost a lot of their coders at the end of the first game, due to stress, bad scheduling, and in general a terrible lack of organization.
An anecdote:
the boss wanted that the player might pilot the cars in the city, so we spent 3 weeks of coding to allow that, plus a lot rework of the 3D graphics, since the roads needed to be tagged. Did you know that you could pilot the car manually ?
How antiquated !
We use papyrus, and a few slav- I mean scriveners to enter our bugs.
The problem is that we only fix the latest bugs, because the older papyri are buried below a huge stack.
At my work, we used Bugzilla extensively, but it was because one of our developers maintained it, by coding some new components.
It is really oriented towards bug tracking, but it's not very well integrated with anything else.
For example, how can you automatically link a wiki page to a bug, when you do a commit on a SVN server, then run a build ?
It's also a mess to maintain, since it's written in Perl.
We recently switched to Trac because we needed a more complete integration between the automated build process, the wiki, the bug tracking and the frequent releases (we try to work with agile methodologies).
Frankly, Trac is not very good on each of the above points, but it's easy to use, fast and light and it's written in Python (and our Bugzilla maintainer is a Python expert, so he's much happier).
Bugzilla is slow and if Mozilla did not put resources on maintaining it, it would have died since a long time.
Note that using two different tools (Wiki and Bugzilla) leads to developers concentrating on Bugzilla, and never updating the wiki.
On the contrary, having the wiki and bug tracking forces them to update the wiki.
There is also a Tor plugin for Firefox, but I much prefer OperaTor.
If the French are to be blamed for anything after WWI, it is for being too *aggressive* against the Germans. They crippled the German economy with vengeful reparations. They invaded and occupied the Ruhr.
My grand-father fought during WWI.
Two generations after him, I still bear the sequels of the chemical military attacks from the Germans (check http://en.wikipedia.org/wiki/Sulfur_mustard, and yes, this gas modifies the DNA ).
A whole generation of young french guys were sacrificed during WWI, and a lot of family names disappeared during this time.
Yes, the french generals were partly to blame, because they used the soldiers as cannon fodder.
But the Germans were the first to use chemical weapons.
If you were a french during this period, you would have a lot of resentment against Germany.
There is no doubt that you would have done the same thing.
The scanner was described 3 months ago in a question to Ask Slashdot:
http://ask.slashdot.org/story/09/09/27/199251/Software-To-Flatten-a-Photographed-Book
The answer:
http://ask.slashdot.org/comments.pl?sid=1383895&cid=29559637
Or use OperaTor: http://archetwist.com/en/opera/operator
Unfortunately, the games industry is being pushed by customer demand and sabotaged by shrinking budgets from the corporate side.
Definitely no.
I worked for the video game industry, and this has nothing to do with QA or anything...
The period of the year when the games sell well is Christmas.
But selling your game at Christmas means that the game MUST be ready by the end of September.
If you miss September, you can say goodbye to make money with your game (especially if it's crappy).
There is also a small period at the beginning of January: parents gave money to their children, and the children tend to buy games.
In general, the company does not care if the game is ready for launch or not, because it does not want to miss the launch date, so the game is sold in the state it is in September.
Also, the company believes that a patch will be available by December and won't affect most of the customers, since the game is scheduled to be played after the Christmas sales.
Only the early customers will discover the problem.
Note also that when a crappy game is published, the company behind the game does not send the game to the magazines, since it does not want to ruin its Christmas sales.
QA has probably found the problem before September, but the marketing department told that the game must be available whatever the circumstances are.
So, instead of blaming QA or developers, blame the marketing department instead !
I forgot to add that you should use _fastcall, instead of the standard _cdecl.
When you have a lot of calls with parameters in your code, it's significantly faster.
About my primes implementation, I simply use an array for primes (with one byte per prime), and the program simply marks all multiples of prime numbers. I use it for a programming contest: http://www.v-sonline.com/index.pl?C4
I also would like to see a site with benchmarks between the different compilers (Intel C++, MSVC,...)
Try the following settings:
- Maximize Speed
- Omit Frame Pointers
- Buffer Security Check: No
- Enable Enhanced Instruction Set: SSE2
VS2008 does a better job at optimizing the code, but it introduces a lot of overhead everywhere, ruining all the optimizations.
I did some comparisons with Intel C++ some years ago, and VS.Net was much faster in my case (integer and memory use, Intel was better when using floating point), but perhaps the situation has changed now.
BTW, your prime generation algorithm is really slow, since I'm able to compute primes upto 100000000 in less than 2 minutes (of course, not by doing multiple divisions for each number).
Google Eratosthenes sieve for more information.
I read "The Prince", but it's not very useful for manipulation. It's more focused on diplomacy.
IMHO, the best one is "How to Win Friends and Influence People" by Dale Carnegie.
Much more practical than "The Prince", and it works !
A couple of other items of note - for C# programmers, Bing is nicer in that it allows the sharp sign in a search, as opposed to google which doesn't
Forget about Bing for C#, try Google Codesearch:
http://google.com/codesearch
About finding the pictures, I'm now frequently searching for better image sources with the reverse image engine:
http://www.tineye.com/
You just scroll down and more results are loaded.
What a crappy feature !
IE8 is already slow, increasing the size of the page just makes it slower.
It's also on slashdot, on your messages page.
Flash's security policy is severely broken.
Nope, Flash's security policy is not broken, since it never existed.