That's why I said neo-traditional i.e. what most coders experience most of the time.
I don't think you can use your rule of thumb either. Modern desktop machines actually use 64 bit processors but an int is considered to be 32 bit. Windows 3.1 had 16 bit ints even when running on a 386 or above processor. The size of int seem more determined by the operating system 'size' than the processors register size so a 16 bit operating system has 16 bit ints and so on.
I think the moral of the story here is don't assume the size if you are writing cross platform C/C++.
Finally most of the computers I program are hidden in side black or silver consumer equipment.
I still remembering toggling the boot code in to an Altair 8800 with the front panel toggle switches. That and writing Z80 assembler in the back of my math exercise book before hand assembling it and 'poking' it in to memory.
Those were the days. These younguns haven't been born.
If there are cars smaller and a lot smaller, and cars bigger and a lot bigger then it must be mid sized.
A Volvo 440 is about the standard size for a family car in the UK (Typical cars in the area are Rover 200s and 400s, Vauxhall Vectras, Ford Foci and Mondeos). It will take four adults and a dog comfortably (You're not thinking of the 480 sports coupe thingy are you?). How much bigger do you need a car? If I was on my own one of the new minis would suit me fine.
If you cars are a lot bigger then they are too big. If you need bigger cars to fit the people in then don't eat so much.
If C++ is going to be standard then all implementations of the language should support all the types the standard defines and that includes 'short'. Your post suggests that you are desktop centric. Shorts (in the neo-traditional short is 16 bits, int is 32 bits) are useful in embedded systems where a one to one relationship between variable sizes and registers is important (ARM thumb mode is 16 bits for example).
As for MFC being the only way to go for a serious UI. Try using that bloaty pile of poo on a set top box!
So I'm talking about British 4 quart gallons! But a quick web search shows that a US pint is 0.473 litre. My Volvo 440 does about 48mpg on the highway (UK gallons) so that translates to 40mpg (US gallons). It's mileage figure is pretty common for an average modern small family car here.
" In other words, unless you are driving the über-huge Lincoln Navigator (17 MPG), or one of those Ethanol-only vehicles (which typically get about 5 MPG less), you are probably getting something like 20-25 MPG on the highway. Even "big trucks" like the Ford F-150 usually get 20 MPG, depending on the configuration. "
And that is supposed to be good?
" Considering that most mid-size cars get around 25-30 MPG on the highway, and most 5 year-old cars rate considerably lower (both because fuel efficiency often drops as a car gets old, and because engine designs keep improving over the years), the whole SUV screed we keep hearing does not have the facts on its side "
Not in Europe they don't. Add at least 10mpg to those figures. My mid sized Volvo averages 40mpg on the highway.
" It puts out more horsepower per liter then any other naturally aspirated engine in production (120 HP/L, 240HP total) and revs to 9000 RPM "
I think you missed the word "car" out of this sentence. There are many bike engines which perform better than this, the Suzuki GSXR1000 or Hyabusa 1300 are two examples. The Yamaha YZF R1 has a 998 cc engine producing 152HP at 10,500 RPM.
Why pay to haul all that weight around? Get yourself something cheap and fun to commute on and hire a car when you need to.
Nah, they'd just point their own telescopes at it and say, "Hey, you know what, you're right!". This is probably because NASA would show them the evidence rather than keeping it in a filing cabinet stored in a dark cellar with no stairs and which has a sign "Beware of the leopard!" pinned to the door. Also the asteroid wouldn't be saying "We're not going to hit you honest" and handing over the evidence to this which then gets locked in the same filing cabinet.
Am I the only person who doesn't see this is as good idea. I have a Sharp Zaurus. I love it, it's a complete geeks toy but it's not really stable. Ocasionally it hangs and needs rebooting. The software is about 95% there and lacks the finish to make it truely professional.
My phone, which runs Symbian 6, just works. It's intuitive, easy to use, with lots of features. It's never crashed and it's quick to boot. I'm sorry, I love linux but much of the software is badly written, it's never been designed and it's not good enough for the consumer yet.
" Symbian was the bastard child of Motorola for years. I wouldn't characterize Symbian as even competiting with any of the phone companies. It seems like even more of a non-entity these days, and I wouldn't be surprised if it goes away within a few years. I don't think anyone in development really wanted it. "
What a load of rubbish. Motorola was one of the partners in Symbian but Symbian came out of EPOC32, the OS from Psion. It's a small, lightweight, reliable OS designed to run on the ARM from the start and ideal for mobile phones.
Symbian is not supposed to be competing with the phone companies it's working with them. It is still used by Ericsson and Nokia on their phones and they sell a lot of phones. The new P800 from Ericsson runs Symbian 7 and there are bits of it which will look familiar to a Psion 5 user.
" Regardless, this type of move allows Mot to compete more effectively across a broad range of products. They can produce a canned phone: One chipset, one software package, and then shoot out a dozen form factors to appeal to a broad range of consumers. After all, most people buy phones based on how they look. So, cheap software and a reduced development time yield more products, perceptively different (but electronically more or less exactly the same), thus hopefully increasing market share."
So how is this different than running EPOC/Symbian. Yes, you have to pay a licence fee but developing in house costs too.
And my phone, the Sony Ericsson T68i was originally branded an Ericsson T68. Only the software is different and you can get the older phones reflashed.
Interestingly the reverse is true for transgendered/transsexual people. There is a high incidence of both in mechanical, electrical and electronic engineering as well as computing and the sciences. Games is another area where there is a higher than average proportion.
There's been at least one on the UK version of the show.
I'm in software engineering in the real world as essentially a software architect for embedded systems and yes hearing about CS courses where the lecturers tell students not to worry about the hardware "If your software won't run on the specified system then you need to get the hardware engineers to give you more memory, or more MIPs, or whatever" does make me cringe. This is just not practical when you are building a product to a budget in the embedded world. Get yourself the schematics and learn the system you are going to code for but......coding too directly to the hardware is also bad. A company which has, for say customer reasons, use different processors and operating systems in it's products will end up with lots of teams which are all reinventing the wheel for their particular hardware. That doesn't bode well for reuse and potential requires rewrites even for cost down versions of products.
Understanding the hardware doesn't prevent you from using black box methods. Just use heirachical ones. The system as a box, subsystems as boxes, their objects as boxes and so on. So if we take a DVD player (European market one) for example without knowing the hardware you know it's going to have the following subsystems: storage (dvd mechanism say), user i/o (front panel, remote and display), a/v routing (either video from the box or passthrough, analogue audio or digital audio - possibly optical), memory and decode (codecs etc). For storage you could split that into device driver (low and high level), io stream etc. All of these have software components that can be reused even as basic as the on screen widget set in the OSD.
If you do use a black box/component approach then you can never have too much documentation. Components should be considered projects in their own rights. Do your requirements analysis and find out what it's needed to do, model it, document it formally, explain how it's supposed to be used. If there are areas of ambiguity then it hasn't been documented properly.
The art of desiging the system is knowing when to reuse and when to reinvent. When to componentize and when you shouldn't. I don't see black box engineering and knowing the system as mutually exclusive as an engineer you must consider how much and at what level you need to know.
This strikes me as a management issue rather than a software one. The question you have to ask is why these people aren't towing the line. There is no excuse!
If it's a case of these two being a couple of stars on the coding front then what you need is the right manager who can control them. My team at work comprises some scarily smart people with Phds comming out of our ears. Our boss is ideal, he knows when to let us run with the ball and when to reel us in. (The last sentence was nasty!).
Very true. I come from the age of small 8 bit machines where you would consider each instruction for speed/overhead/program size. Do you make something a function or macro it as repeatable code? A function requires at least two bytes of RAM for the storage of the program counter and then there's the calling/jumping overhead. Inlining requires ROM for storage of the extra instructions but is quicker and doesn't require the stack space.
On the other hand very small embedded devices are now being built with more and more powerful systems (100+ MIPs, Mbs memory and an OS). Where developers should have some consideration of the entire system but black box design techniques will work. Black box does encourage reuse.
Or just base the development on a server in the UK where M$'s claims would be laughed out of court.
Knowledge in the public domain cannot be patented. My company is *so* paranoid about this that if we have IP which we want to register then we have to keep our ideas to as few people in the company as possible. Basically "you got an idea you think you can patent, talk to the laywers before you talk to your colleagues".
RISC OS is actually owned by Pace Microtechnologies Plc. They acquired it from Acorn Computers Plc when Acorn was broken up. RISC OS is developed by RISC OS Ltd who licence it from Pace and develop it for the desktop machines. Castle Technologies obtained the rights to manufacture and distribute Acorn's Risc PC in the break up but have since started developing their own products.
From the details it's not clear whether Castle are the culprits or RISC OS Ltd. It is unlikely to be Pace as they are not interested in the desktop products. Knowing some of the parties concern I know where my suspicions lie but I'm not saying.
Tivo faces respectable competition over here (UK). Something like 1 in 4 households have digital television of some kind which comes with EPGs. The digital satelite, cable and DSL providers have video on demand which reduces the need for PVRs. Also many channels have time shifted versions so that if you're late or get interrupted you can catch the program an hour later. Finally the PVR functionality is being incorporated in to the set top boxes. Sky already have one, the Sky+ box, and there are digital terestrial combined STBs and PVRs on the horizon. Why convert to analogue then back to digital when you can record the digital direct?
Evolution is only a theory. The definition of the word theory includes:
"the analysis of a set of facts in their relation to one another" and
"applausible or scientifically acceptable general principle or body of principles offered to explain phenomena"
So the problem with creationism include the following: Where are the facts. The Bible can not be stated as a fact as it is written by man. The moment you accept it as the Word of God then you have brough religion in to the frame. The plausibility is in doubt. The moment you bring in a supreme creator laying down dinosaur bones to test us religion rears it's ugly head again. Also using occams razon what's more likely that nearly every science known to man is wrong in some way or another (Physics, Geology, Zoology, Anthropology etc.) or the World really is millions of years old. Many people make the mistake of concentrating on evolution alone but there are many many theories which set the age of the Earth.
Its not bigotry that sets me against creationism merely an appraisal of the facts and their plausibility. Creationism just doesn't stand up scientifically. I am a Pagan by the way and so not totally against religion/faith.
These all in devices allow Nokia's customers (not you or me but the big cell phone cos) to provided higher margin services to their customers. As margins on actual phone calls are cut these companies need to look elsewhere. Providing audio and video streams, multi-media messaging, data and games all add to their bottom line. People *will* pay. In Europe there is a big market in ring tones and logos and the downloadable games for phones market is growing.
So what are you saying? The latest Palms and PocketPC devices use ARMs or X-Scale devices (decendents of ARMs). As for Lucas Arts games, my old Acorn RiscPC which had a 30Mhz ARM-6 could emulate PCs well enough to play them. Native mode games were impressive and would easily out perform PCs of a similar vintage. You should be able to run FPS games on a 100Mhz ARM system that has a small screen without a problem.
That's why I said neo-traditional i.e. what most coders experience most of the time.
I don't think you can use your rule of thumb either. Modern desktop machines actually use 64 bit processors but an int is considered to be 32 bit. Windows 3.1 had 16 bit ints even when running on a 386 or above processor. The size of int seem more determined by the operating system 'size' than the processors register size so a 16 bit operating system has 16 bit ints and so on.
I think the moral of the story here is don't assume the size if you are writing cross platform C/C++.
Finally most of the computers I program are hidden in side black or silver consumer equipment.
I still remembering toggling the boot code in to an Altair 8800 with the front panel toggle switches. That and writing Z80 assembler in the back of my math exercise book before hand assembling it and 'poking' it in to memory.
Those were the days. These younguns haven't been born.
If there are cars smaller and a lot smaller, and cars bigger and a lot bigger then it must be mid sized.
A Volvo 440 is about the standard size for a family car in the UK (Typical cars in the area are Rover 200s and 400s, Vauxhall Vectras, Ford Foci and Mondeos). It will take four adults and a dog comfortably (You're not thinking of the 480 sports coupe thingy are you?). How much bigger do you need a car? If I was on my own one of the new minis would suit me fine.
If you cars are a lot bigger then they are too big. If you need bigger cars to fit the people in then don't eat so much.
If C++ is going to be standard then all implementations of the language should support all the types the standard defines and that includes 'short'. Your post suggests that you are desktop centric. Shorts (in the neo-traditional short is 16 bits, int is 32 bits) are useful in embedded systems where a one to one relationship between variable sizes and registers is important (ARM thumb mode is 16 bits for example).
As for MFC being the only way to go for a serious UI. Try using that bloaty pile of poo on a set top box!
Capacity [note, litre equivalents are for British Imperial measures]:
1 pint = 4 gills [0.568 litre]
1 quart = 2 pints [1.136 litre]
1 gallon = 4 quarts = 8 pints [4.546 litre]
1 peck = 2 gallons
1 bushel = 4 pecks = 8 gallons
So I'm talking about British 4 quart gallons! But a quick web search shows that a US pint is 0.473 litre. My Volvo 440 does about 48mpg on the highway (UK gallons) so that translates to 40mpg (US gallons). It's mileage figure is pretty common for an average modern small family car here.
" In other words, unless you are driving the über-huge Lincoln Navigator (17 MPG), or one of those Ethanol-only vehicles (which typically get about 5 MPG less), you are probably getting something like 20-25 MPG on the highway. Even "big trucks" like the Ford F-150 usually get 20 MPG, depending on the configuration. "
And that is supposed to be good?
" Considering that most mid-size cars get around 25-30 MPG on the highway, and most 5 year-old cars rate considerably lower (both because fuel efficiency often drops as a car gets old, and because engine designs keep improving over the years), the whole SUV screed we keep hearing does not have the facts on its side "
Not in Europe they don't. Add at least 10mpg to those figures. My mid sized Volvo averages 40mpg on the highway.
" It puts out more horsepower per liter then any other naturally aspirated engine in production (120 HP/L, 240HP total) and revs to 9000 RPM "
I think you missed the word "car" out of this sentence. There are many bike engines which perform better than this, the Suzuki GSXR1000 or Hyabusa 1300 are two examples. The Yamaha YZF R1 has a 998 cc engine producing 152HP at 10,500 RPM.
Why pay to haul all that weight around? Get yourself something cheap and fun to commute on and hire a car when you need to.
Nah, they'd just point their own telescopes at it and say, "Hey, you know what, you're right!". This is probably because NASA would show them the evidence rather than keeping it in a filing cabinet stored in a dark cellar with no stairs and which has a sign "Beware of the leopard!" pinned to the door. Also the asteroid wouldn't be saying "We're not going to hit you honest" and handing over the evidence to this which then gets locked in the same filing cabinet.
Am I the only person who doesn't see this is as good idea. I have a Sharp Zaurus. I love it, it's a complete geeks toy but it's not really stable. Ocasionally it hangs and needs rebooting. The software is about 95% there and lacks the finish to make it truely professional.
My phone, which runs Symbian 6, just works. It's intuitive, easy to use, with lots of features. It's never crashed and it's quick to boot. I'm sorry, I love linux but much of the software is badly written, it's never been designed and it's not good enough for the consumer yet.
But in phones M$ is still at the starting blocks. In this case it's linux vs symbian.
" Symbian was the bastard child of Motorola for years. I wouldn't characterize Symbian as even competiting with any of the phone companies. It seems like even more of a non-entity these days, and I wouldn't be surprised if it goes away within a few years. I don't think anyone in development really wanted it. "
What a load of rubbish. Motorola was one of the partners in Symbian but Symbian came out of EPOC32, the OS from Psion. It's a small, lightweight, reliable OS designed to run on the ARM from the start and ideal for mobile phones.
Symbian is not supposed to be competing with the phone companies it's working with them. It is still used by Ericsson and Nokia on their phones and they sell a lot of phones. The new P800 from Ericsson runs Symbian 7 and there are bits of it which will look familiar to a Psion 5 user.
" Regardless, this type of move allows Mot to compete more effectively across a broad range of products. They can produce a canned phone: One chipset, one software package, and then shoot out a dozen form factors to appeal to a broad range of consumers. After all, most people buy phones based on how they look. So, cheap software and a reduced development time yield more products, perceptively different (but electronically more or less exactly the same), thus hopefully increasing market share."
So how is this different than running EPOC/Symbian. Yes, you have to pay a licence fee but developing in house costs too.
And my phone, the Sony Ericsson T68i was originally branded an Ericsson T68. Only the software is different and you can get the older phones reflashed.
Interestingly the reverse is true for transgendered/transsexual people. There is a high incidence of both in mechanical, electrical and electronic engineering as well as computing and the sciences. Games is another area where there is a higher than average proportion.
There's been at least one on the UK version of the show.
Nope Scrapheap Challenge is the British show. Junkyard wars is the one for the US market.
That's because she actually runs the LA branch of RDF television now. She didn't just host the show, she invented it.
I'm in software engineering in the real world as essentially a software architect for embedded systems and yes hearing about CS courses where the lecturers tell students not to worry about the hardware "If your software won't run on the specified system then you need to get the hardware engineers to give you more memory, or more MIPs, or whatever" does make me cringe. This is just not practical when you are building a product to a budget in the embedded world. Get yourself the schematics and learn the system you are going to code for but... ...coding too directly to the hardware is also bad. A company which has, for say customer reasons, use different processors and operating systems in it's products will end up with lots of teams which are all reinventing the wheel for their particular hardware. That doesn't bode well for reuse and potential requires rewrites even for cost down versions of products.
Understanding the hardware doesn't prevent you from using black box methods. Just use heirachical ones. The system as a box, subsystems as boxes, their objects as boxes and so on. So if we take a DVD player (European market one) for example without knowing the hardware you know it's going to have the following subsystems: storage (dvd mechanism say), user i/o (front panel, remote and display), a/v routing (either video from the box or passthrough, analogue audio or digital audio - possibly optical), memory and decode (codecs etc). For storage you could split that into device driver (low and high level), io stream etc. All of these have software components that can be reused even as basic as the on screen widget set in the OSD.
If you do use a black box/component approach then you can never have too much documentation. Components should be considered projects in their own rights. Do your requirements analysis and find out what it's needed to do, model it, document it formally, explain how it's supposed to be used. If there are areas of ambiguity then it hasn't been documented properly.
The art of desiging the system is knowing when to reuse and when to reinvent. When to componentize and when you shouldn't. I don't see black box engineering and knowing the system as mutually exclusive as an engineer you must consider how much and at what level you need to know.
This strikes me as a management issue rather than a software one. The question you have to ask is why these people aren't towing the line. There is no excuse!
If it's a case of these two being a couple of stars on the coding front then what you need is the right manager who can control them. My team at work comprises some scarily smart people with Phds comming out of our ears. Our boss is ideal, he knows when to let us run with the ball and when to reel us in. (The last sentence was nasty!).
Very true. I come from the age of small 8 bit machines where you would consider each instruction for speed/overhead/program size. Do you make something a function or macro it as repeatable code?
A function requires at least two bytes of RAM for the storage of the program counter and then there's the calling/jumping overhead. Inlining requires ROM for storage of the extra instructions but is quicker and doesn't require the stack space.
On the other hand very small embedded devices are now being built with more and more powerful systems (100+ MIPs, Mbs memory and an OS). Where developers should have some consideration of the entire system but black box design techniques will work. Black box does encourage reuse.
Or just base the development on a server in the UK where M$'s claims would be laughed out of court.
Knowledge in the public domain cannot be patented. My company is *so* paranoid about this that if we have IP which we want to register then we have to keep our ideas to as few people in the company as possible. Basically "you got an idea you think you can patent, talk to the laywers before you talk to your colleagues".
Or lb is the pound sign as in I am 300lbs. I believe this is so *even* in the US. I've always heard # refered to as sharp, hash or gate.
RISC OS is actually owned by Pace Microtechnologies Plc. They acquired it from Acorn Computers Plc when Acorn was broken up. RISC OS is developed by RISC OS Ltd who licence it from Pace and develop it for the desktop machines. Castle Technologies obtained the rights to manufacture and distribute Acorn's Risc PC in the break up but have since started developing their own products.
From the details it's not clear whether Castle are the culprits or RISC OS Ltd. It is unlikely to be Pace as they are not interested in the desktop products. Knowing some of the parties concern I know where my suspicions lie but I'm not saying.
Tivo faces respectable competition over here (UK). Something like 1 in 4 households have digital television of some kind which comes with EPGs. The digital satelite, cable and DSL providers have video on demand which reduces the need for PVRs. Also many channels have time shifted versions so that if you're late or get interrupted you can catch the program an hour later.
Finally the PVR functionality is being incorporated in to the set top boxes. Sky already have one, the Sky+ box, and there are digital terestrial combined STBs and PVRs on the horizon. Why convert to analogue then back to digital when you can record the digital direct?
Evolution is only a theory. The definition of the word theory includes:
"the analysis of a set of facts in their relation to one another"
and
"applausible or scientifically acceptable general principle or body of principles offered to explain phenomena"
So the problem with creationism include the following: Where are the facts. The Bible can not be stated as a fact as it is written by man. The moment you accept it as the Word of God then you have brough religion in to the frame. The plausibility is in doubt. The moment you bring in a supreme creator laying down dinosaur bones to test us religion rears it's ugly head again. Also using occams razon what's more likely that nearly every science known to man is wrong in some way or another (Physics, Geology, Zoology, Anthropology etc.) or the World really is millions of years old. Many people make the mistake of concentrating on evolution alone but there are many many theories which set the age of the Earth.
Its not bigotry that sets me against creationism merely an appraisal of the facts and their plausibility. Creationism just doesn't stand up scientifically. I am a Pagan by the way and so not totally against religion/faith.
These all in devices allow Nokia's customers (not you or me but the big cell phone cos) to provided higher margin services to their customers. As margins on actual phone calls are cut these companies need to look elsewhere. Providing audio and video streams, multi-media messaging, data and games all add to their bottom line. People *will* pay. In Europe there is a big market in ring tones and logos and the downloadable games for phones market is growing.
So what are you saying? The latest Palms and PocketPC devices use ARMs or X-Scale devices (decendents of ARMs). As for Lucas Arts games, my old Acorn RiscPC which had a 30Mhz ARM-6 could emulate PCs well enough to play them. Native mode games were impressive and would easily out perform PCs of a similar vintage. You should be able to run FPS games on a 100Mhz ARM system that has a small screen without a problem.