Hmm... Scottland, Italy, France - has anyone done a study to correlate the average number of UFOs sighted with the average number of alcoholic beverages imbibed?
Any solution short of creating a seperate network is really asknig for trouble. It's notmuch trouble or money to segment your network into a "private" ethernet for the librarians' servers and workstations, and a "public" ethernet for random laptops. Fence it up with an OpenBSD or Linux router/firewall box with a few ethernet cards in it and you're done (Linux is more multi-purpose and easier for most - OpenBSD is considerably more rock-solid-secure for a firewall-only box, IMHO).
Set up a knowledgebase of system information, make it versionable, and perhaps commentable in blogs-style. Make it publish to a departmental web server, and have everyone document the hell out of everything there. Things that go there:
Invetories of systems and of software Licenses and whatnot Purchase info Common practices docs (disk layout procedures, installation procedures, patching procedures, downtime procedures, etc)... etc...etc..
You get the idea. The company shouldn't be reliant on an employee's brain as part of their business plan - document everythign in such a way that if the whole staff went missing, a new staff of competent unix professionals could take over and do somethign useful based on your web docs.
Many people have long theorized that a number of the virii out there are actually invented in the AV companies' labs. They all employ "virus experts", who in the process of virus defense research can and do write real viruses themselves. It's in the companies' and employees' best interests to anonymously infect the world with their research creations in order to further the business model.
I know for a fact that many viruses indeed come from the wild, from little cracker-wannabes. But consider that probably 80%+ of "new" viruses are obviously script-kiddie chop-up jobs of other peoples' virus code found on the net, and begin to see a pattern of a very small handful of very talented programmers who actually innovate the new viruses that end up plagueing us. What percentage of those talented programmers with intimate knowledge of and obsession about virii work at AV companies in the research lab?
Inquiring minds want to know...
Re:Perhaps I have no imagination
on
IMSAI Series Two
·
· Score: 2
What they mean is that you run dos/windows/linux on the ATX motherboard, and you run a little custom server application that serves up a portion of your dos/windows/linux filesystem as a virtual "disk" to the IMSAI over the parallel port.
When was the last time you hear anyone use the term "milihertz"? 1 millihertz would be roughly around 1 cycle every 17 minutes. We're discussing computer networks and system busses. Get with the program, and stop being an anal nitpicker.
It will make it better, but you 10G ethernet doesn't match the speed of an SMP interconnect. If a processor has a 133 Mhz DDR bus (like an AthlonMP), that's ~ 17Gbps. You might assume that by the time 10G ethernet is widely deployed, processors might be utilizing 200 Mhz DDR busses for ~25Gbps. It's also considerably lower latency across those little copper traces on the board compared to going through 10G ethernet.
Technology will improve for all sorts of networks and busses, but it will almost always be universally true that a tight interconnect inside a single machine will perform better than an externally cabled network between machines.
Sun SBus - 25mhz x 64bit = ~800mbps PCI 33mhz x 32bit = ~1000mbps PCI 66mhz x 64bit = ~4000mbps
And that of course is the raw speed for the whole bus. It's shared between multiple device - and even then you usually can't get the real theoretical maximum throughput.
Until busses at least 3x faster than 64/66 pci become common on server hardware, this will only be realistically deployable as network infrastructure (eg Inter-Switch Links between high end Cisco Catalysts). Even at 3x 64/66 pci, one 802.3ae card will saturate the bus.
Of course 10Gbit Fibre Channel is also coming down the pipe soon - hopefully between the two there will be a real drive for newer bus architectures to actually go mainstream in the server market.
I've been working in private for a while on my own ERD-like software (similar in flavor to Erwin and the likes), and I've dealt with this problem to some degree. It's much easier to have a higher-level tool deal with the issue. In my case, abstract schemas are stored in XML, and I have a tool that parses the XML and generates all the sql for "create table blah blah blah" for whatever db vendor you pick. Then there's another tool that can diff between two revisions of the XML schema definition and issue "alter table blah blah" statements to update a database's table layout.
Mine won't be ready for public consumption for some time yet, since I only work on it now again in spare time, and it has big huge unrealistic design goals - but it's not a hard job to build a simple version of the above on your own that's tailored to just your needs.
Consider the fundamentals of the problem: You're attempting to translate 4GL code into 3GL code. Think about why 4GL exists, and its relationship to 3GL. It's not hard to see that you face a fairly insurmountable problem. You might find it easier to just write a new 4GL system capable of running your old 4GL system's code. The process of churning 4GL into a generic 3GL is somewhat harder (but very similar to) the job of a 4GL compiler or interpreter.
(I might be wrong, this is just my understanding of things at the moment)...
Isn't factoring NP-Complete, and Traveling Salesman NP-Complete, and thus any cryptosystem that relies on factoring is in a certain sense a cryptosystem based on traveling salesman, since a solution to one can be translated to a solution of the other.
wtf isup with Ask Slashdot lately? These kinds of questions belong in mailing lists, newsgroups, and webforums that are specifically targetted at supporting these products.
Ask Slashdot should be about Big questions, questions that matter to large fractions of the geek population, questions that are very hard to answer, questions that deal more in the theory of things than in a technical answer to a specific problem.
What amounts to a tech support request for CVS on Win2k doesn't belong here on the front page of slashdot, and this is only the most recent ina string of bad Ask Slashdots.
The bottom line is, if you're in the scenario where the data is stored on a single box and is both encrypted and decrypted on that box, and a key is stored there in some (secure) fashion - no matter what, if the box is rooted, the data will be taken.
The solution is to adequately protect the machine from being rooted in the first place, rather than jump through hoops trying to keep root from being able to get the data.
Start by firewalling the machine well. I would recommend OpenBSD if your traffic volume is slow enough for it to handle (no SMP, so it is kinda limited in that respect if you've got big demands).
Lock down the applications - know every port that's open, what protocol is spoken, what daemon is listening, etc... Do some testing of your own - if you can crash any of the box's services by sending random and/or long string of junk to any of the listening ports, you have a security problem.
Even under Linux, or any other OS that avoids the BIOS when at all possible, your BIOS still plays very important roles. I have in the past solved numerous problems on linux boxes with bios upgrades, mostly issues like memory timing, irq routing, PnP support, PCI latency issues...
Also, don't forget that modern processors are no longer set in stone.... all the newer processors (from the PII-era onwards I believe) from Intel and AMD have some form of updateable microcode on the processor, so that little quirks and bugs can be worked around when they're discovered.
Your processor uses it's hardware default microcode every time it is rebooted, and then the BIOS updates it with the latest-greatest shortly after each bootup. Keeping your BIOS up to date is therefore the only path to keeping your processor up to date as well (newer BIOS updates contain the newest microcde from the chip vendor).
Notice on their FAQ there's a question that says: "Will users be able to download free versions of UnitedLinux for non-commercial uses, similar to how Linux is freely available today?" And of course the answer is yes.
What bugs me here is their implicit use of the phrase "for non-commercial uses". As far as I know, "how Linux is freely available today" is free as in Free. You can use the distros for any purpose you see fit, including making millions, for free. You only pay if you want fancy CDs, manuals, support contracts, tech support, etc.
Is this just a bad choice of wording, or does this mean they'll try to impose some licensing or distribution scheme aimed at making "free" only apply to non-commercial use?
The story is rather obvious, everyone knows the human factor is always the weakest link, and that includes passwords people pick.
On a side note, password policies can sometimes do more harm than good. Our company enforces password changing and password strength rules for NT logins. We change passwords once a month, and the requirements read "At least 6 characters, must contain capitals, numerals, or punctuation, cannot be any of your previous five passwords, cannot be based on username"...
Well, someone goofed in the logic of the password ruleset. As it turns out, it requires the use of both capitals *and* numerals. They've actually managed to limit the number of possible passwords... as the majority of the passwords at this company now start with a capital letter and end with a numeral (most often "1"). Since they have to change passwords once a month, most employees erither write them down or pick very easy ones.
Re:Discovery vs Invention
on
Fair IP Laws?
·
· Score: 2
To cover and respond to several responses:
1) Yes I'm aware that items 1 and 2 on patents are already in current patent law. I re-state them because they're not enforced to any reasonable degree, so they might as well not be there in teh current system.
2) On Prior Art - This doesn't mean to include "inspiration" or prior works that led up (i.e. fire leading to warp)... what it means is that since The Wheel was prior art, if I patent a Car, I can't include the wheels in the patent. This has big implications for software, seeing as over 90% of all code is essentially stolen from prior art - that's just the way of computing (see lpf.ai.mit.edu's papers on software patents and the pervasiveness of software re-use in this sense).
3) On 10 years being too short for {Trucks, Pharmacology, etc...} - I simply don't buy this argument. Remember that when the 10 years is up, you *can* continue to make money from your idea, you just have to compete with others. If you can't sustain your market lead after *10 years* of exclusivity to establish yourself and perfect your processes and marketing, etc... then you don't deserve it. Or in other words, you're not just gettign 10 years of exclusivity, you're also getting a 10 year jump on the competition to carry you on afterwards. To go further is to abuse the patent system to stifle competition and further your bad implementation and marketing.
Discovery vs Invention
on
Fair IP Laws?
·
· Score: 5, Insightful
On Copyright:
Copyright should last 25 years maximum. Copyright should be non-transferable and non-extendable. Copyright should always allow fair use and duplication by individuals. Copyright should only prevent outright mass-distrubtion. Copyright should only prevent this with law, not with technology (which means if someone's violating copyright, you notice them doing it and track them down and prosecute... you don't hopelessly try to manpiluate technology to prevent it in the first place)
On Patents:
Patents should last 10 years maximum, ever. All patentable things must meet the following criteria:
1) Non-obvious - a technical person (or technical review board perhaps?) in the field in question wouldn't consider this a trivial and obvious solution.
2) No prior art - it has never been done before.
3) No inclusion of prior art - The work being patented must be the sole intellectual work of the patentee. It cannot contain intellectual work of others, even if those others didn't patent their work (example, patenting a peice of software that relies on algorithms you got from a programming magazine... you could still patent portions of your software, but not that portion, and no "portion" that contains those algorithms).
The best certification is validation by your peers. Locally attend small conferences, users groups, etc... get to know people in the field in your area, make your skills and understanding known. You might find a job directly through contact like that. At the least, you might make freinds with people with respectable established careers that you can use as references for employers to call and hear the good word about you.
Don't forget the on-line equivalent of this too - participate in technical newsgroups and mailing lists, help out with opensource projects, etc...
No... but I expect a guy who specializes in GM Automatic Transmissions to be able to change the oil on his wife's Honda. If he took it to an oil change shop, I wouldn't trust him to work on my transmission anymore, he clearly doesn't have a handle on the whole Car thing.
I'll concede a bit to make it easier for you to swallow: Some of the CS types I've worked with at various companies have been good at one thing, good specialists. Some of them were excellent C++ programmers, or excellent Database designers. But almost invariably these people had little knowledge or understanding outside of their specialty. Great C++ programmers had to call in outside help to fix simple PC problems, and couldn't operate reliably on a unix commandline. Great DBAs who couldn't write a hello world program in C to save their butts, etc...
While I've read of them, read things by them, heard of them, etc.... I've never once in the "wild" (an actual job at an actual company) met someone with a degree that I considered to be technologically "worthy". Some were competent, but never an exceptional one. I'm sure they're out there, but I think *they* are pretty rare. It's quite possible that this is because college damages your ability to think clearly on your own. I'm a big fan of the unschooling idea, but I think it applies not just to gradeschool, but to all ages of life.
A College degree on the resume will increase your odds of having your resume looked at when applying at many major corps. But you will waste 4+ years that you could've spent in the practical world learning real skills. If you think you need help learning non-technical things (writing, history, psychology) to get by in life, then a bachelor's degree is for you. I ended up at a private high school that had pretty decent education, and between that and just reading on my own, I felt the social aspects of college were a pretty bad bargain for me.
On the technical side, if you can code in a few languages, and you understand hardware (not just plugging in a new IDE HDD, but hardware as in breaking out a soldering iron), you're already much further along that most CS grad students. If you can add to that a solid understanding of systems-related stuff (like storage management, high availability, clustering, etc...), you're golden on skills. Don't forget that a lot of that stuff, you can pretty much BS about it on the resume and learn-as-you-go if you're that kind of person, and still perform better than most candidates in the field.
Anyways, that pretty much sums up how I got by. My "peers" now have a BS in CS and 4 years or so on the job, they're doing junior admin work, and they rely on vendors to tell them how the technology works. They really aren't worth of the cubicle space they take up. I have a 9 year resume, the latter half of which involves doing myriad deep things on really impressive hardware and software environments. I make double what most of them make, and I usually get to pull off the alpha-geek thing of wearing jeans and t-shirts to my downtown office, coming in late, etc... with taking any hassle.
As a matter of fact, when I've had to interview new recruits to work under/with me in my jobs recently, I generally toss out recent CS degree holders in favor of the self-taught type. I've learned that cookie-cutter CS people generally don't get the big picture, and don't have the nitty-gritty technical skills to boot. All they have is a rough theoretical understanding of the middle-ground as it applies to outdated systems, languages, and technologies.
In place of looking for and asking about College on resumes, I look for things like:
(1) Do you use Linux or *BSD at home?
(2) How big is your collection of O'Reilly books? (I really ask this in interviews, and it's a great indicator for self-learners)
Anyways, enough rambling. If you're smart and you have a natural feel for these kinds of things, jump into the industry, don't waste your time. You'll have trouble landing some jobs, but those are generally at companies you would end up being unsatisified with anyways.
Hmm... Scottland, Italy, France - has anyone done a study to correlate the average number of UFOs sighted with the average number of alcoholic beverages imbibed?
Any solution short of creating a seperate network is really asknig for trouble. It's notmuch trouble or money to segment your network into a "private" ethernet for the librarians' servers and workstations, and a "public" ethernet for random laptops. Fence it up with an OpenBSD or Linux router/firewall box with a few ethernet cards in it and you're done (Linux is more multi-purpose and easier for most - OpenBSD is considerably more rock-solid-secure for a firewall-only box, IMHO).
Does this mean better movies? Score another one for slashdot.
Xinerama is a multhead thing, not a movie thing.
Set up a knowledgebase of system information, make it versionable, and perhaps commentable in blogs-style. Make it publish to a departmental web server, and have everyone document the hell out of everything there. Things that go there:
Invetories of systems and of software
Licenses and whatnot
Purchase info
Common practices docs (disk layout procedures, installation procedures, patching procedures, downtime procedures, etc)...
etc...etc..
You get the idea. The company shouldn't be reliant on an employee's brain as part of their business plan - document everythign in such a way that if the whole staff went missing, a new staff of competent unix professionals could take over and do somethign useful based on your web docs.
Many people have long theorized that a number of the virii out there are actually invented in the AV companies' labs. They all employ "virus experts", who in the process of virus defense research can and do write real viruses themselves. It's in the companies' and employees' best interests to anonymously infect the world with their research creations in order to further the business model.
I know for a fact that many viruses indeed come from the wild, from little cracker-wannabes. But consider that probably 80%+ of "new" viruses are obviously script-kiddie chop-up jobs of other peoples' virus code found on the net, and begin to see a pattern of a very small handful of very talented programmers who actually innovate the new viruses that end up plagueing us. What percentage of those talented programmers with intimate knowledge of and obsession about virii work at AV companies in the research lab?
Inquiring minds want to know...
What they mean is that you run dos/windows/linux on the ATX motherboard, and you run a little custom server application that serves up a portion of your dos/windows/linux filesystem as a virtual "disk" to the IMSAI over the parallel port.
Learn to be practical.
When was the last time you hear anyone use the term "milihertz"? 1 millihertz would be roughly around 1 cycle every 17 minutes. We're discussing computer networks and system busses. Get with the program, and stop being an anal nitpicker.
It will make it better, but you 10G ethernet doesn't match the speed of an SMP interconnect. If a processor has a 133 Mhz DDR bus (like an AthlonMP), that's ~ 17Gbps. You might assume that by the time 10G ethernet is widely deployed, processors might be utilizing 200 Mhz DDR busses for ~25Gbps. It's also considerably lower latency across those little copper traces on the board compared to going through 10G ethernet.
Technology will improve for all sorts of networks and busses, but it will almost always be universally true that a tight interconnect inside a single machine will perform better than an externally cabled network between machines.
oops, my quick mental math led me astray - SBus would be ~1600mbps, not ~800mbps. In any case, doesn't change the point
Do the math - even on a "high end" server:
Sun SBus - 25mhz x 64bit = ~800mbps
PCI 33mhz x 32bit = ~1000mbps
PCI 66mhz x 64bit = ~4000mbps
And that of course is the raw speed for the whole bus. It's shared between multiple device - and even then you usually can't get the real theoretical maximum throughput.
Until busses at least 3x faster than 64/66 pci become common on server hardware, this will only be realistically deployable as network infrastructure (eg Inter-Switch Links between high end Cisco Catalysts). Even at 3x 64/66 pci, one 802.3ae card will saturate the bus.
Of course 10Gbit Fibre Channel is also coming down the pipe soon - hopefully between the two there will be a real drive for newer bus architectures to actually go mainstream in the server market.
I've been working in private for a while on my own ERD-like software (similar in flavor to Erwin and the likes), and I've dealt with this problem to some degree. It's much easier to have a higher-level tool deal with the issue. In my case, abstract schemas are stored in XML, and I have a tool that parses the XML and generates all the sql for "create table blah blah blah" for whatever db vendor you pick. Then there's another tool that can diff between two revisions of the XML schema definition and issue "alter table blah blah" statements to update a database's table layout.
Mine won't be ready for public consumption for some time yet, since I only work on it now again in spare time, and it has big huge unrealistic design goals - but it's not a hard job to build a simple version of the above on your own that's tailored to just your needs.
Consider the fundamentals of the problem: You're attempting to translate 4GL code into 3GL code. Think about why 4GL exists, and its relationship to 3GL. It's not hard to see that you face a fairly insurmountable problem. You might find it easier to just write a new 4GL system capable of running your old 4GL system's code. The process of churning 4GL into a generic 3GL is somewhat harder (but very similar to) the job of a 4GL compiler or interpreter.
(I might be wrong, this is just my understanding of things at the moment)...
Isn't factoring NP-Complete, and Traveling Salesman NP-Complete, and thus any cryptosystem that relies on factoring is in a certain sense a cryptosystem based on traveling salesman, since a solution to one can be translated to a solution of the other.
wtf isup with Ask Slashdot lately? These kinds of questions belong in mailing lists, newsgroups, and webforums that are specifically targetted at supporting these products.
Ask Slashdot should be about Big questions, questions that matter to large fractions of the geek population, questions that are very hard to answer, questions that deal more in the theory of things than in a technical answer to a specific problem.
What amounts to a tech support request for CVS on Win2k doesn't belong here on the front page of slashdot, and this is only the most recent ina string of bad Ask Slashdots.
The bottom line is, if you're in the scenario where the data is stored on a single box and is both encrypted and decrypted on that box, and a key is stored there in some (secure) fashion - no matter what, if the box is rooted, the data will be taken.
The solution is to adequately protect the machine from being rooted in the first place, rather than jump through hoops trying to keep root from being able to get the data.
Start by firewalling the machine well. I would recommend OpenBSD if your traffic volume is slow enough for it to handle (no SMP, so it is kinda limited in that respect if you've got big demands).
Lock down the applications - know every port that's open, what protocol is spoken, what daemon is listening, etc... Do some testing of your own - if you can crash any of the box's services by sending random and/or long string of junk to any of the listening ports, you have a security problem.
Even under Linux, or any other OS that avoids the BIOS when at all possible, your BIOS still plays very important roles. I have in the past solved numerous problems on linux boxes with bios upgrades, mostly issues like memory timing, irq routing, PnP support, PCI latency issues...
Also, don't forget that modern processors are no longer set in stone.... all the newer processors (from the PII-era onwards I believe) from Intel and AMD have some form of updateable microcode on the processor, so that little quirks and bugs can be worked around when they're discovered.
Your processor uses it's hardware default microcode every time it is rebooted, and then the BIOS updates it with the latest-greatest shortly after each bootup. Keeping your BIOS up to date is therefore the only path to keeping your processor up to date as well (newer BIOS updates contain the newest microcde from the chip vendor).
Notice on their FAQ there's a question that says: "Will users be able to download free versions of UnitedLinux for non-commercial uses, similar to how Linux is freely available today?" And of course the answer is yes.
What bugs me here is their implicit use of the phrase "for non-commercial uses". As far as I know, "how Linux is freely available today" is free as in Free. You can use the distros for any purpose you see fit, including making millions, for free. You only pay if you want fancy CDs, manuals, support contracts, tech support, etc.
Is this just a bad choice of wording, or does this mean they'll try to impose some licensing or distribution scheme aimed at making "free" only apply to non-commercial use?
The story is rather obvious, everyone knows the human factor is always the weakest link, and that includes passwords people pick.
On a side note, password policies can sometimes do more harm than good. Our company enforces password changing and password strength rules for NT logins. We change passwords once a month, and the requirements read "At least 6 characters, must contain capitals, numerals, or punctuation, cannot be any of your previous five passwords, cannot be based on username"...
Well, someone goofed in the logic of the password ruleset. As it turns out, it requires the use of both capitals *and* numerals. They've actually managed to limit the number of possible passwords... as the majority of the passwords at this company now start with a capital letter and end with a numeral (most often "1"). Since they have to change passwords once a month, most employees erither write them down or pick very easy ones.
To cover and respond to several responses:
1) Yes I'm aware that items 1 and 2 on patents are already in current patent law. I re-state them because they're not enforced to any reasonable degree, so they might as well not be there in teh current system.
2) On Prior Art - This doesn't mean to include "inspiration" or prior works that led up (i.e. fire leading to warp)... what it means is that since The Wheel was prior art, if I patent a Car, I can't include the wheels in the patent. This has big implications for software, seeing as over 90% of all code is essentially stolen from prior art - that's just the way of computing (see lpf.ai.mit.edu's papers on software patents and the pervasiveness of software re-use in this sense).
3) On 10 years being too short for {Trucks, Pharmacology, etc...} - I simply don't buy this argument. Remember that when the 10 years is up, you *can* continue to make money from your idea, you just have to compete with others. If you can't sustain your market lead after *10 years* of exclusivity to establish yourself and perfect your processes and marketing, etc... then you don't deserve it. Or in other words, you're not just gettign 10 years of exclusivity, you're also getting a 10 year jump on the competition to carry you on afterwards. To go further is to abuse the patent system to stifle competition and further your bad implementation and marketing.
On Copyright:
Copyright should last 25 years maximum.
Copyright should be non-transferable and non-extendable.
Copyright should always allow fair use and duplication by individuals.
Copyright should only prevent outright mass-distrubtion.
Copyright should only prevent this with law, not with technology (which means if someone's violating copyright, you notice them doing it and track them down and prosecute... you don't hopelessly try to manpiluate technology to prevent it in the first place)
On Patents:
Patents should last 10 years maximum, ever.
All patentable things must meet the following criteria:
1) Non-obvious - a technical person (or technical review board perhaps?) in the field in question wouldn't consider this a trivial and obvious solution.
2) No prior art - it has never been done before.
3) No inclusion of prior art - The work being patented must be the sole intellectual work of the patentee. It cannot contain intellectual work of others, even if those others didn't patent their work (example, patenting a peice of software that relies on algorithms you got from a programming magazine... you could still patent portions of your software, but not that portion, and no "portion" that contains those algorithms).
The best certification is validation by your peers. Locally attend small conferences, users groups, etc... get to know people in the field in your area, make your skills and understanding known. You might find a job directly through contact like that. At the least, you might make freinds with people with respectable established careers that you can use as references for employers to call and hear the good word about you.
Don't forget the on-line equivalent of this too - participate in technical newsgroups and mailing lists, help out with opensource projects, etc...
No... but I expect a guy who specializes in GM Automatic Transmissions to be able to change the oil on his wife's Honda. If he took it to an oil change shop, I wouldn't trust him to work on my transmission anymore, he clearly doesn't have a handle on the whole Car thing.
I'll concede a bit to make it easier for you to swallow: Some of the CS types I've worked with at various companies have been good at one thing, good specialists. Some of them were excellent C++ programmers, or excellent Database designers. But almost invariably these people had little knowledge or understanding outside of their specialty. Great C++ programmers had to call in outside help to fix simple PC problems, and couldn't operate reliably on a unix commandline. Great DBAs who couldn't write a hello world program in C to save their butts, etc...
While I've read of them, read things by them, heard of them, etc.... I've never once in the "wild" (an actual job at an actual company) met someone with a degree that I considered to be technologically "worthy". Some were competent, but never an exceptional one. I'm sure they're out there, but I think *they* are pretty rare. It's quite possible that this is because college damages your ability to think clearly on your own. I'm a big fan of the unschooling idea, but I think it applies not just to gradeschool, but to all ages of life.
A College degree on the resume will increase your odds of having your resume looked at when applying at many major corps. But you will waste 4+ years that you could've spent in the practical world learning real skills. If you think you need help learning non-technical things (writing, history, psychology) to get by in life, then a bachelor's degree is for you. I ended up at a private high school that had pretty decent education, and between that and just reading on my own, I felt the social aspects of college were a pretty bad bargain for me.
On the technical side, if you can code in a few languages, and you understand hardware (not just plugging in a new IDE HDD, but hardware as in breaking out a soldering iron), you're already much further along that most CS grad students. If you can add to that a solid understanding of systems-related stuff (like storage management, high availability, clustering, etc...), you're golden on skills. Don't forget that a lot of that stuff, you can pretty much BS about it on the resume and learn-as-you-go if you're that kind of person, and still perform better than most candidates in the field.
Anyways, that pretty much sums up how I got by. My "peers" now have a BS in CS and 4 years or so on the job, they're doing junior admin work, and they rely on vendors to tell them how the technology works. They really aren't worth of the cubicle space they take up. I have a 9 year resume, the latter half of which involves doing myriad deep things on really impressive hardware and software environments. I make double what most of them make, and I usually get to pull off the alpha-geek thing of wearing jeans and t-shirts to my downtown office, coming in late, etc... with taking any hassle.
As a matter of fact, when I've had to interview new recruits to work under/with me in my jobs recently, I generally toss out recent CS degree holders in favor of the self-taught type. I've learned that cookie-cutter CS people generally don't get the big picture, and don't have the nitty-gritty technical skills to boot. All they have is a rough theoretical understanding of the middle-ground as it applies to outdated systems, languages, and technologies.
In place of looking for and asking about College on resumes, I look for things like:
(1) Do you use Linux or *BSD at home?
(2) How big is your collection of O'Reilly books? (I really ask this in interviews, and it's a great indicator for self-learners)
Anyways, enough rambling. If you're smart and you have a natural feel for these kinds of things, jump into the industry, don't waste your time. You'll have trouble landing some jobs, but those are generally at companies you would end up being unsatisified with anyways.