And how Tivo, built on Linux, created an entire market...
Tivo would make a nice toaster, though... load a whole loaf of bread, put a timer in to toast at a certain time, depending on what you were watching last night, when your first meeting is... Hmm... Saw it hear first, people.. Tivoaster.
Hirohito was barely in control of his own country at the end of the war. His generals ended up holding him prisoner at the end. It was only through luck that we got his surrender message, via RADIO broadcast, no less.
For COMPUTE intensive operations, threading on a single CPU is usually pointless. For IO bound applications (most everything a user interacts with), multithreading allows your system to be responsive to users. Every 32bit version of Windows since NT 3.0 (including 95) were HEAVILY multithreaded. SMP or not, while threading does introduce overhead, the result is a lot better than working in Lotus in DOS all day.
Something you'll note that Microsoft didn't get around to implementing until NT 4. WoW on prior versions could not isolate Win16 apps from each other.
For a while there, OS/2 *WAS* a better windows than Windows. And that was it's problem. And why it failed... and the extra 4 MB *MOST* people needed to run it...
God, please no. I hate ATMs that talk. The one in my bank talks in a really annoying British accent, and LOUDLY. And you can't shut her up. I hate her. I've never hated a machine so thoroughly. I have bad dreams about meeting this woman while going in to see a human teller to make a deposit. I'm afraid I'll go nuts and they'll have to lock me up for my own safety... so now I just stick my money in my mattress and avoid the evil nasty British sounding ATM machine. Better than going to jail for beating the shit out of it.
Oh, BTW. Spacetec the company that used to make the Spaceball (no idea what they're called now) made a game controller called the Avenger. It was a 6degrees of freedom ball controller. Was absolutely amazing playing Descent. I'd routinely slaughter anyone stuck on keyboard/mouse simply because I could spin and move circles around them simply by applying pressure....
http://www.3dgamers.com/articles/more/37/
Too bad the calibration button on mine is stuck, and I haven't fixed it... that, and I stopped playing Descent years ago... not so good for Battlefield 2.
OMG Desqview was the bomb. I unfortunately had to return from OS2 to DOS/win3.1 because I didn't have a harddrive that could support OS/2 AND DOS, because for some odd reason I could never get my dad's accounting program to work in OS/2. No idea why, some crazy setting with the DOS support I never figured out.
When I finally pieced together my own machine with OS/2 2.1 and Lan Manager (PreWarp), I was a happy camper, running my 3 node VirtualBBS in DOS boxes, attempting to set up CircleMUD OS/2. Never did get the PPP dialup working properly, and got a significant amount of OS/2 dev experience with Watcom C++ 10 (How's that for being a dork. Watcom 10 for a graduation present, Lan Manager for Christmas.) Doh! It all went to shit when I fucked up my OS2.ini and couldn't fix it... so I switched to Yggdrasil 1.0 that came in the back of the book "The Linux Superbible". I think I still have that CD around somewhere...
Oh the good old days... I'm hoping PM ends up in the IBM OSS regime. We shall see...
Not to disparage your comments, in hindsight we go WTF were they thinking.
But you HAVE to remember that the earliest C++ compilers were nothing more than preprocessors to the then extant C compilers, so C++ couldn't be radically different from it's predecessor. C++ wouldn't be so bad if it had truly been a new language, instead of C with OOP.
GPS satellites orbit the earth at an altitude of approximately 20,200Km.
Each GPS satellite has an orbital period of 11 hours and 58 minutes. This means that each GPS satellite orbits the Earth twice each day.
These twenty-four satellites orbit in six orbital planes, or paths. This means that four GPS satellites operate in each orbital plane.
Each of these six orbital planes is spaced sixty degrees apart. All of these orbital planes are inclined fifty-five degrees from the Equator.
Result:
You cannot affect one country with GPS degradation without also affecting dozens of other countries under the satellite's horizon. It is NOT possible to single out a country for signal degradation like you propose. Either the entire system gets degraded (when selective availability is turned on), or they all get the same resolution.
Note this doesn't take into account ground-based radio reference stations, DiffGPS, WAAS, etc. The GP was correct.
Or the famous (in our family) story my father tells of him and his father hunting one year, and getting lost... going around in circles... because pappy was taking compass readings at waist level... near his belt buckle.
The real problem for me was the fact that netscape supported DIVS and Tables, but not TABLES in TABLES, while IE supported TABLES in TABLES, but not DIVs.
RTFA dude. It was a window cover. To keep the birds from shitting on the windows. They were designed to be removed prior to launch, not fall off randomly. I'm sure some stupid tech forgot a clamp or a screw, or the damn thing got nipped by Emily's distant but powerful muscles.
But the nature is automatically different. You *HAVE* to make a copy of the work on the internet before ANYONE can even read it. All analogies that don't take this into account fall apart... I'd think that any laws that don't are flawed as well.
Exactly. The IA hosting your copyrighted work doesn't remove your copyright protections, which is why they *HAVE* to obey you when you tell them to remove you. They don't have a choice.
You're ability to control your work may be diluted because now it's in a publicly available place, but the IA has to remove it if asked.
I feel that since you published it anyway, the onus is on the author to either control his work with access control mechanisms (note the propensity for webboards to use these now?) or other security mechanisms. Too bad. If you flubbed up and published your grand scheme to a wiki, and now want to move it to a secured board, IA and google et al. shouldn't be required to know and proactively remove your stuff. It *IS* your job. Or should be.
Ya, I understand the point Stroustroup was trying to make by excluding finally(). But that lack of logic leads to bastardizations like auto_ptr<>. If every dynamically allocated array or variable I create I either have to throw into a vector or an auto_ptr, when after each catch() clause is done, just before the stack frame is popd, you jmp over to this little finally clause...
I'm all for destructor based cleanup, I understand and love the concept (hence my love for exceptions), but come on. Resorting to templates to ensure protection from memory leaks? Today, I'd argue that finally isn't necessary since most C++ compilers have decent template support. 8 years ago, that wasn't so true.
Obviously I'm not the only person who thinks it's an oversight, when people are building closure templates and smart_ptrs to make up for a fundamental deficiency in the language.
I don't see how I should expect that to "get what I deserve", especially if I pass to a const object. Granted, it only bit me for the better part of half an hour in some really sloppy stream-of-consciousness first run bullshit code, but it soured me... As a side effect, it's a fairly insidious one, I'd say.
And I don't see how I'd want to exercise "care" using my containers. Either they store first-class objects the same, or they don't. Why make the containers more complex to support one broken object?
I'll agree that refcounted pointers are expensive, but I'm not sure I'll agree they encourage sloppy programming. In fact, in some event driven domains (webservers, etc.) I'd propose they provide a simple solution to complex housekeeping tasks. But why don't we just agree to disagree.
You can specify all the parameters you want, but if auto_ptr is coded thusly:
You're going to add a LOT of complexity to your containers to fix an agreeably useful, but semantically badly designed object. While I do still use auto_ptrs, it's only as closure protection since the C++ standard has seen fit to do without a finally() exception block. I no longer pass auto_ptrs as arguments. I'd normally write some closure<T> template, but would much rather use something that someone is familiar with, than have to figure out what my closure template does.
Fundamentally, I think it comes down to the fact that pointers are dangerous idioms, and the walls we build around them are bound to be frail and full of holes, because they are so flexible and powerful. I'm not sure if language support for refcounted pointers would help fix the problem. I'm not sure I even want to contemplate it. It would certainly involve a tradeoff in speed and size.
function dosomething( auto_ptr<classB> bPtr ) {
bPtr->operator(); }
Tell me what happens.
If you don't pass auto_ptrs by reference, you get your ass handed to you. Violently. Frankly, that's an implementation detail I'd rather not care to deal with. Smart refcounted Auto_Ptrs aren't much better, but I know I don't have to treat references differently.
And an AC to boot. I know subscribers get first crack at posting, but to see an AC toprated at +1, wow.
And how Tivo, built on Linux, created an entire market...
Tivo would make a nice toaster, though... load a whole loaf of bread, put a timer in to toast at a certain time, depending on what you were watching last night, when your first meeting is... Hmm...
Saw it hear first, people.. Tivoaster.
Hirohito was barely in control of his own country at the end of the war. His generals ended up holding him prisoner at the end. It was only through luck that we got his surrender message, via RADIO broadcast, no less.
Obviously NOT a programmer..
For COMPUTE intensive operations, threading on a single CPU is usually pointless. For IO bound applications (most everything a user interacts with), multithreading allows your system to be responsive to users. Every 32bit version of Windows since NT 3.0 (including 95) were HEAVILY multithreaded. SMP or not, while threading does introduce overhead, the result is a lot better than working in Lotus in DOS all day.
Wouldn't go there Buddy. I've built entire CRM apps on Outlook. :-)
Something you'll note that Microsoft didn't get around to implementing until NT 4. WoW on prior versions could not isolate Win16 apps from each other.
For a while there, OS/2 *WAS* a better windows than Windows. And that was it's problem. And why it failed... and the extra 4 MB *MOST* people needed to run it...
God, please no. I hate ATMs that talk. The one in my bank talks in a really annoying British accent, and LOUDLY. And you can't shut her up. I hate her. I've never hated a machine so thoroughly. I have bad dreams about meeting this woman while going in to see a human teller to make a deposit. I'm afraid I'll go nuts and they'll have to lock me up for my own safety... so now I just stick my money in my mattress and avoid the evil nasty British sounding ATM machine. Better than going to jail for beating the shit out of it.
Yeah, the $60 per MEGAbyte memory cost doomed OS/2 out of the gate... :-/
Oh, BTW. Spacetec the company that used to make the Spaceball (no idea what they're called now) made a game controller called the Avenger. It was a 6degrees of freedom ball controller. Was absolutely amazing playing Descent. I'd routinely slaughter anyone stuck on keyboard/mouse simply because I could spin and move circles around them simply by applying pressure....
http://www.3dgamers.com/articles/more/37/
Too bad the calibration button on mine is stuck, and I haven't fixed it... that, and I stopped playing Descent years ago... not so good for Battlefield 2.
OMG Desqview was the bomb. I unfortunately had to return from OS2 to DOS/win3.1 because I didn't have a harddrive that could support OS/2 AND DOS, because for some odd reason I could never get my dad's accounting program to work in OS/2. No idea why, some crazy setting with the DOS support I never figured out.
When I finally pieced together my own machine with OS/2 2.1 and Lan Manager (PreWarp), I was a happy camper, running my 3 node VirtualBBS in DOS boxes, attempting to set up CircleMUD OS/2. Never did get the PPP dialup working properly, and got a significant amount of OS/2 dev experience with Watcom C++ 10 (How's that for being a dork. Watcom 10 for a graduation present, Lan Manager for Christmas.) Doh! It all went to shit when I fucked up my OS2.ini and couldn't fix it... so I switched to Yggdrasil 1.0 that came in the back of the book "The Linux Superbible". I think I still have that CD around somewhere...
Oh the good old days... I'm hoping PM ends up in the IBM OSS regime. We shall see...
Not to disparage your comments, in hindsight we go WTF were they thinking.
But you HAVE to remember that the earliest C++ compilers were nothing more than preprocessors to the then extant C compilers, so C++ couldn't be radically different from it's predecessor. C++ wouldn't be so bad if it had truly been a new language, instead of C with OOP.
From: http://www.tech-faq.com/gps.shtml
GPS satellites orbit the earth at an altitude of approximately 20,200Km.
Each GPS satellite has an orbital period of 11 hours and 58 minutes. This means that each GPS satellite orbits the Earth twice each day.
These twenty-four satellites orbit in six orbital planes, or paths. This means that four GPS satellites operate in each orbital plane.
Each of these six orbital planes is spaced sixty degrees apart. All of these orbital planes are inclined fifty-five degrees from the Equator.
Result:
You cannot affect one country with GPS degradation without also affecting dozens of other countries under the satellite's horizon. It is NOT possible to single out a country for signal degradation like you propose. Either the entire system gets degraded (when selective availability is turned on), or they all get the same resolution.
Note this doesn't take into account ground-based radio reference stations, DiffGPS, WAAS, etc. The GP was correct.
Too bad GPS satellites aren't in geosynchronous orbit, but polar orbits.
Or the famous (in our family) story my father tells of him and his father hunting one year, and getting lost... going around in circles... because pappy was taking compass readings at waist level... near his belt buckle.
Doh!
Ummm, didn't the Shuttle and the SRTM just map the entire fscking planet a few years back?
Minus roads and some smaller dwellings I'm sure... it was JUST a topography mission after all...
The real problem for me was the fact that netscape supported DIVS and Tables, but not TABLES in TABLES, while IE supported TABLES in TABLES, but not DIVs.
Life sucked ass.
As if the 15 gallons of gasonline in the tank is somehow less dangerous?
RTFA dude. It was a window cover. To keep the birds from shitting on the windows. They were designed to be removed prior to launch, not fall off randomly. I'm sure some stupid tech forgot a clamp or a screw, or the damn thing got nipped by Emily's distant but powerful muscles.
But the nature is automatically different. You *HAVE* to make a copy of the work on the internet before ANYONE can even read it. All analogies that don't take this into account fall apart... I'd think that any laws that don't are flawed as well.
Exactly. The IA hosting your copyrighted work doesn't remove your copyright protections, which is why they *HAVE* to obey you when you tell them to remove you. They don't have a choice.
You're ability to control your work may be diluted because now it's in a publicly available place, but the IA has to remove it if asked.
I feel that since you published it anyway, the onus is on the author to either control his work with access control mechanisms (note the propensity for webboards to use these now?) or other security mechanisms. Too bad. If you flubbed up and published your grand scheme to a wiki, and now want to move it to a secured board, IA and google et al. shouldn't be required to know and proactively remove your stuff. It *IS* your job. Or should be.
The law may end up disagreeing with me...
Both? Now wouldn't THAT be a hoot? Jenna as President, Barb as First Lady...
Ew.
And even then, the aliens from the Andromeda galaxy will come to take our super black hole and leave our galaxy centerless. Bad aliens.
Ya, I understand the point Stroustroup was trying to make by excluding finally(). But that lack of logic leads to bastardizations like auto_ptr<>. If every dynamically allocated array or variable I create I either have to throw into a vector or an auto_ptr, when after each catch() clause is done, just before the stack frame is popd, you jmp over to this little finally clause...
I'm all for destructor based cleanup, I understand and love the concept (hence my love for exceptions), but come on. Resorting to templates to ensure protection from memory leaks? Today, I'd argue that finally isn't necessary since most C++ compilers have decent template support. 8 years ago, that wasn't so true.
Obviously I'm not the only person who thinks it's an oversight, when people are building closure templates and smart_ptrs to make up for a fundamental deficiency in the language.
I mean, this is great:
int a() {
try {
b bptr = new b();
} catch (Exception) {
report_error();
}
return(0);
}
Easily fixed by:
int b() {
try {
auto_ptr<b> bPtr(new b);
} catch (Exception) {
}
return(0);
}
I guess I don't have a point. 10 years ago, maybe I would. Today I don't... if only auto_ptr wasn't so brain-dead...
I don't see how I should expect that to "get what I deserve", especially if I pass to a const object. Granted, it only bit me for the better part of half an hour in some really sloppy stream-of-consciousness first run bullshit code, but it soured me... As a side effect, it's a fairly insidious one, I'd say.
And I don't see how I'd want to exercise "care" using my containers. Either they store first-class objects the same, or they don't. Why make the containers more complex to support one broken object?
I'll agree that refcounted pointers are expensive, but I'm not sure I'll agree they encourage sloppy programming. In fact, in some event driven domains (webservers, etc.) I'd propose they provide a simple solution to complex housekeeping tasks. But why don't we just agree to disagree.
You can specify all the parameters you want, but if auto_ptr is coded thusly:
auto_ptr<T>( auto_ptr<T>& rhs ) {
this.ptr_value = rhs.ptr_value;
rhs.ptr_value = null;
}
~auto_ptr() {
delete this.ptr_value;
}
You're going to add a LOT of complexity to your containers to fix an agreeably useful, but semantically badly designed object. While I do still use auto_ptrs, it's only as closure protection since the C++ standard has seen fit to do without a finally() exception block. I no longer pass auto_ptrs as arguments. I'd normally write some closure<T> template, but would much rather use something that someone is familiar with, than have to figure out what my closure template does.
Fundamentally, I think it comes down to the fact that pointers are dangerous idioms, and the walls we build around them are bound to be frail and full of holes, because they are so flexible and powerful. I'm not sure if language support for refcounted pointers would help fix the problem. I'm not sure I even want to contemplate it. It would certainly involve a tradeoff in speed and size.
Are you NUTS?
Try this for example (pseudo):
vector< auto_ptr<classB> > vec;
vec[0] = bPtr;
vec[0].operator();
doSomething( vec[0] );
function dosomething( auto_ptr<classB> bPtr ) {
bPtr->operator();
}
Tell me what happens.
If you don't pass auto_ptrs by reference, you get your ass handed to you. Violently. Frankly, that's an implementation detail I'd rather not care to deal with. Smart refcounted Auto_Ptrs aren't much better, but I know I don't have to treat references differently.