Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations IamaSherpa on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

The UNIX Haters Handbook 1

Status
Not open for further replies.
I found this gem while doing some unrelated research. It ought to spice up the endless "My OS is better" debates.


Our grievance is not just against Unix itself, but against the cult of Unix zealots who defend and nurture it. They take the heat, disease, and pestilence as givens, and, as ancient shamans did, display their wounds, some self-inflicted, as proof of their power and wizardry. We aim, through bluntness and humor, to show them that they pray to a tin god, and that science, not religion, is the path to useful and friendly technology.

Computer science would have progressed much further and faster if all of the time and effort that has been spent maintaining and nurturing Unix had been spent on a sounder operating system. We hope that one day Unix will be relinquished to the history books and museums of computer science as an interesting, albeit costly, footnote.

[purple]Jeff
It's never too early to begin preparing for [/purple]International Talk Like a Pirate Day
 
I will say ... If you want to understand technology you should use Unix.

For Example if you want to Install DHCP server.
Case 1 -- Windows Base --
You will install some software or run service, You will set a pool in GUI and everything will be working.

Case 2 -- Unix Base

YOu will have to install deamon. Then Edit configuration file where you will actually understand what the pool is, Where to include DNS, where to mention default gateway.

When I was too new to IT I learn or Understand DHCP / Proxy using Unix though I already installed it number of times on Windows enviroment.

 
No, if you want to understand DHCP servers you start by writing one from scratch based on the RFCs and other documents you can find. Then you carefully read the source code to a proper implementation guided by the understanding you gained banging your head aganst the wall designing and writing your own first attempt.

Then you begin to get a glimmer of what it's all about.

Rinse, repeat. Now read the source to a DCHP client IP stack.

There is a point reached early on where things like driving a car with a manual transmission, hand-crank starter, and a pivoting length of lumber rubbing a tire as a brake aren't buying you much useful "understanding" of technology. And it doesn't make you an automotive engineer - just a very silly shade-tree mechanic.

;-)
 
I do not agree. To configure and understand DHCP server you do not need to go in RFC level details.

Everyone can not just collect parts and be a automotive reserch expert. but yes he can be a automotive engineer.

In driving shools when they show us how to repair small problems when your car does not start in middle of the road .. well that is shade-tree mechanic like learning.
 
Most shade tree mechanics had a highly skilled mentor. Shade tree trained or not. Sticking pre-assembled pieces together does not make you an engineer, hardware or software. Anyone here know the difference between an ore and a rock?



BocaBurger
<===========================||////////////////|0
The pen is mightier than the sword, but the sword hurts more!
 
I do know the difference... An ore isn't necessarilly a substance existing as a rock and a rock doesn't necessarilly contain an ore :)
 
Sorry, an ore is a rock that contains an element or compound that can be mined at a _profit_. If you can't make a profit, it's a rock. Example: a rock that contains gold, but would cost 2X the selling price of gold to mine and extract. If the price of gold triples, the rock becomes ore.

This is engineering 101. If you write code that would cost more to support than you can sell it for, it's not code, it is gibberish.



BocaBurger
<===========================||////////////////|0
The pen is mightier than the sword, but the sword hurts more!
 
This is engineering 101. If you write code that would cost more to support than you can sell it for, it's not code, it is gibberish.

mmm... Not everything is about making money. Many, many, many people write and support code for free - and give knowledge freely. This can be for personal use - i.e. a home AI experiment, or for public use... i.e. freeware.

Why do people do this ? Because many people have a curious and generous nature - humans naturally want to learn, and would all like to teach or be a mentor/expert. It gives us the feeling/illusion of control of our environment and purpose in life. "Be needed and you will be wanted". This is Psychology 101... ;-)

I don't think you meant it as a literal generalisation, but your statement that 'any code that does not or could not make profit is gibberish', is a little unfair. By this reckoning Linux is just a pile of goop.... imagine trying to fund all those developers around the world for their time spent on developing and improving Linux from the minimal income made from Linux s/w sales - ok it seems to keep companies like Redhat afloat - but in fact it is more their services than the software that does this.

One of the biggest limitations (and paradoxically one of the biggest drivers) for innovation and growth of human technological maturity (and in other areas) is the ££$$ view of the world - a competitive approach to surviving.. (nature 101). As you rightly state (albeit implicitly) the ONLY business is profitable business - if it costs more to do than it will return then don't do it. Simple. But the world is not just about business, is it? Luckily some newer generation companies are seeing ways to incorporate 'good behaviour' with their corporate policies, which helps give something back to the community that supports them. Though they still need to be profitable.

So, I agree with what I believe your intention was in your statement, but you may want to rethink the delivery of it - as it implies you believe nothing is good unless it is 'profitable'.



A smile is worth a thousand kind words. So smile, it's easy! :)
 
You missed my point. If the code is so bad, that it can't be _supported_, it is gibberish. Linux can be sold for a profit (RedHat & others are doing nicely), and even truly free software seems to disappear if the author doesn't have the time to fix all the bugs to make it useful/usable.
That is why I have a significant amount of the software running at home being paid for shareware, at least on the Windows boot drive. My Linux purchases seem to have come with everything I need, except drivers for new hardware, I those are free downloads.


BocaBurger
<===========================||////////////////|0
The pen is mightier than the sword, but the sword hurts more!
 
BocaBurger,

Actually, I think you missed my points - I agreed with your intention - just not with your statement.

There are millions of programs out there that could not be sold in a commercial manner, at least not at the moment - consider as an example the free SETI@Home software... who could you sell that to for a profit ? I would like to see your attempt at coding a better processing engine - not saying you couldn't (as it probably has bugs like everything else) and you may be a highly competent programmer, but my point is that it would be a challenge - and the result is likely to be just as 'profitable'. Doesn't mean the code is gibberish though, does it?

As I said - I agree with your intention, just not with your statement.

A smile is worth a thousand kind words. So smile, it's easy! :)
 
But SETI is not so full of bugs that it is unsupportable. I guess you never called the #1 software publisher in the world when Win98 was first released :)



BocaBurger
<===========================||////////////////|0
The pen is mightier than the sword, but the sword hurts more!
 
?? (-: Now I am confused..!

Surely you have just stated that 'unsupportable' software can be profitable.. seeing as you say MS win98 was 'unsupportable'... and it was a major (succesful) release from the #1 software company in the world... ?

But anyway - a little more on topic..

In any circumstance, Unix is by far a more expensive option for any business, needing expensive hardware and expensive resources - and it is harder to support. And this added cost certainly doesn't devalue the code. Though it does have attributes that sometimes make it the only choice.. it is scalable (vertically and horizontally), it is reliable (for the most part), it is powerful/efficient(ish) and it is relatively secure.

I thought the link on this thread was great though, very funny. And it does reflect reality in many ways - Unix and Linux are not the Xanadu that some people make out. I would select a Windows (2000/XP +) user experience than a unix or linux one - and I use all of these systems regularly. This is because it is easy to use - and it is getting better, it is just a shame that there isn't an 'IT Intelligence' setting for each user so that it can set it's level of UI at the right type of user.

When we look at some of the comments on here about levels of abstraction (i.e. how deep do you go to find out how something works), it is fair to say that they are all right, but inherently are a little too focused. There is a wider picture to be seen - and that is one of perspective and purpose.

Someone who sends an email doesn't want to know how TCP Stacks work, or how SMTP authenticates (or doesn't in some cases) or even what the name of their mail server is. They just want to communicate with somebody using this tool - why should they care ?

Someone who wants to understand how something really works doesn't want to be met with childish wizards that obfuscate the real workings of an SMTP Server, they want to take it to pieces and find out how it ticks.

So - from the perspective of a techy, they will probably want to learn how most things work - that is their passion and probably their job. From the perspective of the end user, they just want to get the job done in the easiest way possible.

Also, even techies do not want to write everything from scratch every time they want to do something - imagine trying to set-up your own network.. from scratch.. ? writing protocol handlers, building hardware components, writing user applications, operating systems - the list is endless - impossible for someone to do this to the level of quality found in all the other programs available as packages. So the purpose of their action is to simply 'consume' something as opposed to 'understand' it. If the purpose of the work is to get a job done (especially in a work environment) then why bother going beyond what you need to to achieve the goal ? If, however, you want to learn something to support it better, or develop a better alternative, then get your hands dirty.

I apply both views - most of the time I simply consume the function of software - I like an easy life, other times I explore the inner workings of it - I have a need to understand how things work.

A final couple of thoughts:

1. Command Line interface in function is little different to a GUI - they both serve as interfaces with a human being - just because you type commands on a black screen and edit config using vi looking like something out of a hacker movie, doesn't mean you understand how something works any more than clicking buttons. A command line interface is more powerful/efficient, but more difficult to use. The mixture of both is ideal - but there are other means for humans to interact with computers.

2. How far is far enough to understand how something really works ? everything we experience and see in day to day life is based/built upon something else - another system or entity. An application may be programmed in Java, which runs on a JVM, which runs on an operating system, which runs numerous drivers / protocol handlers etc etc et, which run on hardware, which is made of matter (steel/plastic/carbon/etc), which is made of molecules, which are made up of atoms, which are made up of sub atomic particles (electrons, protons, neurons etc), which are made up of quarks and beyond to bosons/fermions and even down to 1 dimensonal oscillatng strings... But maybe that is a bit too far - who decides?

It is a matter of perspective... and purpose.

Use the right tool for the right job, and don't believe the hype - nothing is perfect - Unix has just as many 'issues' as Windows. Oh, and just because you CAN do something, doesn't mean you SHOULD.

Anyway, enough rambling for today.. ;-)

A smile is worth a thousand kind words. So smile, it's easy! :)
 
Oh, and just because you CAN do something, doesn't mean you SHOULD.

You need to tell this to the customers I support. :) Many times, loudly, so they understand, with a big stick in your hand :)



BocaBurger
<===========================||////////////////|0
The pen is mightier than the sword, but the sword hurts more!
 
Ha ha :)

I can relate to that... I like to keep a big wad of their money close to a naked flame during discussions on scope and requirements.. just to focus their minds... ;-)

I tell you, if it wasn't for Customers, Suppliers, Managers and Employees, work would be a great place to be... Just think of the possibilities...

A smile is worth a thousand kind words. So smile, it's easy! :)
 
the book we refering comes from hate or some purpose to see some one happy ( Like bosses ). I do admire windows. My grand father also can use the OS, becose most of the oparations are on mouse tip. but i still not able to convince myself on all the point he made in the books.

GUI cannot make better developers you need to know each and every command in deep.

All the points he made as disasters due to Unix is are also shown disaster in all the applications.

Exchange / Notes are also having number of flows as sendmail and q mail have. but you can know where is problem in sendmail by debuging binaries. Which is not the case with Exchange... you fully need to depend on your software developers and they realse patch ... the nice quote which goes for programers
Allen our programer realese the software build in two puffs of cigarate and ally out tester will burn packets while finding the bugs .. This is how 555 is gaining more money




 
Just curious I am taking a plane today.Does anybody know what the operating systems are on a plane's computer.If the computer does not respond does the pilot have manual override and can he pretty much land it without a computer.

Well, if I called the wrong number, why did you answer the phone?
James Thurber, New Yorker cartoon caption, June 5, 1937
 
If I recall correctly (from some discovery programme or other!) they use (or have used in the not-so-distant past) 386's for many of the space shuttles' systems... mmm... maybe we should all be using those instead of our shiny Xeon/Pentium/RISC/AMD procs ? I think the words 'fit for purpose' are somehow relevant to all this, as well as maybe 'nothing is perfect'.. and possibly even 'better the devil you know'...

I've never seen or heard of a fault-free computer system... at least not one that actually functions - even with systems that have managed 4+ years of uptime (yes, this was a Unix Server.. duh!).

I love/hate every windows, unix and linux box I've ever worked with.. they all conspire against me at some time or other and taunt me with cryptic log entries, dramatic pauses and 'special' messages. And I'm sure they spy on me through my monitor, waiting to make their next move..

All hail Amiga !! ;-)

p.s. From the way most planes I've taken recently have landed I would expect them to be using an Electric Toaster guided descent system, powered by Marmite and Jam. Let's hope they upgrade to the deluxe Atari version soon..

A smile is worth a thousand kind words. So smile, it's easy! :)
 
Insert OS.

"Our grievance is not just against _____ itself, but against the cult of _____ zealots who defend and nurture it."

Esp Mac OS X users.

I particularly like the Anandtech OS review showing the
terrible performance of tiger because of its syncronous nature.

Even Cutler and Wang have solved that problem.

George Walkey
Senior Geek in charge
 
I would likely make that original contention. Anything Linux or Unix needs work in the user interface. It's nigh-impossible to do anything in a short amount of time without numerous references and manuals.

I've wanted a good viable alternative to Windows for years, but unfortunately any and all Linux has fallen short. Lots of very nasty experiences. From taking two weeks to install and configure an ICS+network server to horrid experiences with personal attempts to get things work (bundled apps would fail to work among many others including one distro messing my CD-R firmware up) to nasty people in "support capacities to not finding anything sufficient in terms of useful apps just sours me on the idea of Linux.

The odd things are that Linux is a good start on an OS, but the OSS system as well as the zealots keep it from being a viable competitor to Windows, despite all the security and stability problems Windows has.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top