Lets assume a video frame size of 320x240x16bit. We can scale this up fairly well, however, its no where near TV quality.
Each frame takes 153,600 bytes per frame uncompressed. Now lets say you can get 80% compression on each frame. That would bring us down to 30,720 bytes per frame.
A typical 28.8K modem is going to see 2800 bytes a second (on a good day, more like 2400 bytes in the real world). Note: This is a 28.8K modem and not a 56K modem.
Based on these numbers, it would take about 10.9 seconds per frame (30,720 / 2800 = 10.9).
Obviously there are tricks that one can do such as deltas between frames rather than actual frames, etc...
However, in order to get 24FPS (3,686,400 bytes)in real time, they would have to get a compression rate of 99.93% (for the 24 frames).
It just doesn't add up. I think they are full of it and this product will never go beyond vaporware.
Under current copyright law, a work is copyrighted automatically upon creation. Thus, every piece of email you write and send is copyrighted.
IANAL, however, that statement is not 100% accurate. In order to have a copyright on it, you must put "(C) Copyright 2001, by [your name here]" somewhere on the document.
This gives you the copyright on it. Posting something (or emailing) without a Copyright notice on it, effectivly makes it Public Domain.
If you want FULL protection for your work, then you need to register the copyright with the copyright office.
One of the big boys are going to buy it. Just watch. Sprint, AT&T, or someone along those lines will grab it.
The research for the technology has already been done, the network is already in place. All the expsensive stuff is out of the way.
There is very little risk for the buyer. They know how well it performs and what the limitations are. They just have to make sure that its going to make money.
Its hard to imagine something like this NOT making money.
The same people who buy books like the Guinness Book of World Records. Just because you're not in the book doesn't mean you wouldn't find it interesting.
Whether to fix or replace has been a question that has been asked for ages. The answer can only come after you have had the time to investigate the nature of the problem and what impact it would have.
A lot of programmers start out re-writing with good intentions but usually wind up with something just as bad as what was originally there.
In order to avoid this problem, the programmer must analyze the code and have an intimate knowledge of what the code does and what it is SUPPOSED to do. After looking at these two things, the programmer must analyze what the impact is going to be for both fixing the code and replacing the code.
Once you have this information you can then assess the risks involved with both approaches. The programmer should also be aware of what the long term goals of development are. Its possible that you could be rewriting a section of code that will no longer be used in the next release. This would be a waste of your time as well as the companies.
One of the largest risks of rewriting a section of code is that you may change the intent of that code or introduce new side effects that you hadn't thought of. If the code has been around for a long time, chances are, that code for the most part works and should only be fixed. If the code has never worked, then it could be a good candidate for re-write.
When we fix bugs where I work, we are required to fill out a Design Change Request (DCR) form for anything that requires significant modification to the structure of the code. If it's a simple fix, then we fix it. The DCR is then submitted to a manager and they review it and approve it. In the DCR you state what problem you are trying to fix, what files it affects, what you plan to do, what side effects it might have, and any other alternative solutions that might be feasible as well.
What a DCR does for the programmer is it gets them to look at the problem in detail, and to understand what impact their solution may have. It also gets the programmer to look at alternative ways of solving the problem.
I can't count the number of times I've switched solutions because I thought of a better approach. Had I just started in and started fixing and or replacing code, I would have been wasting time and energy on something that might not have worked in the long run.
The last thing I want to say, is that Documentation and Planning for Change are critical to an application that is going to be easy to maintain down the road. Documentation (i.e. Good Comments) are not for you, but for that poor sap that follows you. Help them out!
I started out doing procedural code (COBOL, FORTRAN, BASIC) in the old days and thought OOP was stupid when it first came out. It wasn't until I started using Delphi and C++ that it really "Clicked" for me.
After that, I started learning more about OOP and OOD. What I found out is that done right, OOP can be written just as fast as procedural. Sometimes faster. Once you get into the habit of doing things a certain way and thinking a certain way, it becomes second nature.
OOP is not just for GUIs. In fact, if done right, your should have a GUI object that talks to a Business Object which talks to a Database Object. You should be able to change out any combination of the three and not notice any change (in a perfect world ).
Obviously you can do this in a procedural fashion, but OOP lends itself more to this (i.e. makes it easier on the programmer).
People complain about the speed of C++ and OOP in general. Speed is not a major problem with todays computers when it comes to business applications. What is more important is the ability to have stable software that you can change easily and quickly. When speed is important, there are always ways to optimize.
$400 for something like this is pretty cheap. Ms.PacMan cocktails run in the neighborhood of $1200US. Ms. PacMan is still one of the top earning games today, even when put next to the most hi-tech games around.
Why? Because its simple and fun to play and it appeals to both sexs.
The other reason the price of Ms. PacMan (and games like Galaga) are through the roof is because of eBay. eBay provides the seller with a much larger audience with more $$ to burn than the average person.
Building games from scratch is cool, and I've even consdidered doing it, but I prefer to restore them. It can be more work at times, but its a lot more satisfying to bring something back from the dead, then it is to create it from scratch. I'm biased though:-)
If you look around the net, you'll find that there are A LOT of people who have built games from scratch, or just built cabinets from MAME.
Its a cool hobby, but once you start down that path, forever will you be doomed! I started with Defender, now I have 21 games!
What that guy did was fantastic and required a lot of skill. To that I say congratulations! The cool thing about this story though, is it wasn't a MAME cabinet! I have nothing against MAME, I've used it and use it every once in awhile (why use MAME when you have the real thing?)
Anyway... Visit my site, and you'll get a lot more info on this hobby than you ever wanted.
Well, what is preventing someone from porting it to other languages and renaming it? You could port it to Delphi, Assembler, VB (*SHUDDER*).
Maybe I want to add DVD playback cababilities to my Application. I need a component to do so and I am unable or unwilling to pay the MPAA licenses fees to do so.
As for the AC who asked "Who the hell has a real frogger" (Not an exact quote but close enough). Well, the answer is: A lot of people! I myself own 20 games. Collecting Arcade games has taken off in the last couple years (for better or worse).
If you want to know what its like to have 20 games in your house, imagine owning 20 refridgerators.
Personally, I love MAME. Its what got me back into arcade games and started me down the road of collecting the full sized games. However, the experience of playing a game on MAME is nothing like playing the actual thing.
Its hard to emulate the feel of the Robotron, Sinistar, Stargate, etc... When you play these games, part of the playing experience is how you physically interact with the machine itself.
MAME definitely has its place and I support it 100%, however, once you've played the real thing again, MAME just wont cut it.
The major benefit to MAME though, is that it takes up a lot less space:-) If you want to know what it feels like to own 20+ Arcade games, go out and buy 20 Refrigerators. Another benefit is that it's a lot less maintenance.
Even with those benefits, I wouldn't give up my Donkey Kong, Robotron, Stargate, Joust, Sinistar or any of the others I have in my collection!
WARNING! If you start with by collecting ONE game, you wont be able to stop!
The source to the VCL ships with every copy of Delphi and C++ Builder, so it is somewhat "Open Source". I've fixed a few bugs (and submitted the bug reports with the fixes) and there are Web sites that tell you how to fix other bugs.
It would be great if they opened the source to their compilers, but what else do they make that they could make money from? Or should they switch Business models to something like Red Hat where they are just a distributor now?
Optimization at the level that the compiler works on, is generally a last step for optimization. I agree that a compiler can do that type of opimization better than most people. However, to truly optimize your app/function the compiler will fail simply because it has no clue as to what the function/app is supposed to be doing.
You will get a bigger bang for your buck, optimization wise, by changing the implementation rather than optimzing CPU cycles.
A really good book on this subject is called "The ZEN of Code Optimization" by Michael Abrash. The book covers almost every aspect of optimization including things like knowing when to optimize and when not to. Its geared towards the Pentium processor and has most examples in C and Assembler.
Another problem that you could run into with the compiler optimizing for you is that it might change the intent of the function/app. If it does that then you will be hard pressed to debug your app unless you enjoy tracing through the assembler. Most if not all compilers don't have this problem anymore.
If you want it to go faster, change the way your doing it.
The Youngest "Accountant" because they can count to ten without their fingers?
Maybe the youngest politician because they lied about breaking something...
The possibilities are endless!
Just because the kid knows how to type a couple of words in Word, or slap some meaningless numbers, and junk into Excel does not make them a "Software Executive", unless you are actually referring to the people who run most software companies who are computer Illiterate. Then maybe....
I guess we're lucky they didn't call him a "Software Engineer":-)
Open source has been around for a long, long time. Since the days computers were born, programmers have been sharing source code. It was the primary way people learned how to program (next to experimentation) since there weren't rows and rows of books that you could just run out and buy.
Its just recently that its been given a Buzz Word of "Open Source".
Open Source will only be commercialized if people think they can make money off of it.
Major companies will not give anything away for free unless they see another way to get money from something "FREE".
How can you survey only 150 people and make a sweeping statement that VB is #1? Its absurd and should be totaly ignored because its statistically insignificant.
There are millions of Developers out there and to only ask 150 is just plain stupid.
> Last week, the Justice Department announced > that, for the first time in half a century, > more people are using guns to kill themselves > than to kill others.
There is no correlation between people killing themselves and killing others. Who says that if they hadn't killed themselves, they would have killed someone else? or Vise Versa?
The statemnet that more people are using guns to kill themselves than others means Nothing, other than the number of people killing themselves has increased.
For Example: If 100 people killed other people last year, and 50 killed themselves, then this year 150 people killed other people, and 200 people killed themselves. Does that really tell us anything? Not really, just that both killings of other people and people killing themselves increased since last year. Their statement implies that people killing other people has dropped, but it has not. Its like trying to compare apples to oranges.
I agree. The syntax of the languages are easy and in some cases very similar. I can pick up any language, learn the syntax in a few days and actually be productive in the language.
The things they need to teach in school is Good Object Oriented Desgin, Engineering Ethics (i.e. holding ones self to a higher level of quality than is expected), and Debugging Skills.
Teach them these skills and the choice of lanugage will be a moot point.
Ok,
Lets assume a video frame size of 320x240x16bit. We can scale this up fairly well, however, its no where near TV quality.
Each frame takes 153,600 bytes per frame uncompressed. Now lets say you can get 80% compression on each frame. That would bring us down to 30,720 bytes per frame.
A typical 28.8K modem is going to see 2800 bytes a second (on a good day, more like 2400 bytes in the real world). Note: This is a 28.8K modem and not a 56K modem.
Based on these numbers, it would take about 10.9 seconds per frame (30,720 / 2800 = 10.9).
Obviously there are tricks that one can do such as deltas between frames rather than actual frames, etc...
However, in order to get 24FPS (3,686,400 bytes)in real time, they would have to get a compression rate of 99.93% (for the 24 frames).
It just doesn't add up. I think they are full of it and this product will never go beyond vaporware.
Is the interface! You don't have to spend 5 minutes searching (no pun intended) for the Edit box to type your search into!
Under current copyright law, a work is copyrighted automatically upon creation. Thus, every piece of email you write and send is copyrighted.
IANAL, however, that statement is not 100% accurate. In order to have a copyright on it, you must put "(C) Copyright 2001, by [your name here]" somewhere on the document.
This gives you the copyright on it. Posting something (or emailing) without a Copyright notice on it, effectivly makes it Public Domain.
If you want FULL protection for your work, then you need to register the copyright with the copyright office.
One of the big boys are going to buy it. Just watch. Sprint, AT&T, or someone along those lines will grab it.
The research for the technology has already been done, the network is already in place. All the expsensive stuff is out of the way.
There is very little risk for the buyer. They know how well it performs and what the limitations are. They just have to make sure that its going to make money.
Its hard to imagine something like this NOT making money.
When you're at work, you should be WORKING. If you don't want the company to find out about it, don't do it at work. Simple? Yes?
You would think that this would be common sense.
Oh Yeah, most people lack common sense...
The same people who buy books like the Guinness Book of World Records. Just because you're not in the book doesn't mean you wouldn't find it interesting.
Actually, its not that hard at all. Its called Video. Set up your Video Camera and start recording. Then they can watch as the score rolls over.
A lot of programmers start out re-writing with good intentions but usually wind up with something just as bad as what was originally there.
In order to avoid this problem, the programmer must analyze the code and have an intimate knowledge of what the code does and what it is SUPPOSED to do. After looking at these two things, the programmer must analyze what the impact is going to be for both fixing the code and replacing the code.
Once you have this information you can then assess the risks involved with both approaches. The programmer should also be aware of what the long term goals of development are. Its possible that you could be rewriting a section of code that will no longer be used in the next release. This would be a waste of your time as well as the companies.
One of the largest risks of rewriting a section of code is that you may change the intent of that code or introduce new side effects that you hadn't thought of. If the code has been around for a long time, chances are, that code for the most part works and should only be fixed. If the code has never worked, then it could be a good candidate for re-write.
When we fix bugs where I work, we are required to fill out a Design Change Request (DCR) form for anything that requires significant modification to the structure of the code. If it's a simple fix, then we fix it. The DCR is then submitted to a manager and they review it and approve it. In the DCR you state what problem you are trying to fix, what files it affects, what you plan to do, what side effects it might have, and any other alternative solutions that might be feasible as well.
What a DCR does for the programmer is it gets them to look at the problem in detail, and to understand what impact their solution may have. It also gets the programmer to look at alternative ways of solving the problem.
I can't count the number of times I've switched solutions because I thought of a better approach. Had I just started in and started fixing and or replacing code, I would have been wasting time and energy on something that might not have worked in the long run.
The last thing I want to say, is that Documentation and Planning for Change are critical to an application that is going to be easy to maintain down the road. Documentation (i.e. Good Comments) are not for you, but for that poor sap that follows you. Help them out!
After that, I started learning more about OOP and OOD. What I found out is that done right, OOP can be written just as fast as procedural. Sometimes faster. Once you get into the habit of doing things a certain way and thinking a certain way, it becomes second nature.
OOP is not just for GUIs. In fact, if done right, your should have a GUI object that talks to a Business Object which talks to a Database Object. You should be able to change out any combination of the three and not notice any change (in a perfect world ).
Obviously you can do this in a procedural fashion, but OOP lends itself more to this (i.e. makes it easier on the programmer).
People complain about the speed of C++ and OOP in general. Speed is not a major problem with todays computers when it comes to business applications. What is more important is the ability to have stable software that you can change easily and quickly. When speed is important, there are always ways to optimize.
See, I can ramble on just like the author....
Why? Because its simple and fun to play and it appeals to both sexs.
The other reason the price of Ms. PacMan (and games like Galaga) are through the roof is because of eBay. eBay provides the seller with a much larger audience with more $$ to burn than the average person.
Building games from scratch is cool, and I've even consdidered doing it, but I prefer to restore them. It can be more work at times, but its a lot more satisfying to bring something back from the dead, then it is to create it from scratch. I'm biased though :-)
If you look around the net, you'll find that there are A LOT of people who have built games from scratch, or just built cabinets from MAME.
Its a cool hobby, but once you start down that path, forever will you be doomed! I started with Defender, now I have 21 games!
What that guy did was fantastic and required a lot of skill. To that I say congratulations! The cool thing about this story though, is it wasn't a MAME cabinet! I have nothing against MAME, I've used it and use it every once in awhile (why use MAME when you have the real thing?)
Anyway... Visit my site, and you'll get a lot more info on this hobby than you ever wanted.
Arcade Restoration Workshop
Brien
http://www.fcc.gov/contact.html
I sent them an Email, so should you! Let them know that this is a bad thing!
Please keep the emails civil though.
Maybe I want to add DVD playback cababilities to my Application. I need a component to do so and I am unable or unwilling to pay the MPAA licenses fees to do so.
Actually, Vector games like Battle Zone were the first Polygon based games, however, I, Robot was the first to use FILLED Polygons.
As for the AC who asked "Who the hell has a real frogger" (Not an exact quote but close enough). Well, the answer is: A lot of people! I myself own 20 games. Collecting Arcade games has taken off in the last couple years (for better or worse).
If you want to know what its like to have 20 games in your house, imagine owning 20 refridgerators.
Its hard to emulate the feel of the Robotron, Sinistar, Stargate, etc... When you play these games, part of the playing experience is how you physically interact with the machine itself.
MAME definitely has its place and I support it 100%, however, once you've played the real thing again, MAME just wont cut it.
The major benefit to MAME though, is that it takes up a lot less space :-) If you want to know what it feels like to own 20+ Arcade games, go out and buy 20 Refrigerators. Another benefit is that it's a lot less maintenance.
Even with those benefits, I wouldn't give up my Donkey Kong, Robotron, Stargate, Joust, Sinistar or any of the others I have in my collection!
WARNING! If you start with by collecting ONE game, you wont be able to stop!
The source to the VCL ships with every copy of Delphi and C++ Builder, so it is somewhat "Open Source". I've fixed a few bugs (and submitted the bug reports with the fixes) and there are Web sites that tell you how to fix other bugs.
It would be great if they opened the source to their compilers, but what else do they make that they could make money from? Or should they switch Business models to something like Red Hat where they are just a distributor now?
Optimization at the level that the compiler works on, is generally a last step for optimization. I agree that a compiler can do that type of opimization better than most people. However, to truly optimize your app/function the compiler will fail simply because it has no clue as to what the function/app is supposed to be doing.
You will get a bigger bang for your buck, optimization wise, by changing the implementation rather than optimzing CPU cycles.
A really good book on this subject is called "The ZEN of Code Optimization" by Michael Abrash. The book covers almost every aspect of optimization including things like knowing when to optimize and when not to. Its geared towards the Pentium processor and has most examples in C and Assembler.
Another problem that you could run into with the compiler optimizing for you is that it might change the intent of the function/app. If it does that then you will be hard pressed to debug your app unless you enjoy tracing through the assembler. Most if not all compilers don't have this problem anymore.
If you want it to go faster, change the way your doing it.
The Youngest "Accountant" because they can count to ten without their fingers?
:-)
Maybe the youngest politician because they lied about breaking something...
The possibilities are endless!
Just because the kid knows how to type a couple of words in Word, or slap some meaningless numbers, and junk into Excel does not make them a "Software Executive", unless you are actually referring to the people who run most software companies who are computer Illiterate. Then maybe....
I guess we're lucky they didn't call him a "Software Engineer"
Its just recently that its been given a Buzz Word of "Open Source".
Open Source will only be commercialized if people think they can make money off of it.
Major companies will not give anything away for free unless they see another way to get money from something "FREE".
How can you survey only 150 people and make a sweeping statement that VB is #1? Its absurd and should be totaly ignored because its statistically insignificant.
There are millions of Developers out there and to only ask 150 is just plain stupid.
> Last week, the Justice Department announced
> that, for the first time in half a century,
> more people are using guns to kill themselves
> than to kill others.
There is no correlation between people killing themselves and killing others. Who says that if they hadn't killed themselves, they would have killed someone else? or Vise Versa?
The statemnet that more people are using guns to kill themselves than others means Nothing, other than the number of people killing themselves has increased.
For Example: If 100 people killed other people last year, and 50 killed themselves, then this year 150 people killed other people, and 200 people killed themselves. Does that really tell us anything? Not really, just that both killings of other people and people killing themselves increased since last year. Their statement implies that people killing other people has dropped, but it has not. Its like trying to compare apples to oranges.
If you are using a German Keyboard, you shouldn't be typing "Y" anyway. You should be typing "J".
Actually, Under NT you can split your swap file among as many drives as you have.
I agree, though, MS is running scared, and we are likely to see A LOT more of this type of information coming from them.
I agree. The syntax of the languages are easy and in some cases very similar. I can pick up any language, learn the syntax in a few days and actually be productive in the language.
The things they need to teach in school is Good Object Oriented Desgin, Engineering Ethics (i.e. holding ones self to a higher level of quality than is expected), and Debugging Skills.
Teach them these skills and the choice of lanugage will be a moot point.