In conversation with a newbie
I have been chatting to a new Linux user online; I'm sorta mentoring him and answering his questions. Here's a recent exchange:
Hey 3rdalbum,
Thank you for answering my question, man. And no one has answered it in such depth. Thanks again. I have one more doubt.
As you may know, the whole internet revolves around various extentions like .html, .xml, .avi, .mp3 etc. So, if Linux doesn't need extentions (and since Windows requires it), is the internet a technology inspired from Windows ?
Thanking you again,
Techdudezz
It's actually the other way around - the Internet has always been run on and designed around Unix and Unix-like systems (Linux, mostly). You've probably noticed that the "path delimiter" on Linux is a forward slash (/), on Windows it's a backslash (\), and on the classic Mac OS it was a colon (:). The path delimiter on the Internet is a forward slash, which tells you that the Internet was designed around Unix systems. Also, I don't know if you've done web development before, but in a hyperlink you use "../" to specify the directory above the current one - you also use it for the same purpose on a Linux system.
The suffixes aren't even necessary on the Internet - the HTTP header that is sent by the server and recieved by the web browser specifies a "MIME type", which says what sort of document is being transferred. Suffixes were used in the early days to differentiate HTML documents and plain text documents (HTML is plain text with markup tags), because at that time HTML and plain text were identified with the same MIME type. These days, the suffixes are used out of inertia and for Windows compatibility, and let's face it, they're good for security as you can tell from the address bar exactly what you are downloading :-)
Before you go and delete the file extensions on all your files, though, you should be aware that Abiword, OOo, MS Office 2007, and Scribus save their documents into XML files that are placed inside tarballs. Without the file extension to identify the program, Linux just assumes that these are ordinary archives. Make a copy of an OOo document and get rid of the filename extension, reload the folder list and see what I mean :-)
A handy command is "file". Type "file " and then the name of a file into the terminal, and you'll be told what sort of file it is; for some files you even get very specific information. This magic is performed, funnily enough, by a package called "libmagic". It looks at the file's contents and determines what sort of file it is. This is in contrast to the Mac OS, which instead relies on the creator of the document to store a 4-character "creator code" identifying the program that created it and another 4-character "file type" identifying the type of file.
Now, an unusual twist to the conversation.
Hey 3rdalbum,
You're right. There are a lot of stuff in the internet
which are really close to Unix. I'm not well-versed with much details
about this as I'm just starting to learn web technologies and network
programming.
Anyway, isn't Mac a Unix ? I've heard this
elsewhere. And one more thing which pisses me off is the thing that in
linux, its really hard to visualize a program's associated files and
structure in Unix that you need to a computer scientist to do fun &
easy tweaks in Windows.
I mean, in Windows, ONE/multiple folder
hosts (almost) all the files for a software so that its easy for me to
play with it. But in Linux, I've to read their "Noobs will be
prosecuted" kinda documentation and figure out basic stuff.
I
mean, consider me as an average Joe starting off with Linux. You know
what its like ? Its like being captivated in a box that is called the
"Home". Everything outside this black-box seems to be a mystery. Its
like looking at a rock and wondering how the electrons and atoms are
running inside it.
I'm confident in saying that "THIS IS WHY
LINUX WILL NEVER BE A SUCCESS" for everyday purposes. No matter how
much you market the thing or how much you bring up a hype, it will
never penetrate into the general public.
I agree that people
should be working on a much more stable and intact OS that Windows.
But, I think freedom and more importantly, "ease of freedom" is the
right track. And, this is why Microsoft has been successful all these
days (and maybe in the future too) or why Apple is going to be
successful in the coming years.
The whole linux community is
working in the wrong direction. Unless its not changed, no way am I
going to adopt it (really man, I'm really pissed off). And, you know
why people aren't actually going on a riot and killing every Linux
developer they see ? Because its given for free. What are your thoughts
?
Of course, I have some thoughts about this:
Lots of people do say that the Macintosh is Unix, but in reality it's a messy mismash of a 1980s BSD fork, modern FreeBSD, some NetBSD, Carbon, and a big chunky proprietary Apple layer that is developed by people who don't know the first thing about working *within* an existing security system.
If Mac OS X is Unix, then it's the only Unix with such a f*cked up security system you need to "reset the permissions" every so often.
If you feel like you're inside a black box on Linux, then there's something wrong. For instance, look inside the file /etc/gdm/gdm.conf - this file, which is excellently commented, defines virtually everything about the login screen. You can modify it by hand if you want, to completely customise it. (although in this case, it's recommended that you instead edit /etc/gdm/gdm.conf-custom - which is the same sort of thing).
Take a look inside /etc some time - it's a treasure trove of interesting things you can do with your system. I understand if you would prefer GUIs for everything, but if you try to pack all the text-file configuration options into a GUI, you quickly get something intimidating. I seem to have developed a phobia of Windows XP's configuration GUIs after clicking too many buttons marked "Properties..." and "Advanced...".
For everyday purposes, people don't want to delve down into the parts of the system and do advanced tweaking. I use Linux for very ordinary, everyday purposes - shrinking DVDs, loading my MP3 player, web surfing, VoIP, office documents. I even do some video editing. I didn't need to drop to the CLI or hand-modify root-owned files to perform these tasks.
I think the successes of the Asus EeePC and the Everex gPC are evidence that "regular" people can use a pre-installed, pre-configured Linux.
As for Windows and Mac OS being easy to use, it's really all to do with your familiarity. If you've been brought up with Windows, you'll be able to use Windows without too much difficulty. If you've been brought up with Windows, you will probably find it easy-ish to switch to the Macintosh - after all, Windows has always been based on the concepts from the Mac OS. However, Linux is based around a completely different system. There are fundamental reasons why things are done in particular ways in Linux.
I've been using Linux for close on 2 years (time flies!). Before that, I was a Mac user. Somehow, I switched from Mac to Linux quite easily. Last year I bought my first Windows PC for use with Linux. Every time I have to do any sort of configuration with this machine, I struggle against it. People consider me to be a "computer whiz" and they ask me to come over to their house and fix some problem with their Windows computer... but I often fail, and even when I succeed it usually involves a trip to the Microsoft Knowledge Base. A trip to the MKB ends off being a trip to the DOS prompt or the Registry Editor, and don't think that those DOS commands are something you can understand! They usually require 3 or more mandatory parameters before they will do anything.
No, Windows is easy to use if you don't have to administer it. Linux is easy to use if you don't have to administer it. Mac OS is easy to use if you believe it to be secure, which it isn't; but administration can also be tricky. In particular, recovery from unbootable situations is immensely difficult on the Mac OS, and always involves either a reinstall or another bad crash 2 months down the track.
Oh, don't get me wrong. Some things on Linux need improving. Compiling software needs to be easier - there's no reason why it couldn't be (note that compiling software on Linux is easier than on Windows). The kernel needs a stable ABI for drivers. Otherwise, the Linux desktop is here and ready for everyday use, as long as people are willing to accept that it is different to the other operating systems that are out there.
Stick with Linux. You're still new to the operating system, and I'm sure things will become less of a black box once you start looking through the files in /etc.
I sometimes want to kill Windows developers - that operating system frustrates me with its intrusiveness and confounds me at every turn. But that's neither here nor there :-)

Comments