He's going through a web proxy. So he's actually tunneling over port 80, so as far as anyone knows it just looks like web traffic.
Performance sucks in such situations, but you can get around byzantine firewall policies that way likely with no one the wiser (there are ways to tell I suppose if someone really wants to know what all that port 80 traffic is from that Linux guy...)
IIRC It's called the "Halting Problem." Look it up.
Now a mathematician may be able to prove correctness for anything given very small values of "anything." How many projects do see with mathematicians assigned to the code itself? Math guys are usually around but they are typically happier playing in Matlab or Mathematica, not with the actual code.
And yes, I've written and tested actual flight code. And I have seen bugs show up in testing that we didn't see during development. If bugs can get that far, then it is absolutely likely we fly shit like that. See: your typical trip to Mars for bugs in flight software where plenty of rocket scientists/mathematicians were involved beginning to end.
>What we ended up releasing was smooth as glass and genuinely bug-free
You can't know that. And it probably isn't true.
Any code of reasonable complexity has bugs.
1) It's what they taught all of us in computer science. 2) It's what every programmer's real life experience is except apparently Rimbo.
Perhaps you'd like to illuminate civilization about how you can prove code is 100% bug free. I posit that it cannot be done, since there is no algorithm that can prove algorithm correctness, IMO that's a QED.
Microsoft is the foil to FOSS. It is like Morgoth's part in the Ainulindale... it plays some seriously sour notes, but it is folded back into the Song and makes it better in the process.
Without Microsoft, there would be no wind in the sails of the FOSS movement. I think they're kind of a stage rocket... don't need that impetus any more, but it was definitely necessary.
Tolkien hated allegory. Wonder how he felt about allusion. Either way I'm sure he'd hate this post.
> This is just a case of ENOCOFFEE -> stupid things getting said, my bad.
Happens to the best of us. But you have to admit you deserved that:-)
> no-one you know knows how to do so, and there are no mechanics in town
Come on, it's just software. I've had to maintain plenty of software I didn't write. Often on wacky old undocumented hardware. Doesn't mean I can't fix it.
There are plenty of 'mechanics' everywhere, and many are hungry for work. I'd warrant you could contract someone to fix just about any true bug for a reasonable fee (at least to my definition of reasonable), and even add most simple features.
All software of any reasonable complexity has bugs. Period. Process can help but it will never prevent 100% of bugs.
There are bugs in FOSS. There are bugs in proprietary software.
Now then, what's the difference? Well, with a proprietary vendor you can spend hours/weeks with tech support trying to move up through 1st, 2nd, till you get to 3rd level where you might be able to convince someone there is a bug. And then do you think that engineer is going roll out the red carpet, whip up a build and send it over to my house? No... I'm just another user with just another problem, and he might give me a workaround, but likely I will be waiting for the next release like everyone else. It's my only choice. Now if I'm a megacorp paying real money for lots of licenses I might be able to get that red carpet. But I'm not.
Now with FOSS I have options. I can get onto IRC or I can file a public bug report. For bad bugs, these are likely to be fixed right away. If it is decided its invalid for some reason I will get a response from an actual engineer saying why they closed the bug. If I don't get satisfaction well, I have the source. If I have the ability I can fix it myself. Or else I could contract someone else to do it. And then I'll probably give the patch back to the project if they want it.
There's a huge difference there. It's about power to get done what you need to. FOSS gives that to the user.
I didn't actually comment directly on the Missouri issue, so I'm not sure how I'm wrong in regards to it...
Anyway, it turns out that in this case I DO agree with the Court, since they are simply allowing State law to trump that of municipalities.
However, I was actually commenting on various jackasses talking generally about the role of the government... my point is that it's generally whatever we as a people want it to be.
I got a few other responses saying the same thing about the US being a republic. Obviously that's true.
Of course it's pointless to argue definitions (never stops anyone, but it's pointless...) I took a fair amount of poli sci too, and I think you all got confused on your definitions. A republic like ours is a democracy. It is certainly not a *direct* democracy as the ancient Greeks had. It is a republic. But it certainly fits into any reasonable definition of democracy I've ever heard.
It's like saying no, that's not citrus fruit, that's an Orange!
The aspect where I can control what software runs on my machine is fine with me. The fact is I know what is running on my machine though, so its kind of irrelevant.
My concern is the direct and indirect ability of others to affect what I can do with my machine, things that today are perfectly legitimate. It is completely possible, with DRM in the picture to begin regulating what software may be used to communicate over the Internet, for example. If I make a patch to Konqueror and then try to use that to connect to the web, it is conceivable that it would be prohibited since the signature on the code would not match what is 'allowed.' Apparently this has already started with mod chippers not being allowed into gaming networks.
I prefer a Free network, where unless an actual crime is committed you are allowed to go about your business without interference.
Just because I'm paranoid doesn't mean they aren't after me... yeah it's a slippery slope argument, but many of us just want to nip this one in the bud.
The government's purpose is whatever its citizens decide it should be.
If its citizens want to replace a quasi government entity like a phone company with a genuine government provided service, it's OK. We had a terrible power crisis for example in California. Who avoided being raped by Enron, et al? LA County, since they generated their own power.
There are reasons to privatize things, and their are reasons not to. Don't make it out like it's so obvious.
Firewalls don't create problems... they solve them. You need to have a firewall if you're connected to the Internet. Period. Whatever problem you're having simply needs to be solved. Cars don't technically need locks... they can "create problems" if you lock your keys in the car. But would you buy a car without locks?
As far as anti-virus: keep your machines patched and don't open spam. In concert with a firewall, you should be fine.
Did I say I couldn't figure it out? I didn't figure it out. But I only spent about 10 minutes fiddling with it, eventually figured how to get IE open and configure the IP address and thought "I have actual work to do, I think I'll go do that instead of learning a yet another GUI for a hardware platform I have no real interest in."
It turns out I am not set in my ways, as I don't use either KDE or Gnome myself... I use Ion, which is totally different than Mac or Redmondish guis, but is more efficient for a stubborn techie like myself that insists on the machine being effectively, efficiently usable from the keyboard.
A) The guy doesn't have a Mac. He's a PC user. He wants advice on how to do something that's completely possible with a PC. That it can be done on a different platform is, well, totally irrelevant.
B) PC users have perfectly good reasons to preferring the open architecture of the PC over the closed Mac monoculture. No vendor lock-in, ability to repair things yourself, less $$$'s, more friends in same boat, more software, etc.
C) Mac is a whole different universe. I'm a CS grad, and every time I have sat down at a Mac keyboard I have very little luck getting it to do anything I want it to do. PC users happen to be familiar with PCs. Using a Mac has some learning curve after getting used to the Redmondish guis (I include KDE and Gnome in there....)
There's nothing inherently wrong with Macs. It's a nice platform for DTP, multimedia, and general computing. However, these days Mac doesn't have a monopoly on much of any applications, and "Just Buy A Mac" gets more than a little tiresome.
Having APIs writ in stone is much more important in the proprietary software world. In the open source world, you general tweak the code and recompile. If you can't, don't upgrade (no that doesn't mean foregoing security patches). This provides for smaller, cleaner APIs without a lot of cruft.
As far as documentation, there is plenty of documentation of the Linux OS and related subjects. It is freely available in the form of Howtos, man pages, readmes, web sites, etc. And you have the source code, and example code everywhere in plain view. Some books are even available on line, and the books for sale are often very good.
And F/OSS can't be beat for the frequent case when the docs are wrong, incomplete, or misleading. Just look at the code and you can tell what it really does. This is the biggest beef I have when developing on Windows: trying to work around close source bugs and inadequate APIs.
A Linksys router doesn't have five ethernet interfaces.
It has 1 switch (with some number of ports) a WAN port, and in some models, a wireless interface.
I agree that the Linksys has advantages over my P2, namely power consumption and physical size. However, it is by no stretch of the imagination as flexible, as you seem to agree with, on the hardware side of things.
On the software side, since both run Linux they are essentially of equal capability, so there is no differentiator there (of course I can cram more RAM into my P2, but a firewall doesn't need much RAM).
All software is hard to audit for security, correctness and usability. What's your point? And software need not be particularly flexible. It just has to do what it is supposed to do.
Developing and debugging new components from scratch is harder than reusing them.
You're saying you don't think software development would be easier if every developer could come to a project with a vast toolbox at his disposal, likely within a given problem domain? That experienced engineer will also have built up experience with the tools in the toolbox.
>Reuse doesn't make programming easier. It makes it harder.
That's pure tripe. With that kind of attitude we'll never move forward. Every time you use someone else's component instead of your own, that's a form of reuse. Does anybody really write their own database any more? Do you start a new project by writing an OS, or picking one? Do you write your own data structures every time? Or do you use what's in the available in the standard run time libraries (Java, C#, etc. have a wealth of data structures available).
The thing that was supposed to make programming easier is reuse. The mystery to some is, that it never really materialized.
On the hardware side of thing reuse is everywhere. Standard components are made which are unbelievably complex but have a simple interface and are cheap. The manufactures give away the parts for development, and reference designs which show exactly how to design them into a product. Drivers are often licensed for free.
Why hasn't this happened in software? Proprietary software is the problem. There is no vast array of components that you can draw upon without having to pay for a license agreement for each and every one. The best answer so far is things like Java and.Net which come with a ridiculously gigantic runtime library. These will help.
But I think F/OSS provides a compelling answer. If you're willing to comply with the GPL there is a vast amount of software ready to be reused in your design. I think it's going to work unless the government steps in to stop it.
For the historically challenged this was called "COBOL."
It deserved its fate. Unfortunately there still seem to be a few remnants of it around... and I doubt any of it was written by the PHBs it was intended for.
The farthest I am willing to go is to end my pointer variable names with the letter p, and pointer-to-pointers with pp. Array names don't get a suffix, since they're not really pointers.
It makes the code leaps and bounds clearer without the hideous ugliness of Hungarian notation. And pointers is where the bad errors are, so it's the bang-for-the-buck here...
I wonder if running tcpdump would be considered wiretapping. Certainly more applicable than a keystroke logger.
He's going through a web proxy. So he's actually tunneling over port 80, so as far as anyone knows it just looks like web traffic.
Performance sucks in such situations, but you can get around byzantine firewall policies that way likely with no one the wiser (there are ways to tell I suppose if someone really wants to know what all that port 80 traffic is from that Linux guy...)
IIRC It's called the "Halting Problem." Look it up.
Now a mathematician may be able to prove correctness for anything given very small values of "anything." How many projects do see with mathematicians assigned to the code itself? Math guys are usually around but they are typically happier playing in Matlab or Mathematica, not with the actual code.
And yes, I've written and tested actual flight code. And I have seen bugs show up in testing that we didn't see during development. If bugs can get that far, then it is absolutely likely we fly shit like that. See: your typical trip to Mars for bugs in flight software where plenty of rocket scientists/mathematicians were involved beginning to end.
> Oh, you just admitted you aren't a programmer.
*PLONK*
>What we ended up releasing was smooth as glass and genuinely bug-free
You can't know that. And it probably isn't true.
Any code of reasonable complexity has bugs.
1) It's what they taught all of us in computer science.
2) It's what every programmer's real life experience is except apparently Rimbo.
Perhaps you'd like to illuminate civilization about how you can prove code is 100% bug free. I posit that it cannot be done, since there is no algorithm that can prove algorithm correctness, IMO that's a QED.
Microsoft is the foil to FOSS. It is like Morgoth's part in the Ainulindale... it plays some seriously sour notes, but it is folded back into the Song and makes it better in the process.
Without Microsoft, there would be no wind in the sails of the FOSS movement. I think they're kind of a stage rocket... don't need that impetus any more, but it was definitely necessary.
Tolkien hated allegory. Wonder how he felt about allusion. Either way I'm sure he'd hate this post.
> This is just a case of ENOCOFFEE -> stupid things getting said, my bad.
:-)
Happens to the best of us. But you have to admit you deserved that
> no-one you know knows how to do so, and there are no mechanics in town
Come on, it's just software. I've had to maintain plenty of software I didn't write. Often on wacky old undocumented hardware. Doesn't mean I can't fix it.
There are plenty of 'mechanics' everywhere, and many are hungry for work. I'd warrant you could contract someone to fix just about any true bug for a reasonable fee (at least to my definition of reasonable), and even add most simple features.
> writing bug-free software is manageable
Oh, you just admitted you aren't a programmer.
All software of any reasonable complexity has bugs. Period. Process can help but it will never prevent 100% of bugs.
There are bugs in FOSS. There are bugs in proprietary software.
Now then, what's the difference? Well, with a proprietary vendor you can spend hours/weeks with tech support trying to move up through 1st, 2nd, till you get to 3rd level where you might be able to convince someone there is a bug. And then do you think that engineer is going roll out the red carpet, whip up a build and send it over to my house? No... I'm just another user with just another problem, and he might give me a workaround, but likely I will be waiting for the next release like everyone else. It's my only choice. Now if I'm a megacorp paying real money for lots of licenses I might be able to get that red carpet. But I'm not.
Now with FOSS I have options. I can get onto IRC or I can file a public bug report. For bad bugs, these are likely to be fixed right away. If it is decided its invalid for some reason I will get a response from an actual engineer saying why they closed the bug. If I don't get satisfaction well, I have the source. If I have the ability I can fix it myself. Or else I could contract someone else to do it. And then I'll probably give the patch back to the project if they want it.
There's a huge difference there. It's about power to get done what you need to. FOSS gives that to the user.
I didn't actually comment directly on the Missouri issue, so I'm not sure how I'm wrong in regards to it...
Anyway, it turns out that in this case I DO agree with the Court, since they are simply allowing State law to trump that of municipalities.
However, I was actually commenting on various jackasses talking generally about the role of the government... my point is that it's generally whatever we as a people want it to be.
I got a few other responses saying the same thing about the US being a republic. Obviously that's true.
Of course it's pointless to argue definitions (never stops anyone, but it's pointless...) I took a fair amount of poli sci too, and I think you all got confused on your definitions. A republic like ours is a democracy. It is certainly not a *direct* democracy as the ancient Greeks had. It is a republic. But it certainly fits into any reasonable definition of democracy I've ever heard.
It's like saying no, that's not citrus fruit, that's an Orange!
The aspect where I can control what software runs on my machine is fine with me. The fact is I know what is running on my machine though, so its kind of irrelevant.
My concern is the direct and indirect ability of others to affect what I can do with my machine, things that today are perfectly legitimate. It is completely possible, with DRM in the picture to begin regulating what software may be used to communicate over the Internet, for example. If I make a patch to Konqueror and then try to use that to connect to the web, it is conceivable that it would be prohibited since the signature on the code would not match what is 'allowed.' Apparently this has already started with mod chippers not being allowed into gaming networks.
I prefer a Free network, where unless an actual crime is committed you are allowed to go about your business without interference.
Just because I'm paranoid doesn't mean they aren't after me... yeah it's a slippery slope argument, but many of us just want to nip this one in the bud.
The US is a democracy.
The government's purpose is whatever its citizens decide it should be.
If its citizens want to replace a quasi government entity like a phone company with a genuine government provided service, it's OK. We had a terrible power crisis for example in California. Who avoided being raped by Enron, et al? LA County, since they generated their own power.
There are reasons to privatize things, and their are reasons not to. Don't make it out like it's so obvious.
The specific problems with running Linux on notebooks are:
1. Suspend, and power consumption
2. IRQ routing issues
3. Drivers
1 & 2 are due to deficiencies in the current Linux ACPI implementation. Contributions from Intel and these big vendors would resolve this
3 will get pushed with more corporate desktop rollouts
Firewalls don't create problems... they solve them. You need to have a firewall if you're connected to the Internet. Period. Whatever problem you're having simply needs to be solved. Cars don't technically need locks... they can "create problems" if you lock your keys in the car. But would you buy a car without locks?
As far as anti-virus: keep your machines patched and don't open spam. In concert with a firewall, you should be fine.
Dear jackass,
Did I say I couldn't figure it out? I didn't figure it out. But I only spent about 10 minutes fiddling with it, eventually figured how to get IE open and configure the IP address and thought "I have actual work to do, I think I'll go do that instead of learning a yet another GUI for a hardware platform I have no real interest in."
It turns out I am not set in my ways, as I don't use either KDE or Gnome myself... I use Ion, which is totally different than Mac or Redmondish guis, but is more efficient for a stubborn techie like myself that insists on the machine being effectively, efficiently usable from the keyboard.
A) The guy doesn't have a Mac. He's a PC user. He wants advice on how to do something that's completely possible with a PC. That it can be done on a different platform is, well, totally irrelevant.
B) PC users have perfectly good reasons to preferring the open architecture of the PC over the closed Mac monoculture. No vendor lock-in, ability to repair things yourself, less $$$'s, more friends in same boat, more software, etc.
C) Mac is a whole different universe. I'm a CS grad, and every time I have sat down at a Mac keyboard I have very little luck getting it to do anything I want it to do. PC users happen to be familiar with PCs. Using a Mac has some learning curve after getting used to the Redmondish guis (I include KDE and Gnome in there....)
There's nothing inherently wrong with Macs. It's a nice platform for DTP, multimedia, and general computing. However, these days Mac doesn't have a monopoly on much of any applications, and "Just Buy A Mac" gets more than a little tiresome.
I think this is in fact the most likely interpretation.
Damn, I'll buy it and mail it... say $400 of the savings for me?
Having APIs writ in stone is much more important in the proprietary software world. In the open source world, you general tweak the code and recompile. If you can't, don't upgrade (no that doesn't mean foregoing security patches). This provides for smaller, cleaner APIs without a lot of cruft.
As far as documentation, there is plenty of documentation of the Linux OS and related subjects. It is freely available in the form of Howtos, man pages, readmes, web sites, etc. And you have the source code, and example code everywhere in plain view. Some books are even available on line, and the books for sale are often very good.
And F/OSS can't be beat for the frequent case when the docs are wrong, incomplete, or misleading. Just look at the code and you can tell what it really does. This is the biggest beef I have when developing on Windows: trying to work around close source bugs and inadequate APIs.
Point of clarification:
A Linksys router doesn't have five ethernet interfaces.
It has 1 switch (with some number of ports) a WAN port, and in some models, a wireless interface.
I agree that the Linksys has advantages over my P2, namely power consumption and physical size. However, it is by no stretch of the imagination as flexible, as you seem to agree with, on the hardware side of things.
On the software side, since both run Linux they are essentially of equal capability, so there is no differentiator there (of course I can cram more RAM into my P2, but a firewall doesn't need much RAM).
All software is hard to audit for security, correctness and usability. What's your point? And software need not be particularly flexible. It just has to do what it is supposed to do.
Developing and debugging new components from scratch is harder than reusing them.
You're saying you don't think software development would be easier if every developer could come to a project with a vast toolbox at his disposal, likely within a given problem domain? That experienced engineer will also have built up experience with the tools in the toolbox.
>Reuse doesn't make programming easier. It makes it harder.
That's pure tripe. With that kind of attitude we'll never move forward. Every time you use someone else's component instead of your own, that's a form of reuse. Does anybody really write their own database any more? Do you start a new project by writing an OS, or picking one? Do you write your own data structures every time? Or do you use what's in the available in the standard run time libraries (Java, C#, etc. have a wealth of data structures available).
Actually you are on to something.
.Net which come with a ridiculously gigantic runtime library. These will help.
The thing that was supposed to make programming easier is reuse. The mystery to some is, that it never really materialized.
On the hardware side of thing reuse is everywhere. Standard components are made which are unbelievably complex but have a simple interface and are cheap. The manufactures give away the parts for development, and reference designs which show exactly how to design them into a product. Drivers are often licensed for free.
Why hasn't this happened in software? Proprietary software is the problem. There is no vast array of components that you can draw upon without having to pay for a license agreement for each and every one. The best answer so far is things like Java and
But I think F/OSS provides a compelling answer. If you're willing to comply with the GPL there is a vast amount of software ready to be reused in your design. I think it's going to work unless the government steps in to stop it.
For the historically challenged this was called "COBOL."
It deserved its fate. Unfortunately there still seem to be a few remnants of it around... and I doubt any of it was written by the PHBs it was intended for.
I like to call it "India"
It makes variable names butt ugly.
The farthest I am willing to go is to end my pointer variable names with the letter p, and pointer-to-pointers with pp. Array names don't get a suffix, since they're not really pointers.
It makes the code leaps and bounds clearer without the hideous ugliness of Hungarian notation. And pointers is where the bad errors are, so it's the bang-for-the-buck here...
Damn these fingers!
Err... read-only not write-only.