I'm sure that the reason that they want to ban local nets is that they are afraid it will cause people to generate too much traffic. It all goes down to the basic problem with @Home and similar services. They promise more bandwidth then they can really deliver.
From what I've seen, the ADSL guys are much less concerned about you hooking up multiple boxes, because they really can give you what they advertise.
In any case, I was under the impression that if you did the ip masquerading correctly, there was no way @Home would even know you have more than one box there.
And if you want to obfuscate that further, change the base variable to something odd, like 43.
I can envision a text output routine that works by setting the output base to 36...
Anyway, a nice, lightweight language, too. I played around with implementing it myself in 6502 assembly way back when, and was able to build an incredibly large subset of the language without all that much effort. But then, 4k Forth kernels are not unheard of.
Very underrated, but almost impenetrable, especially in the versions that didn't have real files, but saved code on raw 4k pages. It could get really nasty when coders started playing with the formatting to get more code in.
Damn, now I'm getting the nasty urge to try implementing it again...
Now this isn't earthshattering, but it is nice to be able to do with other sorts of resources. And there are many other sorts of problems where small classes work well. The nice thing is that because the class above is all inlined, the first version of FooFunc essentially compiles to the second. Thus, there is absolutely no overhead for the small class. No indirection. No extra memory usage.
I'm not so sure even that is true, unless you worked very, very hard to make your code portable from the outset.
I've been involved in ports between OS/2 and Windows, and usually the GUI code made any application level program worth nothing on the new system. Better to just treat it like a spec. and recode. And OS/2 and Windows are a lot closer together than either is to Linux.
Well, as another Winblows programmer, I suspect that the gain would be if you are doing anything in COM. As we both know, doing anything concerning COM in C++ is like banging yourself in the head with a pointy rock. C# seems to make this transparent.
Which also adds a concern in my mind, as I suspect that Microsoft will have lots of incentive to make COM even harder to deal with in C++.
I find the concept of "every object is a COM object" worrisome because COM objects are anything but lightweight. Often, as a C++ programmer, I find a problem best attacked with small, lightweight classes, often entirely inline. They help keep the code simple while essentially compiling down to nothing. If every object is a COM object, that ability goes away. That small, lightweight class all of a sudden has all of this overhead to do things that I don't really care about for this particulr problem.
Which gets to a more theoretical problem. The purpose of COM, and models like it, is fairly specific. It is interoperability between seperate running programs, either locally or across a network. But who says I want to share every single object in my program with the outside world? What's the point in having a string class that could potentially be shared between programs if I've got no need to share it between programs?
It seems to me that people are going to find that to get C# programs to perform acceptably, they are going to have to design with big, heavy kitchen sink classes. And that worries me because that sort of design is, in my opinion, one of the biggest downfalls of most Windows software. (Especially Microsoft APIs.) I'm sick of having to instiatiate five classes and code a hundred lines of code just to find out if the damn CD player is in the "playing" state.
It seems to me that this is a case of having a hammer (COM) and seeing every problem as a nail.
If I were designing C#, I wouldn't make every object a COM object. Instead, I'd have some kind of "COMmable" attribute that could make some objects COM objects with little fuss. Put the control in the hands of the programmer.
Not that I side with the record companies here, but that's really no different than saying that Blizzard is getting a 2500% markup for Diablo II because four blank CDs cost $2 and they're charging $50 for the game.
There are lots of other costs. Now, admitedly, the fact that they charge about half for a cassette is what really makes one wonder. And I suspect the production cost of Diablo II was a little higher than the latest piece of teenybopper pop-dreck.
They were selling for significantly below $18! And these weren't the record companies doing the selling. If I recall, they were selling around $10-12, below the cost the record companies charged them.
It was probably original assigned to whatever part of the War department eventually split off to form the NSA. These departments rarely sprang up from nothing.
My guess is they just automatically sit on whatever they know for however long their allowed to, regardless. From their point of view, that's simply erring on the side of caution.
I haven't tried with two different OSes on the same machine, but given the performance I get on my PIII laptop under Windows 2000, I find this really hard to believe. The graphics card isn't even all that great, either.
I once had the "Pleasure" of working on a forty person design team. After three months on a year long project, it hadn't even managed to get a single high-level design doc out, much less a line of code.
The theory is that a market leader gets used more, so bugs will be more quickly found. He uses that to excuse Windows NT bugs. However, he fails to mention that Windows 95/98 had fewer bugs than NT, which kills his "more use = more bugs found" theory.
But what really makes the theory stupid is that most security problems are going to be centered around servers, not desktop boxes. And NT is certainly not the most popular server OS.
They pretty much speak for themselves as to how lame his argument is. Going by his argment, windows 95/98 are more secure than NT as they had few vulnerability reports!
But all you really have to look at the two charts: "Top vulnerable applications of 2000" and "Top vulnerable applications of 1999" to get a clue.
Also, I suspect that his 124 figure (which does not appear on the graph) includes some double counting, because it is what you get when you add the "Linux (aggr)" and "Redhat" figures. (Apparently, he doesn't realize that Slackware, Debian and Suse are Linux.)
To continue on with that theory, it would be easier to catch criminals of cops were allowed to enter anyone's house, at any time, without giving a reason. Hell, think of how many drug dealers they could dump in prison if they were allowed to start searching houses at random.
It is not so much that the FBI is considered "the devil incarnate". It is that the FBI is considered human, and therefore both fallible, and open to potential abuses of power. Yeah, if you can guarantee that the FBI will never make a mistake, and will never do anything but what it is supposed to do, then yeah, it would be no problem for them to basically have open access to everything. But in the real world, we have an FBI that mistakenly accused the wrong person in the Atlanta bombing, and was known for being a tool for political vendettas in the sixties. Now, this isn't so much meant as an attack on the FBI as to point out that it, along with every other human organization, is not perfect. And as long as it is not perfect, we need checks to ensure that it does not get out of control.
"And how on earth does the carnivore system have anything to do with your weight-loss attempt graphs?"
Simple. The poster said that "if you are not guilty, you have nothing to hide". I'm not guilty, yet I definitely want to hide those!
if timothy mcveigh had sent an email about 1 federal plaza, would that picture of the fireman and the bloody little girl ever been taken?
Two things:
Timothy McVeigh didn't send any such e-mail.
Even if he had, it likely wouldn't have gotten noticed as the FBI wasn't watching him.
"what are you so worried about if you've got nothing to hide?"
Personally, I'm worried that the government might make something that ought not be illegal, like DeCSS source code, the book Ulysses or the videotape of the "Lolita" video, illegal, and then go after me if I possess it.
I'm also worried that I might get accused of having something illegal on my hard drive when, in fact, all I have are a bunch of racy pictures of my wife, a diary detailing embarassing incidents from my childhood, and a chart of containing data from my failed weight-loss attempts. Yeah, I'm innocent of any crime, but that doesn't mean I want everyone pawing through the contents.
Here's one project I'd give if I were a high school teacher. A lesson in the real world:
Have a simple database project that runs in two phases. Phase I is basic functionality. The project would be to get the thing working. Grade A-F.
Next, take all the B,C and D designs. Assign the D designs to kids who got A's and B's the first time around, C designs to C students, and B designs to the rest of the students. Add some new requirements, like reports that need to be run off of the database, as Phase II.
Students are then graded on how well their program meets both the Phase I and Phase II requirements.
Sadistic? Perhaps. But that would be great training for how programming works in the real world.
I'm sure that the reason that they want to ban local nets is that they are afraid it will cause people to generate too much traffic. It all goes down to the basic problem with @Home and similar services. They promise more bandwidth then they can really deliver.
From what I've seen, the ADSL guys are much less concerned about you hooking up multiple boxes, because they really can give you what they advertise.
In any case, I was under the impression that if you did the ip masquerading correctly, there was no way @Home would even know you have more than one box there.
Works great until one of those national bastards buys out your nice, local isp and your service goes to shit.
(Yes, that is from personal experience.)
And if you want to obfuscate that further, change the base variable to something odd, like 43.
I can envision a text output routine that works by setting the output base to 36...
Anyway, a nice, lightweight language, too. I played around with implementing it myself in 6502 assembly way back when, and was able to build an incredibly large subset of the language without all that much effort. But then, 4k Forth kernels are not unheard of.
Very underrated, but almost impenetrable, especially in the versions that didn't have real files, but saved code on raw 4k pages. It could get really nasty when coders started playing with the formatting to get more code in.
Damn, now I'm getting the nasty urge to try implementing it again...
Yeah, Perl has nothing on a language that let you define '2' as a verb that returns 3.
: 2 3 ;
Do I have that right? It's been years.
Ok, I'd buy that. I'm mostly a C++ coder, so I'm obviously biased in that direction.
All Java objects may have vtables, but all C++ objects most certainly do not!
It is easy (and useful) to write a small C++ object that is entirely inline, and does something useful. Here's a Windoze realworld example:
class MyDC
{
public:
inline MyDC(HWND hWnd) : m_hWnd(hWnd), m_dc(BeginPaint(hWnd, &m_ps) {}
inline ~MyDC() {EndPaint(m_ps);}
inline operator HDC const { return m_dc; }
private:
HDC m_dc;
PAINTSTRUCT m_ps;
HWND m_hWnd;
}
This allows me to code this:
FooFunc()
{
MyDC hdc;
TextOut(hdc, 0,0, "FooBar");
}
instead of
FooFunc()
{
PAINTSTUCT ps;
HDC hdc;
BeginPaint(hdc, &ps);
TextOut(hdc, 0,0, "FooBar");
EndPaint(ps);
}
Now this isn't earthshattering, but it is nice to be able to do with other sorts of resources. And there are many other sorts of problems where small classes work well. The nice thing is that because the class above is all inlined, the first version of FooFunc essentially compiles to the second. Thus, there is absolutely no overhead for the small class. No indirection. No extra memory usage.
Ever try actually doing that under Windows?
Usually you end up with 20k of portable code and 200k of hideous Windows GUI crap.
Microsoft does not do much to help you write modular programs...
I'm not so sure even that is true, unless you worked very, very hard to make your code portable from the outset.
I've been involved in ports between OS/2 and Windows, and usually the GUI code made any application level program worth nothing on the new system. Better to just treat it like a spec. and recode. And OS/2 and Windows are a lot closer together than either is to Linux.
Well, as another Winblows programmer, I suspect that the gain would be if you are doing anything in COM. As we both know, doing anything concerning COM in C++ is like banging yourself in the head with a pointy rock. C# seems to make this transparent.
Which also adds a concern in my mind, as I suspect that Microsoft will have lots of incentive to make COM even harder to deal with in C++.
I find the concept of "every object is a COM object" worrisome because COM objects are anything but lightweight. Often, as a C++ programmer, I find a problem best attacked with small, lightweight classes, often entirely inline. They help keep the code simple while essentially compiling down to nothing. If every object is a COM object, that ability goes away. That small, lightweight class all of a sudden has all of this overhead to do things that I don't really care about for this particulr problem.
Which gets to a more theoretical problem. The purpose of COM, and models like it, is fairly specific. It is interoperability between seperate running programs, either locally or across a network. But who says I want to share every single object in my program with the outside world? What's the point in having a string class that could potentially be shared between programs if I've got no need to share it between programs?
It seems to me that people are going to find that to get C# programs to perform acceptably, they are going to have to design with big, heavy kitchen sink classes. And that worries me because that sort of design is, in my opinion, one of the biggest downfalls of most Windows software. (Especially Microsoft APIs.) I'm sick of having to instiatiate five classes and code a hundred lines of code just to find out if the damn CD player is in the "playing" state.
It seems to me that this is a case of having a hammer (COM) and seeing every problem as a nail.
If I were designing C#, I wouldn't make every object a COM object. Instead, I'd have some kind of "COMmable" attribute that could make some objects COM objects with little fuss. Put the control in the hands of the programmer.
Ok, you probably don't care, but you could just as easily name it just "MAKE MONEY FAST - WWW.SPAM.COM". It would execute just as well.
Not that I side with the record companies here, but that's really no different than saying that Blizzard is getting a 2500% markup for Diablo II because four blank CDs cost $2 and they're charging $50 for the game.
There are lots of other costs. Now, admitedly, the fact that they charge about half for a cassette is what really makes one wonder. And I suspect the production cost of Diablo II was a little higher than the latest piece of teenybopper pop-dreck.
They were selling for significantly below $18! And these weren't the record companies doing the selling. If I recall, they were selling around $10-12, below the cost the record companies charged them.
It was probably original assigned to whatever part of the War department eventually split off to form the NSA. These departments rarely sprang up from nothing.
My guess is they just automatically sit on whatever they know for however long their allowed to, regardless. From their point of view, that's simply erring on the side of caution.
Ahhh...Must be because I have 256 megs
I haven't tried with two different OSes on the same machine, but given the performance I get on my PIII laptop under Windows 2000, I find this really hard to believe. The graphics card isn't even all that great, either.
Well, this is probably trolling territory, but hey...
Win2000 is not too bad for games. Here's what I've found:
Halflife: Runs fine.
UnReal Tournament: Runs fine.
Caesar III: Runs fine.
Alpha Centauri: Runs fine.
Diablo II: Runs fine.
Powerchess (v1): Fails to run
Star Trek: Birth of the Federation: Won't even install.
Warlords III: One or two unexplained hangs.
(Runs fine usually means 5-10+ hours of play.) That's really not so bad. Really, I'd suspect that most of the latest games will run fine.
I once had the "Pleasure" of working on a forty person design team. After three months on a year long project, it hadn't even managed to get a single high-level design doc out, much less a line of code.
In the context he was speaking in, "unsafe" == "Won't crash".
The theory is that a market leader gets used more, so bugs will be more quickly found. He uses that to excuse Windows NT bugs. However, he fails to mention that Windows 95/98 had fewer bugs than NT, which kills his "more use = more bugs found" theory.
But what really makes the theory stupid is that most security problems are going to be centered around servers, not desktop boxes. And NT is certainly not the most popular server OS.
Here are the actual stats
They pretty much speak for themselves as to how lame his argument is. Going by his argment, windows 95/98 are more secure than NT as they had few vulnerability reports!
But all you really have to look at the two charts: "Top vulnerable applications of 2000" and "Top vulnerable applications of 1999" to get a clue.
Also, I suspect that his 124 figure (which does not appear on the graph) includes some double counting, because it is what you get when you add the "Linux (aggr)" and "Redhat" figures. (Apparently, he doesn't realize that Slackware, Debian and Suse are Linux.)
To continue on with that theory, it would be easier to catch criminals of cops were allowed to enter anyone's house, at any time, without giving a reason. Hell, think of how many drug dealers they could dump in prison if they were allowed to start searching houses at random.
It is not so much that the FBI is considered "the devil incarnate". It is that the FBI is considered human, and therefore both fallible, and open to potential abuses of power. Yeah, if you can guarantee that the FBI will never make a mistake, and will never do anything but what it is supposed to do, then yeah, it would be no problem for them to basically have open access to everything. But in the real world, we have an FBI that mistakenly accused the wrong person in the Atlanta bombing, and was known for being a tool for political vendettas in the sixties. Now, this isn't so much meant as an attack on the FBI as to point out that it, along with every other human organization, is not perfect. And as long as it is not perfect, we need checks to ensure that it does not get out of control.
"And how on earth does the carnivore system have anything to do with your weight-loss attempt graphs?"
Simple. The poster said that "if you are not guilty, you have nothing to hide". I'm not guilty, yet I definitely want to hide those!
Two things:
"what are you so worried about if you've got nothing to hide?"
Personally, I'm worried that the government might make something that ought not be illegal, like DeCSS source code, the book Ulysses or the videotape of the "Lolita" video, illegal, and then go after me if I possess it.
I'm also worried that I might get accused of having something illegal on my hard drive when, in fact, all I have are a bunch of racy pictures of my wife, a diary detailing embarassing incidents from my childhood, and a chart of containing data from my failed weight-loss attempts. Yeah, I'm innocent of any crime, but that doesn't mean I want everyone pawing through the contents.
Here's one project I'd give if I were a high school teacher. A lesson in the real world:
Have a simple database project that runs in two phases. Phase I is basic functionality. The project would be to get the thing working. Grade A-F.
Next, take all the B,C and D designs. Assign the D designs to kids who got A's and B's the first time around, C designs to C students, and B designs to the rest of the students. Add some new requirements, like reports that need to be run off of the database, as Phase II.
Students are then graded on how well their program meets both the Phase I and Phase II requirements.
Sadistic? Perhaps. But that would be great training for how programming works in the real world.