Almost two years ago, I put together a low
power system:
DFI Socket 7 motherboard
192 Mbyte SDRAM
AMD K6II/500 CPU
A 20 Mbyte drive
El-Cheapo tiny graphics card
The whole system draws less than 50 Watts. (Of course I added
a second hard drive to bring power consumption up to 60 Watts later, but it's
still pretty good.)
The system runs a custom Linux From Scratch install. A very minimal
system, but with a very carefully selected
set of services: sshd, Apache, BIND, and
Postfix for mail.
The goal (which I achieved) was a UPS
hang-time of over 2 hours on a small little
UPS. Important for what is my only 24x7
server box.
If I were to build a low-power system today,
I'd go for a VIA C3 without any doubt. I've seen several of these systems that run quite nicely without
even a CPU fan. That's one less moving part!
I am surprised I haven't heard this yet, but let's take a look at the root of ISP costs.
A T1 (1.5 Mb/s) costs around US$800 a month.
A T3 (43 Mb/s) costs around US$12000 a month.
An OC3 (155 Mb/s) costs around US$35000 a month.
Those were the prices about 6 months ago,
and do not include some one-time (trenching,
provisioning, equipment) costs, although
they do include the line costs and single-path internet
connectivity with a Tier 1 provider.
(Yes, I know, no cable ISP comes close to
the SLA that are standard in the business
world, but nonetheless somebody's gotta be
providing the bandwidth.)
Do the math: If you were a cable ISP, would
you want somebody sucking down a T1's
worth of bandwidth for even the "inflated"
price of Cdn$80 a month that the OP was
complaining about?
What's the point of high speed broadband access if you can't use it to full potential without having to start selling organs to pay the bills?
Have you ever priced a T1? A T3? An OC3?
Admittedly, a cable connection is none of the
above. A cable connection is in many respects
one of the lowest classes of connectivity
you can have - you can even get your own class C
network hooked over a dialup line, but you'll
never do it through a cable company! And
forget SLA's!
Nonetheless, the bandwidth used does cost
the cable company money. Pretending
otherwise doesn't change the fact.
I'm a little bit concerned that the only
reason you want to go to school is to make
money. I'm hoping you change your mind after
you get there and decide to follow your interests
instead.
If you're a professional C++ programmer/DBA, then
you'd probably be bored to tears by the
"computer" classes that a MIS or CIS degree
involves. That's not strictly true - there may
be some good design/architecture courses which
you may very well enjoy. Take a very close look
at the course catalogs and graduation requirements
for the schools you are looking at.
Depending on the school, the same may be true
for the courses you need for a CS degree.
Don't overlook the possibility of getting a
degree in something other than (or in addition to) CS/MIS/CIS. In four years it is very likely that
a degree in economics or actuarial science or
applied physics or EE will be the key to doing interesting and/or high-paying stuff. Or,
for that matter, Eastern European literature or sociology or basketball coaching may be your
true love!
or
Well, as my warez kiddie neighbor's son found out last week, they are capping
uploads to 10MB/day and downloads to 150MB/day.
Wow. 10MB/day is about what you get out
of a 1200 baud modem. I understand perfectly
well that you don't want bandwidth hogs, but
this sort of capped transfer rate is positively
antediluvian.
I fully understand the desire for having
a dozen machines up at the same time, each
doing their "own" thing. But face it: today's
computers are so ridiculously powerful that
you'll probably be utilizing a percent or two
of CPU on each of those machines. If you can
consolidate all the functions onto a single
machine, you'll be way ahead in the game for
a number of reasons:
Cooling. This was your primary concern, so I
think you'll grok it immediately.
Power. (This is actually directly related
to "Cooling", but I'll treat it separately because
most slashdotters don't know a thing about
thermodynamics.) If UPS'ing is important,
you'll be able to keep a single server up for
twelve times longer than a dozen equivalent
servers, given the same UPS capacity.
Just as a data point, I have recently
consolidated all but one of my servers onto
a single little box, drawing a little bit
under 100 watts. My UPS can keep this little
guy up for two hours during a power outage.
Redundancy. Want full redundancy for all
your operation? With one server, you just
double to two. With twelve servers, you have
to double to twenty-four!
Software maintenance. Do you really enjoy
maintaining a dozen different machines? Do
you feel you need a dozen different OS installations for some reason? Maybe you
feel that no one single OS or distribution is the "right one" for you and that's why you need so
many machines? Seriously think
about making your own personalized custom
Linux
From Scratch distro, where you are the guy
in control. No more whining about the way
Redhat does package configuration!
There's also the fact that US Customs and
Immigrations officers are at all Canadian
airports with international flights (not
to mention the Immigration Canada folks!)
As far as I understand it, he was released on bail for a while. Unless he was
under 24h surveilance he could have easily made it to Mexico or Canada at
which point he could have caught a plane to Russia.
...
Is it a matter of difficulty? I've never (before Sept 11, at any rate) had any
problem crossing the US/Canada or US/Mexico border.
Russian citizens need a visa to enter Canada
or Mexico from the US, dude. When the US gov't
is holding your passport and other papers it
makes life difficult.
But there is one place where evolutionary design
can fall down: when a contractor is doing the work. In the traditional purchasing model, if you're going to draw up a contract, then you're going to have a very rigid set of acceptance standards. Things are changing, and I've seen
some big companies actually realize that it's better to not try for the "get everything at once
approach". But this is still the exception rather
than the rule.
That still wouldn't make them an "engineer". What you are describing is a
project manager with better than average technical skills.
Maybe. I thought I was also describing a
coder with better than average analysis, design,
testing, and people skills. (Note that "coding"
becomes maybe 1/5th of the total skill set.)
An engineer - in the end - is someone who comes
up with real-world solutions to real-world problems. The software engineer that I'm thinking
of (and maybe the one IEEE is think of too)
does the same thing.
Most of those complaining about the Software
Engineer title seem to be what I would call
coders - folks who view their job as writing
code.
Coders are fine people. But few of them
interface with users, management, and the other
organizations who are stakeholders in the outcome
of a large software project. Instead, the
"interfacing" seems to be left to suits,
project
managers who don't actually understand any of
the coding. We're left with a gap to fill
there.
The way I see a software engineer is as
filling thag gap. A software engineer can sit
down with users and draw up specs and requirements;
he can analyze and design, and then code, and
then test, debug, and deliver. He
may not do all of these all of the time, but he
does have the ability, and when he
sees that one of these needs isn't being met, he
should also have the authority to make
sure that they are done, otherwise the project
will fail (like 90% of software projects currently
fail!)
We do need folks like this in the business,
and we also need the business to recognize the
necessity for such software engineers. Getting
accreditation is one important step in achieving
these goals.
Everything I've heard about AMD mobos is that they are *less* reliable than the Intel ones.
This is - at least in part - because AMD is
popular with overclockers, who don't seem to mind
pushing their machines to the edge of instability
(and even beyond!)
I've had a series of AMD boxes over the past three
years, and none have ever had stability problems
under Linux. Of course, none are overclocked,
either.
GPL-based systems refute their own viability in practice -- you get an
unreliable patchwork of confusing crap.
I disagree. Much of the GNU stuff, for example,
is very excellent code, has many years of testing
already applied to it, and is extremely portable. Most commercial software is pure crap in comparison that sends me screaming from the
room. Ever try to port a 32-bit windows
application to a 64-bit platform? You'll go
screaming from the room when you realize how
deeply the assumption that sizeof(int)==sizeof(pointer) is in all
the data structures. Most open-source stuff got
over this hump in the early 90's when it was ported to the Alpha.
Linux will never venture beyond the realm of
computer hobbyists aka "geeks" because quality, documentation,
user-interface, thorough programming, etc. all require money.
I have no problem with this. Linux is a highly
technical OS and has highly-technical users doing
truly leading-edge stuff with it. If some
luser wants
to use their favorite point-and-drool application,
they're welcome to use Windows IMHO. It's no
skin off my back that I can do the same thing in one tenth the time.
Error handling in a C/Unix environment is, by its nature, very difficult. But at least some open source tools have become very refined over the years and are quite good at it.
My textbook example:
The pwd command.
It takes no argument, and only produces one line of output. Despite this apparent simplicity, I've been able to get each and every pwd that ships with a commercial Unix to dump core (almost always by executing in an exceedingly deep directory.)
The GNU shellutils version of pwd, on the other hand, has never dumped core on me.
I will admit, the fact that it took two decades for a non-crashable version of pwd to become available doesn't bode well for the many other vastly more complicated programs out there in any environment. But it does speak very highly of the GNU utilities in general, and I haven't even begun to praise the thousands of folks who have worked on making these tools quite portable!
For me, it's not a performance issue - it's an expandability issue:
If I had only IDE drives, I'd have to power the machine down to add a new drive. This is a
f***ing real computer, I'm not gonna go through a lousy reboot just because I added a new drive!
IDE has ridiculously short cable length
requirements that pretty much guarantee that you'll have to put all HD's in the same box as
the motherboard.
I can put all sorts of things on my SCSI bus
without having to do a reboot. (OK, many of these
things are now available with USB connectors too, but the USB performance really isn't up to snuff.
I've got an ancient SCSI HP Scanjet IIcx that still beats the pants off of my modern USB Epson 1650 scanner for full-color full-page scans.)
You worry about the quality of your upcoming
work, and then you say that most of the product
is "resused" software. Is the "old" software
not up to par? If not, was it your fault?
Don't knock software reuse in and of itself. If
you can build a truly top-notch adaptable library
to do what your company does, that in itself is
95% of the coding work. That'll allow you and
your fellow software engineers more time to
actually determine and meet your customer's needs.
On the other hand, do too good a job in making
the library and you may find yourself fired because you're no longer needed, assuming that
you're nothing more than a coding monkey...
The whole system draws less than 50 Watts. (Of course I added a second hard drive to bring power consumption up to 60 Watts later, but it's still pretty good.)
The system runs a custom Linux From Scratch install. A very minimal system, but with a very carefully selected set of services: sshd, Apache, BIND, and Postfix for mail.
The goal (which I achieved) was a UPS hang-time of over 2 hours on a small little UPS. Important for what is my only 24x7 server box.
If I were to build a low-power system today, I'd go for a VIA C3 without any doubt. I've seen several of these systems that run quite nicely without even a CPU fan. That's one less moving part!
- A T1 (1.5 Mb/s) costs around US$800 a month.
- A T3 (43 Mb/s) costs around US$12000 a month.
- An OC3 (155 Mb/s) costs around US$35000 a month.
Those were the prices about 6 months ago, and do not include some one-time (trenching, provisioning, equipment) costs, although they do include the line costs and single-path internet connectivity with a Tier 1 provider. (Yes, I know, no cable ISP comes close to the SLA that are standard in the business world, but nonetheless somebody's gotta be providing the bandwidth.)Do the math: If you were a cable ISP, would you want somebody sucking down a T1's worth of bandwidth for even the "inflated" price of Cdn$80 a month that the OP was complaining about?
Have you ever priced a T1? A T3? An OC3?
Admittedly, a cable connection is none of the above. A cable connection is in many respects one of the lowest classes of connectivity you can have - you can even get your own class C network hooked over a dialup line, but you'll never do it through a cable company! And forget SLA's!
Nonetheless, the bandwidth used does cost the cable company money. Pretending otherwise doesn't change the fact.
The neat part about this is that I'm a US Citizen yet not eligible for a US Driver's License. Nor do I have a 5-digit zip code :-). Categorize that!
If you're a professional C++ programmer/DBA, then you'd probably be bored to tears by the "computer" classes that a MIS or CIS degree involves. That's not strictly true - there may be some good design/architecture courses which you may very well enjoy. Take a very close look at the course catalogs and graduation requirements for the schools you are looking at.
Depending on the school, the same may be true for the courses you need for a CS degree.
Don't overlook the possibility of getting a degree in something other than (or in addition to) CS/MIS/CIS. In four years it is very likely that a degree in economics or actuarial science or applied physics or EE will be the key to doing interesting and/or high-paying stuff. Or, for that matter, Eastern European literature or sociology or basketball coaching may be your true love! or
Wow. 10MB/day is about what you get out of a 1200 baud modem. I understand perfectly well that you don't want bandwidth hogs, but this sort of capped transfer rate is positively antediluvian.
Movie 2001:We're ruled by a giant monolith from outer space.
Real 2001:We're ruled by congress
Reminds me of my favorite warning sticker:
Despite how effective the sticker was at reminding us to keep our goggles on, the safety people made us take it down.You know, you don't need either. I've been using Motiffor over a decade now and I don't plan on ever changing.
Just as a data point, I have recently consolidated all but one of my servers onto a single little box, drawing a little bit under 100 watts. My UPS can keep this little guy up for two hours during a power outage.
There's also the fact that US Customs and Immigrations officers are at all Canadian airports with international flights (not to mention the Immigration Canada folks!)
...
Is it a matter of difficulty? I've never (before Sept 11, at any rate) had any problem crossing the US/Canada or US/Mexico border.
Russian citizens need a visa to enter Canada or Mexico from the US, dude. When the US gov't is holding your passport and other papers it makes life difficult.
But there is one place where evolutionary design can fall down: when a contractor is doing the work. In the traditional purchasing model, if you're going to draw up a contract, then you're going to have a very rigid set of acceptance standards. Things are changing, and I've seen some big companies actually realize that it's better to not try for the "get everything at once approach". But this is still the exception rather than the rule.
Not having sendmail is like not having VD. -- R. Helby
Maybe. I thought I was also describing a coder with better than average analysis, design, testing, and people skills. (Note that "coding" becomes maybe 1/5th of the total skill set.)
An engineer - in the end - is someone who comes up with real-world solutions to real-world problems. The software engineer that I'm thinking of (and maybe the one IEEE is think of too) does the same thing.
Coders are fine people. But few of them interface with users, management, and the other organizations who are stakeholders in the outcome of a large software project. Instead, the "interfacing" seems to be left to suits, project managers who don't actually understand any of the coding. We're left with a gap to fill there.
The way I see a software engineer is as filling thag gap. A software engineer can sit down with users and draw up specs and requirements; he can analyze and design, and then code, and then test, debug, and deliver. He may not do all of these all of the time, but he does have the ability, and when he sees that one of these needs isn't being met, he should also have the authority to make sure that they are done, otherwise the project will fail (like 90% of software projects currently fail!)
We do need folks like this in the business, and we also need the business to recognize the necessity for such software engineers. Getting accreditation is one important step in achieving these goals.
Dude, FC is SCSI. Take a look at the SCSI-3 spec sometime.
This is - at least in part - because AMD is popular with overclockers, who don't seem to mind pushing their machines to the edge of instability (and even beyond!)
I've had a series of AMD boxes over the past three years, and none have ever had stability problems under Linux. Of course, none are overclocked, either.
I disagree. Much of the GNU stuff, for example, is very excellent code, has many years of testing already applied to it, and is extremely portable. Most commercial software is pure crap in comparison that sends me screaming from the room. Ever try to port a 32-bit windows application to a 64-bit platform? You'll go screaming from the room when you realize how deeply the assumption that sizeof(int)==sizeof(pointer) is in all the data structures. Most open-source stuff got over this hump in the early 90's when it was ported to the Alpha.
Linux will never venture beyond the realm of computer hobbyists aka "geeks" because quality, documentation, user-interface, thorough programming, etc. all require money.
I have no problem with this. Linux is a highly technical OS and has highly-technical users doing truly leading-edge stuff with it. If some luser wants to use their favorite point-and-drool application, they're welcome to use Windows IMHO. It's no skin off my back that I can do the same thing in one tenth the time.
My textbook example:
It takes no argument, and only produces one line of output. Despite this apparent simplicity, I've been able to get each and every pwd that ships with a commercial Unix to dump core (almost always by executing in an exceedingly deep directory.)
The GNU shellutils version of pwd, on the other hand, has never dumped core on me.
I will admit, the fact that it took two decades for a non-crashable version of pwd to become available doesn't bode well for the many other vastly more complicated programs out there in any environment. But it does speak very highly of the GNU utilities in general, and I haven't even begun to praise the thousands of folks who have worked on making these tools quite portable!
A related question: who has the largest single
Linux desktop? At work we have several consoles
with eight or nine 21" CRT's under XFree86 4.1.0.
See The Wallops Flight Facility Home Page.
Why would Fry's not have any online presence? The obvious answer is that there is nobody in the organization who has the competence to do so.
I would submit that Fry's is not only unaware of the security issues related to "personal data", but guaranteed to screw it up.
Don't knock software reuse in and of itself. If you can build a truly top-notch adaptable library to do what your company does, that in itself is 95% of the coding work. That'll allow you and your fellow software engineers more time to actually determine and meet your customer's needs.
On the other hand, do too good a job in making the library and you may find yourself fired because you're no longer needed, assuming that you're nothing more than a coding monkey...