He has to be one of the greatest, if not the greatest, CEO in all of technology. He truly understood what his company had to do technologically to stay in front and he had the business sense to make it practical. Their software was and is often second rate at first but he's able to sell enough contracts that they could deliver the "real" software later. He knew what software would be important, the OS, Office, etc and although he was not a great visionary in what comes next, him company would quickly pounce on their competition and quickly deliver something to compete and destroy their competition. How? He controlled the OS market and this allowed them to build a monopoly to use to force whatever else they wanted.
He had the tech sense in that he was a programmer, studied math and is an all around smart guy. He made sure to surround himself with good talent to pound out all their software.
He understood software is the key (and for that he is visionary, face it) and built his business around that. Once he got the system that everything operates on, he knew that would make it easier to control everything else, and so it was done.
Bill Gates has to be the best model for a tech CEO/manager. He understood the business of it all and had the technological vision to know what viable and profitable and what limits existed.
"Picograms are important when you mesure LSD doses."
Nah, just add room temperature water to your volume of LSD creating a 25/1 ratio of water to LSD. Make sure it's stirred well and then apply to whatever medium you want (paper, sugar, gum, etc).
Now you can just dip your medium into your solution and viola!:P
If programming in C, as your examples have shown, use the "register" keyword in parts you're not sure will be optimized by the compiler all too well. Examples of this are blocks that use numerous variables, some of which are referenced more than others, blocks that make many function calls, so the compiler knows not to send everything to memory before loading the new frame in and in situations where it would appear a variable won't be used for awhile but you know the function coming next is going to want to manipulate it. Luckily, most compilers have good enough optimization that using "register" ins't as valuable as it once was. Just make sure that when you use it, don't set all variable to "register" because that defeats the purpose. Just the ones you know will be referenced a lot.
Another obvious clue is use effeciant data structures and algorithms. Plan your code before you write it and try and prove your algorithm is running in the fastest possible time.
Also, to get an idea of what most modern compilers do to optimize, and thus allowing you to see if what you hav written is not going to get optimized, read the Dragon Book, or at least the last few parts where this is discussed. What is said there still to this day are some of the most common techniques to optimize code. If you give this some time you will be able to analize what part of your code won't get optimized well.
As for your example, both conditional statements you provided would most likely get the same asm code generated. Probably along the lines of a beqz (branch if equal to zero) statement or an equivalent. Your statements are both boolean and comparing a variable to a constant, 0. Semantic analizers would pick up on this immediatly.
Also, in C don't ever pass by value but that should be obvious to anyone getting paid to code in C.
Lastly, if a part of your code doesn't seem optimal, it's probably a function of your poor algorithm and not that of the compilers code generation. I would doubt you will write a better asm program than your compiler would. Write a new algorithm and use tools to inspect your bottlenecks, like many others have pointed out.
Blogs are glorified message boards and people like them because it's like having an auto+5 post. It's essentially reality TV for the Internet...so I guess it's reality internet.
It will not replace modern journalisim because modern journalisim will replace itself. At best it could make editorial pages less read.
I just quickly checked my \programs folder and I didn't see it in there. Did they change the name of the Internet from Explorer to Firefox now? Maybe I should pick up the new Windows Service Pack this weekend. Is it in that I'm guessing?
It's just not practical to read every EULA all the way through. So much Legal mumbo jumbo and frankly I don't have time to read them necessarly. I mean, I don't read the manuel to all my appliances, or warranty all the way, or ingrediants to everything, etc. Here is what I propose:
Software comes with a set of "Nutrition Facts" regarding the software. It's something that's easy to summerize in terms of general requirements and the software has to state, in laymens terms, what the rules are. A simple 20 line bulleted list of "facts" should be required. Could our government (or any other) set up a set of rules software has to have posted with it? Could we set up a system such that a regular user can quickly glance over things that are not regular?
Sort of how the GPL is easy to sumerize basically. You could easily summerize the GPL, and I think I have seen it done, in 20 lines or less. Just a fact table or something. Can we generalize these things?
I mean, this idea is just a germ right now and off the cuft, but can you really expect someone to read every EULA? It's ridiculas and honestly software shouldn't be so complicated for a typical user.
Basically what I'm suggesting is a EULA for "the rest of us".
Guns don't kill people, people kill people. And although I'm not a proud NRA, card carrying member, their point resonates here as well. ISP's don't exploit childern, people exploit childern.
Perhaps that's a terrible analogy but you get my point. Maybe I should just RTFA!
Wow, that would be my professor Bruce Allen. I'm taking Physics 210 at UWM this semester and he's the one who lectures to me every Tuesday and Thursday. Good professor who studied under Stephen Hawking.
You got a +4 funny but I wouldn't suprized if you see things like that. It's hard to say crazier things have happened, but it's thoughts like yours that produce great things. Good idea perhaps! And you know soon enough there will be "organic" animals rasied outthere for their fabulous tenderness and taste. Of course it will costs $150.00/hamburger but that's actually realistic to some people. Case in point, I stayed at the Carlyle hotel in NY and everything was paid for, so I ordered one of the cheapest meals, an $85.00 hamburger. It came with handcut fries. It was good, but not $85.00 good. But, if that cow came from space, I would've paid $200 for it if only for a taste. Of course I would brag about how amazing it was to everyone else to build curiosity and eventually market saturation.
My grandmother, who is about 80 or so, will have seen it all I figure by the time she takes an infitie space yacht cruise. I mean when she was born, her idea of high tech was the radio. She probably heard about the mysteries of radar and soon saw TV and was definitly blown away. Cars became more and more "modern" and soon computers came out and even people, gasp!, in space! Not to mention the countless things I haven't mentioned, like the Internet, and now she has a chance to take a space cruise before she dies. That is considering this happens.
There is no way if she had to write a paper back in her school days, about the future, that if she mentioned this, se would be told she has such a creative mind but not realistic.
Obviously I am not the first person to say we;ve come a long ways in X years (and in some ways we haven't moved!), but this is insane.
It makes the future more exciting for those of us younger because we cannot even imagine how quickly we are going to see new technology become realities.
At this rate I say why stop at the moon? I'm saving my cash for a trip to Mars!
Those are all good points. I've always thought that a variable should have as minimal scope as possible. If you're using a lot of global variables though, most likely your program suffers from poor design. As for saving data in a game, I would think that if you're using the OO paradigm, every object should be able to save itself, or at least have a delegated class that does this.
There was a time when global variables were worse in that having a large stack of them would eat up a larger percentage of the users limited memory, but with todays systems the only problem I see is design and possibly identification issues if you're not the least bit careful.
"The reason it will not succeed in Asia is because Asians won't buy from a non-Asian company" They won't buy from a non-asian country? Are you nuts? Consumers don't care what business is pushing it. They want whats best for their money.
"In addition, XBox clearly markets games towards a Western preference, with FPS, and sports games. These aren't popular in Asian culture." Well, you're closer verifing you're a moron. So you're telling me Halo is why all of Asia just isn't having it? As for sports games, they LOVE their baseball games, their wrestling games and soccer games proven by the fact that they are constantly top sellers not to mention horse racing games and other nutty games. I wouldn't expect them to buy American Football games. Would you?
"I don't see why one small country like Japan should dictate the direction XBox will take in selling consoles worldwide - they aren't that significant in terms of the market that Microsoft is selling to." Only the largest worldwide market for video games and the second largest consumer dollar in the world! And what market is Microsoft trying to sell to? I'm guessing the market that people buy games in, ie; America, Japan, Europe, etc. I mean, Sony, Nintendo, etc markest all types of games to all types of cultures because they understand that people buy games they like. Maybe the reason many solid 3rd party companies are not getting in bed with MS on this one is because they have all learned from past experiances what happens when you do.
By your post you're either a 10 year old home sick from school or a really pathetic adult who is quite stupid. Or a troll who got me.
With that, as usual my money's on MS to eventually win because they always do and always will so long as they are above the law and in the bed of the people who make it. I'm not sure why they push a video ame platform when they dominate PC OS' and all the games that come out on those. It seems counter productive almost.
We seriously need more bandwidth in these games. And if throwing more bandwidth isn't likely anytime soon we will need to develop better algortihms and design better systems for ensuring players have low latecny when encountering large amount of other netoworked players.
All too often when a player is near a large group of other players they are hit with a large lag spike making large scale PvP frustrating and frankly, not fun.
It is this single issue I believe these games need to address before moving onto anything else really.
We'll see how Blizzard tackles it with their battleround concept of making an instance out of a predetermined largescale PvP arena, but even if this works it needs to go further. We have to figure out how to make flash mobs of people interact like anything else without the high latency that is a characteristic of all these games.
Fraom DaOC, Shadowbane, WoW and the few other I have played or observed, it seems this is the one consistant plague they all have.
I offer no solutions as I haven't thought to hard on how to solve this problem and even if I did it's possible my ideas would be naive considering I don't have experiance designing or developing these types of systems. However, from a players viewpoint, I can assure you this is a problem.
Some disagree with you but I see your point. If you're a rather creative person, you tend to find ideas dull quickly. You can think of something, begin work on it and lose interest because something enw has popped up. I have countless programs I have started on and put into the will finish later pile. Mainly because I have thought of something else that consumes me, often unrelated, or another thing I would rather work on now. I generally don't go back because looking back on them I don't find them as interesting as the new idea. Sometimes I'm just too busy to keep focus on it anyways. Often it's just plain laziness. It's easier to think of something and design it than to actually implement it. I consider that a blessing. It's like getting a new pair of pants. All of a sudden, the old pair you had doesn't seem so attractive anymore, even if they were your favorite a day ago so you're left with the same amount of pants netting 0!
But, as someone has correctly pointed out here, the only way it counts is if you have the focus to follow through. I'm sure a few other "dreamers" thought of the combustable engine, graphical webbrowser, home computer, open source OS, etc, but the guy who actually thought of it and *did it* is the real winner. Or even better stole it.
Face it, we are people who enjoy thinking and designing so much that it doesn't leave time for actually doing. My brain just tickles me sometimes and I feel sorry for most others who will never have the thoughts I do.
Just keep notes of your thought and go through them every so often to see if you have the motivation to follow through on something. Personally, I am really making an effort to have better focus and discipline when it comes to following through on things.
With that, I know when the right thing comes at the right time, it will be that moment of glory in which I dominate the world.
I'm graduating with a CS degree this spring at a University in the Midwest and out curriculum is similar to what you designed, with some exceptions:
Math: Yup, 4 calc classes. I never had calc in highschool but damn it I worked hard and it got easier with time.
More Math: Yup, 2 more "elective" math courses. I took one where we built the Natural Number system from a foundation of Logic, set theroy etc. And a stats course which I skipped today.
Physics: 2 Physics classes that are Calculas based. I found these to be a bit easier than the math. I guess with all the math I took, I got good at it.
Theroy: Yeah, quite a bit of theroy. Discrete Math, Theroy of Computation, Digital Logic, Computer Architecture, Data Structures and ALgorithms, Programming Languages (a tour of different language designs, functional, oo, logical) and some more.
Other: But Ialso got to take a class on compilers (wrote a full compiler for an OO language), Software Engineering, Testing, Programming, Graphics (Theroy and Application in open GL, Databases(Theroy and shit loads of design...this one hurt), Networks, which was theroy but then a networks lab which was all hands on, Operating Systems which was theroy you should know as well as having to proram multi threaded things, write schedualing algorithms, mutex's,etc. Plus a host of other neat courses.
So yeah I have taken a lot of theroy and math but these things have helped me understand in a deeper way than before about software design, production and analysis. Maybe of these courses won't make you an expert at any one thing but they give you a taste of it and make for easier use of it when the need arrises.
He has to be one of the greatest, if not the greatest, CEO in all of technology. He truly understood what his company had to do technologically to stay in front and he had the business sense to make it practical. Their software was and is often second rate at first but he's able to sell enough contracts that they could deliver the "real" software later. He knew what software would be important, the OS, Office, etc and although he was not a great visionary in what comes next, him company would quickly pounce on their competition and quickly deliver something to compete and destroy their competition. How? He controlled the OS market and this allowed them to build a monopoly to use to force whatever else they wanted.
He had the tech sense in that he was a programmer, studied math and is an all around smart guy. He made sure to surround himself with good talent to pound out all their software.
He understood software is the key (and for that he is visionary, face it) and built his business around that. Once he got the system that everything operates on, he knew that would make it easier to control everything else, and so it was done.
Bill Gates has to be the best model for a tech CEO/manager. He understood the business of it all and had the technological vision to know what viable and profitable and what limits existed.
The proof is in the pudding I guess.
The doctors are able to electrocute you to death when you fail to make payments.
"Picograms are important when you mesure LSD doses."
:P
Nah, just add room temperature water to your volume of LSD creating a 25/1 ratio of water to LSD. Make sure it's stirred well and then apply to whatever medium you want (paper, sugar, gum, etc).
Now you can just dip your medium into your solution and viola!
It's time to make this company Paymaxx! Mistakes like this are simply unacceptable and should be treated as crime IMO.
If programming in C, as your examples have shown, use the "register" keyword in parts you're not sure will be optimized by the compiler all too well. Examples of this are blocks that use numerous variables, some of which are referenced more than others, blocks that make many function calls, so the compiler knows not to send everything to memory before loading the new frame in and in situations where it would appear a variable won't be used for awhile but you know the function coming next is going to want to manipulate it. Luckily, most compilers have good enough optimization that using "register" ins't as valuable as it once was. Just make sure that when you use it, don't set all variable to "register" because that defeats the purpose. Just the ones you know will be referenced a lot.
Another obvious clue is use effeciant data structures and algorithms. Plan your code before you write it and try and prove your algorithm is running in the fastest possible time.
Also, to get an idea of what most modern compilers do to optimize, and thus allowing you to see if what you hav written is not going to get optimized, read the Dragon Book, or at least the last few parts where this is discussed. What is said there still to this day are some of the most common techniques to optimize code. If you give this some time you will be able to analize what part of your code won't get optimized well.
As for your example, both conditional statements you provided would most likely get the same asm code generated. Probably along the lines of a beqz (branch if equal to zero) statement or an equivalent. Your statements are both boolean and comparing a variable to a constant, 0. Semantic analizers would pick up on this immediatly.
Also, in C don't ever pass by value but that should be obvious to anyone getting paid to code in C.
Lastly, if a part of your code doesn't seem optimal, it's probably a function of your poor algorithm and not that of the compilers code generation. I would doubt you will write a better asm program than your compiler would. Write a new algorithm and use tools to inspect your bottlenecks, like many others have pointed out.
Blogs are glorified message boards and people like them because it's like having an auto+5 post. It's essentially reality TV for the Internet...so I guess it's reality internet.
It will not replace modern journalisim because modern journalisim will replace itself. At best it could make editorial pages less read.
I just quickly checked my \programs folder and I didn't see it in there. Did they change the name of the Internet from Explorer to Firefox now? Maybe I should pick up the new Windows Service Pack this weekend. Is it in that I'm guessing?
It's just not practical to read every EULA all the way through. So much Legal mumbo jumbo and frankly I don't have time to read them necessarly. I mean, I don't read the manuel to all my appliances, or warranty all the way, or ingrediants to everything, etc. Here is what I propose:
Software comes with a set of "Nutrition Facts" regarding the software. It's something that's easy to summerize in terms of general requirements and the software has to state, in laymens terms, what the rules are. A simple 20 line bulleted list of "facts" should be required. Could our government (or any other) set up a set of rules software has to have posted with it? Could we set up a system such that a regular user can quickly glance over things that are not regular?
Sort of how the GPL is easy to sumerize basically. You could easily summerize the GPL, and I think I have seen it done, in 20 lines or less. Just a fact table or something. Can we generalize these things?
I mean, this idea is just a germ right now and off the cuft, but can you really expect someone to read every EULA? It's ridiculas and honestly software shouldn't be so complicated for a typical user.
Basically what I'm suggesting is a EULA for "the rest of us".
Guns don't kill people, people kill people. And although I'm not a proud NRA, card carrying member, their point resonates here as well. ISP's don't exploit childern, people exploit childern.
Perhaps that's a terrible analogy but you get my point. Maybe I should just RTFA!
Wow, that would be my professor Bruce Allen. I'm taking Physics 210 at UWM this semester and he's the one who lectures to me every Tuesday and Thursday. Good professor who studied under Stephen Hawking.
I thought vowels are optional.
You got a +4 funny but I wouldn't suprized if you see things like that. It's hard to say crazier things have happened, but it's thoughts like yours that produce great things. Good idea perhaps! And you know soon enough there will be "organic" animals rasied outthere for their fabulous tenderness and taste. Of course it will costs $150.00/hamburger but that's actually realistic to some people. Case in point, I stayed at the Carlyle hotel in NY and everything was paid for, so I ordered one of the cheapest meals, an $85.00 hamburger. It came with handcut fries. It was good, but not $85.00 good.
But, if that cow came from space, I would've paid $200 for it if only for a taste. Of course I would brag about how amazing it was to everyone else to build curiosity and eventually market saturation.
My grandmother, who is about 80 or so, will have seen it all I figure by the time she takes an infitie space yacht cruise. I mean when she was born, her idea of high tech was the radio. She probably heard about the mysteries of radar and soon saw TV and was definitly blown away. Cars became more and more "modern" and soon computers came out and even people, gasp!, in space! Not to mention the countless things I haven't mentioned, like the Internet, and now she has a chance to take a space cruise before she dies. That is considering this happens.
There is no way if she had to write a paper back in her school days, about the future, that if she mentioned this, se would be told she has such a creative mind but not realistic.
Obviously I am not the first person to say we;ve come a long ways in X years (and in some ways we haven't moved!), but this is insane.
It makes the future more exciting for those of us younger because we cannot even imagine how quickly we are going to see new technology become realities.
At this rate I say why stop at the moon? I'm saving my cash for a trip to Mars!
rofl, thank you, may I have another!
Your mams's a fucktard!
...And let the flame war begin!
Those are all good points. I've always thought that a variable should have as minimal scope as possible. If you're using a lot of global variables though, most likely your program suffers from poor design. As for saving data in a game, I would think that if you're using the OO paradigm, every object should be able to save itself, or at least have a delegated class that does this.
There was a time when global variables were worse in that having a large stack of them would eat up a larger percentage of the users limited memory, but with todays systems the only problem I see is design and possibly identification issues if you're not the least bit careful.
"The reason it will not succeed in Asia is because Asians won't buy from a non-Asian company"
They won't buy from a non-asian country? Are you nuts? Consumers don't care what business is pushing it. They want whats best for their money.
"In addition, XBox clearly markets games towards a Western preference, with FPS, and sports games. These aren't popular in Asian culture."
Well, you're closer verifing you're a moron. So you're telling me Halo is why all of Asia just isn't having it? As for sports games, they LOVE their baseball games, their wrestling games and soccer games proven by the fact that they are constantly top sellers not to mention horse racing games and other nutty games. I wouldn't expect them to buy American Football games. Would you?
"I don't see why one small country like Japan should dictate the direction XBox will take in selling consoles worldwide - they aren't that significant in terms of the market that Microsoft is selling to."
Only the largest worldwide market for video games and the second largest consumer dollar in the world! And what market is Microsoft trying to sell to? I'm guessing the market that people buy games in, ie; America, Japan, Europe, etc. I mean, Sony, Nintendo, etc markest all types of games to all types of cultures because they understand that people buy games they like. Maybe the reason many solid 3rd party companies are not getting in bed with MS on this one is because they have all learned from past experiances what happens when you do.
By your post you're either a 10 year old home sick from school or a really pathetic adult who is quite stupid. Or a troll who got me.
With that, as usual my money's on MS to eventually win because they always do and always will so long as they are above the law and in the bed of the people who make it.
I'm not sure why they push a video ame platform when they dominate PC OS' and all the games that come out on those. It seems counter productive almost.
AIDS is the cure for all the worlds problems and Mother Earth knows this. I guess I really am a bit synical.
That all 3 people that bought an X-Box in Japan have already lined up to get the X-Box 2! Those wild and crazy Japanese, boy are they nuts!
We seriously need more bandwidth in these games. And if throwing more bandwidth isn't likely anytime soon we will need to develop better algortihms and design better systems for ensuring players have low latecny when encountering large amount of other netoworked players.
All too often when a player is near a large group of other players they are hit with a large lag spike making large scale PvP frustrating and frankly, not fun.
It is this single issue I believe these games need to address before moving onto anything else really.
We'll see how Blizzard tackles it with their battleround concept of making an instance out of a predetermined largescale PvP arena, but even if this works it needs to go further. We have to figure out how to make flash mobs of people interact like anything else without the high latency that is a characteristic of all these games.
Fraom DaOC, Shadowbane, WoW and the few other I have played or observed, it seems this is the one consistant plague they all have.
I offer no solutions as I haven't thought to hard on how to solve this problem and even if I did it's possible my ideas would be naive considering I don't have experiance designing or developing these types of systems. However, from a players viewpoint, I can assure you this is a problem.
Discipline and focus are the keys to actually doing it. Patience is what holds them together.
Talk about taking the fun out of games!
Pfft, I invented Beer Cubes long ago.
Some disagree with you but I see your point. If you're a rather creative person, you tend to find ideas dull quickly. You can think of something, begin work on it and lose interest because something enw has popped up. I have countless programs I have started on and put into the will finish later pile. Mainly because I have thought of something else that consumes me, often unrelated, or another thing I would rather work on now. I generally don't go back because looking back on them I don't find them as interesting as the new idea. Sometimes I'm just too busy to keep focus on it anyways. Often it's just plain laziness. It's easier to think of something and design it than to actually implement it. I consider that a blessing. It's like getting a new pair of pants. All of a sudden, the old pair you had doesn't seem so attractive anymore, even if they were your favorite a day ago so you're left with the same amount of pants netting 0!
But, as someone has correctly pointed out here, the only way it counts is if you have the focus to follow through. I'm sure a few other "dreamers" thought of the combustable engine, graphical webbrowser, home computer, open source OS, etc, but the guy who actually thought of it and *did it* is the real winner. Or even better stole it.
Face it, we are people who enjoy thinking and designing so much that it doesn't leave time for actually doing. My brain just tickles me sometimes and I feel sorry for most others who will never have the thoughts I do.
Just keep notes of your thought and go through them every so often to see if you have the motivation to follow through on something. Personally, I am really making an effort to have better focus and discipline when it comes to following through on things.
With that, I know when the right thing comes at the right time, it will be that moment of glory in which I dominate the world.
I'm graduating with a CS degree this spring at a University in the Midwest and out curriculum is similar to what you designed, with some exceptions:
Math: Yup, 4 calc classes. I never had calc in highschool but damn it I worked hard and it got easier with time.
More Math: Yup, 2 more "elective" math courses. I took one where we built the Natural Number system from a foundation of Logic, set theroy etc. And a stats course which I skipped today.
Physics: 2 Physics classes that are Calculas based. I found these to be a bit easier than the math. I guess with all the math I took, I got good at it.
Theroy: Yeah, quite a bit of theroy. Discrete Math, Theroy of Computation, Digital Logic, Computer Architecture, Data Structures and ALgorithms, Programming Languages (a tour of different language designs, functional, oo, logical) and some more.
Other: But Ialso got to take a class on compilers (wrote a full compiler for an OO language), Software Engineering, Testing, Programming, Graphics (Theroy and Application in open GL, Databases(Theroy and shit loads of design...this one hurt), Networks, which was theroy but then a networks lab which was all hands on, Operating Systems which was theroy you should know as well as having to proram multi threaded things, write schedualing algorithms, mutex's,etc. Plus a host of other neat courses.
So yeah I have taken a lot of theroy and math but these things have helped me understand in a deeper way than before about software design, production and analysis. Maybe of these courses won't make you an expert at any one thing but they give you a taste of it and make for easier use of it when the need arrises.
Not for everyone though.