On Sun, Apr 5, 2009 at 7:14 PM, John Greep <[email protected]> wrote:

> Gustin,
>
> Balance is a good word to use here.  As a developer, I would prefer
> something stable and complete over something pretty.  That's what I love
> about open source too.  It's a platform for thinking out of the box and  is
> a safe place to fail and learn from mistakes without serious costs.
> Eventually, when the product is released to the wild, commercial viability
> is number 1.  If you're thinking about user interactions up front, it's
> cheaper than having to redesign it from the ground up.


Some may think this is off topic.  Some may think this is flame bait.

Whatever!

OK, I'm going to prefix this by saying that I'm tired and grumpy after
trying to figure out how to configure the software that I have to learn as
part of my new job!  If I get too worked up then try to keep in mind that I
have been away from home on business for almost two weeks on my own with no
experienced backup and I am trying to figure out how to configure things out
with only the source code for reference and the only experienced person for
this stuff is currently away from the office in Newcastle UK.

<flame on!>
I hear comparisons of cars and software from to time.  If you don't want the
hassle of getting a car, get a taxi (that's equivalent to using gmail
instead of configuring a mail client).  If having your own computer is too
much hassle then use the one at the public library (equivalent to taking the
bus).  However, if you want a computer of your own then be prepared to learn
something!

Cars are just not as complex as a computer.  For a car to start and move we
need fuel in the tank, a working fuel pump, a working carb/fuel injectors, a
working ignition system (yeah recent ones have a microcontroller controlling
them), a starter to crank the engine over (that implies a working alternator
and voltage regulator) and a working transmission.  Yeah I know that
transmissions are not simple.

Do you have any fuckin' idea what goes on before you even see the splash
screen from your motherboard on your display?  OK, lets just ignore that.

Lets just say that the CPU is not overheading, the memory has no bad bytes
the EC can't deal with, that the disk controller works, the video display
has the right drivers, that the disk hasn't read a block that has gone bad
where its reading, that the SATA drivers are current with the OS, that the
keyboard has not reported an error to the OS, the power supply is capable of
supplying about 5 times the current operating current, the battery in your
cordless mouse is still good, the RAM in your monitor is working correcly,
all the thousands of contacts to your LCD screen are all solid and every
single disk block that the disk reads on its way to loading the OS has no
CRC errors, only then can you even get to the loading the operating system.
Even with that list I have left out a whole lot!

OK, now we have an OS - what do you want to do today (Brief aside:  hey
haven't I heard something like that before?  Maybe I should apply for one of
those highly paid marketing jobs at MS.  It would pay a hell of a lot more
than I get now!)?  Lets just pretend that we are using no windowing system
and that we are using the hardware generated characters to display data.
Lets just say that we are using an ftp client or wget to get a file.

Now we have to have a correctly configured network card - the driver has to
be loaded (Got any clue how complex the TCP stack is?).

OK to the ordinary user's point of view all you have to have run is
pump/dhclient etc.  Is the right nameserver in /etc/resolv.conf?  When using
DHCP I have had stale entries in this file screw me up.

Has someone put in the right stuff in the iptables to let ftp throught the
firewall rules?  Do the firewall rules block FTP?  Did you pay your ISP bill
this month?  Where I am I have heard about ISP's blocking some internet
sites.

You want things just to drop into place!  Yet even in the simplest app I can
think of I thought of 3 things that the original programmer had no control
over that would cause the program to fail.  What do you think its like when
the application is a CAD/CAM application or even a word processor?  There
are hundreds of critical points where these applications can possibly fail.

The only reason that modern complex applications work as well as they do is
that generations of programmers have taken the work of their predecessors
and used that as their base.  But no matter how hard they try no programmer
can anticipate every way a program can fail and even less can they recover
from every situation that comes up.

My point is that if you think that you can use these applications without
encountering a problem at some point you are dreaming.  Further, the only
way to solve the problem yourself is to learn the basics of how software
systems run, some of the basics of system administrations and the basics of
the hardware.  Only then can you use computers with confidence.  Until then
when problems occur treat the computer guy just like your mechanic.

Oh yeah!  I use Linux for my desktop and have done so since 1995.  I still
have times of frustration when all I want to do is get something done.
However, I cringe when someone suggests that I need to use Windoze.  Linux
is LOTS less work to keep going.

<flame off>
_______________________________________________
clug-talk mailing list
[email protected]
http://clug.ca/mailman/listinfo/clug-talk_clug.ca
Mailing List Guidelines (http://clug.ca/ml_guidelines.php)
**Please remove these lines when replying

Reply via email to