...making Linux just a little more fun!
Dear and gentle readers. Those who enjoy finding out what stumps the mighty and shy among the Answer Gang. Children of all ages, ladies and... ahem.
I've just been through the troubleshooting time of my life, trying to learn exactly where all my memory leaks are going. Heck, I've even chased down a few. But what I'd like to know - among you out there who play in somewhat deeper magic than I do - is how you find out what within a kernel is using what memory? I mean, if there aren't many processes running, they don't look like they're using a lot, and I don't have a ramdisk open, how can I tell what's using it up?
Of course I am interested in the answer to this question - and to be a little more specific I'll not that I've spotted ext3fs journals and the USB subsystem leaking so far, mainly by trial and error and science; invoking different things while taking good notes. Yes, I'll be trying some 2.6 kernels - do read a few of the 2c Tips this time around if you're inclined to join me in that - but I just don't think I've found everything.
If anyone would like to write an article on a particular problem, how it stumped you, and how you worked your way past it to learn what really happened under the hood -- I think we'd enjoy reading it. See our see our author submission guidelines for details, and then send mail to email@example.com.
Simply good tips on troubleshooting tricks not found in the average toolbox? Send them to firstname.lastname@example.org. Thanks! -- Heather
Okay, it's been in the Mailbag for 3 months running now, with different voices out there. Obviously there is sincere interest in a Windows Defector column. Now what we need is an author who wants to become its regular columnist, and can keep to a schedule.
Send a note to email@example.com describing your views for the column, including some posible themes for your first two or 3 articles.
Benefits include full access to the snacks in the TAG fridge, some good-natured ribbing, and the respect of a bunch of readers planning their next move in the OS wars.
This is in reply to "Windows Defectors" which was published in issue95 here:
And I don't want Linux to look like Windows. The advantage of a GUI is that it visually enumerates the possibilities. That's a mighty powerful advantage. (Too bad GUIs don't have anything else going for them.)
[Ben] Cute as that statement may be - and I'm definitely a CLI type of guy by preference, so it strikes a chord - it's inaccurate. The largest positive effect of GUIs, IMO, is their transfer of emphasis from remembering and understanding things (command-line options, program capabilities, etc.) to recognizing them visually. Note that this is not much of a value to me - and doesn't seem to be to you - but the population at large (read "non-technical users") have joyfully fallen at the feet of the Great God GUI and sobbed in relief.
[Jason] Doesn't the above paragraph simply say "GUIs visually enumerate the possiblities"?
I was not kidding when I said "That's a mighty powerful advantage". It is a mighty powerful advantage. I was being a bit sarcastic with the "Too bad GUIs don't have anything else going for them" line, but really, they don't.
I'm still trying to get my ideas about computers sorted out. I've been heavily influence by Chris Crawford's writings. His latest book, "The art of Interactive Design" is, IMHO, very good.
You can read many of his essays on his website, http://www.erasmatazz.com
[Ben] In short, GUIs have made computers usable by the majority - without forcing them to learn anything past a fairly basic interface (with extensions available for programs that require higher complexity), and Xerox PARC and Apple deserve all the recognition and kudos they can handle. Necessarily, there's a tradeoff: really complex (and thus, most interesting) functions that don't fit the model are often discarded. Thus, the dumbing-down of the available software base - at least in the Wind0ws world; thus, the love/hate relationship between us techies (who use computers because of the really interesting stuff at the sharp edges) and GUIs.
Note that I am a big believer in writing to the Lowest Common Denominator: that's how I design interfaces for all the programs I write, at least if they're going out into the world. Where I differ sharply from the average MS-flavored GUI is in what I consider the LCD to be: theirs is set at about the level of the average 5-year-old (as my gf in Baltimore expressed it upon seeing WinXP for the first time, "Fear not, little human; Wind0ws will not harm you!");
[Kapil] I think this sentiment is demeaning to the level of intelligence and more importantly the capacity for learning present within most 5-year olds. In fact the quote you give later applies to children much more than to (most) adults---they will do smarter things if we treat them as if they are smart.
My take on this is that the MS-flavoured GUI is aimed at todays computer illiterate adult who is in addition incapable of responding to such a "smart approach" having been treated like an "idiot" for a long time. (Think management and Parkinson's law).
(All this is based on a very small case study. My daughter at the age of 5 had less resistance to using GNU/Linux that my colleagues!).
[Ben] Good grief, Kapil. Not in the least, certainly not by intention; I'm a big-time fan of kids when it comes to learning ability, and am absolutely awed by their emotional/nuance radar at that age (from the start till a couple of years after, actually.) I don't see how saying that certain material is set at the level of a 5-year-old maps to 5-year-olds being stupid, etc.; I smell an ax being ground. OK, to be fair, I may have hit a hot button - sorry if so - but that's no reason to misconscrew my statement completely out of shape.
[Ben] I demand more intelligence and awareness from my users. "You must be at least this intelligent to use my programs" - nope, I don't mind being an elitist at all. I believe, strongly, that people respond to software at the level at which they've been trained to do so: treat them like they're stupid, and they will be; treat them like they're smart - as I believe my method does - and they will amaze you with just how smart they are.
(Why, yes, I am a fan of Marshall McLuhan. Why do you ask?
The effects of technology do not occur at the level of opinions or concepts, but alter sense ratios or patterns of perception steadily and without any resistance. -- Marshall McLuhan, "Understanding Media: The Extensions of Man"
[Jason] OTOH, I really don't want to have to open a file-manager, browse to the directory I want, select "remove", check "Force" and "Recursive", and then click "OK" when I can just type "rm -rf whatever"
[Ben] <grin> Poor choice of example. Midnight Commander - it may be a text-based GUI, but still a GUI - can do shell-based stuff like that just as quickly or quicker and more intuitively (F8 deletes files or directories - no need to remember "-r" or whatever.) However, in general, I agree with you emphatically: there are tasks best done (or that can only be done) in the shell. If my "Ten Feet Tall and Bullet-proof: Java under Linux" article, I did something rather nasty to all the Wind0ws-based programmers: showed a Perl one-liner that fixed several thousand broken links in about a thousand files (a real situation that I'd dealt with shortly before, BTW.) Try that in a GUI.
[Jason] alias rm='rm -r'
No need to remember F8 or whatever.
[Thomas] Hmm, not a recommended thing to do, as I am sure Jason was well aware. Aliasing command names in that manner to do something potentialy distructive such as a recursive approach (rm -r) is never a Good Thing (tm)
[Jason] Doesn't the above paragraph simply say "GUIs visually enumerate the possiblities"?
[Ben] Err... no. It says, and I quote,
Cute as that statement may be - and I'm definitely a CLI type of guy by preference, so it strikes a chord - it's inaccurate. The largest positive effect of GUIs, IMO, is their transfer of emphasis from remembering and understanding things (command-line options, program capabilities, etc.) to recognizing them visually.
That's completely different from enumeration of possibilities - which, incidentally, are not enumerated in a GUI but presented in menus and/or icons. Unless you're using some special meaning of "enumerate", that is. You're talking solely about visual presentation; I'm talking about the influence it has on the way people use computers. Very different scope.
What a GUI does very nicely, is listing (Like that word better? ) the choices visually for you. You don't have to know ahead of time that there's a "Frob the bits" option for something, there's a nice checkbox right there. No need to lookup --frob in the manpage.
[Ben] Yes, and. The GUI methodology is that the user's world is shrunk down to a small number of choices at all times: "File/Edit/Insert/Tools/Help" or whatever. Click on "File" and you get "New/Open/Save/Save As/Close/Quit", etc. No need to look up the manpage, right (although you can always click "Help", for whatever good that's going to do) - but also no need to memorize the manpage to know which functions are available in that piece of software.
[Thomas] One of the reasons why I migrated from Windows was that this so called "common set" routine whereby each menu had a common set of items actually didn't really exist in the Linux GUI. The diversity that each app had to offer, appealed to me much more.
[Ben] You can always find out with just a couple of clicks, because the world is subdivided into just a few choices. Spell-checking? Sure, that would be under "Tools". Paste an image? "Insert", obviously. Even if you guess wrong, it only takes another click or two to try again.
The point is that someone with no computer skills whatsoever can learn to operate a basic GUI in just a few minutes - and will be able to muddle his way through other GUI-based progs, ones he's had no experience with, on his own because the method of operation is similar as long as the interface is consistent. (The question of whether creating access to something as complex and potentially dangerous as computers for non-technically-sophisticated users will be discussed later in the Philosophy section of this course; bring your own earplugs and set your "adult content" filter on "stun".)
[Thomas] The problem with that is that many users may well rely solely on the use of the GUI, and if the GUI doesn't have the necessary options that the underlying CLI apps do, then you loose some of the functionality inherent with the CLI application.
I suppose it should be obvious, but with the site move we also have new addresses for contact. We hope you will find them easier to use. Thanks for your continued support during our transition, and don't forget: we're <em>Making Linux Just A Little More Fun!</em>
Hints: don't send us HTML, we have scripts to do that. Use a real subject line. Tell us what you tried. Thanks.
If people have any News for the News Bytes editor:
firstname.lastname@example.org Michael Conry is our current News Bytes editor.
Folks who want to be mirrors or confirm that they are still mirrors should contact:
email@example.com Ben Okopnik is our current Mirrors Coordinator.
To keep up on news about mirroring scripts and being a mirror, please subscribe to: firstname.lastname@example.org