Slashdot Mirror


Teaching Linux/Unix Basics to Microsoft Junkies?

flupps asks: "I've been asked to hold a two-day crash course in a class of students that currently are studying to become MCSD certified. I'm looking for ideas how to set this up. I was thinking about starting with some general file system descriptions, where to find what files, the man pages, the tab-button, etc. After that move on to some of the daemons and just explain what they do." He's got at least one idea to start with (below), but what must-have skills or demonstrations would you add?

I also plan to set a database program in VB (one of the certificates in the MCSD suite) against a MySQL or Postresql db and show that there are free alternatives that works as well as SQL server.

What would you think could be a good addition to teach them?

This is in no way meant to be a very advanced course, but I want to show some of the excellence of *nix and why you sometimes can save time and stability and maybe make them interested and read up more by themselves afterwards.

Any suggestions very welcome.

474 comments

  1. the best combo IMHO by Gavitron_zero · · Score: 5, Insightful

    is teaching cat | grep . I don't think I use any command combo more than this other than ls -al. Piping and redirection is really important stuff for Microphiles to learn right away. It's a great way to show off the power of a CLI.

    1. Re:the best combo IMHO by orkysoft · · Score: 1

      Isn't just grep enough in that case? There are plenty of | grep combos, but cat | grep seems a little redundant to me.

      --

      I suffer from attention surplus disorder.
    2. Re:the best combo IMHO by ethereal · · Score: 2

      Powerful, true, but on the other hand most of the power comes from regexp syntax that might be a little off-putting to someone who's never seen that before.

      --

      Your right to not believe: Americans United for Separation of Church and

    3. Re:the best combo IMHO by WWWWolf · · Score: 4, Funny

      Here in technical circles, cat | grep is known as useless use of cat =)

    4. Re:the best combo IMHO by Clived · · Score: 1

      Good idea ! Cat |grep are great commands to start off with and can be used to do a lot of things, look for files, search for text within files, etc. Also show them the vi editor, make sure that they know that they are going to have to learn to use vi. As my Unix prof used to say "Wherever you go with Unix/Linux, there will ALWAYS be vi"

      Good luck :)

      --
      Clive DaSilva Email: clive.dasilva@gmail.com Ubuntu 18.10 Kernel 4.18
    5. Re:the best combo IMHO by Genghis+Troll · · Score: 0, Funny

      You should try : cat file | xargs --null echo | sed -e "" | caesar 26 | grep word

      That will give you an even more pompous feeling of self-satisfaction, while still doing the same thing as plain old "grep word file".

    6. Re:the best combo IMHO by SweetAndSourJesus · · Score: 0

      I really wish I had the time to write up web pages about how other people are using their shells. Unfortunately, I'm busy using my shell.

      Sure, the cat process is unnecessary, but I don't understand why anyone would get so worked up about it.

      --

      --
      the strongest word is still the word "free"
    7. Re:the best combo IMHO by macpeep · · Score: 5, Informative

      I'm not saying that the Win NT / 2K / XP command line is as powerful as a UNIX one, of course, but:

      1) Windows has tab completion. It's just not turned on by default. (Do help cmd from the shell in Win 2K (at least) to get a description of it. You can also configure the completion char to something other than tab..)

      2) cat exists, it's called type

      3) grep exists, it's called find. If find isn't sufficiently powerful for you, you can always get grep for Windows.

      4) piping and redirection works more or less exactly like in UNIX with the same syntax even

      Of course all of this stuff isn't as commonly used on Windows as it is in UNIX, but it doesn't mean that it's not there.

    8. Re:the best combo IMHO by nakaduct · · Score: 2

      cat | grep is known as useless use of cat

      For programs that include filenames in their output (such as wc and err... grep), cat * | ... prevents that when you don't want it.

      There are sometimes switches to do the same thing, but they aren't portable across different programs or flavors of OS.

      cheers,
      mike

    9. Re:the best combo IMHO by weave · · Score: 3, Informative
      This is all true but a lot of useful information isn't available easily from the CLI without hunting down additional tools from resource kits or learning some scripting languages and all the COM interfaces or whatever it is called.

      For example, I had a devil of a time figuring out how to do something simple like "quota username" to see how much quota someone is using without right-clicking the drive, picking quota tab, waiting to resolve 15,000 SIDs so I could find the username I was looking for. There is a perl script in the resource kit, but it runs forever (I stopped it in frustration after 15 minutes) since I assume it's trying to resolve SID to usernames and our NT domain controller has 15,000 accounts... (the server in question was a w2k member server, of a NT 4 domain).

      But to get back to topic, I don't understand why. It's not easy moving from unix sys admin to windows or visa-versa. That's mainly why each camp hates the other platform. I'm more comfortable with UNIX admin, and I'm sure if I had the time to invest in learning Windows admin, I could easily throw the needed scripts together to get what I need out of the box.

      Two days isn't going to cut it. Just go over basics in philosophy and try to avoid platform wars..

    10. Re:the best combo IMHO by Anonymous Coward · · Score: 0

      A little off-putting? There's an understatement if I've ever heard one. How about regex is totally repellant, even for those of use who know where to find and how to read the docs?

      Oh, I'm sorry, did I use docs and regex in the same sentence? My bad.

    11. Re:the best combo IMHO by secolactico · · Score: 1
      1) Windows has tab completion. It's just not turned on by default. (Do help cmd from the shell in Win 2K (at least) to get a description of it. You can also configure the completion char to something other than tab..)

      Sweet Jesus, man! The one feature I miss the most from my unix shell is tab completion. You just made my day!
      --
      No sig
    12. Re:the best combo IMHO by nzhavok · · Score: 2

      Don't forget sed and awk!!! the cat, grep, sed, awk combo can do anything! Well quite a lot anyway.

      --

      He who defends everything, defends nothing. -- Fredrick The Great
    13. Re:the best combo IMHO by --daz-- · · Score: 1

      Oh man, cmd.exe is awesome.

      I use Win2K/XP and Linux a lot, and I like cmd.exe much better than bash for day-to-day stuff.

      While BATCH file scripting in Win2k/XP is pretty powerful, it's very ugly. Bash/csh scripting is much easier and has a few other features that you can't do with BATCH.

      Like I said, however, I think cmd.exe is much easier and powerful as a shell than bash.

      For example, the tab completion is much more helpful and logical than Bash. When you hit tab, if there's more than one file/dir that matches the string, it'll select the first one. If you continue to hit TAB it'll cycle through the options. If you hit SHIFT+TAB, it'll reverse cycle.

      Bash just sits there and beeps stupidly. Eventually it'll show you a list of options, but that's less helpful, IMO.

    14. Re:the best combo IMHO by Anonymous Coward · · Score: 0

      fwiw, zsh can also cycle through the list of options like that.

    15. Re:the best combo IMHO by JamesOfTheDesert · · Score: 2
      While BATCH file scripting in Win2k/XP is pretty powerful, it's very ugly. Bash/csh scripting is much easier and has a few other features that you can't do with BATCH.

      Why not just use the windows scripting host, and write the scripts in VBScript, or jscript? It's part of Win2K. Not sure about XP.

      --

      Java is the blue pill
      Choose the red pill
    16. Re:the best combo IMHO by interiot · · Score: 1, Offtopic

      Yes. There are many such things that the unix dinosaur tells me "used to be required" because they were running on circa 1970 machines, but which I've been getting away with without thinking about since I was born.

    17. Re:the best combo IMHO by --daz-- · · Score: 1

      Oh yeah, WSH is sweet too, however, I didn't think it appropriate to mention it since we were just talking about shells. However, for any of you Unix/Linux guys just getting started in Windows, you might take a look at it. It's very powerful compared to basic shell scripting. It's kinda like perl in some respects (in terms of how and when it's used, and by some functionality, not by language itself)

    18. Re:the best combo IMHO by quintessent · · Score: 3, Interesting

      BTW:

      * In XP, tab completion is on by default.
      * There's also a built-in utility called findstr, which offers many options that find does not.

    19. Re:the best combo IMHO by sketerpot · · Score: 1
      To turn on file and directory completion, type:
      cmd /F:on

      Unless I missed something in the documentation, the Windows shell has a different command completion mechanism. You press a key combination (I think Ctrl-F is one of them) and it shows you the first completion to come to mind. You keep on pressing it until you get the one you want. On my windows box, however, there is an easy way to get all sorts of things I miss: type "bash". You have to install bash first.

    20. Re:the best combo IMHO by 0x0d0a · · Score: 1

      Um...at least zsh does the cycling that you want. That kind of cycling drives me mad, though my roommate loves it, so YMMV. Frankly, cmd.exe is awful -- if you know what you're doing, it's just a waste of time. With a huge amount of work (add cygwin, flip on tab completion, add a few native ports of gnu programs), you can actually get the thing approaching the usability of a very slow UNIX box. If you're going to that much effort to try to get a usable command line environment, you should probably be using Linux anyway.

      Besides, bash is available for Windows.

      Not having emacs-style readline editing would tick me off.

      IIRC, cmd.exe doesn't do all the neat history operations:

      ./configure && nice -20 make

      !./co
      and you've just rerun the command

      how about
      ls car*.jpg -lhS|grep ferrari|tr -s " "|cut "-d " -f5,9|head -n10
      that'll list the ten largest images of Ferrari cars in your current directory along with their sizes. Now suppose you want to see your Porche images You *could* tap up, ctrl-a, hold the right arrow a while, delete the ferrari text and enter "porche". *or* you could just type
      ^ferrari^porche
      voila.
      cmd.exe lacks intelligent completition based on the command you're completing -- for example, completing a path on a cd command will only complete directories in zsh and bash (with bash-completition installed). On cmd.exe, no such luck.

    21. Re:the best combo IMHO by Anonymous Coward · · Score: 0

      You can get zsh to do that quite easily. You can probably get Bash to do that too; there's just about no CLI configuration that can't be made under UNIX...

      If you can find something desirable that you can't get yet, then it's probably time to write it.

      :-)

    22. Re:the best combo IMHO by Anonymous Coward · · Score: 0

      All this 'making XP do what Unix already does' reminds me again of the old saying...

      "Those who do not understand Unix are condemned to rewrite it, poorly" -- Henry Spencer

    23. Re:the best combo IMHO by sydb · · Score: 2

      Hmmm, regexp is documented well in the sed docs. Why don't you just create a bookmark to the appropriate page. I'm not going to find it for you because you need to learn not to be such a lazy ass.

      Which brings me to the point: I find sed to be just about the most powerful Unix tool in the box. Any intro to unix should showcase sed and how easy a life it makes for administrators and shell script afficianados.

      Of course it's most powerful combined with the other text manipulation tools. In fact this is the key to the power of Unix for developers and administrators - text and text manipulation, and the mature tools available for this.

      Of course, Unix has other benefits like stability, flexibility and a structured file system.

      --
      Yours Sincerely, Michael.
    24. Re:the best combo IMHO by sydb · · Score: 2

      Yes but remember, you never need cat.

      instead of cat file | sed -e's/genius/moron'

      do

      sed -e's/moron/genius/' file

      and save yourself a fork.

      --
      Yours Sincerely, Michael.
    25. Re:the best combo IMHO by soloport · · Score: 5, Informative

      Start with the familiar:
      1) Install a distro (preferably one that will have the easiest time with the hardware)
      2) Configure a windowing environment (prefereably one that looks the most like Windows)
      3) Show them an Office suite (preferably one that's comperable to MS-Office)
      4) Fire up some awesome games (preferably XPilot ;-) or LBreakout)
      5) Start up a variety of browsers (preferable w/ Quicktime, Flash, RealPlayer, XMMS)
      6) Configure and use an e-mail client, Jabber/Yahoo/AIM client (Gaim's good)
      7) Spend some time on XMMS with various skinns -- and point to http://www.jazzradio.net/ and say, "This is coming from Germany"
      8) Show them Palm Pilot support (Jpilot's the best)
      9) Show them Quanta's HTML, PHP, SQL, Java and C/C++ syntax coloring
      10) Show them a GUI file manager (e.g. Konqueror, et al)

      Last, but not least, show them SWAT, Webmin and other easy-to-use administrative tools. You want to leave them with the sense that the Linux environment will be friendly, not ominous.

      Let them at least start with some motivation to want to learn more!

    26. Re:the best combo IMHO by quintessent · · Score: 1, Offtopic

      There's nothing like a clueless moderator to brighten you're day.

      And yes, this one is off-topic.

    27. Re:the best combo IMHO by sydb · · Score: 2

      Of course, I'm a moron and forgot to format my post as 'code'...

      sed -e's/moron/genius/' < file

      --
      Yours Sincerely, Michael.
    28. Re:the best combo IMHO by Dudio · · Score: 1

      You can even write your WSH scripts in Perl if you want.

    29. Re:the best combo IMHO by RelliK · · Score: 2
      4) piping and redirection works more or less exactly like in UNIX with the same syntax even

      How do I redirect stderr? What about stdout+stderr? Is there an equivalent for tee?
      Yes, some tings are there but most are not. You may be able to get them somewhere, but that's just the thing -- you need to hunt around for them; you need to know they exist in the first place. In Unix you get all of that installed by default.

      --
      ___
      If you think big enough, you'll never have to do it.
    30. Re:the best combo IMHO by sjmurdoch · · Score: 1

      Does cmd.exe have backquotes? I haven't used the Windows command line since Win95 but I never could find out how to put the results of a program execution into the command line parameter of another program.

      --
      Steven Murdoch.
      web: http://www.cl.cam.ac.uk/users/sjm217/
    31. Re:the best combo IMHO by rizzo420 · · Score: 1

      why not just bring in a pre-installed lycoris box? that'll do everything that you just showed them basically. or get a copy of lycoris and install it during the class and show them how to configure everything and do all that stuff? i haven't tried it yet, but lycoris is pretty cool looking. as soon as i have time and disk space, i plan on installing it myself and taking it for a test drive. one thing you might want to add to the list of things to do is setup a printer (i haven't even attempted to get my printer running under linux because i've read it's not easy, i've got an hp deskjet 722c).

      --
      please me, have no regrets.
    32. Re:the best combo IMHO by bonzoesc · · Score: 2
      It was in 98, too - that's how a lot of the *.vbs viruses got spread, because WSH looks at the .vbs file being executed and says, "OH GOLLY! WHAT HAVE WE HERE? IT LOOKS LIKE SOME FUN MALICIOUS CODE. LET'S RUN THIS NOW. GET CRACKING. I AM A BANANA!"

      The power of a method of execution is directly proportional to the possibility for disaster. Nobody writes MP3 viruses, because it goes through an extremely limited interpreter. However, x86 machine code is nice and powerful, so you can write some seriously fun viruses for that.

    33. Re:the best combo IMHO by Anonymous Coward · · Score: 0

      You'll understand when you have only one free process slot, and your cat | grep combo fails, but a straight grep would succeed.

    34. Re:the best combo IMHO by nyet · · Score: 2

      "a few other features"?

      Oh, irrelevant ones, like function calls, variable substitution, for loops, while loops, /bin/test (or [) , /bin/basename, /bin/find, /bin/eval,
      backquotes (or $()), grouping, globbing, job control. The list goes on and on. cmd.exe is a toy, almost no better than command.com

    35. Re:the best combo IMHO by Wolfier · · Score: 1

      By saying this I guess you imply that these commands take a long while to learn. NOT.

      If I remember correctly, it took me all but in total a couple of hours (less than 4 for sure) of practice to be completely comfortable with these "multi-piped" commands.

      Needless to say, these useful commands have since saved me a lot of time from clicking and clicking (which you probably do) to doing other important stuffs, such as having a life.

    36. Re:the best combo IMHO by mcjulio · · Score: 1

      Here's the regkey for it:

      REGEDIT4

      [HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
      "CompletionChar"=dword:00000009

    37. Re:the best combo IMHO by Anonymous Coward · · Score: 0

      It is bookmarked. I've read it. It is only cursory.

      It was not until some extrapolation of the docs and several experiments I could finally sort a list of dotted IP's properly.

      While I surely wasn't expecting my hand to be held, the docs fell far short of explaining the techniques required to do such a thing.

    38. Re:the best combo IMHO by Anonymous Coward · · Score: 0
      uhmm.

      In cmd.exe (the shell mentioned) STDERR can be redirected with 2> ie "H:\mmcm 2> error"

      oh and you can redirect to nul (Windows version of /dev/null)

    39. Re:the best combo IMHO by cookd · · Score: 1

      Redirect STDERR:
      mycommand 2> errors.txt

      Redirect both:
      mycommand 1> allout.txt 2>&1

      TEE:
      [download a version of tee]
      mycommand | tee asdf.txt

      No, tee isn't included. But it isn't hard to find.

      --
      Time flies like an arrow. Fruit flies like a banana.
    40. Re:the best combo IMHO by mousetrap · · Score: 1

      "cat [file] | grep [regex]" can be a useful teaching tool because you can first show the STDOUT spew from cat, then show them the output can be piped into another app. Crawling before walking... This kind of incremental instruction is useful for beginners.

    41. Re:the best combo IMHO by servanya · · Score: 1

      don't know what distro you are using....I just had to click next->next->next in the printer wizard, PrinterDrake. (Mandrake 8.2, almost too easy)

    42. Re:the best combo IMHO by rizzo420 · · Score: 1

      i'm using debian... no easy printer setup for debian yet. there is probably a tool that will detect it and everything out there, but i was just learning and doing everything the hard way. oh well... maybe i should try a different distro... actually, i will try lycoris as soon as i have time... i'm primarily a win2k user, linux is only for my p100. i'd want to install lycoris on my own machine, but i have to free up some disk space or get a bigger hard drive (bigger hard drive will probably happen first, but i need $$$)

      --
      please me, have no regrets.
    43. Re:the best combo IMHO by Anonymous Coward · · Score: 0
      1. tab completion is terrific, so why doesn't MS make it easier to enable -- set registry value of HKLM\... = 9?!?! Yeesh!

      2. true

      3. grep is far more powerful than find. unixtools for win32 are a great start to answer the question at hand

      4. ok, you can redirect output on both platforms, pipe data, etc.

      however:

      win junkies should be informed that they do not have to install the resource kit and unix tools to have all these features at your disposal:

      tab line completion

      whois

      grep :P

      perl

      fine process control (nice)

      tcpdump

      lsof

      and the list goes on and on

      of course i say this from ie 5.5 since i was installing my burner software and i am about to watch a divx of LOTR but if i was gonna watch dvd it would be in linux dammit!!!! :)

    44. Re:the best combo IMHO by Anonymous Coward · · Score: 0

      or even better use... PERLScript :) yes PERL is available as an active scripting language for the windows scripting host now :)

    45. Re:the best combo IMHO by jcast · · Score: 1

      I'm feeding the troll, I know but:

      Composing simple programs together, ala `|', is very basic in CS. It's called programming. Check into it sometime---it'll change your life, I swear.

      --
      There are reasons why democracy does not work nearly as well as capitalism.
      -- David D. Friedman
    46. Re:the best combo IMHO by Ben+Wolfson · · Score: 1

      Piping does NOT work the same in Windows as in UNIX. Pipes in windows have function-call semantics (in the pipeline foo | bar, foo runs to completion before bar begins), and pipes in UNIX have lazy semantics (foo and bar run simultaneously, and foo only runs as long as bar needs it to run). If you have a gigantic file in UNIX and do cat file | head, it will only read the first ten lines; if you did the same thing in Windows, the entire file would be read before anything would be displayed.

    47. Re:the best combo IMHO by Anonymous Coward · · Score: 0

      For easy Debian printer setup, I recommend CUPS (the cupsys package).

    48. Re:the best combo IMHO by Anonymous Coward · · Score: 0

      Oh geez.

      > I'm not saying that the Win NT / 2K / XP command line is as powerful as a UNIX one, of course

      Good. Otherwise you'd have zip credibility right from the start. (You get there soon enough anyway.)

      > 1) Windows has tab completion.

      Shania already expressed it well. BFD. The world of Unix more than compensates by virtue of the fact that Unix admins can type and MS admins can't even spell.

      > 2) cat exists, it's called type

      Total horse radish. Type is one of the most anaemic bastardisations of Unix ever. Get well soon.

      > 3) grep exists, it's called find

      Oh geez. This is too pitiable for words.

      > 4) piping and redirection works more or less exactly like in UNIX with the same syntax even

      It gets worse. And no, they do not. Piping from the very beginning on Unix systems (yes the old 16 bitters way back when) was implemented as 4KB buffers. MS in their typical wisdom uses temporary files on disk. Try piping when a diskette has your CWD as an example.

      > Of course all of this stuff isn't as commonly used on Windows as it is in UNIX

      Of course not. And we all know why, don't we? Click and drool, click and drool.

      No further comments.

    49. Re:the best combo IMHO by maraist · · Score: 2

      Other useful commands:

      cmd <$(program execution) <$(prog2)

      # output of multiple executions instead of a single pipe (usually cmd-dependent)

      cat file | cmd /dev/fd/0 # for when it simple MUST have a command-line argument file-name

      cmd "adf${FOO}asdf\"dfdf\"sdfs"\ sdfs\ \,

      cmd <<EOS
      here is my long text
      bla bla bla
      EOS

      # quoting in general is MUCH better in *sh than what I've seen available on windows (not 100% sure about cmd.exe; please correct me if I'm wrong about it not have a fully encodble string command line)
      # side note, bash sucks compared to perl's string processor (e.g. qq(...) )

      cmd1 ; ( cmd2 && cmd3 & ) || cmd4

      # serialized, parallelized, and conditionally based command execution (not to mention sub-shelled)

      nohup cmd

      # disconnect from shell and log output (in case modem hangs up, or in more modern situations, the general terminal disconnects)

      screen

      # while not strickly the shell, the pseudo-terminal technology easily allows detachable / reattachable terminals

      All the test commands (not quite sure how well cmd's scripting works)

      alias ls
      funcion ls() { ... }
      ls
      \ls
      which ls
      # multi-teered command-interpretations

      ulimit
      # control resource consumption (granted this isn't a shell thing, but it's nice to do from the shell)

      times
      # see my resource utilization (see ulimit for caveat)

      jobs
      # and other such wonder background management tools (see above caveat)

      #There's ANSI color capabilities

      cmd $((math-expression))

      cmd ${PATH#/home}

      #Variable substitution / manipulation ${var[sym]param}

      Don't know if cmd.exe has file-descriptor modifications like [n]>&- (close descriptor n)

      Then, there's my favorite.. emacs or vi-based low-bandwidth, high-productivity editor commands. A command is considered to be like a mini-program, so the editor treats the unlimited line-size as such.

      -Michael

      --
      -Michael
    50. Re:the best combo IMHO by maraist · · Score: 2

      I usually start people off with pico. It's less stressful (especially when you're dealing with non CIS types)

      I have yet to be on a UNIX machine that didn't have pico, and unless you do serious editing, you don't need all the power of vi/emacs.

      -Michael

      --
      -Michael
    51. Re:the best combo IMHO by Anonymous Coward · · Score: 0

      Not that it matters, but I prefer ls -laF

    52. Re:the best combo IMHO by os2fan · · Score: 2

      Windows NT has tab completion: to be sure - it's lamer than the thing in 4NT or 4DOS, and is off by default. You can set it to anything you like, eg "x", as long as you hunt down the appropiate registry key. Win9x does not have tab completion.

      Window "type" does not compare in the wildest dreams to "cat". It has no "list", "tee" or "y". To get these, you need to get external utilities. You can type more than one file at once, so you can't assemble files with a single type.

      "find" is lame. You can't find text in a file, only a pipe. So you can't scavange a tree looking for a string.

      God help us if piping and redirection works like UNIX. Oh yes, they do work. And then it closes the window. What a clever little thing. So anyway, to get any sort of piping like sort outfile more often works, and then closes the files.

      And then there's edlin. The sole scriptable text editor, an ugly sister of command.com.

      And don't get me started on running scripts with parameters. Something like perl script.pl parameters runs, and closes the windows.

      The pipes and redirection work better under the DOS emulation, but then in this environment, you get no file completion or command history, and the thing generally feels that it's just about to wobble out because it's hammering too many resources just processing keys.

      --
      OS/2 - because choice is a terrible thing to waste.
    53. Re:the best combo IMHO by Anonymous Coward · · Score: 0

      Yes. Everything that you list above will demonstrate, without a doubt, the power of Unix v.'s Windows as a server environment. Dumbass.

    54. Re:the best combo IMHO by Anonymous Coward · · Score: 0

      For ANY distro Printer Setup, I recomment CUPS. Damn, its the closest thing we have to a decent standard these days!

    55. Re:the best combo IMHO by Zenki · · Score: 1

      If it hasn't been mentioned yet, findstr.exe is a much better attempt at being grep than find. findstr even supports regular expressions and colorful search results, blah blah blah.

      do a findstr /? and figure it out for yourself it's very useful.

    56. Re:the best combo IMHO by Anonymous Coward · · Score: 0

      This is cut & paste from win98 Resource kit

      Win32 POSIX clones

      The Windows 98 Resource Kit contains 32-bit work-alikes for ten POSIX Utilities. These clones don't use the POSIX subsystem at all, but duplicate the functionality of the corresponding POSIX tools. Click the name of a utility in the list below for more information about the tool.

      Utility MS-DOS Equivalent Description

      cat TYPE "conCATenator"
      chmod ATTRIB "CHange MODe"
      ls DIR "LiSt"
      mv REN "MoVe"
      qgrep none "Global Regular Expression Print" - FIND sub.
      rm DEL "ReMove"
      touch none Change dates.
      vi EDIT vi ("VIsual") clone.
      wc none "Word Count".

    57. Re:the best combo IMHO by Pathwalker · · Score: 2

      You said:
      Yes but remember, you never need cat.

      I reply:
      s/never/sometimes/

      Ever start out a script with cat $* | next_stage in order to concatenate and process a large number of files in one pass?

      Ever just need to concatenate a bunch of log files from different sources together before processing?

      Plus, don't forget the old trick of using cut and head/tail to hack apart a file, and using cat and paste to build something new from the bits.

      Don't knock concatenation - it has it's uses...

    58. Re:the best combo IMHO by Anonymous Coward · · Score: 0

      I would make the Crash course fun and getting the MS Junkies up for a challenge. SHow them the Ease of Installation, SHow them the KDE and GNOME Desktops, Show them the File Systems, and for the Grand Finale'
      Group a Installs Windows O/S (Thats it)
      Group B Installs Linux 0/S (that's it)
      then say that the Project is Without any additional Software. Secure your Workstation so Hackers Cannot get in.
      And see which groups system is More secure.

    59. Re:the best combo IMHO by w00d00 · · Score: 1

      ROTFL! cmd.exe crashed on me at the second time i typed !! why does nt always have to behave like the ugliest clichè??

    60. Re:the best combo IMHO by morgajel · · Score: 1

      I was gonna reccomend locking the room, burning it, and sending a message to the rest of the "mcsd hopefuls" out there....

      of course, you Idea is much better.
      good show.

      --
      Looking for Book Reviews? Check out Literary Escapism.
    61. Re:the best combo IMHO by nzhavok · · Score: 2

      Well this is not strictly true, suppose you've just changed the name of a function (to pick something I did today) and you want to make sure you changed all the files that referenced it.

      cat *php | grep old_function_name

      also I like to use cat because I can be (more) sure that no side-effects will occur and clobber the file in some way (yes I know that this won't happen with most functions, but: once bitten, twice shy).

      --

      He who defends everything, defends nothing. -- Fredrick The Great
    62. Re:the best combo IMHO by EvilAlien · · Score: 1
      Thats a subset of the basic message: information about application, daemon, and Operations System configuration are all stored in text files. Logs are also stored in test files. Much of what you work with is a script, in text. Data is not hidden, it easily manipulated, and these simple basis is the key to the power of UNIX. No registry to obfuscate information.

      They'll have to learn to become one with the command line once again =) That should be a problem for hardcore NT admins (or those learning to be one).

      --
      perl -e 'print $i=pack(c5, (41*2), sqrt(7056), (unpack(c,H)-2), oct(115), 10)'
    63. Re:the best combo IMHO by pmz · · Score: 1

      UNIX has tab completion, too. Just choose a different shell than the default /bin/sh or /bin/csh.

      Also, the Windows shell language is absolutely terrible. Any of the UNIX shells is a joy to work with relative to the default Windows shell.

      The only way to compare Windows with UNIX is to install a UNIX toolkit onto Windows.

    64. Re:the best combo IMHO by Anonymous Coward · · Score: 0

      Not on 2000. Doesn't work. Give me linux/unix anyday.

    65. Re:the best combo IMHO by msergeant · · Score: 1

      I have been on many machines where the only editor installed "out of the box" has been vi, this includes solaris & freebsd in their current incarnations.

      --
      -mutter- something something something...
    66. Re:the best combo IMHO by Anonymous Coward · · Score: 0


      2) cat exists, it's called type
      broke.

      3) grep exists, it's called find.
      really broke.

      4) piping and redirection works more or less exactly like in UNIX with the same syntax even
      BWHAHAHAHAHAHA you got to be fucking kidding!
      'more or less'??? how often do use it?
      this alone puts you in the moron class.

    67. Re:the best combo IMHO by jedidiah · · Score: 2

      Once they have been forcibly subjected to vi, they will no longer fear death (or even Unix).

      --
      A Pirate and a Puritan look the same on a balance sheet.
    68. Re:the best combo IMHO by scrytch · · Score: 2

      find, findstr, tab complete in cmd... bah.

      just use bash

      Funny thing is, it supports more windows features than cmd.exe does. Like file forks. and /dev/clipboard

      --
      I've finally had it: until slashdot gets article moderation, I am not coming back.
    69. Re:the best combo IMHO by holstein · · Score: 1

      You don't need cat for this :

      grep old_function_name *.php

    70. Re:the best combo IMHO by majorero · · Score: 1

      I've been using DOS since 2.x and the best shell replacement for DOS/Windows out there by far is 4DOS (for W9x) and 4NT (for NT) by JP Software. It has very intelligent command line completion, pop up command and dir histories, an extended batch language that actually has some power to it (nothing like perl or *nix shell scripts, but not bad), allows commands to be redefined or aliased and also allows multiple commands to be run from one command line, *nix style.

    71. Re:the best combo IMHO by majorero · · Score: 1

      Check out my earlier post. 4NT allows redirection of stderr and stdout+stderr, includes a tee pipe and a y pipe and dozens of other things.

    72. Re:the best combo IMHO by mph · · Score: 1
      For programs that include filenames in their output (such as wc and err... grep), cat * | ... prevents that when you don't want it.
      Don't replace "cat foo | grep bar" with "grep bar foo"; replace it with "grep bar < foo". The point isn't that "grep" can take filenames on the command line instead of using stdin; the point is that you can provide a single file on stdin without firing up an unnecessary cat(1).
    73. Re:the best combo IMHO by nzhavok · · Score: 2

      Yes, you're right of course!
      But like I said earlier I'm just (stupidly) paranoid of side effects.
      Using grep instead of cat to do this is more helpful though since you can find out what files the old function is in, and it's easy to recurse down the entire directory structure. So in other words the more I think about it the more right you are. Damn ;)

      --

      He who defends everything, defends nothing. -- Fredrick The Great
    74. Re:the best combo IMHO by el_chicano · · Score: 1
      for any of you Unix/Linux guys just getting started in Windows...
      For some weird reason I laugh everytime I read this...
      --
      A man who wants nothing is invincible
  2. Dont get carried away by LadyLucky · · Score: 2, Troll
    show that there are free alternatives that works as well as SQL server.

    Ive used all three databases you mention. Without a doubt, SQL Server is by far the "best" database. I think you do have to temper what you say, because if you run around making statements like that, then it puts doubt on the other things you say.

    I dont mean to cast dispersions on MySQL or PostreSQL, they are very good databases, but not in the same league as SQLServer, IMHO.

    --
    dominionrd.blogspot.com - Restaurants on
    1. Re:Dont get carried away by MrEfficient · · Score: 1

      I'm not disputing your claim because I haven't used SQL Server enough to really understand it, but why do you think that it is by far the best database? I'm mostly concerned with why you think it's better than Postgres.

      --
      Check out AbiWord.
    2. Re:Dont get carried away by Cheesy+Fool · · Score: 1, Insightful

      Please don't use "SQL server" to describe "Microsoft SQL server". "SQL server" is a generic term.

      --

      Hail to the king, baby!
    3. Re:Dont get carried away by Anonymous Coward · · Score: 0
      Agreed.

      However for many of the uses where before they might have just opted to buy a server and stick SQLServer on it, a solution using Postgres would do just as well as a vastly reduced pricepoint on less powerful hardware.

      And that is what you need to drill into the Microsoft people. That there are free alternatives to Microsoft solutions that work just as well, however the only cost involved is a $40 book on Postgresql or MySQL...

      With Apache it is simple to sell that over IIS - everywhere uses it and it is easy to set up and run. Databases are harder, and you shouldn't state that the open source databases are better or more suited, but that they are more than adequate for the tasks that most databases are used for.

      Just my opinion anyway.

    4. Re:Dont get carried away by Anonymous Coward · · Score: 0

      SQLServer is certainly more sophisticated than PostgreSQL.

      However, if you want to pay for advanced database, you would naturally be better off with DB2 or Oracle than SQL Server. At least you can choose an appropriate platform to run either on instead of being hobbled by Windows-only software.

    5. Re:Dont get carried away by Anonymous Coward · · Score: 0

      Hey cracksmoking mods, if you think this is a Troll you've never used MySQL/PostgreSQL/SQL Server.

      The first is a POS non-db, the second is decent, but the third is by far the best of the three.

    6. Re:Dont get carried away by gd23ka · · Score: 1

      I hate Microsoft like the next guy, but M$SQL is light years ahead of MySQL. If you've got to show off a database alternative that's really ahead and kicks M$SQL's ass and runs on Linux then show them DB/2. M$SQL is a toy database just like MySQL compared to DB/2.

    7. Re:Dont get carried away by Anonymous Coward · · Score: 0

      >>>NOT a Microsoft Apologist>>NOT a Microsoft Apologist

    8. Re:Dont get carried away by slamb · · Score: 2, Offtopic
      I dont mean to cast dispersions on MySQL or PostreSQL, they are very good databases, but not in the same league as SQLServer, IMHO.

      I'm also interested in hearing why you think Microsoft SQL Server is better than PostgreSQL. I've used PostgreSQL and Oracle and feel that PostgreSQL is as good or better in many situations. I'd be surprised if MS SQL Server had any real advantages over Oracle (except price, and it can't compete with PostgreSQL there).

      Oracle's two big advantages, as I see them, are:

      • Large database features. There are a million features that contribute to this. Manufactured views, clustering, different tablespaces, quotas, replication, etc.
      • Extra software. Stuff like Oracle Forms & Reports is really great for rapid development. I haven't seen anything cross-database or PostgreSQL-specific that can match that at all.

      On the other hand, PostgreSQL has:

      • Ease of administration. Oracle administration seems really, really complicated, even when you don't use any of those extra features. [*] PostgreSQL is very simple to set up correctly and keep running correctly. In my experience, keeping a database healthy is little more than doing a vacuum analyze in a cron job or something.
      • Lower cost. You can get the database free, with volunteer support from the mailing lists. If you want paid support, you can buy it as the RedHat Database, still with a much lower cost than Oracle.
      • Open source. I don't think I need to say here why this is good.

      Now, MySQL...I don't understand why you'd use it when PostgreSQL is available. I certainly won't take quite as seriously anyone who advocates using it. It's not even a relational database, by definition. See Codd's Rule #10, for example. (I don't think any database supports all of these rules perfectly, but MySQL in particular is quite sad.)

      [*] - I don't actually administer an Oracle database. I just use one and try to have some understanding of how its administration is done.

    9. Re:Dont get carried away by Anonymous Coward · · Score: 0

      I have worked on projects using both MSSQL and PGSQL. PG is definitely pretty cool, and, in my opinion, the most powerful free RDBMS. As for comparing it with MSSQL, it is still a little primitive-- you can't return rowsets from PGSQL functions like you can in other SQL-dialect stored procedures (yet), or do database clustering. Otherwise, I dig PGSQL because of its cool features like MVCC and easy administration, and I use it wherever I think the runtime admin will be suave enough to handle non-graphical admin work. No X on my production boxes!

    10. Re:Dont get carried away by Anonymous Coward · · Score: 0

      and if you think letting novices learn by trying out a real database is a good idea you're on crack too.

    11. Re:Dont get carried away by the+eric+conspiracy · · Score: 2

      I think that the place PostgreSQL clearly falls down is when you get into larger scale applications. Where is the large scale support, third party tools, etc?

    12. Re:Dont get carried away by Anonymous Coward · · Score: 0

      fyi, in the industry, if someone refers to "SQL Server", they are usually referring to Microsoft's, unless otherwise stated.

    13. Re:Dont get carried away by Dwonis · · Score: 2

      MySQL isn't for real database applications, it's for 90% of the weblog-style applications that don't need a true ACID database.

    14. Re:Dont get carried away by LadyLucky · · Score: 2
      OK, firstly, the disclaimer. I dont know everything there is to know about all of these databasen, and have spent far more time on SQLServer than anything else.

      SQLServer has somethings that are just wonderful, for me as a developer. Enterprise manager is quite simply, fantastic. The comparison to Oracle's equivalent is rather... amusing. I havent used postgreSQL's configuration tools much. I also like to be able to run my queries, and it gives me a nice big table that shows where it is spending its time, were there any row scans, and please, sir, can you suggest any indices I'm missing? We will be doing an installation of our product soon that will be really seriously stressing the software, 100s of (web)requests per second. This is java talking to SQLServer. We can cluster the SQLServers if need be.

      MySQL is an interesting one. It really is designed for a different purpose, to be a fast, file based database. It really can't cope with the mission critical type installations, but is excellent in its domain.

      I dont have performance benchmarks, but for me, SQLServer has an overwhelming number of tools and works, very very well. In my experience, that there can be an entire job title called "Oracle DBA", speaks volumes about how easy it is to administer.

      Im just the poor monkey, i dont make the decisions about whether servers should be "open" or not, all that I really care about is if the driver always works, the DB always goes fast, and there are some nice and easy tools for me to use.

      --
      dominionrd.blogspot.com - Restaurants on
    15. Re:Dont get carried away by spongman · · Score: 2
      There's a bunch of stuff I can think of off the top of my head:
      • installation
      • excellent tools:
        • enterprise manager
        • isqlw
        • query tuning wizard
        • DTS
        • ado/oledb
      • stored procedure language doesn't suck ass:
        • returning rowsets
        • far superior optimizer
        • automatically pre-compiled stored procs
        • cached ad-hocs
        • prepared statements
        • functions
        • indexed views
        • optimized remote queries
        • partitioned views
        • functions
      • no vacuum
      • decent replication
      oh, did I mention, the optimizer rocks. one nice feature that psql has over mysql is nested queries. The difference between mysql and psql is that mysql will completely rewrite your query choosing the best joins based on dynamically updated stats.

      PostgreSQL is definitely lightyears ahead of MySQL (except maybe in really simple joins) but it's nowhere near as mature as commercial offerings from MS, Oracle or IBM. It has some pretty cool feature that the others don't have, but it's missing the big stuff.

    16. Re:Dont get carried away by spongman · · Score: 2
      The difference between mysql and psql is that mysql will completely...
      whoops, I meant "The difference between MS SQL and psql is that MS SQL will completely..."
    17. Re:Dont get carried away by Anonymous Coward · · Score: 0
      "SQL Server us by far the "best" database"

      Don't get out much, do ya?

    18. Re:Dont get carried away by croanon · · Score: 1

      You are not a poor monkey, but a typical woman. Oracle needs to make laced buttons to its enterprise manager equivalent to attract your attention. :) .

      --
      Dear Bill, do you have a .net tatoo on your ass for marketing?
    19. Re:Dont get carried away by slamb · · Score: 1
      SQLServer has somethings that are just wonderful, for me as a developer. Enterprise manager is quite simply, fantastic. The comparison to Oracle's equivalent is rather... amusing. I havent used postgreSQL's configuration tools much. I also like to be able to run my queries, and it gives me a nice big table that shows where it is spending its time, were there any row scans, and please, sir, can you suggest any indices I'm missing? We will be doing an installation of our product soon that will be really seriously stressing the software, 100s of (web)requests per second. This is java talking to SQLServer. We can cluster the SQLServers if need be.

      Oracle has a similar tool to analyze queries and see where additional indexes may be helpful or where existing ones aren't used. PostgreSQL doesn't have anything to gather information on all queries executed recently, but you can gather information on a particular query with the usual "explain <statement>" to see the query execution plan, and its own "explain analyze <statement>" to see the query plan against an actual execution.

      I dont have performance benchmarks, but for me, SQLServer has an overwhelming number of tools and works, very very well. In my experience, that there can be an entire job title called "Oracle DBA", speaks volumes about how easy it is to administer.

      I assert that, for the most part, Oracle's incredible number of tools are why there's an entire job title called "Oracle DBA". Even if the tools are easy to use, the sheer volume means there's a huge time investment in learning them all. (I'm of the opinion that adding more tools rarely allows you to get away with less knowledge if you want to do something well - it just makes particularly tedious tasks faster once you have a little more knowledge.) So if MS SQL Server has anywhere near its number, I find it hard to believe it's easier than Oracle to administer well.

      MySQL is an interesting one. It really is designed for a different purpose, to be a fast, file based database. It really can't cope with the mission critical type installations, but is excellent in its domain.

      I disagree. ACID features don't make PostgreSQL any more difficult to use. Performance-wise, I've not seen any conclusive benchmarks that MySQL is faster in realistic situations. (The benchmarks on mysql.com reveal a complete lack of understanding of performance. They are benchmarking things like creating tables. How often do you do that?) Or that performance is ever much more important than massively decreasing the chance of data corruption. How is MySQL better than PostgreSQL for the problem domain you mentioned?

      I have to agree with part of the original statement, that advocating using MySQL would hurt his credibility. But PostgreSQL is a good database - I think it's better than Oracle in many situations, and MS SQL Server strikes me as an Oracle wannabe. You haven't convinced me otherwise.

    20. Re:Dont get carried away by WeedMonkey · · Score: 1

      However, whereas IBM and Oracle's pricing policies are along the lines of "hold the customer upside down and shake them until all their money falls out of their pockets, then add 200% to that", MSSQL licenses are £3,000 per processor with unlimited client connectivity.

      IMHO it's more a case of DB2 and Oracle being super-heavyweight, MySQL and Postgres being somewhat lightweight, and MSSQL falling somewhere in between the two.

    21. Re:Dont get carried away by johnnyb · · Score: 2

      I also like to be able to run my queries, and it gives me a nice big table that shows where it is spending its time, were there any row scans, and please, sir, can you suggest any indices I'm missing?

      ***

      I believe PostgreSQL has this.

      One of the big problems with MS SQL Server is that there aren't any production-quality JDBC drivers for it, period. Microsoft only has a beta-quality one that kills over ever once in a while. So, if you are running any sort of server-side Java apps, MS SQL Server just isn't a choice.

    22. Re:Dont get carried away by Anonymous Coward · · Score: 0

      There are good 3rd party JDBC drivers for MS-SQL, but they cost extra. I've used the BEA one with any difficulties.

    23. Re:Dont get carried away by Bert64 · · Score: 1

      Typical of microsoft to give their products the most generic name possible, to increase brand recognition.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    24. Re:Dont get carried away by LadyLucky · · Score: 2
      we use one from inetsoftware.de, which we have found to be pretty solid. Certainly more solid than the mySQL driver (sorry,havent done enough with the postgres one to know)

      You are right that the MS one isnt really up to it yet though.

      --
      dominionrd.blogspot.com - Restaurants on
    25. Re:Dont get carried away by LadyLucky · · Score: 2
      and MS SQL Server strikes me as an Oracle wannabe.

      More or less, i think so too :-). But oracle is pretty much top of the pops, so that probably isnt a bad thing.

      --
      dominionrd.blogspot.com - Restaurants on
  3. Software Installation by Apreche · · Score: 5, Insightful

    Make sure you teach them how to compile and install software. When I first learned *nix I learned how to navigate the file system, run things, edit files, move things around, etc. But it took me like a week to figure out how to install and set up new software. I remember having the hardest time with it because every single piece of software was different. There was no standard setup.exe or *.rpm all the time. I had to make, make install. And that didn't always work either. That, imho is one of the major differences and difficulties there is in moving from windows to *nix. In windows once you've installed one piece of software you've installed them all.

    --
    The GeekNights podcast is going strong. Listen!
    1. Re:Software Installation by bilbobuggins · · Score: 3, Insightful

      yes, this and configuring software before and after you install it. i remember one of my hardest hurdles to get over was that windows had gotten me used to the installer always asking me questions.
      'would you like XYZ support?'
      'would you like the ABC option?'
      where as installing under *nix is a self motivated process, i.e. if you want it, type it into the conf file yourself or pass it in as a param when you make.
      the windows culture is one where you wait for the program to point and prod you, whereas under *nix you have to know what you can do before hand and then choose accordingly.

    2. Re:Software Installation by tjcoyle · · Score: 2, Insightful

      I would agree with the above 100%, and would also suggest you highlight the Windows Registry vs. Unix-style configuration through the liberal use of configuration files. As a VB developer (I know, haha) who develops and delivers a heck of a lot of applications, the WORST part of Windows is by far the interdependency of DLL's and OCX's and the obfuscation and/or complexity of their configuration. Make sure you clearly illustrate the open nature of Unix's insides, and drive home the fact that low-level configuration results in maximum control, and therefore, maximum ability to identify and correct problems when they do occur. Any VB developer knows the horrors of the old 'DLL Hell', and will FULLY appreciate this.

    3. Re:Software Installation by CmdrSanity · · Score: 1
      Not be overly negative, but I think you are going about this training session the wrong way. Today's modern world is too fast-paced to fully explain Linux to the MSCE guys. You've got maybe an hour or two max -- not enough time to make an impact when it probably took them several months to get the hang of the Run menu. But there are solutions. I suggest you use a technique employed not only by Microsoft, but by militaristic dictatorships the world over: brainwashing!

      That's right! In only a few simple steps you'll have them bowing to the penguin god.

      Step 1: Repeating "Linux is superior. MS sux0rs ten thousand times," while showing a video tape of an ubergeek performing complex grep operations on the human genomics database. Tape their eyeball open, Clockwork Orange style. Surefire way to get them into the CLI mindset.

      Step 3: If that doesn't work, take advantage of your overhead projector by displaying a HypnoDisk! Hell, it worked for the Penguin so why not? They'll think it's a screen saver but the swirling black and white lines will quickly turn their brains into a pliable mush with the consistency of lukewarm oatmeal -- easy for you to mold and shape as you wish. The best part is that this method is indistinguishable from a normal MSCE session!

      Step 2: When all else fails, make an example out of someone. Ask the simple question: "Which database platform is superior, Microsoft SQL Server or Postgre?" First person to answer "MS" gets dragged from the room kicking and screaming by men dressed in long black trench coats. Then a single gunshot sounds, followed by deafening silence. Works like a charm! :-)

      It'll be hard work, soldier. The enemy's already had time to entrench, but you can win the day by fighting fire with fire.

      [/drunken_rambling]

    4. Re:Software Installation by mickwd · · Score: 5, Insightful

      Sorry, but I can't agree about compiling stuff for a basic *introductory* course.

      Firstly, it'll scare them, and secondly, all that most people will remember is that they HAD to compile stuff to get the operating system to work. Management in their place will get to hear about it, and this impression about Linux will stick.

      For a basic course, yes, you could show them how simple it is to install, say, RPM packages (or deb equivalents, I guess) - and how to remove them (often a messy experience on windows). Show them that the compilation is often already done for them. You could even show them "rpm -ql" and "rpm -q --scripts" to show them that they can find out *exactly* what will happen when they install and remove stuff (and without reboots, too).

      Show them KDE (maybe even KDE3.0). You might not agree with me that it's currently the best Linux GUI environment, but it is the most like Windows. Want to show them 'man' pages ? Show them man:/command_name in konqueror. Show them the big things that are good about KDE, and also the little things that are good about KDE (e.g. middle-button clicks on scrollbar regions to move the scrollbar there in one operation).

      Show them how to cut-and-paste using the mouse. It's different to how it's done in windows, it works between KDE and Gnome apps, and it will stop them thinking they can't cut and paste in Linux. Show them there are other editors than 'vi' and 'emacs' - editors beginners can use easily.

      Show them the command line, that's very important, but don't go overboard - don't reinforce their views that the command line is too difficult. Show them some simple, powerful stuff. Stuff like 'grep', 'ls', piping commands together... Think of examples that are simple on Linux/Unix, but very difficult to do on Windows.

      Don't give them too much unnecessary info about how daemons work, where config files live, etc, etc. This is an *introductory* course. Just let them be assured that it all works. Get them enthusiastic. If they are, they'll get hold of copies for themselves, and start finding out more for themselves - but you have to build that enthusiasm, put their fears to rest, and show them things they can do more easily (or better) in Linux than in Windows.

    5. Re:Software Installation by GigsVT · · Score: 1

      Show them how to cut-and-paste using the mouse.

      Yeah, but how are you going to explain it to them when they can't always cut and paste out of certain apps.

      For example, gnome-term is really bad about pasting, sometimes you can paste text you highlighted elsewhere, sometimes you can't. The paste in the menu acts differently from the middle mouse button. Some apps have windows style cut and paste, such as nedit and I think openoffice, and some apps you just can't cut from half the time, like the preview window in Sylpheed, you highlight the text there, and go to paste and nothing happens.

      Cutting and pasting is probably the worst thing to show a windows person in Linux, because it is so badly broken and no one seems to want to fix it.

      Id say the second worse thing to try to show them is mime-type handling, and the million places where you have stored mime-types and you have to figure out which mime list the app is using. You get dangerously close to showing them mime handling with the man:/ thing.

      Clipboard use and mime types are two of the most terrible things about Linux, and are something you definitely don't want to show prospective converts. It's the kind of thing that keeps people from using Linux. I know it bugged the hell out of me when I first switched over. It's just that now I remember different workarounds to copy and paste for each app I use, which still is FAR from ideal.

      --
      I've had enough abrasive sigs. Kittens are cute and fuzzy.
    6. Re:Software Installation by GigsVT · · Score: 1

      to answer "MS" gets

      Nice quotes.. You know ASCII has ' and ", there is no need to use broken dumb-quotes... wait, maybe you posted that from IE?

      --
      I've had enough abrasive sigs. Kittens are cute and fuzzy.
    7. Re:Software Installation by cscx · · Score: 1

      Clipboard use and mime types are two of the most terrible things about Linux, and are something you definitely don't want to show prospective converts.

      That sounds awfully familiar like, say, cult leaders just showing the good sides and not mentioning the Kool-Aid...

    8. Re:Software Installation by Chops · · Score: 2

      Likewise, make sure you teach them how to use the package management system properly. Make sure they know that downloading and compiling stuff is usually wrong; most Windows people I know will attempt to do this, because it best fits the pattern they know for installing "freeware" (Winamp, etc.), when they should have just typed "apt-get install xmms" or "urpmi xmms".

    9. Re:Software Installation by Anonymous Coward · · Score: 0

      I think you mean "aspersions".

      Unless you're trying to get MySQL out at a lot of places...

    10. Re:Software Installation by cooldev · · Score: 1

      Or you could just tell them to read Slashdot.

    11. Re:Software Installation by wandernotlost · · Score: 1

      Better yet, show them that software installation with a debian system is a simple matter of 'apt-get install '. I've been using debian for years, and I still chuckle with joy sometimes when the time between thinking, "hmmm...I need this software," and having that software installed on my machine ready for me to use (with no silly reboots) is under 30 seconds.

      There is power in that which no windows system can rival.

    12. Re:Software Installation by Captain+Smooth · · Score: 1

      Pretty obvious troll, but i'll bite. Fanatacal cults and religous sects are encouraging mass suicide. We are trying to convince people to use a more stable OS. It's called MARKETING, and it seems to be something trolls like you always complain that Linux people lack no skill in. Don't complain when you see it at work.

      --


      The ability to monopolize an industry is insignificant, next to the power of the source.
    13. Re:Software Installation by Captain+Smooth · · Score: 1

      oops. lack skill in**** We are all human, after all.

      --


      The ability to monopolize an industry is insignificant, next to the power of the source.
    14. Re:Software Installation by Khalid · · Score: 2

      Yes this is one of the main reason why Linux is still not ready for the desktop ! there is just a gazillion way to do things and often badly, or at least in a confusing manner. The "official party line" in the Linux community is "diversity is good" and no one dare to really challenge that ! but what a passionate geek, willing to spend hundreds configuring his desktop calls "diversity" is just "confusion" for a newbie, who just want to install and go !

      Mant geeks vehemently protest when a Desktop like KDE try to do things just the way Windows does them, there is a reason to that ! it's just because this is what people are used too ! there is reason why Ctrl-V and Ctrl-X are used for copy and cut in Windows, it's just because this is the way Wordstar does this ! so it was the de facto standard ! and whether we like or not, Windows is now the de facto standard.

      What Linux on the Desktop needs is simplification and coherence and not yet other fuctionnalities.

    15. Re:Software Installation by fr2ty · · Score: 1

      Editors: mcedit is pretty much self-explaining and easy to use for Mickey(Mouse)Softies. mc as a whole is good help too if you don't give it too much importance. It's good for the few people that once used stuff like DOS Commander or NC.

    16. Re:Software Installation by MarkusQ · · Score: 2

      there is reason why Ctrl-V and Ctrl-X are used for copy and cut in Windows, it's just because this is the way Wordstar does this !

      Wordstar used Ctrl-KC for copy and (because it used a concept called "persistant blocks") didn't have a cut-to-clipboard--the closest thing it had was either move (Ctrl-KV) or delete-block (Ctrl-KY).

      -- MarkusQ

  4. gone fishin by yack0 · · Score: 5, Insightful

    instead of doing like MCSE and giving them fish, teach them how to fish.

    "This is /etc - it's where most of the config files are.
    This is /usr/bin - it's where most user programs live
    This is /usr/sbin - it's where most superuser programs live

    If you're interested in using a command and don't know how, use 'man command' and get them familiar with how to use commands. "

    You've got two days - so some basic 'how to get info' and then examples of getting that info, would be good.

    Possibly a run down of 'in Microsoft, you have IIS, in Unix there's apache, ftp, etc'. 'In MSFT, you have ipconfig /all - in unix we have ifconfig' some basic translations of basic stuff.

    How about running through the 'Administrative tools/Common' menu in 2000 and showing them where all those toys live in *nix - or where they might be able to find them.

    But make sure you teach them how to fish for themselves - I suppose MSFT has the help pages, but man pages are our best equivalent. Or homepages for the package in question where applicable.

    Good luck!

    --
    -- There is no sig line, only Zuul.
    1. Re:gone fishin by Anonymous Coward · · Score: 0

      hmm. so wonder how do i search for a string in files.. remember there was such a program somewhere but it had an obscure name.
      lets's see:
      man 411toppm .. not that
      man 9wm .. not that
      man Abiword .. not that
      ...
      damn, after 1715 files nothing seems to be doing exactly that.
      ..
      hmm. so lets look at /bin then, ok grep found after 26 tries. great.

      man, now that's what i call efficient.

    2. Re:gone fishin by Anonymous Coward · · Score: 0

      The best way to "know how to fish" is to have some idea of what the system *is.* UNIX distros make poor monolithic products in comparison to consumer OSes (Win*, MacOS, etc). The strength is in the modularity.

      Outline what the kernel is. Demonstrate the concept of 'device drivers' with kernel modules. From there, outline the services that can be plugged and played- explain that daemons are just programs (something it took me ages to figure out; I thought they were 'special' until I realized they weren't), the shell is just another program, etc. Elaborate on the concept of "TTYs;" that's a huge difference between MS and *NIX. (A Windows machine only ever has one console, while even a single-console Linux/BSD install has 255+). Explain the concept of shared libraries, so they won't fear dependency hell if they get into the system.

      Any reasonably competent MCSE can handle other OSes; an incompetent one shouldn't be working as a computer professional. Tell them the raw architectural basics, so they'll know *which* aspect of *NIX they have to touch to achieve their goal. Cap it off with a discussion of GPL/open-source enforcing modular design.

      In the second day, cover the raw basics- retrieving manpages, basic BASH, piping commands, etc. Provide links to free distributions (Debian, FreeBSD), and resource sites (I'm a BSD user, so Daemonnews.org/FreeBSD Diary/RFC archives come to mind).

      Comparative UI anatomy is good, but more important is *real* comparative anatomy.

      I'm not sure how much of the focus has to be on Linux, but a cute 2nd-day demonstration would be a "make world" on a fast machine. Get some volunteers from the audience to type the commands at the start of class. Then, when the lecture's halfway through, walk up to the machine, explain what they've done (rebuilt an entire OS), and walk them through a half hour of basic systems administration, of the sort they'd have to do after they installed. (add a user, startx?)

    3. Re:gone fishin by Anonymous Coward · · Score: 0


      "This is /etc - it's where most of the config files are.
      This is /usr/bin - it's where most user programs live
      This is /usr/sbin - it's where most superuser programs live


      you forgot something ...
      /etc is where config files are SUPPOSED to be. only crappy programs
      put them elsewhere. aviod anything that does not use /etc.

      /usr/local/bin is where local programs are supposed to be symlinked in not the abortion that Redhat has created.
      /lib /usr/lib and /usr/LOCAL/lib are where libs go. again REDHAT feels that /usr/local/lib is not necessary to add to the ld.so.conf file and breaks 99.7% of all good software that follows standards.

      See, we have crappy software in linux land too.. Just like that mis-behaved windows apps that de-stablize the system we have those same idiots writing software for linux (and making distros..)

      so the moral of the story? Beat unconcious anyone that does not follow set standards. and be sure to verbally berate them at every turn.... Just like how in our next class for your MCSE certification.. a filmstrip from Microsoft on how to deal with the GPL threat....

      Sorry, but this is the #1 problem with linux today.. morons at redhat ignoring the rest of the world and retards maing apps that dont follow standards for config/install/setup.

    4. Re:gone fishin by _randy_64 · · Score: 2, Insightful

      Better yet, teach them "man -k". "man" is nice, but not if you don't know the names of the commands.

      Prepare a cheat sheet of commands for them, showing the Windows and the Linux version (e.g. cp and copy, rm and del, etc.).

      Check out a very intro book ("Linux for Dummies"?) just to see some of the topics it might cover.

      "Think Unix" is a great book for teaching the how and _why_ of the command line.

      Try to come up with some things that they might want to do under Windows that would be hard to do but easy to do under Linux. Use that example to show commands and pipes. For example - "tell me how many machines accessed this webpage last month". Maybe that's easy to do under Windows, I don't know. But show how you'd do it under Linux, with a pipeline of cat, cut, sort, uniq, and wc. That might be a complex example (for a simple question!) but it shows the power of the command line.

      Most of all, make it fun. Show them what's cool. Show them that they can do the same things under Linux that they can do under Windows. Like playing MP3s, videos, reading Office documents, running Word (with Wine), and even playing Solitaire and Minesweeper!

      randy

      --
      I mod down all the "free iPod"-sig losers.
    5. Re:gone fishin by jred · · Score: 1

      This is /usr/bin - it's where most user programs live
      This is /usr/sbin - it's where most superuser programs live


      I've often wondered what the difference between bin & sbin were. Thanks.

      --

      jred
      I'm not a mechanic but I play one in my garage...
    6. Re:gone fishin by Dwonis · · Score: 2
      See, we have crappy software in linux land too.. Just like that mis-behaved windows apps that de-stablize the system we have those same idiots writing software for linux (and making distros..)

      This is the best form of Linux advocacy. People will see us, and see that we know Linux has tons of problems, and we still prefer it.

      Pretending that Linux is perfect just makes people think we're ignorant.

  5. There is no hope! by lizrd · · Score: 3, Funny
    where to find ... the tab-button, etc.

    If they can't manage that on their own, there's no hope at all.

    In a more serious note, I'd try to focus on the similaraties between cmd.exe syntax and bash/sh syntax and possibly get a bit into basic shell programming.

    --
    I don't want free as in beer. I just want free beer.
  6. One of the biggest problems... by KFK2 · · Score: 1

    From working with linux and dealing with fellow students that need to use it when doing programming assignments, I have noticed that a lot of them do not know anything about background processes and how to start a process in the background, especially when using X Windows programs on a Windows 2K based X server.. Most just have a shell and run the program they are going to run (xedit) in that shell and forget about it until they have to compile thier program, in which case they clost thier xedit window and compile thier program.
    Another thing that I have noticed is a big help to me is just the fact that the shell is a POWERFUL scripting language and if you ever want to do a set of commands on a list of files, you can do so quickly.

    Kenny

  7. gcc, vi/emacs, kdevelop by jas79 · · Score: 1

    MCSD is for developers. There for it might be a good Idea to show them the development tools.

    And you could always explain the what open source is.

    1. Re:gcc, vi/emacs, kdevelop by Anonymous Coward · · Score: 0

      Uggg. Please don't use "vi" or "emacs" in the same sentance as "tools".

    2. Re:gcc, vi/emacs, kdevelop by Anonymous Coward · · Score: 0

      > MCSD is for developers

      Taken with a grain of salt, yes.

      Microsoft only offers degrees in the Mickey Mouse development environments. There are no extra points for *really* knowing how to write Windows applications.

      Microsoft isn't about to give away diplomas in that, and the *real* developers aren't interested in the Mickey Mouse caps anyway. Microsoft makes money and market share off this scam, and they'd really rather not have a serious developer out there at all. They're not much different from other software houses in this regard.

    3. Re:gcc, vi/emacs, kdevelop by Anonymous Coward · · Score: 0

      Please don't use 'sentance' in a sentence.

  8. SOAP & Tomcat... by (H)elix1 · · Score: 2

    Set up tomcat /w SOAP, and show a simple VB app or ASP page interacting with a "hello world" SOAP call. Real world, simple setup, shows the potential to mix environments...

  9. Keep it simple (and don't oversell mysql) by mgkimsal2 · · Score: 5, Insightful

    I also plan to set a database program in VB (one of the certificates in the MCSD suite) against a MySQL or Postresql db and show that there are free alternatives that works as well as SQL server.

    I would qualify that - you'll probably have at least one person in the group who's up on MySQL and/or PostgreSQL deficiencies (yes, they have them). Don't try to convince them that MySQL can be a drop-in replacement for SQL Server 2000. Both MySQL and PostgreSQL *can* be used in many situations, and should be considered along with other options re: price/performance, but don't go overboard and talk down to MS people saying MySQL is as good as (or better) than SQL Server. It does a disservice to everyone involved.

    Covering RPMs and/or apt-get technology might be useful at the end of 2 day overview.

    What would help more than anything else is showing people where/how to get help - online resources (RPMfind, for example) and whatnot. There's only so much you can cram in to two days - don't overdo it. Cover the basics in detail, and give resources to visit afterwards for people who want to learn more and/or experiment.

    1. Re:Keep it simple (and don't oversell mysql) by WWWWolf · · Score: 1
      ...but don't go overboard and talk down to MS people saying MySQL is as good as (or better) than SQL Server. It does a disservice to everyone involved.
      Precisely. MySQL is still definitely behind other RDBMSes. It's great for giving people who are used to MS Access some biiiig jaw drops, but I guess SQL Server users are probably going to laugh it out of the door after they type BEGIN; =)

      I use PostgreSQL myself, and if people are going to make a big honkin' database, I just go "mmmh, there's Oracle, I hear it's expensive but also pretty good."

  10. SSH/X-forwarding by OblongPlatypus · · Score: 3, Interesting

    Just show them the beauty of ssh and X-forwarding. It never fails to impress my Win/Mac-using friends when I run the latest version of our Java project application directly from the unix server at school.

    --
    -- If no truths are spoken then no lies can hide --
    1. Re:SSH/X-forwarding by Anonymous Coward · · Score: 0

      Use an old computer to run Gnome, StarOffice and Mozilla remotelly. This _will_ impress them.

  11. How about a course for MS users (not developers)? by cyberformer · · Score: 1
    I'm not really a developer, but as a reforming MS user, I think there'd be a lot of potential for teaching people the basics of how Linux differs from Windows and why it's different (and in most cases, better).

    The junkie analogy is pretty accurate here: A lot of people who use Windows actually hate Microsoft as much as or more than most Linux geeks, and would like to quit if only they could. I suspect most /.ers fall into this catagory, given the (often justified) MS bashing on the site combined with the high percentage of people using IE.


    Many Windows users also like the idea of open-source (free beer and free speech are both seen as good things...), even if they don't personally want to look at or edit source code.

  12. You need to do a VI vs. Emacs comparison by Anonymous Coward · · Score: 0
    You should split the class in two, and make one side learn about VI, and the other side learn about Emacs, and then get them to discuss which one is better.

    Then teach them about security, remote Unix administration using SSH, and how Unix users get more sex.

    1. Re:You need to do a VI vs. Emacs comparison by Warped-Reality · · Score: 1

      and then get them to discuss which one is better
      This is a computer class, not a combat survival class :)

      --
      This is not the greatest sig in the world, no. This is just a tribute.
  13. modules/objects by ethereal · · Score: 1

    I know that a lot of people are going to say "show off command-line stuff", and I personally am Mr. Command Line as well, but that's not the direction to go into for this demo. Sit down in front of VB or VC++ for a while (if you can make yourself :) and mess around with creating forms, plugging in other people's objects, etc. That is what those guys are used to; you want to convince them that they can do that same sort of thing on *nix, often in a simpler way.

    I'd say make sure to include a demo of Glade for building interfaces, and maybe some brief Perl OO training. Show that *nix doesn't have to be monolithic and inflexible, like they probably think right now.

    Show how easy it is to find software for the types of system administration tasks that they would be doing, and how easy it is to configure that software to work exactly the way that you want. Play up the "openness" of it all.

    Hand out a sheet with info on where to find help - linuxdoc.org, man pages, etc. Also, how to use "apropos" or "man -k" - because these guys won't know what man page they want right away.

    Oh, and it wouldn't hurt to have a really sharp-looking window manager session running for the demo - you know, the ones like they demo on themes.org. DO NOT just use the default RH 7.2 desktop. Appearance counts, even when it doesn't :)

    --

    Your right to not believe: Americans United for Separation of Church and

    1. Re:modules/objects by Anonymous Coward · · Score: 0

      Sit down in front of VB or VC++ for a while (if you can make yourself :) and mess around with creating forms, plugging in other people's objects, etc.

      A deceptively convincing statement. s/or VC++//g and you actually wouldn't have tipped your hand showing that you know absolutely nothing about using VC++ for Windows development. Which of course makes me wonder about your VB experience as well.

    2. Re:modules/objects by Anonymous+Coed · · Score: 1

      Unfortunately, "brief Perl OO training" is a contradiction in terms. Now I like Perl, I work with Perl, but something else, probably Python, is far more suitable for a quickie "OOP on Unix" tutorial.

    3. Re:modules/objects by Anonymous Coward · · Score: 0

      Perl OO training? Are you insane? Much as I like Perl, it's OO support is one of the ugliest hacks ever written. Using existing objects isn't too bad, but defining new ones is terrible.

  14. show how to start an app from another X-server by kilaasi · · Score: 2, Insightful

    One of the first things I found cool on UNIX was being able to start Netscape on one machine and have the screen displayed on another. And explain that this IS NOT Netop, PCAnywhere or VNC or another 3rd-party tool, but a natural part of X. X was DESIGNED to do this whereas Widows (Windows) needs a thirdparty-tool to do a much a technically less advanced screencapture.

  15. GUI vs CLI by MoogMan · · Score: 1

    The fact that you dont need a GUI to acomplish something. Many things just get confusing when using a GUI in my opinion. A lot of the time it is more efficiant to use a CLI as well.

    1. Re:GUI vs CLI by 3seas · · Score: 3

      There is the third UI that is hardly standard and user frendly or accessible. The side door port to controlling an application external from it's UI.

      With the three you can begin to create automations regardless of what level of computer use you are at.

      It's like having the three primary color of the rainbow and with them being allowed to create any color of the rainbow, but take away one and you are greatly constrained.

      User Interfaces are like that, we generally only have two available, if even that, on the windows box but even Linux has a hard time providing a standard 3rd UI to applications, devices and libraries.

      Watch out, wait to long and MS will figure this out and get the jump on it. That would be a shame.

      Want to convert MS user to Linux? Then give them highly productive tools they cannot find on their windows boxes. And that would include general automation tools friendly enough for anyone to use.

    2. Re:GUI vs CLI by Fembot · · Score: 1

      I still have yet to comprehend why anybody could possibly want to run a GUI on a server. EVER.

  16. Leave a lot of time for questions. by Anderlan · · Score: 1

    Ask them what Microsoft's platform can do that they think Linux/Unix can't or can't do easily; What are the perceived shortcomings. Then you can calmly and easily blow any misconceptions out of the water.

    --
    KLAATU, BORADA, NIh*ahem*
    1. Re:Leave a lot of time for questions. by DrPascal · · Score: 1

      KLAATU, BORADA, NIh*ahem*

      Of course, I am ignorant to how it originally sounded in it's Lost in Space (isn't that where it's from?) days, but in Army Of Darkness, I'd swear he was supposed to say:

      Klaatu Verata Nick-tu

      I've seen the movie a hundred times, but it's possible that my brain decided what it sounded like after the first time.

      --
      DrPascal: Not the language, the mathematician.
    2. Re:Leave a lot of time for questions. by Anonymous Coward · · Score: 0

      You got to love Google's "Did you mean foo?" spelling checker. It actually corrected me on this. "Klaatu Barada, Nikto", from The Day the Earth Stood Still. So, we're both wrong.

      I always assumed what Ash was instructed to say in Army of Darkness was lifted straight from The Day the Earth Stood Still. I mean, why not. I guess they might have changed it a little to make it sound latin or something, maybe, maybe not.

      [corrected] KLAATU, BARADA, NIH*ahem*

    3. Re:Leave a lot of time for questions. by MaxQuordlepleen · · Score: 1

      Of course, I am ignorant to how it originally sounded in it's Lost in Space (isn't that where it's from?) days, but in Army Of Darkness, I'd swear he was supposed to say:

      The quote is from the over-rated 50's sci fi flick The Day The Earth Stood Still, not from the above mentioned 60's shit sandwich.

      And I'm pretty sure it's Klaatu Verada Nikto but it's been decades since I saw the flick...

    4. Re:Leave a lot of time for questions. by Anonymous Coward · · Score: 0

      Klaatu barada nikto

    5. Re:Leave a lot of time for questions. by Anonymous Coward · · Score: 0

      Then you can calmyly and easily blow any misconceptions out of the water.

      Bold claims. Do you think there's ANY chance that perhaps Windows *might* be better at something than another OS? Copying/pasting in Linux window managers pretty much sucks, imo, and is completely unintuitive, for a start.

      Each has their place. What do you do when someone asks a question and you can't 'blow them out of the water'?

    6. Re:Leave a lot of time for questions. by Anderlan · · Score: 1
      Selecting something and pasting it with the middle button is less intuitive than ctrl-c, ctrl-v? I don't think so. And its terrifically fast.

      Next weakness?

      Seriously, you're right, if we did this for some time, you would eventually hit upon something thats better in Windows. Eventually ;p

      And I would admit the demerit of Linux in that regard, and perhaps in a while Linux would be improved in that regard or I would find feature or program I didn't know about that already makes Linux better in that regard; that's how Microsoft looks at things, anyway. ("We'll eventually fix it. I mean, we own the OEMs, we aren't soon going to be thrown out by them. Given we will be around forever, we are destined to fix every problem and come out with the perfect OS. Just be patient.")

      --
      KLAATU, BORADA, NIh*ahem*
  17. wtf? by Anonymous Coward · · Score: 0
    I was thinking about starting with some general file system descriptions, where to find what files, the man pages, the tab-button, etc


    There is no "tab" key in windows? Jeez, they're even more backward than I thought.

  18. Show them the possibilities by hhg · · Score: 1

    Show them the ease of modprobe, the powerfulness of iptables, the fun of piping and redirecting, mixing of filesystems and drives in the directory-hierarchy and mounting of ISO-images(!). Inprint in their heads that the machine does not need to be rebooted after updates and installations, ip-adress-changes and change of configuration. Show them the power of root, the joy of grep and the top of it all, the geniality of config-files, and NO REGISTRY.

    1. Re:Show them the possibilities by carm$y$ · · Score: 4, Informative

      Show them the ease of modprobe, the powerfulness of iptables,[...] mounting of ISO-images(!). [...]Inprint in their heads that the machine does not need to be rebooted after updates and installations, ip-adress-changes and change of configuration.

      They are developers, for crying out loud. They'll start running after 5 minutes of iptables; why not show them gcc?

      Show them the [...] the geniality of config-files, and NO REGISTRY.

      Look, config files in /etc, /etc/sysconfig, /etc/$SOFTWARE_NAME, /opt / SOFTWARE_NAME, /usr/etc, /usr/local/etc, ~/.$SOFTWARE_NAME, /usr/share/$SOFTWARE_NAME ... but no registry. Woot!

      Don't get me wrong, I'm a 100% unix guy; but it seems to me that exactly this kind of arguments makes people stay away from linux. You don't have to crush Windows, you have to give them reasons to make them beleive in linux, and to want to hop in the wagon.

      --
      -- No sig today
    2. Re:Show them the possibilities by Anonymous Coward · · Score: 0

      change of ip addresses? where have u been .....

  19. Xplatform by clifyt · · Score: 2

    I'd simply show them the Unix stuff that is cross platform. Start off with things such as Apache or even PHP.

    More than likely, if they are going for their MCSE cert, they will be running Wind'rs no matter what you tell them, but showing them these cross platform apps might be the seed to slowly merge them to other platforms. For instance, I run both Apache and PHP on most of my servers...I run them on Wind'rs, MacOS X, Unix. They are VERY stable across platforms. I still run IIS5.0 on one machine, but thats because I have clients that NEED ASP. I use to develop against ASP, but now use PHP on everything because I never know what platform I'm going to be running on.

    After that -- because everyone needs to know how to set up a web server -- grab the Posix Tools from Cygwin (??? I think thats where I get them...I just google everytime) and install them on Windows. You get all the nice commands that ya do on unix, but on Windows. Its VERY nice because Windows doesn't come with a very good Kill command (there is one on the Resource Disc...but I prefer these ones better)...sometimes you REALLY need a service to quit and their is no other way.

    Start showing folks these xplatform tools and show them how they only need to memorize one set of instructions instead of a dozen that do the same things across a dozen platforms (the CLI stuff on Windows isn't the same even across their different platforms...they change the names of apps too readily). How do you get to a Command Line on Windows? Is is CMD? Is it Dosprmpt? Depends on the version. Things like this.

    I install the cross platform tools so people can be familiar with the Unix stuff...hell I've got my boys so brainwashed that when I ask them to hit one of my unix boxes, they now tell me its 'just like windows'. Once you can safely work around a machine without having to stumble, you then feel a little braver and may actually explore a bit. Maybe then they figure out why a Unix box is so much nicer and more stable than the same PC...

    clif
    sonikmatter.com

    1. Re:Xplatform by man_ls · · Score: 2

      I find myself typing cmd.exe on my Windows 98 boxes at school and my mom's computer when I am trying to do stuff.

      She has a tendancy to get utterly confused at the reason I seem to do everything with the keyboard...she said she's almost never seen me use a mouse. Quick use of Winkey shortcuts, TAB combos, and the command line almost totally make it unnecessary.

    2. Re:Xplatform by Anonymous Coward · · Score: 0

      Wow....you are SO cool man.

  20. A few thoughts. by mrsam · · Score: 5, Interesting

    Here are a few random suggestions, in no particular order.

    * Open a relatively complicated page in MSIE, the same page in Mozilla-win32, and the same page agin in Mozilla-linux. Go to a bunch of annoying web sites, with Mozilla's pop-up/pop-down filters enabled.

    * Use ssh to log in to a box halfway across the world. Demonstrate some simple system administration tasks, and the fact that anything you can do at the console you can also do remotely, via ssh.

    * Run either Gnome or KDE. Change the themes, a couple of times, demonstrate the customizable UI. Switching between one of the mac Aqua-like themes, some star trek theme, and one of the Winxx-lookalike themes should be very effective.

    * Install a distribution in server mode (no X11). Demonstrate the extreme modularization of Linux, such as you can complete get rid of all GUI support, and use only the disk/network services to turn a box into a network appliance.

    * Install Windows and Linux on the same box. Boot into Linux; then mount and browse Windows partitions. Make a casual remark that Windows cannot browse Linux partitions in the same way.

    * When the Linux box boots up, and is busy going through the initscripts, starting all the services, explain that if one service fails to start for some reason the boot process will continue and the machine should still be mostly usable. Ask if anyone experienced a situation where a Windows driver kept croaking during the boot process, and what happened alter.

    I recall an incident about three years ago when UMAX shipped a buggy driver for their scanners. The driver was faulting on machines with USB ports, and CPU speeds over 400 Mhz (something about some timing loop), forcing a complete crash during the Windows boot cycle, with the subsequent reboot falling back into safe mode.

    The Linux equivalent for this would be something like SANE, which runs completely in user mode, and therefore cannot crash the entire OS.

    * Use samba to browse the local windows network neighborhood.

    * If you have a fat pipe, forward X11 over ssh, and run remote X applications on the local terminal.

    * Install a base distribution package right out of the box. I'll use Red Hat 7.2 as an example. Apply all the errata to bring the box up to date, except for the kernel, without rebooting. Even install a new version of glibc (the equivalent of msvcxxrt.dll) without rebooting the box. Install a new kernel on the remote machine, make sure that LILO or GRUB is all set up, then remotely reboot the box into the new kernel.

    1. Re:A few thoughts. by wadetemp · · Score: 0, Troll

      And your typical responses (many well justified) will be:

      Open a relatively complicated page in MSIE, the same page in Mozilla-win32, and the same page agin in Mozilla-linux. Go to a bunch of annoying web sites, with Mozilla's pop-up/pop-down filters enabled.

      * But MSDN showed us a VB IE startup fix that does the same thing.

      Use ssh to log in to a box halfway across the world. Demonstrate some simple system administration tasks, and the fact that anything you can do at the console you can also do remotely, via ssh.

      * But I can do the same thing with Windows telnet, or better, Windows terminal services since I can actually see what I am doing. And I know DOS; BAT files are cool.

      Run either Gnome or KDE. Change the themes, a couple of times, demonstrate the customizable UI. Switching between one of the mac Aqua-like themes, some star trek theme, and one of the Winxx-lookalike themes should be very effective.

      * But I can get that many themes for XP, and plus I actually know how to change the backgrounds and icons in Windows myself. YOu haven't shown me how to do that yet with Linux. This frickin' sucks.

      Install a distribution in server mode (no X11). Demonstrate the extreme modularization of Linux, such as you can complete get rid of all GUI support, and use only the disk/network services to turn a box into a network appliance.

      * Uh, yeah, we use the Services admin panel and Add/Remove programs for that. For server only installations, we just don't hook a monitor up.

      Install Windows and Linux on the same box. Boot into Linux; then mount and browse Windows partitions. Make a casual remark that Windows cannot browse Linux partitions in the same way

      * But if I only want Windows on my system, why do I care? If I could access the Linux partitions it would be like having FAT32 partitions on an NT machine... pretty pointless.

      When the Linux box boots up, and is busy going through the initscripts, starting all the services, explain that if one service fails to start for some reason the boot process will continue and the machine should still be mostly usable. Ask if anyone experienced a situation where a Windows driver kept croaking during the boot process, and what happened alter.

      I recall an incident about three years ago when UMAX shipped a buggy driver for their scanners. The driver was faulting on machines with USB ports, and CPU speeds over 400 Mhz (something about some timing loop), forcing a complete crash during the Windows boot cycle, with the subsequent reboot falling back into safe mode.

      The Linux equivalent for this would be something like SANE, which runs completely in user mode, and therefore cannot crash the entire OS.


      * Yeah, when services go down in Windows, it still starts up fine and you just look in the system log. If a driver goes down, I just restart in safe mode, removed the device, and everything is fine. No big deal. Who needs a scanner on a server anyway? It looks like if I do this Linux thing I have to go through all these damned scripts to figure out what went wrong... and where's the safe mode? If I screw up the scripts, it looks like my machine is hosed.

      Use samba to browse the local windows network neighborhood.

      * Yeah... uh, we do that. Where's the network neighborhood icon?

      If you have a fat pipe, forward X11 over ssh, and run remote X applications on the local terminal.

      * We do that with Windows terminal services like we said. You really should conserve some network bandwidth and just go sit down at the machine though. Wait a sec... did he say "fat pipe?" Huh huh...

      Install a base distribution package right out of the box. I'll use Red Hat 7.2 as an example. Apply all the errata to bring the box up to date, except for the kernel, without rebooting. Even install a new version of glibc (the equivalent of msvcxxrt.dll) without rebooting the box. Install a new kernel on the remote machine, make sure that LILO or GRUB is all set up, then remotely reboot the box into the new kernel.

      * If we want to install a new version of msvcxxrt.dll without restarting the box, I just close all the apps that are using it and then copy the new DLL into place. It's not that difficult. It breaks a bunch of stuff though, but I bet this glibc messes things up too. What are you doing monkeying with the kernel? That doesn't need updating, it's the frickin' kernel. If it's broken, we get a reinstall going while we go to lunch. Huh... fat pipes are cool.

    2. Re:A few thoughts. by graf0z · · Score: 2, Interesting
      I have to give 2d apache/linux crash-courses regularly to admins, which are mostly MS-only with none up to medium network knowledge (yes, they are admins in their companies ...). Most of the suggestions of mr sam work, espacillay the ssh stuff, but they have to do it on their own! If they manage to do all these nice gimmicks, you got them! So: show them what you want to show and then let them do the same (but free choice of details like pathnames and such). So let admins...

      • install a linux distri on their own (i use RH)

      • edit "index.html", start preinstalled apache and ask their neighbor how do you like my new homepage?(this is the second point after installing, just to impress)

      • set up useraccouts, start sshd and then change places for going on administrating their boxes remotely

      You get the idea ... there should be similar tasks for coders. But a warning: they will get it slowly. The command line (you will do all the importing things only in bash, don't you?) is absolutely new to them, so you will have to explain over and over again (ext2, absolute/relative path (although it is the same in win)). emacs/vi it definitely necessary, but it's a showstopper.

      Another thing: Some facts you can tell them over and over again like "do not use telnet, it's fucking unsafe, use ssh", but if you do not demonstrate it or let them explore it, they won't understand the importance. So proof your statement using tcpdump (they will love it!).

    3. Re:A few thoughts. by Wojtek · · Score: 1

      But MSDN showed us a VB IE startup fix that does the same thing [microsoft.com

      Excellent! It's built in to almost all the unix browsers from the get go. Good show microsoft, meeting your customers needs!

      * But I can get that many themes for XP, and plus I actually know how to change the backgrounds and icons in Windows myself. YOu haven't shown me how to do that yet with Linux. This frickin' sucks.

      Fantastic! You've caught up with Unix which has been doing this since at /least/ 1995. Welcome to the 90's!!

      * But I can do the same thing with Windows telnet, or better, Windows terminal services since I can actually see what I am doing. And I know DOS; BAT files are cool.

      Excellent! and a malicous user, or l33t haq0r can sniff your password over the line. Key thing here about ssh, it's secure and it forwards X connections easily. Try not having a direct IP connection to your windows box, watch it fail. SSH handles NAT and other situations with grace.

      * Uh, yeah, we use the Services admin panel and Add/Remove programs for that. For server only installations, we just don't hook a monitor up.

      Yet another cop out. You /can/ do this, but it simply doesn't work that well, nor do you have the flexability of a pure command line enviornment.

      * But if I only want Windows on my system, why do I care? If I could access the Linux partitions it would be like having FAT32 partitions on an NT machine... pretty pointless.

      You've never worked in a large IT shop before, obviously. Or if you have, you were one of the bottom of the heirarchy tech bitches.

      * Yeah, when services go down in Windows, it still starts up fine and you just look in the system log. If a driver goes down, I just restart in safe mode, removed the device, and everything is fine. No big deal. Who needs a scanner on a server anyway? It looks like if I do this Linux thing I have to go through all these damned scripts to figure out what went wrong... and where's the safe mode? If I screw up the scripts, it looks like my machine is hosed.

      Excellent! So when my videocard fucks up I can fart around in safe mode instead of having my database server continue to provide access for employee's. Excellent! So while my videocard is broken, my company has to stop work altogether. What a deal!

      Yeah... uh, we do that. Where's the network neighborhood icon?

      Well, you are an MCSE so you should know how to find that stuff without a pretty icon. You're supposed to be well trained after all.

      We do that with Windows terminal services like we said. You really should conserve some network bandwidth and just go sit down at the machine though. Wait a sec... did he say "fat pipe?" Huh huh...

      Wait, you just got terminal services a few years ago. we had the same shit since 1984. Thanks for playing, please come again! Besides, sometimes remote X helps if you're not on the same content and you really want to use X on that system.
      like using remote X to do a presentation to three contenents.

      If we want to install a new version of msvcxxrt.dll without restarting the box, I just close all the apps that are using it and then copy the new DLL into place. It's not that difficult. It breaks a bunch of stuff though, but I bet this glibc messes things up too. What are you doing monkeying with the kernel? That doesn't need updating, it's the frickin' kernel. If it's broken, we get a reinstall going while we go to lunch. Huh... fat pipes are cool.

      You're too cute. Maybe you should think about taking a 3 year college program or something, you might have a clue about what you speak about then.

    4. Re:A few thoughts. by Darth_Burrito · · Score: 2

      While I think the post you replied to had pretty stupid biased suggestions, I just have to say a few things...

      But I can do the same thing with Windows telnet

      Aahhhhhh!!! Passwords in plaintext. Telnet is the devil. SSH is encrypted. These are not equivalent services.

      For server only installations, we just don't hook a monitor up.

      Running a GUI takes memory and system resources, monitor attached or not. Also, if you don't have a monitor attached, people are a lot less likely to walk up and start fiddling with your server.

      You really should conserve some network bandwidth and just go sit down at the machine though.

      In an internal network with 100+ MBit network this is not an issue. Guaranteed, your employer would rather have you utilizing instant connections to whatever machines you needed than have you waste five minutes walking over to the server farm, spending another five minutes locating the correct terminal for the machine, and then another 5 minutes walking back to your desk.

    5. Re:A few thoughts. by mrsam · · Score: 2
      * But MSDN showed us a VB IE startup fix that does the same thing [microsoft.com].

      Do you really expect Joe Sixpack to write a VB script to do that, when it only takes two mouse clicks in Mozilla?


      * But I can do the same thing with Windows telnet, or better, Windows terminal services since I can actually see what I am doing.

      How much does the Windows Terminal Server cost, and are there any CAL fees?


      * But I can get that many themes for XP, and plus I actually know how to change the backgrounds and icons in Windows myself. YOu haven't shown me how to do that yet with Linux. This frickin' sucks.

      Programs -> Settings -> Desktop -> Background. That's it. It's not rocket science.


      Install a distribution in server mode (no X11). Demonstrate the extreme modularization of Linux, such as you can complete get rid of all GUI support, and use only the disk/network services to turn a box into a network appliance.


      * Uh, yeah, we use the Services admin panel and Add/Remove programs for that.

      How many times do you have to reboot? What happens if the install get screwed up, and you're left with a corrupted registry?


      * But if I only want Windows on my system, why do I care? If I could access the Linux partitions it would be like having FAT32 partitions on an NT machine... pretty pointless.

      True - NT doesn't really support things like soft and hard links...


      * Yeah, when services go down in Windows, it still starts up fine and you just look in the system log. If a driver goes down, I just restart in safe mode, removed the device, and everything is fine. No big deal. Who needs a scanner on a server anyway? It looks like if I do this Linux thing I have to go through all these damned scripts to figure out what went wrong... and where's the safe mode?

      It's there. It's called "Run level 1", but you rarely have a need to use it, since as I said a broken daemon is not going to take down the rest of the system.


      * Yeah... uh, we do that. Where's the network neighborhood icon?

      It's right there, on the screen. Looks like I forget to mention Nautilus, in my original comment.


      * We do that with Windows terminal services like we said.

      And how much does Windows Terminal Services cost?


      You really should conserve some network bandwidth and just go sit down at the machine though.

      It's going to be a long walk. Remember, that server's on the other side of the world?


      * If we want to install a new version of msvcxxrt.dll without restarting the box, I just close all the apps that are using it and then copy the new DLL into place.

      Sounds clumsy and awkwards. There's no need to do that in Linux.


      It's not that difficult. It breaks a bunch of stuff though, but I bet this glibc messes things up too.

      Nope. I upgraded glibc on my firewall box about three weeks ago. I still haven't rebooted the box:

      [root@brimstone httpd]# w
      4:32pm up 42 days, 2:19, 1 user, load average: 0.00, 0.00, 0.00
      USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
      What are you doing monkeying with the kernel?

      glibc isn't the kernel.


      That doesn't need updating, it's the frickin' kernel. If it's broken, we get a reinstall going while we go to lunch. Huh... fat pipes are cool.

      I tend to upgrade my Red Hat servers twice a year. Insert a kickstart floppy, reboot each server, have a cup of coffee while the server upgrades itself, back in production 35 minutes later...


    6. Re:A few thoughts. by wadetemp · · Score: 2

      I'm not an MSC anything... those were just the rantings of someone who works with a few. :)

    7. Re:A few thoughts. by crudeboy · · Score: 1
      Fantastic! You've caught up with Unix which has been doing this since at /least/ 1995. Welcome to the 90's!!

      It doesn't really matter if Unix has been doing it since '95 since it's not '95 anymore...

      Excellent! and a malicous user, or l33t haq0r can sniff your password over the line. Key thing here about ssh, it's secure and it forwards X connections easily. Try not having a direct IP connection to your windows box, watch it fail. SSH handles NAT and other situations with grace.

      Great, and btw I can use ssh on Windows to, thank you, and if I don't want to use plain-text protocols I can either use encryption (ipsec/vpn) or use Terminal Services.

      Yet another cop out. You /can/ do this, but it simply doesn't work that well, nor do you have the flexability of a pure command line enviornment.

      I do have a CLI which usually is sufficient, but if I need more I can always install bash and perl, or php or whatever...

      Wait, you just got terminal services a few years ago. we had the same shit since 1984.

      And who cares...it's there now.

      Thanks for playing, please come again! Besides, sometimes remote X helps if you're not on the same content and you really want to use X on that system. like using remote X to do a presentation to three contenents.

      And tell me why I can't use Terminal Services for this???

      You're too cute. Maybe you should think about taking a 3 year college program or something, you might have a clue about what you speak about then.

      No, you're too cute...

      For the record I use both Unix and Windows systems, with no or little bias. Whatever gets the work done.

    8. Re:A few thoughts. by WhaDaYaKnow · · Score: 1

      I hate to be negative here, you got some good points, but consider:

      Open a relatively complicated page in MSIE, the same page in Mozilla-win32, and the same page agin in Mozilla-linux. Go to a bunch of annoying web sites, with Mozilla's pop-up/pop-down filters enabled.

      Since that browser is also available for win32, what's the Linux benefit?

      Run either Gnome or KDE. Change the themes, a couple of times, demonstrate the customizable UI. Switching between one of the mac Aqua-like themes, some star trek theme, and one of the Winxx-lookalike themes should be very effective.

      This may look good to a lot of Linux people, but to a lot of more agnostic people, either Gnome or KDE don't look that great (and I'm mincing my words). For those that want to change the look and feel of their OS, there are several solutions for Windoze to do so. Again, doesn't really prove anything for Linux.

      When the Linux box boots up, and is busy going through the initscripts, starting all the services, explain that if one service fails to start for some reason the boot process will continue and the machine should still be mostly usable. Ask if anyone experienced a situation where a Windows driver kept croaking during the boot process, and what happened alter.

      On my notebook if I boot Linux without my network cable plugged in, it hangs forever during the boot. Incidentally, the boot-time for full GUI is about 5x longer than Windows XP (on this dual-boot system)

      Now, enough Linux bashing already. The point is that you have to look at Linux's strong point, which is the system/kernel itself. Linux has a GUI which will suffice for many, but it really shines as a server.

      Compare configuring a Linux box with a Windows box. The GUI based interfaces to configuring a Windows box always leaves you with the feeling 'did I _really_ set everything correctly, did I really patch up all the holes and am I really not running anything that I don't want to run.'. There's always an other dialog box around the corner.

      The text file oriented configuration of a Linux box may seem arcane at first, but what if you want to move to an other PC? Just copy httpd.conf. Try doing that with IIS.

      With Linux, if you want to, you can go through the source and initscripts and figure out EXACTLY what happens during boot.

      I do agree with the prev poster that you want to show interoperability with a win box. Both Samba and NTFS. But you want to show the benefits of a proper filesystem too.

      <anecdote&gt
      We once needed to play an MPEG stream over the network, which at the time was very unusual. So unusual that the MPEG hardware came with a driver that only ran under DOS, and only played from a file. So I created a Linux box which had the MPEG decoder hardware, and found the DOS driver still worked under dosemu.

      I then created a fifo on the ext2 partition, which was used by the DOS software as the 'source' file. A little Linux program that pumped the stream from the network to the fifo, and all was well.
      </anecdote>

      There must be some easier demonstratable things you could do to show of the power of the fs.

      And if these folks are up for it, there's nothing quite is cool as compiling/installing a new kernel.

    9. Re:A few thoughts. by wass · · Score: 2
      emacs/vi it definitely necessary, but it's a showstopper.

      Simple solution - do what I did for my father. Install nano (an open-source pico clone). It's relatively easy to use (very similar to the 'edit' program that came with the later DOS's).

      This way the users learn how the system functions with respect to the scripts, and after they're hooked, get them on vi/emacs. If they're not hooked, then there's no reason to learn vi/emacs anyway.

      --

      make world, not war

    10. Re:A few thoughts. by dsoltesz · · Score: 1

      But I can do the same thing with Windows telnet

      Aahhhhhh!!! Passwords in plaintext. Telnet is the devil. SSH is encrypted. These are not equivalent services.

      Easy enough to get SSH, etc., servers for Windows. If brought up, his students probably should be warned about security issues like telnet for any system.

    11. Re:A few thoughts. by BreakWindows · · Score: 2

      Just responding to the possible queries of the students, in case anyone ever encountered one of these answers:

      * But I can do the same thing with Windows telnet, or better, Windows terminal services since I can actually see what I am doing. And I know DOS; BAT files are cool.

      And he can smack them for using telnet to send the Administrator's password unencrypted across the world. Terminal services is cool from across the room, but ever try getting in at a colo or from home over DSL or...eek...dialup?

      * But I can get that many themes for XP, and plus I actually know how to change the backgrounds and icons in Windows myself. YOu haven't shown me how to do that yet with Linux. This frickin' sucks.

      I don't think anyone would say that, since I'm sure he would show the nice simple right-click way to change them, just like in Windows. And I'd have to say, there are more themes and more customizable themes for gnome/kde than for XP, and at no cost. Plus, there is a gnome and a kde and a blackbox, etc..

      (snip a few things I pretty much agree with, since I don't see them as being strong points for Linux on the server)

      It looks like if I do this Linux thing I have to go through all these damned scripts to figure out what went wrong... and where's the safe mode? If I screw up the scripts, it looks like my machine is hosed.

      2 things:

      1)/var/log/messages - why would they confuse a script with an error log?
      2)His point was, it couldn't happen. Windows gets hosed until you get into safe mode and remove drivers, if you know what is going on. You can't have something in user space take down the OS in Linux.

      * Yeah... uh, we do that. Where's the network neighborhood icon?

      ha, nice. but his point (unless he's a fool) wasn't superiority, but integration. You don't have to eliminate Windows, they can play nice together. He should have included "and go to the Windows box and browse files on the Linux machine, too".

      What are you doing monkeying with the kernel? That doesn't need updating, it's the frickin' kernel. If it's broken, we get a reinstall going while we go to lunch.

      (agreed on the part of copying DLL's, partially).

      That's a myth he should dispell. Just because something is running, doesn't mean it isn't in need of an update. Security problems? Improved performance? No OS is or remains perfect for years without an update.
      And why is he touching the kernel? I update libraries and software all the time without recompiling or restarting. Linux surely has its flaws, but this is one that just isn't true. I hear the "you have to recompile everything!" line from everyone, and I haven't touched source code in a while (last time was by choice).

      On a side-note, don't push superiority to them too much. Try to get them to install it on their own machine, or at home, and wait for them to get addicted. Once you use something UNIX-ish for a while, Windows starts to get annoying. It's personal preference though...some people like one bloated app that will do everything for them, and some people like lots of smaller apps combined and tailored to be exactly what you want them to be. I've found people will justify shitty software and turn the other way when something is just dumb, if this is the OS they use, regardless of what kernel it runs on.

    12. Re:A few thoughts. by melted · · Score: 1

      1. Telnet isn't evil if it's tunneled through an encrypted VPN connection which is a breeze to setup in Windows.

      2. Unused parts of the operating system go to swap file in well-designed operating systems.

      3. Terminal services are working fine via 56K analog modem VPN connection to corporate network. It's 256 colors, it's 800x600, but still, it works just freakin' fine. Recently I've helped my friend through Remote Assistance. The trick was that my friend was in Russia (33.6K connection) and I was in the US (768/128 DSL). And still I was able to use remote assistance (read: terminal server) on his PC. Ain't that cool?

    13. Re:A few thoughts. by Sycraft-fu · · Score: 3, Insightful

      "Aahhhhhh!!! Passwords in plaintext."

      No, not with the Windows telnet server it isn't. By default it's set to use only NTLM authentication, which is encrypted. You can set it to accept plaintext as well but that's not the default.

    14. Re:A few thoughts. by Jaeger · · Score: 2
      On my notebook if I boot Linux without my network cable plugged in, it hangs forever during the boot.
      I betcha that's because some of your daemons (sendmail is notorious for doing that) are trying to get an ip for your hostname, and are failing because they can't contact the nameserver. (This is a bug, not a feature, but it seems fairly common.) Add a line to /etc/hosts with your ip and hostname and you should be set.
    15. Re:A few thoughts. by popoutman · · Score: 1
      On my notebook if I boot Linux without my network cable plugged in, it hangs forever during the boot.
      I betcha that's because some of your daemons (sendmail is notorious for doing that) are trying to get an ip for your hostname, and are failing because they can't contact the nameserver. (This is a bug, not a feature, but it seems fairly common.) Add a line to /etc/hosts with your ip and hostname and you should be set.

      Mostly due to the network card driver not querying the nic as to whether there is a cable connected, and then timing out on trying for a DHCP-allocated IP address. This happens with all the 3com drivers I have tried. One solution is to have 2 choices from lilo, setting an environment variable that can be used to set services to start or not (e.g. if not in office: don't start networking, ssh or sendmail etc). I have seen this implemented, but I cannot remember the link exactly (http://linux-laptop.net somewhere in the dell stories).

      --
      - This sig deliberately left blank. Nothing to see, move along.
    16. Re:A few thoughts. by Anonymous Coward · · Score: 0

      Why don't you show them something they care about like how easy it is to write autoconf scripts, and managed projects under Linux. Show them how easy it is to make RPMs, and .deb files. Show them CPAN, oh wait, that's available under windows too. Show them how to point and click deploy web based applications. How about build a "Hello World" in kde, gnome, and wxwindows?

      Rember these guys are developers, not installers.

    17. Re:A few thoughts. by void* · · Score: 1

      Telnet isn't evil if it's tunneled through an encrypted VPN connection which is a breeze to setup in Windows.

      Telnet is still evil even with a VPN tunnel.Suppose I break into your box, and wish to get more passwords. I install a sniffer on your box. I get more passwords, since the telnet connection is _not_ protected by the VPN when the packets hit the interface of the box you are connecting to, or leave the box you are connecting from. This may also work if i break into a different box on the same network - note that a switch (as opposed to a hub) will not necessarily prevent me from getting packets bound for other boxes - see SANS for more info Telnet is bad - whether you're running a *nix or a Windows*. You have to remember that a potential attacker may be local.

      --


      Code or be coded.
    18. Re:A few thoughts. by void* · · Score: 1

      I should probably mention that for the 'different box on the same network' bit I'm assuming a firewall-to-firewall or host-to-firewall vpn, as opposed to a host-to-host vpn.

      --


      Code or be coded.
    19. Re:A few thoughts. by WhaDaYaKnow · · Score: 1

      Thankx! :-)

    20. Re:A few thoughts. by WhaDaYaKnow · · Score: 1

      tis a 3com indeed. Thx!

    21. Re:A few thoughts. by Dwonis · · Score: 1

      Don't get discouraged by the moderator(s) who said that this is a troll. I know what you are saying.

    22. Re:A few thoughts. by Ivop · · Score: 1

      > You can't have something in user space take down the OS in Linux. --- That's not true. Try Xine or mplayer with a corrupted avi stream and sometimes it takes your whole system down. OK, you might say that's X11 crashing and X11's running as root, but it's still a user-app that brings it down! --Ivo

    23. Re:A few thoughts. by bogado · · Score: 2

      you seem to be describing a console crash, when X crash and lock up your console you maybe out of luck. But if you have another computer at hand and a sshd runing in the locked computer you should be able to restore or in the worst condition restart your machine cleanly (sometimes X messes with your grafic card badly).

      --
      []'s Victor Bogado da Silva Lins

      ^[:wq

    24. Re:A few thoughts. by fr2ty · · Score: 1
      * Use ssh to log in to a box halfway across the world.


      Arrange a talk session. Show them how short the talk man page is, mention the age of the program. And please report about their reactions on /. ;-)
    25. Re:A few thoughts. by Bert64 · · Score: 1

      But if you break into someone`s box SSH is not secure either. You could replace the ssh client with one designed to log passwords, you could steal rsa/dsa keys and log their passphrases, and you could even monitor the TTY device.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    26. Re:A few thoughts. by Bert64 · · Score: 1

      And one of the nicest features of X11, is that it`s designed to export single apps, not entire desktops. So i can have multiple programs from multiple machines on screen at once, and they can work together. Plus you can run your windowmanager locally for speed, and other programs remotely and the whole interface won`t be dragged to the level of the slowest-connected program. Typing this on an old sparcstation-2, displaying a remote galeon from an alpha/linux in the next room.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    27. Re:A few thoughts. by Bert64 · · Score: 1

      Is there any need for a laptop to actually run sendmail? I had exactly the same problem involving apache, and in the case of most linux distributions... a userspace app failing (locking.. not segfaulting and exiting) during startup DOES kill the system and you need single user mode. Redhat is especially bad, it performs some rpm checking commands during startup, which freeze the system without warning if the rpm database is corrupted. Maybe initscripts should be forked, and monitored.. and if they dont exit after a predefined time, reported and/or killed.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    28. Re:A few thoughts. by raresilk · · Score: 2
      I don't have mod points right now, so I reply to say I think your lesson plan is the best. Rather than trying to turn students from MS mentality to Unix mentality in two days (impossible), it goes directly to the fears and prejudices that naturally will be first in the minds of MS-trained admin-wannabes:

      (1) interoperability with Windows ("what use could a Unix box serve in a MS-based environment?")
      (2) desktop ease of use ("how could a generic user possibly be trained to operate a Unix box?")
      (3) ease of installation and troubleshooting ("wow, it never occurred to me that 'reboot after every configuration change' is not a universal truth of computing")

      Once you have cleared away these prejudices, and introduced them to a tiny bit of the potential and flexibility in *nix, you can count on the intelligent and curious ones in the bunch to explore the finer points on their own. (Don't forget to provide a handout of Linux and BSD download and info sites at the end of day two.) Showing them grep, man pages, emacs commands, config files like others have suggested is likely to be useless - you are talking about MSCE certification students, not experienced sysadmins who will understand why they might want these tools.

      --
      No, no, no. This is not a sig.
    29. Re:A few thoughts. by Darth_Burrito · · Score: 1

      Ah, my bad - thanks for the info. This explains why I had to do something weird to 2K to make it accept connections from nix. Is the entire session encrypted or just authentication? I don't know how many times I've gone from Machine A to B and then from B to C. Would the B to C login information be encrypted from A to B?

    30. Re:A few thoughts. by void* · · Score: 1

      If you set up a vpn, you're usually going host->firewall, and the traffic is unencrypted on the back side of the firewall. ssh is -always- host to host.

      --


      Code or be coded.
    31. Re:A few thoughts. by Sycraft-fu · · Score: 3, Informative

      That I don't know. I'm assuming it's just the L/P. I think that is done out-of-band via NTLM and then the rest is plaintext. Probably it's a better idea to jsut downlaod an SSH server for Windows. There are free ones available.

    32. Re:A few thoughts. by el_chicano · · Score: 1
      2. Unused parts of the operating system go to swap file in well-designed operating systems.
      Why load stuff into memory if you aren't going to use it? :->

      Seriously, the more modular your OS is, the better you can customize it for your needs. The monolithic OS is definitely not the way to go.

      Want to do web development? Load Apache and PHP, otherwise save memory and resources by not loading it. You can even save disk space by not installing packages you never use to your hard drive.

      That is why I don't understand why Windows makes you have a GUI full-time on your servers. If you have a KVM on multiple servers and you only can see one server at a time, why do the other servers have to consume resources running a GUI 24/7?
      3. Terminal services are working fine
      Never having used Terminal Services before, I am wondering how expensive it is. I am guessing it isn't cheap.

      Also, if you are mainly administering your servers across the network, why waste server resources on an unneeded GUI?
      --
      A man who wants nothing is invincible
  21. One MS student's experience learning Unix stuff by Faust7 · · Score: 0, Offtopic

    Foogtoot 48: THE INSTRUCTION IS OBTUSE
    Ataraxia 7: ?
    Foogtoot 48: (broken another imaginary monitor with my head)
    Foogtoot 48: Also, I am doing pretty well now.
    Ataraxia 7: ?
    Foogtoot 48: I keep running into technicalities is all, and they were not covered in class even though most of the special functions needed to make this project were covered only in class, is all.
    Foogtoot 48: However, when I say "not covered in class" I mean "not covered during lecture while I was listening" which leaves out a fair amount of lecture and also recitation.
    Foogtoot 48: CURSE YOU UNIX
    Foogtoot 48: Not to mention the month or so during which I didn't start my project, I mean what was that about? It's crazy, but we have no control over these things so why worry?
    Foogtoot 48: MAAAAAAAAAAAKE
    Foogtoot 48: MMAAAAAAAAAAAAAAAAAKEE
    Ataraxia 7: I sense tension.
    Foogtoot 48: Yeah basically.
    Ataraxia 7: Not gonna make it?
    Foogtoot 48: Except I found out I have a SLIPDAY.
    Foogtoot 48: I probably won't make it, because of one last little technicality, but I'm very nearly finished already.
    Foogtoot 48: I can clear up that last bit tomorrow hopefully, and then turn it in using a SLIPDAY.
    Ataraxia 7: TEMPUS FUGIT
    Foogtoot 48: I'M TRYING
    Ataraxia 7: Finished yet?
    Foogtoot 48: No.
    Foogtoot 48: Closer though.
    Foogtoot 48: Hmm.
    Foogtoot 48: I'm just tremendously close now.
    Foogtoot 48: (breakthrough moments ago)
    Foogtoot 48: This is a sort of decent shell even.
    Ataraxia 7: Not one that meant completion, though.
    Foogtoot 48: Nope, and I may not be able to figure that one out on my own.
    Foogtoot 48: Taking a crack at it though. VIVE L'AMOUR
    Ataraxia 7: 28 minutes and counting.
    Foogtoot 48: I REGRET NOTHING
    Foogtoot 48: MAAAAAAAAAAAAAAKE
    Ataraxia 7: 26 minutes.
    Ataraxia 7: 16, I mean.
    Foogtoot 48: I hope you did that deliberately because it was FUNNY.
    Ataraxia 7: Oopsie.
    Foogtoot 48: I am confused in FIVE WAYS.
    Foogtoot 48: No wait, one.
    Foogtoot 48: I'm tired and dizzy and I'm not even sure now whether there's a bug left, that's the problem now, not a bug but whether I even know whether there is one.
    Ataraxia 7: What about that thing you were going to buckle screaming under and e-mail the TA about?
    Foogtoot 48: SHH
    Foogtoot 48: It's time to write comments and I'm looking over my functions and I'm not even sure what they do.
    Ataraxia 7: 8 minutes.
    Ataraxia 7: Though my VCR says 7.
    Foogtoot 48: I can't afford to stay up much later.
    Foogtoot 48: Well, except in the sense that I can mostly.
    Foogtoot 48: Dude just shut my door.
    Foogtoot 48: I was all dizzy at him.
    Foogtoot 48: I wonder how loud my stereo is anyway.
    Foogtoot 48: (these are all comments)
    Foogtoot 48: There's like no way I'll comment all this and I don't even know whether it's working right, I threw in some little function called Fun() to fix everything and it might not even be running or it might be running a lot, I have no idea!
    Ataraxia 7: 6 minutes.
    Foogtoot 48: The final test: I put in a while (1) at the start of Fun() and see if my program locks up!
    Foogtoot 48: BRUTE LOOP
    Foogtoot 48: OH GOD I RAN IT AND I DON'T EVEN KNOW
    Foogtoot 48: DON'T KNOW WHETHER IT LOCKED UP
    Foogtoot 48: Never wrote a multi-process program before. Parallel computation is freaky!
    Foogtoot 48: YOU DON'T KNOW WHICH END IS UP
    Foogtoot 48: Okay well that takes care of that.
    Foogtoot 48: SLIPDAY, take me away!

  22. They'll Ask by nevek · · Score: 1

    Why won't my windows key work?

    1. Re:They'll Ask by big.ears · · Score: 2

      You can give them the best answer: Many linux people use the windows key every day--unlike Windows where its just a useless advertising key for most. Once you map the windows key onto meta, it becomes an important key, akin to Macs open-apple command key. I use it in emacs, for moving between desktops, for moving windows between desktops, for maximizing and minimizing, etc. It is especially useful if you have a laptop, because you can eliminate most of your mousing by having multiple desktops and using meta-key combinations to move around from application to application!

    2. Re:They'll Ask by greyguppy · · Score: 1

      On the Mandrake 8.2 Box I am typing, the windows keys (plural!) have been mapped to changing tty. While not useful in X, when in runlevel 3 they are one of the best things I gained from upgrading.
      The left key takes you down a tty, the right up one.

      P.S
      This machine was previously Redhat 6.2 with a new kernel, upgraded RPM, and security patches.

    3. Re:They'll Ask by RandomPeon · · Score: 2

      The windows key is great in Linux!!

      It's mapped to "hyper" in most distros. Go into gnomeconfig and you can make it do whatever you want without fear of colliding with other shortcuts.

      On my box, Windows-x opens and xterm, windows-s executes "xmms -p playlist", windows-d minimizes all windows, and so on....

  23. make sure to stress ideology by matusa · · Score: 2, Informative
    You can do it through anecdotes, or just regular asides, but I believe it is invaluable to divulge them a set of ubiquitous linux/unix principles.

    • I don't mean to list many, because I guess they're obvious, but some important ones are
    • **The functionally in unix is partially hidden functionality.. this means that a lot of times a program can do lots of things you want it to, but it simply isn't apparent like it is in windows. In windows a lot of the workings most people want are very accessible on the surface (though note that if you want it to do something uncustomary... then you're in a pit!), though in unix you usually have to dig some. This is a bad example, but yesterday I was writing some SNMP code using the excellent net-snmp (ucd-snmp) packages, and needed it done now, so to learn some variable structures exactly I used headers and gdb to dump some exact var info.. that's a linux way.

      many windows people when approached with linux view features they don't see as features that don't exist.
    • files. It's all files. devices, filesystems, directories (nothing unusual there), named pipes, etc. Maybe show off some fun stuff (like you can use mount [device] to mount a CD image file and use it is if you'd mounted a CD. showing off this type of stuff would make this concept stick I feel (and reiterate =))
    • Flexibility. different UIs are a nice way to show this easily
    • Make sure to nail some FUD too.
  24. After The Basics... by Etriaph · · Score: 2
    After you teach them the basics (navigating the filesystem, creating/editing/moving files) you should teach them the thing that takes most newbies a month to figure out (I mean really figure out) on their own. Compiling software. Now, this is not a small topic, it's a big one. If they wanted to install kdelibs from source, they would need qt, libxlst, libxml2, but they wouldn't know it.

    The best thing you can do for a newbie is teach them how to find what they need to find to install or compile all the software they want. Start off with something simple like an Apache/PHP w/MySQL setup.

    Give them the three tarballs (and they should know how to open them after the basics) and tell them to try to compile the three pieces of software together. With some tutoring they'll end up having something, more or less, working (hopefully) by reading README files and the INSTALL files after you've told them they use the configure script to start the ball rolling.

    If they run into a rut, then you help them. Once they do get everything compiled together, get them on the path of figuring out how to install MySQL into /opt/mysql and apache in /services/www. This will have them reconfiguring and learning how all the flags work.

    Finally, get them to install something that will rock their brains a bit. Once they realize that they're having a hard time, tell them where they can go to get libs, dependancies, etc. (freshmeat, rpmfind, etc.). Navigating the box is one thing, but knowing how to install software makes all the online docs suddenly make sense. Anyone have any comments about this approach?

    --
    "It's here, but no one wants it." - The Sugar Speaker
  25. Install Gnome by icoloma · · Score: 1

    As soon as you can. Install Ximian (no less) and show them a desktop like they are used to, but better. Sure, you are going to work seriously with the machine, but ask yourself in first place why they are trying to MS certificate. They want productivity, and mostly for sure they are not used to editing text files by hand.

    cat, grep, vi... If you try to make them understand that in two days you must be on crack. But show them Galeon working (man, by far more comfortable that Explorer), with the google search toolbar open, show them THEY CAN OPEN MOST WORD DOCOS, they can import their Outlook contents into a more comfortable environment and they should understand that Linux is not so hard to start with.

    After that, learning all and everything is a matter of time.

  26. An excellent book by SpookComix · · Score: 4, Interesting
    I was born and raised in Microsoft land (MCSE since 1999), and although I've been playing with Linux for several years out of curiosity, I didn't get serious about it until a year ago. I've seen hundreds of books on Linux, and own several myself, but the one I recommend hands down over all the rest, especially in your case, is "Linux Administration: A Beginner's Guide" by Steve Shah. It's written specifically with your kind of users in mind. From the blurb:

    Steve Shah writes to the millions of people who are familiar with Windows (and perhaps NT and/or 2000) but not with *nix. (He's even provided a 16-page blueprint section comparing how to perform common tasks in Linux and Windows 2000.)

    It helped me over the hump when I became serious about learning Linux, and I use it as a resource still today. Even if you don't use it as a guide for your class, I'd highly recommend that you mention it to your students.

    --SC

    --
    You read fiction? I write it! Lemme know what you th
    1. Re:An excellent book by fetta · · Score: 1

      Another really good choice is Sobell's A Practical Guide to Linux. (http://www.amazon.com/exec/obidos/ASIN/0201895498 ). It doesn't worry about installation, but provides a great introduction to how to use Linux. After reading this a few years ago, all the man pages finally started to make sense.

      --
      ** The opinions expressed here are my own, and do not reflect those of my employers - past, present, or future**
    2. Re:An excellent book by aussersterne · · Score: 2

      Another interesting book: Sam's Teach Yourself Unix in 10 Minutes. It's a very short, reference-oriented book that's physically little and easy to carry, and it's a lovely introduction to the shell, redirection and I/O paths, permissions, navigating the file system and the network, etc. -- a kind of "Unix Users' 101" if you will.

      I have no financial interest in promoting the book since I didn't write it, but I was an editor for the book and found it to be lean and concise and still recommend it to this day.

      --
      STOP . AMERICA . NOW
    3. Re:An excellent book by andrewski · · Score: 1

      >I've seen hundreds of books on Linux, and own
      >several myself,

      Dude, seeing a book and reading it are two different things.

    4. Re:An excellent book by steveha · · Score: 2

      I have the Sams Teach Yourself Linux in 10 Minutes book. I figure either book would work. My comments will of course cover the Linux book, not the UNIX one, since the Linux one is what I have. But probably the two books are similar.

      This book is structured exactly the way I would have done it. Chapter 1 (7 pages) covers how to login, and logout again. Chapter 2 then immediately covers how to get help (man, info, HOWTO files, web pages, etc.) A motivated smart person could bootstrap himself into *NIX with just these two chapters!

      Chapter 3: how to use X windows (e.g., how X takes advantage of the three expected mouse buttons). Chapter 4: the file system, file permissions, etc.

      Later chapters cover shells, regular expressions, pipelines, etc. It even covers simple shell scripts, and a little bit of system admin stuff.

      The final chapter is how to pick a distro!

      Highly recommended.

      steveha

      --
      lf(1): it's like ls(1) but sorts filenames by extension, tersely
  27. Not that hard by ToasterTester · · Score: 1

    My experince has been easy to tach Linux to MCSE's. Have them do installs and read the "Purple" book gives them a good start. Key is just getting them systems to practice with. Linux is simple because it comes with most config' files with basics in it, unlike Solaris and other Unix's that many files have to be created from scratch.

    For developer MCSD that is another story. Most Unix programmer don't understand Windows programming and visa-versa. Treat it like they are starting over and teach system architecture and C programming so they understand the platform.

  28. Re:Could this be my first one ever!?!? by Anonymous Coward · · Score: 0

    Congrats!

  29. Don't try too much. Actually, don't try anything. by eastern · · Score: 1
    Most people posting here need to to follow the link in the story and actually read the MSCD requirements first.

    Note that these people (at least those who are actually likely to get the cert), are probably there to become programmers doing bread-and-butter database business apps, not Sysadmins doing cool things with Windows Terminal Server (it's possible).

    They are going to do VB with SQL Server or local Jet databases, and there's nothing in the *nix world that can compete with that combo in time-to-first-pay-cheque. That's a combination of a lot of different factors (including market size) that do not exist in the *nix world.

    True realization that *nix is better comes (as opposed to ./ing zealotry), zen-like, after many deep experiences. In a two day program, just read them excerpts from The Jargon File, and hope the better ones join the fold some day.

  30. Reading by Anonymous Coward · · Score: 1, Insightful

    Just make sure that they read:
    http://www.fsf.org/philosophy/right-to-read .html

    It is a cool little short story that appeared in the Communications of the ACM. It will show them that there are larger issues at stake beyond merely getting their immediate tasks accomplished.

  31. command line power by simetra · · Score: 1

    exporting display is always neat, but the power of the command line is great.
    Show them how to do with one command something that would take 15 minutes of cutting/pasting in MS Word.
    Samba and regular NFS mounting is cool too.
    Changing init levels manually is good to know.

    --

    "Would it kill you to put down the toilet seat?" -- Maya Angelou
  32. Some thoughts by robinjo · · Score: 2

    These people may only know about Windows and Microsoft solutions. If so, you'd better give real world examples of what is done with Unix now.

    Unix is used because it scales well and is rock solid. With Linux you also get the price advantage, though that isn't so important in big projects. Quality and stability are and you should be able to show that Unix is high quality.

    For a MS-only person it's important to be able to use Unix only in some places. Samba is a great example. Same goes with Apache. They might also like the possibility of producing cross platform solutions. Kylix/Delphi is a great example here.

    Don't get into any religious fights. Just tell/show places where Unix is a great solution but do it without bashing Microsoft.

  33. Some Suggestions by cybermage · · Score: 2

    Speaking as someone who routinely uses, and actively advocates the use of, both Windows and Linux together, I have several suggestions:

    First, don't make excuses for Linux's weaknesses. You may have students who criticize, quite rightly, the current Linux desktop. Rather than defend it, accept the criticism and move on. You don't want your students to make their conclusions about Linux based on how it looks on the surface.

    Second, as you're planning with database services, show them the benefits of Samba and Apache. If any of your students are responsible for admining servers they should be able to relate to these services as well. One point of caution though: They'll be used to using GUI's to administer services and may be turned off by the idea of editing text configurations. I have explained, with great success, that good text configs don't obfuscate your options. Sometimes the most powerful options are buried in GUI's. In a text file, the option you want is just '/option' away.

    Lastly, and most importantly, your students will need to know where to get help in the future. Some like to read books, so introduce them to O'Rielly's animal farm (as I like to call it). There's also web and IRC locations support options. Remember that the Linux community has won awards for support, so you want to play that up. Linux support is one of those free things where you actually get more than you paid for. Be sure, however, to advise on where to ask what level of question. Newbie questions often get ridiculed on IRC, for example.

    Good luck with your class. I would suggest that once you've put together your materials, you may want to submit a follow-up story. Perhaps you'll plant the seed for a class LUG's can offer all over.

  34. inodes, symlinks, shell, documentation by schoett · · Score: 2, Informative
    Teach them about the difference between directory entries and inodes (hard links, files disappearing only after close) and show them how this allows one to replace files in use without reboot.

    Second, teach them about symbolic links and how this makes it possible to separate logical from physical file locations.

    Third, show them how to do tasks with shell pipelines (don't forget to explain that file globbing is done by the shell rather that by each command).

    Finally, show them that there is complete documentation for everything.

    1. Re:inodes, symlinks, shell, documentation by zorander · · Score: 1

      Generally an MS certification type is not going to have the technical background and depth to understand soft vs. hard links and the concept of inodes. It takes a little bit of filesystem theory to understand how that works, and it even helps to understand ext[23] a little bit as well. Try explaining this to people who only know of different filesystems as FAT32 FAT16 FAT12 and NTFS, all of which are mostly the same on the surface...these are known by their limitations, not their capabilities...you're gonna get a lot of 'oh so that's just like an lnk file, right?' from these people if you tell them that.

      Brian

  35. hmm by Iamthefallen · · Score: 2

    Being an MCSD student, I think you need to focus on what can be done with Linux systems and services, not how to do it. To me personally something isn't interesting to learn unless I have a use for it. While ls, grep and cat sure are useful, they don't tell me anything of what I can do with them or why I'd even want to learn a bunch of new commands on a new OS just to run some obscure a-patchy-webserver. Show them how MySQL works, show them how Apache with PHP works. Show them what they can do with a Linux box and when they might find it useful to install one instead of an expensive windows server.

    So show not just how to grep, cat and ls, but give them enough info about what they can do with a Linux box so they might feel tempted to try it on their own. Go through the common services they might come across and what they can do and briefly explain the normal Linux commands as you use them.

    --
    Wax-Museum Fire Results In Hundreds Of New Danny DeVito Statues
  36. Teach them how to install software. by Morgahastu · · Score: 1

    I've taken unix/linux classes in college and I've seen the linux crash course books and they always focus on how to use grep and how to use kde or gnome but that will only get you so far. Like those people who say that they got their grand mother using Linux. Maybe so but I doubt that once she needs to install new drivers she'll be a happy camper. I suggest you teach them how to use "make", how drivers work in linux, how to install software, etc. I remember how frustrated I was after I tried to install software and my wireless network card without any rpms. I don't know why no one teaches that, its not like everything is available in rpm.

  37. Keep a cool face until by cOdEgUru · · Score: 1

    towards the end of the first session, play the LOTR theme in the background and start screaming like Gandalf, about to slip in to the bottomless pit.

    "Run you fools...."

  38. I've done this by Beowulf_Boy · · Score: 2

    I've turned a Pro-microsoft Unix Basher around to the point at which they came to me and asked me to setup a *nix lab for them.
    It was my Partner at my volunteer job thingy at school. I am the co-director of the CNE High school Tech Dept. There is me, and my partner, Rob. Rob lies, rob lies alot. At the beginning of the year, he had me convinced he has his A+, his MCSE, and an Associates Degree in Comp Sci, aswell as 2k$ in Microsoft stocks. Since then, I have found none of this to be true, yet he does know a damn lot about adminning NT and somewhat of 98. I take more care of the teachers computers, the lab computers, and stuff like that. I make sure defrag is ran in all the labs and on all the teachers computers monthly, etc, etc. I also upgrade, fix, and repair. I can strip a computer to the mobo and have it back together in 2 minutes, Rob can re-install NT from corrupted back-up tapes.
    Anywho, I setup a linux lab (redhat 7.1 with XFS and icewm for those who want to know) as an internet surfing lab at the middleschool. So far since November all I've had happen is one X server crap itself, and I just re-ghosted it.
    Rob manages the 98 lab (I keep it running, it just installs software and such.) Imagine 5 groups of 30 highschoolers a day in there. It is not fun. Stuff gets deleted, uninstalled, one machine had 10 copies of AIM installed, etc.
    Then there is the 486 Lab, which is primarily for typing and some internet research. After seeing the sucess of my Linux lab (some students are supposedly confused by it, but I don't see how, Netscape is pre-started and that is all there is), he finally came to me and said, "I want to put linux in the 486 lab". know that any current distro would be slower than my overweight grandma, and that no older ones would easily allow a journaled FS to be setup, we are now planning on installing QNX R4, but its similar enough to be counted, eh?

    1. Re:I've done this by Roadmaster · · Score: 1

      Sounds like those old 486's would make decent terminals for a linux terminal server (LTSP). Just put one big badass server on the lab, install LTSP, and presto - every 486 has a login manager screen, users log in and apps get run on the server, displayed on each workstation - works like a charm.

      I can tell you demoing LTSP has never failed to leave people drooling, and while the server should be a big machine (by Linux standards, you probably DON'T need 16 GB RAM, 8 processors and 1 TB of disk space), the clients themselves can be as lowly as necessary (as long as they can boot a Linux kernel, have a compatible graphics card, NIC and mouse, you're all set).

    2. Re:I've done this by Anonymous Coward · · Score: 0

      the moral of the story? rob couldn't admin.

      in our labs here until this year, we hd win98. you could software as long as it didn't modify anything in the system (so small apps like mirc or aim would do fine). On reboot, the machine just reimaged itself from a server. Login was through the central kerebos system. I'm not quite sure what software was in use for access control...

    3. Re:I've done this by Beowulf_Boy · · Score: 2

      It all gets better next year.
      We will have having Win2k and Terminal servers on everything. But when I asked what keeps them from press alt+f12 or whatever to get back into windows and screwing with stuff, he just stared at me and said not to tell anyone!

    4. Re:I've done this by Daengbo · · Score: 1

      Then take a look at the K12ltsp.org site... They have an out of the box Linux thin client distro with rdesktop to log into your win2000 server. I've got the same setup here in Thailand and love it. Dan

  39. bring them distros by jd142 · · Score: 2

    Yes, you'll be out a few bucks for the cd's, but why not bring in a copy of red hat, mandrake, debian, whatever you want. Maybe two different distros to show the variety. Whatever distro you are comfortable with. Bring enough for everyone, that way everyone can walk out with the ability to do whatever you showed them.

    Let them know about the local lug if there is one.

    1. Re:bring them distros by Anonymous Coward · · Score: 0

      A great way to do that is the "SuSE Live evaluation cd". SuSE is my fav Linux Distro, and it always annoys me that they make it so hard to get ISO's, but in this case the Live eval CD would be great. You just boot from the CD and it loads what it needs into RAM, and runs from the disk. You can have them all using Linux on the Lab computers, without haveing to touch the precious windows partitions (barf). Then send them home with a cd with a whole distro, like RH7.2 or the like.

  40. Make 'em "Think Unix" by Big+Sean+O · · Score: 2

    Jon Lasser has an excellent book which assumes you're a computer user, but new to Unix. He starts out with "Unix Documentation" or "how to understand poorly written man pages" as I like to call it. Then he talks about "Files and Processes", "Redirection and Pipes", and "Networking". Later he gets into vi, regex, and shell programming. Finally he talks about the X Window System.

    It's a good book. I learned Unix from reading it. The book would be a good starting point to creating an interesting class.

    --
    My father is a blogger.
    1. Re:Make 'em "Think Unix" by J.+J.+Ramsey · · Score: 3, Funny

      "Jon Lasser has an excellent book which assumes you're a computer user, but new to Unix."

      Great. What's the *name* of the book?

    2. Re:Make 'em "Think Unix" by Big+Sean+O · · Score: 1

      Um, it's in the title -- Think Unix.

      Sorry, I was being clever... :/

      --
      My father is a blogger.
  41. Great book - Linux for Windows Administrators by Brento · · Score: 2

    Check out Linux for Windows NT/2000 Administrators by Mark Minasi with Dan York and Craig Hunt. It's from Sybex. Can't recommend it enough, got me started - explains everything from a Windows point of view, and doesn't bore you with things you already know from Windows experience.

    --
    What's your damage, Heather?
  42. You're getting off topic! by ddstreet · · Score: 2
    ...show that there are free alternatives...

    WHOA! Hold on there.

    What is the course you are teaching? An intro course on *NIX? Ok, great - but why are you now trying to throw in Free Software? That is not what the course is about!

    Forget trying to convert any of these M$ students. That is definately not what they are there for. What you should be doing is teaching them the basics of *NIX. Don't try to mix in political rhetoric. Whether or not MySQL/PostGreSQL can beat SQL Server is completely irrelevant to the course.

    Stick to teaching *NIX intro stuff, don't get into Proprietary vs. Free. In 2 days you will not convert any MSCD students. Really.

  43. No! Don't mention MySQL! by Nicopa · · Score: 1

    MySQL is designed to appeal to sysadmins with no SQL or programming experience. They are surely used to Oracle and MS SQL server. They will expect views, transactions, foreign keys, stored procedures which are included in PostgreSQL but not in MySQL (unless you use experimental and beta code). They will laugh at you if you teach them MySQL.

    1. Re:No! Don't mention MySQL! by el_chicano · · Score: 1
      They will laugh at you if you teach them MySQL.
      I agree that you need to show them Postgres (or Oracle 8i/9i running on Linux), but I think that MySQL has its place. The reality is that many web applications don't need a full database system.

      You can use a text editor to knock out a couple of PHP pages running MySQL queries in less than fifteen minutes. It can serve as kind of a proof of concept prototype of an application. That stops the "its too hard" type of objection in its tracks.

      Also, there are also many cool apps out there that use MySQL. A notable one is phpMyAdmin, which is an amazing tool for managing MySQL. I think it is pretty cool that you can untar the phpMyAdmin distribution file in your web document root, edit the database connection info in the config file and then be up and running in a couple of minutes.

      I would also show them Freshmeat, and have them look at the diverse range of programs using MySQL and PHP (and Perl and Python and [insert favorite programming language here]) available there. By seeing what other programmers are doing, they will get ideas for programs of their own.

      Showing them how to obtain the source so that they can modify/customize the program also promotes code reuse. Who knows, maybe one of your students will contribute some source code back to the community someday...
      --
      A man who wants nothing is invincible
    2. Re:No! Don't mention MySQL! by Nicopa · · Score: 1

      But being PostgreSQL just as easy, why not have a normal RDBMS? MySQL has really no place nowadays. It might be sad for a project but it's true. Its only use is when other applications were designed for it and require it.

  44. The year is 2080 by Tablizer · · Score: 1

    when MS is gone and Linux is the only OS game in town. Nobody cares about promoting it anymore.

    You would tell them:

    "Go read the f___ manual!"

  45. Ok, but show them something useful by KidSock · · Score: 2

    After you show them where the man pages are and how to use the tab key be sure to show them something useful or they're just going to ask "why do I want to do this?". For example, run through a simple shell script. Like this one that allows you to quickly update your web page:

    #!/bin/sh

    rm -f ${1}.html && \
    wget http://www.myisp.com/~me/${1}.html && \
    vi ${1}.html && \
    exec ftp www.myisp.com

    Think of examples that do things Windows just doesn't let you do like running X applications remotely. Here's a must read regarding that topic:

    Remote X Apps mini-HOWTO

    The Xnest script from the above would be good.

  46. Side by Side by ArcadeNut · · Score: 2

    Have two computers to demonstrate on. One is a Windows box and one is a Linux box.

    Show them how to do something in Windows, which they should be familiar with, then show them the Linux way of doing things. This will help them remember it better and become more comfortable with Linux.

    For example, something as simple as changing Screen Resolutions. It's a basic thing and it shows how the two are different.

    --
    Visit the Arcade Restoration Workshop @ http://www.arcaderestoration.com
  47. Do they know DOS? by dsoltesz · · Score: 3, Insightful
    If these Windows users also know DOS (I don't know if that's a fair presumption) one approach is the Unix Guide for DOS Users approach -- give them a list of the basic commands and their Unix counterparts. That combined with man/info can certainly give them a jump start. (Unfortunately, the book I'm thinking of appears to be out of print.) As for the basics, Windows users will appreciate knowing how to (ab)use ln.

    I'm also assuming they don't need to know how to set up and install a system, just be a user. They should know how to configure their own environments, set environment variables, etc. System stuff should be limited to the software they might be using and managing -- where are the logs and conf files, how to install, and so forth.

    Free alternatives to costly software is a great idea. What about a brief discussion of Apache, JavaServer/JSP, Xerces, Xalan, etc? No need to get into the nitty gritty, but let them know there are free, multiplatorm alternatives to everything. My alternative to Visual Studio is Visual SlickEdit.

    1. Re:Do they know DOS? by Anonymous Coward · · Score: 0

      It must be assumed that anybody who bought a computer *after* 1995, does not know anything about DOS. (win 95)

      Time flies...

  48. Cygwin -- an introduction to cross-platform tools by Spoing · · Score: 2
    Since they are going to be using thier MS certifications in an MS environment, it might be good to introduce some Unix-style tools available for Windows like those in Cygwin.

    The only downside to this is that those unfamiliar with modern Unix-like systems might see Cygwin as all that Unix is. I've had some Cygwin users insist to me that Linux really should have a GUI, for example.

    --
    A firewall can not protect you from yourself. Turn off what you do not need. Do not use the firewall to do your work.
  49. Also: by MAXOMENOS · · Score: 2

    I love yack0's suggestion. I would add this: if these people are MS junkies, you might have to teach them very basic UNIX skills: ls, rm, cd, more, less, pico, etc. Believe me when I tell you that you'll have at least one student who doesn't have even this level of skill.

    Since this is a crash course, you can probably get away with giving them a short cheat sheet and recommending that they get their hands on a copy of Linux in a Nutshell. But don't forget to incorporate at least something about UNIX basics into the course.

    1. Re:Also: by Anonymous Coward · · Score: 0

      Dude, DOS has 'cd'.

  50. Isn't this alot like the last Ask Slashdot... by NoMoreNicksLeft · · Score: 1, Flamebait

    Where the behavioral psychologist was asking for tips on how to teach spider monkeys algebra and calculus?

    Don't get me wrong, spider monkeys are smart little critters. Besides, I think they were MCSD certified too.

  51. What you teach depends on what they need, doh! by mikeb · · Score: 2, Interesting

    I'm sure that many of the posters here suggesting teach-this or teach-that mean well, but most seem to me to be missing the point. You don't start teaching a class or course without an objective, unless you are naive or dumb. The first two things you have to know with any class are a) what do they know when they come in and b) what should they know when they leave. Ok, for this group we have a fair idea of what they know coming in (but all the same, it helps to know if they are CS grads, MIT professors or high school dropouts :) ).

    So the next thing is the outcome you want. Why are they being taught? Whose idea was it? Is it just for information, or are they supposed to be able to DO something with this new knowledge they are supposed to be acquiring? Is it just a general awareness class or what? If you don't know that, you haven't a chance in hell of getting it right.

    Once that's known you can figure out what you want to introduce them to. There are some materials you might care to use free for download from http://www.linuxtraining.co.uk if that helps you with some training notes.

    As someone who makes part of his living from Unix and Linux training (the former for 25 years, the latter for 5 years) I'll happily share my experiences of introducing Microsofties to things like the command line and the intricacies of Linux.

    They will be impressed by networked X - I save that for the last couple of hours, since people typically remember most about the last thing they saw and you want to leave a good impression.

    The filesystem won't be hard for them, neither will NFS. They will keep asking about domain authentication, but I'd steer clear of NIS :)

    The most important thing I can say is that they will HATE HATE HATE anything command-line oriented. The fastest way to lose them is to start harping on about it. The really bright ones will pick that up for themselves later, but for the introduction, use something like SWAT for Samba admin - webmin will do that and most other things too. I can't emphasise that enough, it's based on real-life experience.

    The rest of the class plan you will have to pick when you know what you are trying to get them to do when they leave.

    Finally, don't try to teach too much. Two days is VERY limited, the best you are likely to do is get them interested and reduce the fear level. To get people through even basic stuff like LPI 101 and 102 is around ten days of classroom and exercise sessions. In two days they can only get a taster. If you haven't taught in this kind of situation before, you will be astonished how little can be covered in two days from a standing start :(

    Best of luck!

    Mike

  52. Start with Rute by digitect · · Score: 2

    Definitely start with:
    Rute User's Tutorial and Exposition

    Best learning (and reference) resource I've ever seen for Linux.

    --
    There is no need to use a SlashDot sig for SEO...
  53. What are they supposed to be learning? by Otter · · Score: 2
    These are aspiring .NET developers, right? You don't mention the rationale to be teaching them about Unix but presumably it's to teach them about the platform.

    Most of the suggestions people are making (show them how you can change or theme window managers, install a distro, perform maintenance over ssh, ridicule them) seem to be aimed at MCSEs or admins, not at developers. I still haven't quite figured out whet .NET and its free implementations are or do, so I can't make very useful suggestions (someone come up with better ideas) but I'd imagine teaching them about things like paths, libraries, gcc, scripting languages and available toolkits would be helpful. I don't know how usable Mono and the Qt or Gtk bindings are but you may want to look into them and show them if there's anything yet to show.

    Or Glade, Qt Designer, KDevelop...

  54. Uphill Battle by Joe+U · · Score: 1

    No matter what you do, expect to lose about 35% of them within the first 5 mins. Some will be in the MS only crowd, others will just get lost.

    The rest you'll be able to work with.

    Most developers know there are alternatives to SQL server, for them, it's usually called Oracle. Explain that there are alternatives to Oracle.

    Most enterprise developers are not concerned with the backend, as long as it fits their needs. The thing could run on a Commodore 64, if it accepts SQL, it works.

    Whatever you do, do not preach Linux to MS developers! It's the quickest way to annoy 95% of them, and I've seen it done many times before.

    They have to approach it as just another platform that they can code on, no better no worse. Only once they understand that do you explain the benefits and pitfalls of running on other platforms. Make sure to explain both. That will get them thinking.

  55. Show them GPL software under windows by dasunt · · Score: 2

    I use Apache, XnView, Gvim, PHP, the Gimp, mySQL, and many other applications under windows. Show them that GPL does not have to be an all or nothing step, you can mix and match win32 and GPL, and have a system that you are mostly familiar with, and high-performing apps, for less then the cost of a pure Microsoft solution.

    Then, show them the ease of linux remote administration, the windows compatability, and how linux is usually faster/more reliable on slower hardware. Show them the stability of linux vs windows.

    I'm my experience, the disadvantage you have is warez. There are plenty of 'free', easy to use software for windows if you know where to look. Bring up BSA horror stories, and talk about the GPL.

    Just my $.02

  56. Start with the basics... by Colz+Grigor · · Score: 1

    If you're teaching Microsoft junkies, the first thing you'll need to do is make sure they know how to breathe on their own. And check for a pulse, too. Once you're sure they're alive, give them a big rag to wipe up all the drool: any time a Microsoft person tries to learn something, they're bound to soak themselves one way or another.

    Okay, so once personal hygiene is attended to, you should show them what the keyboard looks like and how it works. Remember, they've been using a mouse for so long they may not even know what a "keystroke" is.

    Oh yeah, do not teach them vi or emacs. They have no idea whay a powerful text editing program is, so it'll take you days to explain it. Even pico might be a bit advanced. Maybe ee would be right for them.

    ::Colz Grigor // Tongue firmly in cheek.

  57. Re:Don't try too much. Actually, don't try anythin by gregfortune · · Score: 2

    They are going to do VB with SQL Server or local Jet databases, and there's nothing in the *nix world that can compete with that combo in time-to-first-pay-cheque. That's a combination of a lot of different factors (including market size) that do not exist in the *nix world.

    Dunno about that... Python, Qt 3.0, and MySQL have a pretty good shot and overthrowing the RAD power of VB. Qt 3 now supports data aware widgets which allow you to tie a DB in a similar way that VB allows. And Python just kicks VB's butt as a language. Qt Designer has some pretty cool stuff like signal/slots, superior layout control, etc that give the form builder in VB a run for its money...

  58. CD-bootable distro's by rawburt · · Score: 1

    Make sure to show and hand out some of the bootable cd distro's. Demolinux or . That is a great way to introduce Windows-users to linux.

    --
    --- oops
  59. Don't forget VI by Spacelord · · Score: 1

    Teach them vi, or at least the basics ... Don't want to start an editor flameware but vi is the only text editor you will find on just about any Unix system.

    One of the things that frustrated me the most when getting started with Linux/Unix was that all the howtos told me to "edit this, edit that" without telling me *how*

    1. Re:Don't forget VI by hattig · · Score: 2, Insightful
      I will have to disagree. These people need something like Notepad, not VI.

      Emacs would be better because at least you can type stuff straight in after running it, and it has some menus, and saving files is simple ctrl key stuff. In vi, doing 'i' to start editing, and then wondering why the cursor doesn't wrap around at the end of lines, and then "esc", ":" "w" to save the file is just too much for these people. Vi isn't normal! vilearn is a good tutorial program, but these people are not here to learn Vi. Mention Vi as an editor available on every Unix system, mention that it is complicated, but they can use gvim as an OLE editor within Visual Studio...

      Pico is suitable - it is easy to use and has a help system. In a GUI environment, just use gedit or kate or whatnot.

      Overall I agree with the people that advocate showing what you can do with a Unix system, not how to do it. Show the development tools available, show the services available, etc. Show differences between Windows and Unix equivalents. Don't be evangelical about Unix, be realistic. Explain that the systems are different, and both have advantages and disadvantages...

    2. Re:Don't forget VI by Anonymous Coward · · Score: 0

      You must be new to Unix. Typically, the only editor found on just about every system is ed. There are MANY Unix installations without vi installed. If you're new to Unix, I can see how you could get confused about this pretty easily.

    3. Re:Don't forget VI by Spacelord · · Score: 1

      > I will have to disagree. These people need
      > something like Notepad, not VI.

      Good luck finding a "notepad" lookalike that's available on any Unix system. I think you are thinking too Linux centric when you're suggesting emacs or pico. While these tools are probably closer to what they are used to, they are just not going to be available on a standard install of say Solaris, AIX or another commercial Unix. Even on a lot of Linux systems they will not be available. OTOH It's a pretty safe bet that vi *will* be available.

      Anyway, I thought the purpose was to teach them things they don't know yet (like vi) as opposed to things they already do know (like notepad).

    4. Re:Don't forget VI by Anonymous Coward · · Score: 0

      Show em' the Midnight Commander. It'll handle their file manipulating needs and won't confuse eh' right off the bat.

      Yeah I know it's not everywhere, show em' how a connection and lynx will allow em' to search the Google and find almost anything they might need including the midnight commander.

      Show em' how a boot system like tom's RTBT will allow em' to do that from a floppy.

      I have to manage broke window crap all the time and their jaws drop when I haul the RTBT floppy out of my pocket and fire up Linux and go on line to get what's needed, replace files or maybe move important stuff elsewhere while we take the god forsaken windows box down to the metal *again*.

      Sigh

      PG

    5. Re:Don't forget VI by xtremex · · Score: 2

      In the past year, I've installed HP/UX, SOlaris and AIX. The vi is different ont he commercial platforms than it is on Linux. When I switch from a Linux ssh connection to an AIX session, I forget that backspace doesnt work on AIX (unless I set up the env). It annoys me. I wil forget that x and d deletes, after using vim for so long

      --
      If you're not a Liberal in your 20's, then you have no heart.If you're still a Liberal in your 30's you have no brain.
    6. Re:Don't forget VI by DarkProphet · · Score: 2

      Good luck finding a "notepad" lookalike that's available on any Unix system. I think you are thinking too Linux centric when you're suggesting emacs or pico. While these tools are probably closer to what they are used to, they are just not going to be available on a standard install of say Solaris, AIX or another commercial Unix. Even on a lot of Linux systems they will not be available. OTOH It's a pretty safe bet that vi *will* be available. Anyway, I thought the purpose was to teach them things they don't know yet (like vi) as opposed to things they already do know (like notepad).

      Kedit. Gedit. Kwrite. They're all close enough to Notepad for me.

      --
      What could possibly hurt the security of the American people more than giving our own government the ability to hide its
    7. Re:Don't forget VI by benjamindees · · Score: 1

      The first thing I did on a client's SCO box was ftp to Caldera and install Pico. It's simple. It has a few uesful features. It works in a telnet session. I need nothing more to fix 99% of Unix problems.

      --
      "I assumed blithely that there were no elves out there in the darkness"
    8. Re:Don't forget VI by spongman · · Score: 2

      "gvim -y" works ok.

  60. Moron by Anonymous Coward · · Score: 0

    If you're going to italicise a word, at least spell it right. Otherwise you just look like an idiot (which you are, so I guess the look suits you).

  61. The "Trojan Horse" Approach by Jouster · · Score: 1

    Walk into the room with a CD-R for every student with RedHat burned on there (or your favorite distro, whatever). Explain you've given them a 100% legal copy of this operating system that they are free to use in almost any way they can imagine, and that you downloaded it ten minutes ago from the company's website.

    It'll not only blow some minds, but they may also go home and actually use the discs.

    Jouster

    1. Re:The "Trojan Horse" Approach by xdfgf · · Score: 0

      I'm sorry but you're wrong. Most MCSE/MCSD people know the fact that Linux is FREE. They do not live in caves, and only read msn.com.

      Plus by saying the fact that it was legal to do this is like showing a card trick to a dog. They won't care just like I wouldn't care if I was in the class. I've worked around networks where EASILY 25% of the software was unliscensed and sometimes warez copies.

      so the "HOLY SHIT ITS FREE! I GOT TO GET MY HANDS ON SOME OF THAT!!" concept probably won't do much if anything.

    2. Re:The "Trojan Horse" Approach by Anonymous Coward · · Score: 0
      "Take a hard look at the Grand Canyon. try to explain that through evolution." - Freddie Cash, Creationist

      There's a river at the bottom, buddy. Besides, you're asking us to explain the Grand Canyon through geological change, which we can, not through evolution, which only applies to living creatures (and some software algorithms :>)
    3. Re:The "Trojan Horse" Approach by xdfgf · · Score: 0

      dont tell me. tell the leading "creation scientist" freddie cash. i have it there for simple shock value.

  62. First What's happening post by Dwaynewayne · · Score: 1

    dy-no-mite!

  63. Good Reference by kerneljacabo · · Score: 1

    Hey I had to do the same thing about 2 years back. After scouring the net and searching other places I realized that I had the OReilly Learning the Unix Operating System. Definately the most invaluable resource you have for teaching them basic directory structure and the most commonly used commands, plus use of VI and EMACS. The Oreilly Bash book is also very good for beginning shell usage/scripts.

  64. Books on *nix by MobyTurbo · · Score: 1
    Two days is not enough. Get them books to take home with them on Linux and Unix.

    Get them an introductory book like O'Reilly's "Running Linux". Also get them the new "Linux Administration Handbook" by Evi Nemeth et.al., the green Linux decendant of the famous purple/red books on Unix (and in the purple ed. RH Linux 6) that were reviewed on slashdot.

    Another essential book for anyone using the command line under Linux is "Unix Power Tools" from O'Reilly. It contains a lot of tips that show the power of the shell, vi, and assorted *nix utilities (They apply to Linux too, especially since Linux distros already include most or all of up to date versions of the GNU tools on the CD-ROM; I have this book and I haven't had to bother opening up the CD-ROM. :-) )

    Don't just show them the command line stuff of course, show off fancy X Windows window managers and desktop environments, show them the power of multiple desktops for example (though such are available on Windows too from third parties) Show them the customizability and better interfaces than Microsoft that can be achieved in X.

  65. Sun Microsystems solution to the problem by bbh · · Score: 2

    I think Sun Microsystems had a pretty good idea in writing a Sun Blueprint that basically takes a look at how to do a task under Windows NT and then shows the corresponding task under Solaris. It is published by Sun and is called "Solaris Guide for Windows NT Administrators". You can find further information on it at the Sun Blueprints Publications website:

    http://www.sun.com/solutions/blueprints/pubs.html

    bbh

  66. Bash, cron, grep by Not+The+Real+Me · · Score: 1

    Don't bother trying to teach them vi or emacs...absolute waste of time you want to show them the power not drive them away. I've been using vi for over 10 years and still find it to be as irritating today as when I was in college. Ditto for emacs.

    Run XFree86 with something like gedit to modify your source files. The MCSD will feel at home since gedit is kind of like notepad.exe, leaving you to concentrate on the real nuts and bolts -- bash, cron and grep.

    grep -Hin "phrase.to.find" *.sourceextention
    has saved me countless hours trying to find the right source file.

    also, some sort of shell script to show the power of "gluing" together other programs can be helpful.

    #!/bin/bash
    SOMEDIR="/usr/queue/temp"
    SIZELEFT=`df | grep "/dev/sda3" | awk '{print $4}'`
    MACHINE_ADMIN="root@localhost"
    if test -d $SOMEDIR
    then
    pushd `pwd`
    # only included for demo purposes
    cd $SOMEDIR
    echo $SIZELEFT > temp.stat
    if test $SIZELEFT -ge 552356
    then
    echo `date +%Y-%m-%d" "%H:%M` "lots of space: " $SIZELEFT >> log.msg
    else
    echo "/dev/sda3: running low on disk space: $SIZELEFT" | mail -s "Warning: Space Low" $MACHINE_ADMIN
    fi
    popd
    # only included for demo purposes
    else
    echo "$0 - ooops! (no such directory $SOMEDIR)" | mail -s "missing queue directory $SOMEDIR" $MACHINE_ADMIN
    fi

  67. Unix Philosophy (watered down) by bradtes · · Score: 1

    You might want to consider a very brief rundown of unix philosophy.

    (Almost) everything is a file

    Many small tools that can be used together

    some pipe basics

    a brief intro to the security model, groups

    That should make working with unix a little easier for them and provide a springboard for your crash course to link into other material.

    ----

  68. Teach them how to find out more... by sterno · · Score: 2

    Given that you are only going to have two days for this crash course, the amount you'll be able to accomplish is probably minimal. I taught a Linux class a little over a year ago that was a week long so I had the benefit of a bit more time. But I do have a couple suggestions.

    The biggest one is, teach them how to find out more. These are people who may be used to getting their tech support from paid vendors, and when working with Linux you can get frequently superior support from on-line resources. Teach them how to effectively use google and google groups to get "tech support". One of the most valuable tricks I learned early on with linux was simply looking for an error message in quotes. 90% of the time, somebody already asked the same question and somebody else has already answered it.

    Another thing I would suggest is get them familiar with the basics of getting around on the command prompt. Give them a reference sheet with the most useful commands and the most useful switches for those commands. Then if you don't have time to cover them in detail, at least a cursory explanation and that reference sheet should give them the foundation they need.

    Next, I would show them how easy it is to download and compile tools. Find some small piece of software that you use routinely, and then show them how to build it. Knowing that most packages can be constructed using the standard ./configure, make, make install, can take that edge of fear off that might be associated with having to compile their own tools. Just be sure you know it works on the machines you have to work with.

    Overall thought I think the focus, given your short time, should be making them feel comfortable with working on Linux. If you get them comfortable, then they can figure it out from there :).

    --
    This sig has been temporarily disconnected or is no longer in service
  69. Give them something tangible by tutal · · Score: 1

    While teaching them some points will be great, if you can inspire them to toy around and learn, that would be truly great. You might want to give them a copy of Linux Administration Made Easy and a copy of the latest slackware. If it a class of 15, you might be looking at total costs of around $40 (US) for copying the iso's to CD and for printing costs of the LAME. If you want a more user friendly distro go with Mandrake or Lycoris.

  70. Start by making a unix/dos command page. by t0qer · · Score: 3, Insightful

    One of the things that helped me out was a page I found that showed me the unix equivalent of dos commands. It looked sorta like this.

    DOS Unix
    cd cd
    md mkdir
    rd rmdir or rm- f -f
    type cat
    more more
    attrib chmod
    edit vi, pico, emacs

    Do this for the filesystem too. initab and rc.d are like autoexec.bat and config.sys. It will be tons easier for them to learn if they already have a foundation to build on.

  71. best plan of action..... by uberbastard · · Score: 1

    I have been doing the same sort of thing for the past several months at my place of employment.

    Some of my classes have had experience with linux/unix, and some have not, but I have found that the best way is to start simple.

    1) Start with some basic commands, available at linuxnewbie.org
    - Include certain operators such as the pipe, and how to use it, as well as file-viewing/searching cmds, such as head, tail, cat, less, more, grep.
    2) Go over simple filesystem design, such as where config files are kept, binaries can be found, etc...
    3) Introduce them to the usefulness of man pages
    4) Introduce them to some of the major applications (apache, sendmail, postgresql (or mysql)
    5) Lastly, be sure to compare to DOS/Windows as often as possible, so that your tutelages have something to cross reference in their minds.

  72. Re:But by Anonymous Coward · · Score: 0

    Yes.

  73. Teach them to RTFM by ryochiji · · Score: 1

    One essential skill in learning *nix systems, that many MS techs probably don't posess, is to RTFM. Installing software on *nix really isn't that difficult, because more often than not, there are step by step instructions in the README or INSTALL docs.

    IMHO, another important skill is to go out and find your own answers, instead of trying to get direct support when using OpenSource software. After all, there are very few questions that a simple Google search can't answer, especially when it comes to technical problems.

    1. Re:Teach them to RTFM by sketerpot · · Score: 1

      Yes, it is a good idea to tell people to F(Find)TFM so they can read it, but it is very hard to teach self-reliance. Hopefully these people will learn. You can help them along. "This is a README file. You read it."

    2. Re:Teach them to RTFM by Anonymous Coward · · Score: 0

      RTFM - Reboot The Fucking Machine?

  74. I wouldn't bother. Seriously. Here's why. by Bowie+J.+Poag · · Score: 2, Insightful



    In my opinion, the idea of getting Microsoft junkies to sit down and understand Unix is beyond your typical Microsoft junkie's ability. I'm not trying to sound condescending in that, either. I just think that theres a point where someone gets so entrenched in one way of doing, and one way of thinking, that they lose the ability to "switch gears" and pick up something fundementally different. I'll give you two examples:

    There was a guy I worked with named Brad. Brad was an ardent Windows guy. He knew nothing about any other OS'es other than Win32, other than their names. In his mind, Win32 was the pinnacle of operating systems because it simplified complex tasks down to a predictable series of point-and-click operations, and like most Win32 gurus, he had absolutely no idea how anything worked under the hood. He had no idea what a kernel was. Infact, anything below the driver level was completely black box to him. In summary, Brad, even though he knows his stuff, is completely oblivious to the merits and drawbacks of his own platform, because to pursue Win32 know-how as a career path assumes that you enjoy remaining ignorant about certain aspects of the machines youre running. It resembles something more of a religious belief than it does a philosophical belief.

    Unix, in its form and in its structure, is the polar opposite of Win32 in regard to how you approach it. You're not only encouraged to grab a shovel and dig deep into the platform, you're required to do so if you expect to gain mastery over it. That being said, Win32 users are unaware of this process. They think in surface-layer terms, whereas Unix people know their systems from the ground up.

    What makes matters worse, is Linux, and the idea that the whole damn platform can be looked at, dissected and understood down to the source. While this is an advantage to a Unix guy (since we are used to doing such things) , it presents an insurmountable task to a Win32 user, who's concept of computing often does not extend below the GUI.

    Here's another anecdote that illustrates the point i'm trying to make: Where I worked, a bunch of Win32 users were given the task of conducting performance evaluation and testing of RAID arrays under AIX. I appeared to be the only guy in there who had anything more than a extremely cursory knowledge of Unix. After a day or two, I began to wonder why all of the AIX hosts were being rebooted so often. I had a look at all the machines and their uptimes, and discovered that these boxes were being rebooted about once a day. I asked why. They looked like deer caught in the headlights....It turns out that whenever they were trying to remedy a config-related issue, their first instinct was to reboot the damn machine to fix it. To explain the concept of "uptime" would have been futile. To explain the notion that "rebooting is not how you fix a problem in Unix.".

    In short, they just plain don't get it, and its doubtful they ever will.

    Cheers,

    --
    Bowie J. Poag

    1. Re:I wouldn't bother. Seriously. Here's why. by SwedishChef · · Score: 2

      I agree completely. It's a fundamentally different way of looking at operating systems and changing someone who is as entrenched as an MSCE would be in W32 is damned difficult.

      On the other hand, moving a *nix guru over to W32 isn't difficult at all... they already know the details of how things should work, so it's just a matter of learning which buttons to push and which concepts have been redefined ("domains" to name just one).

      --
      No one ever had to evacuate a city because the solar panels broke!
    2. Re:I wouldn't bother. Seriously. Here's why. by Permission+Denied · · Score: 1
      While I agree that the colleagues you describe would probably not benefit from such a course, you don't know for sure that his students are like this.

      I once TAed a graduate course in web programming under Unix (using perl, php, python, java, etc.). Most of the users had full-time jobs in industry, some computer-related, some not computer-related (eg, one guy was a police officer, another worked for the USPS). None of them had touched Unix before.

      I was fortunate because all of them were more-or-less open-minded. We were probably fortunate that few of them had programming jobs, as this kept them open to new ideas. By the end of course, some of them were quite excited about Unix and were using it in capacities outside of the course - that is, the course was a success.

      The question you have to ask is why your students have no experience with Unix. Your colleagues seem to be close-minded, Microsoft-indoctrinated users. They had plenty of chances to try to learn about Unix (eg, that AIX box), but they chose not to do so.

      There are other kinds of students, however. If you've never gone to a traditional CS program at a real university or you've never worked in the areas of IT where Unix is actually useful (eg, you've only had to use a computer for web, email, Word, or some corporate database app someone else wrote), you've never had a chance to learn about Unix. If you had the motivation, you could have installed Linux on your home PC, but there are few reasons why you would need to do this. These students are not close-minded, they've just never had the chance to play with Unix, and starting out can be very intimidating. That's the reason they work with Unix gurus: just to get a start.

      I've had great success introducing Unix to everyone I've had a long-term relationship with: former ASP/VB Microsoftie colleagues who are now PHP/MySQL experts, people who couldn't program outside of their friendly Visual Studio environment who are now happily programming Emacs Lisp, hardcore Mac-heads who wouldn't touch a Linux or BSD box even if you paid them large sums of money who are now Solaris admins.

      I believe the secret is attitude. Never be condescending; always be gentle and polite. Don't complain about how it's hard or impossible to do a certain task on Windows; implement the same thing on a spare Linux box, and don't flaunt it to everyone, just let it sit there and do it's thing quietly. Advocate by example, not by argument.

    3. Re:I wouldn't bother. Seriously. Here's why. by Bowie+J.+Poag · · Score: 2

      The premise is false. Anyone can learn new skills, especailly in the computer realm.

      Sure. Anyone can learn new skills. But they'll never be as skilled or as technically proficient as someone who has dedicated the majority of their focus to the same pursuit. This is particularly true in Unix. Personally, i've been doing Unix for about a decade. Ten years straight. By your logic, anyone who takes an Intro to Unix course at a community college has an equivalent pool of knowledge. If anything is patently false, its your assertion that dedicated pursuits of knowledge are pointless. Instead of true professionals, you'll have a group of people who have an equally poor knowledge of everything.

      I write kernel level code for Windows from time to time. I customize and develop drivers as needed. I muck about with all the same things that even the most ardent Unix guru deals with.

      Then you realize that you are in an incredibly small minority of Win32 "professionals". Surely you aren't claiming that having a deep knowledge of Unix is equivalent to a deep knowledge of Win32..(!)


      Here we go again with the "Unix people are better because they can handle source".
      That wasn't what I was saying at all. I was merely pointing out that the availability of source adds an extra layer of complexity that Win32 are completely sheilded from. What is a requirement for our discipline is an exotic, far-flung side issue for your discipline.

      Somehow you seem to think that if we don't all choose to be BOFH we are useless, an unneeded appendage. Quite the contrary. The world needs both Win32 and Unix. I just prefer that the two not mix..I'd no sooner put a Win32 user behind the wheel of a supercomputer than I would put rollerskates on a horse.

      Cheers, and speaking of rollerskates......

      --
      Bowie J. Poag

    4. Re:I wouldn't bother. Seriously. Here's why. by 0x0d0a · · Score: 1

      He was forced to drive 12 hours round trip?

      Heck...
      sash
      -ln -s /lib/i686/libc-2.2.4.so /lib/i686/libc.so.6 would have fixed this on my system.

      If he'd already rebooted the system so that it couldn't boot, then he'd have a bit more of a problem. He'd have to make the drive and then type the following:
      lilo: linux init=/sbin/sash
      -ln -s /lib/i686/libc-2.2.4.so /lib/i686/libc.so.6

      Voila. And I don't consider myself much of a UNIX guru.

      I think it's less that Windows admins aren't any good (the impression I got from the original poster) and more than the really good sysadmins often migrate to UNIX. Obviously there are also good Windows sysadmins -- I've just found that the general level of competence among UNIX sysadmins is higher.

      And frankly (and this could be because I don't know Windows as well), I'm not sure what I'd do to fix a situation in which something in the registry on a Windows box had gotten screwed up, preventing booting. I *could* handle the problem if it were initscripts on a UNIX box, however. In Windows, I'd probably be forced to restore from a backed up registry or reinstall everything after grabbing what I could from the hard drive by tossing it into another machine (I couldn't even boot into Windows from a CD because Windows is pretty much incapable of booting from a CD).

      Almost anything that breaks on a UNIX box I can fix or can figure out how to track down and fix. Why? I have a really top-notch set of tools that make it easy: strace, ldd, ltrace, gdb with core files, rpm -V, lsof, netstat -nta, /var/log/messages...an average Linux system has an incredibly powerful and good set of troubleshooting tools that'll let almost anything be patched up. On Windows, almost nothing (well, checkdisk and regedit) is bundled that lets you analyze and fix problems. There are a very few good free utilities out there -- filemon and regmon, but on the whole, fixing Windows problems is as much fun as banging your head into a wall. Hell, Microsoft doesn't even put out a free debugger -- even Apple (which seems to be much derided by tech enthusiasts) gives away the solid Macsbug and ResEdit...I don't see MS handing out SoftICE and Borland Resource Workshop any time soon.

      Also, I've seen more availability issues with Windows than UNIX. At CMU, we have a nice collection of big UNIX machines we can use -- they're simply up. You can log into them, and they always work.

      The Windows machines in clusters around campus are another story. One day your AFS directory doesn't mount, another the central auth server isn't handing back anything to the Windows clients.

      Finally, I think you're somewhat guilty of the "reboot" mentality as well. Okay, maybe the reason the guy didn't want to reboot was bogus, but there's no reason to reboot. I don't even know why he wanted to kill the servers -- /etc/rc.d/init.d/servicename reload or kill -HUP should, for any demon, produce a reload of the config files without restarting. The only time you'd want to actually *kill* any daemon is when you've actually replaced the binary with a new version, and you want to load that into memory so that it's being used.

      I also don't see why, if you were working on half of a load balanced-site, you couldn't redirect the work to the other system for a while and reboot when your server was unused, if you were bound and determined to reboot.

    5. Re:I wouldn't bother. Seriously. Here's why. by TheTantrik · · Score: 1

      http://www.microsoft.com/ddk/debugging/ Command line (ntsd) and gui debugger. Full featured remote debugging too.

  75. Keep them interested. by iq+in+binary · · Score: 2, Interesting
    One of the things that gets me interested in things and makes me want to learn more about it is when I see something really useful or cool or whatnot done with what I want to learn about. Take electronics for example, my electronics teacher got me interested on the first day by pulling out a mic/transmitter array that could be used for very devious purposes (say, room tapping). This caught my attention quick (I'm 16, what d'ya expect). A good way for you to teach them, especially in crash course format, would be to get them to want to be able to do something "up there", like piping
    • very
    certain data from an often used program on your server to, say, a log file or even another program. Try to make it look as easy as possible, emphasise that it can be done with any program, any file. Stuff like that cannot be done with any microsoft OS unless the programs are written or re-written specifically for the purpose.

    On top of that, when you have them doing something on their own, be doing something on your own computer (X running, blah blah blah) that would amaze a windows user. Use enlightenment with a really good theme while doing something that has to do with class or even just burn time. On the off chance they see what you're doing, they might start looking at Linux as being more and more attractive;)

    Of course, this might not work, the students having less care for anything else other than Microsoft, their souls having been sold to them and all :-P

    --
    Of all the Universal Constants, here's one I know: Nice guys finish last ;)
  76. The Unix Philosophy by rubinson · · Score: 3, Informative

    You've only got two days and from what it sounds like, students are being forced to attend so they're not going to want to be there. They're not going to learn much unless you peak their interest.

    I'd suggest teaching them the basics of the Unix philosophy - small is beautiful, make each program do one thing well, avoid captive user interfaces, etc. If you don't already have a copy, pick up Gancarz's The Unix Philosophy which describes the various tenets clearly and concisely. (Hell, if you're allowed to or have a budget, make the text a required purchase. It's cheap.)

    Something like this would be far more useful than 'ls|grep' or "/etc is where system-wide configuration files are stored" because it would provide them with a new way of approaching computers.

    p.s. For extra points, contrast the Unix philosophy which assumes that you know what you're doing with the DOS/Windows philosophy which assumes that you don't know what you're doing. You might even want to begin your class by reading/assigning Scoville's Unix as Literature which nicely depicts how different Unix is from other operating systems.

    1. Re:The Unix Philosophy by rubinson · · Score: 1

      D'oh! It's "pique" not "peak"...

    2. Re:The Unix Philosophy by Anonymous Coward · · Score: 1, Funny

      Are you a foreigner, most likely an Al Quaeda operative? I don't believe that any American could spell "pique" wrong.

    3. Re:The Unix Philosophy by tadas · · Score: 1
      I don't believe that any American could spell "pique" wrong.



      Of course it's spelled wrong -- this is slashdot.

      --
      This page accidentally left blank
  77. KISS by fallacy · · Score: 1

    I've read a lot of comments along the lines of: "Show off X display forwarding and whizzo website updating."
    Personally, I'm inclined to say "stay off that for a while".

    Start with the basics (ls, cp, mv, grep, find, ps etc) and get them used to using the console (i.e., no X whatsoever: not even an xterm). As others have said: teach them that you don't need a point-and-click interface to do the standard stuff: file management, installation, configuration etc. Obviously editor skills (emacs, vi/vim, ) are going to be essential.

    Only after a while should the X factor be introduced. Even then, try to keep a perspective on its uses:
    It's all well-and-good showing them how what great things you can do with this wonderful OS, but means nothing if they end up believing that everything's as "flash" (read: GUI orientated) as Windows and are left flandering when given a console.

    Now for my no-so-objective suggestions:

    1. Teach them the proper use of the power button (I.e., get used to it collecting dust rather than finger prints.) Repeat 3 times: "Power cycling does not solve my browsing problems".
    2. Hit home the idea of file protection and user privledges - "No. root isn't the only login."
    3. "IE doesn't come installed by default and don't wine [sic] about it."

  78. Xargs, find, grep by mark_space2001 · · Score: 2, Informative
    There are many other good ideas here. I'd like to add my 2 cp for xargs, find, and grep.

    These shell commands are good by themselves but great when used together.

    find /etc | xargs grep "eth0"
    will find every config file under /etc (and all subdirs under /etc) that file that references the string "eth0". This can be a life saver when you found a reference to some constant or variable but you have NO idea where it is set. The command combo I gave above is probably the only reason I managed to get my firewall configured, the first time it did it.

    Do this from a GUI with three or four shell windows open, so you can grep in one window and keep a file or two open (runing vi, or whatever) in the others. Then do the same thing with NO GUI (yes, Linux runs great like this, esp. on old crapy machines, e.g. my firewall again). Show them how to use ALT-Fn to get multiple screens with out the GUI.

    Show them also

    find .
    to look in the current directory, and
    find <b>dir</b> -type f
    will locate only regular files (ignoring links), which is nice for reducing spam.

    Also show them

    xargs -i command {} more args ...
    for when xargs can't append the commands, or needs to run them singlly.

    Also, point out http://www.tldp.org/. The Linux Documentation Project isn't the be-all or end-all, but some of their how-to's are invaluable if you have nowhere else to turn.

    Good luck!

  79. Impress them with true multitasking! by JebusIsLord · · Score: 1

    My non-unix friends are always amazed by the alt-switching capabilities of a true multi-tasking OS. Show them that!

    --
    Jeremy
  80. College Resource and Instructor Support Program by Sarauble · · Score: 1

    You may find some interesting items here. As a student in this program, I can say it is quite worthwhile, and there is probably quite a bit there you can use for any UNIX course.

  81. ESR's Drag.NET by bemis · · Score: 2, Interesting

    check this out.

    ESR did this piece about setting his wife (a windows-junkie-lawyer) up under Linux/KDE ... it's amusing, not entirely serious, but might prove helpful.

    bemis

    -The fellow who thinks he knows it all is especially annoying to those of us who do. - Harold Coffin

    1. Re:ESR's Drag.NET by Anonymous Coward · · Score: 0

      The ESR Rap

      (Chorus:)
      I am EEE ESS ORR, elite hack-ORR, hear me ROAR!

      1.
      I am of the hacker elite, can't you see?
      fetchmail, blindfolds in nethack, er... (hum-hum diddle dee)
      Bow down on your knees, don't you diss me!

      (chorus)
      .2
      I am an author, I "wrote" New Hacker's Dictionary
      Well, shit, so what if I done stole it from MIT?
      I didn't get in there, so I figured they owed me!

      (chorus)
      3.
      I am founder and leader of OSI
      Now my Open Source show is really on the road!
      Free Software? Hah! Show me dat code!

      (chorus)
      4.
      I am ESR Skywalker, elite Jedi Knight
      I'm packing mah gun and I'm ready to fight
      You diss me and I'll send you to eternal night!

      (chorus)
      5.
      I am wealthy board member, VA Something-or-other
      Got plenty dollar bills, at least on paper
      What's that? Dot.com crash? Oh fuck! See you later!

      (repeat chorus to fade)

  82. Here's the link. by Sarauble · · Score: 1

    Forget the link. Here: http://snap.nlc.dcccd.edu/

  83. Don't forget that open source databases lack by Anonymous Coward · · Score: 0

    Business objects like functions
    expert software
    design software
    Security management function
    ldap / radius interfaces.. yes you can turn or oracle database right into and ldap server.
    instance management software.

    And about 100 other features that MySQl and Postsql lack. For a small database in a mom and pop shop or a limited functionality desgin they work great, but SQL server and oracle have lots and lots and lots of features many I don't even know of totally that make it much more worth while for a business to invest in.

  84. cat is not useless by 0x0d0a · · Score: 2, Interesting

    I don't understand why people *care* unless they're writing something that's absolutely performance-critical (and then I suspect it'd be in perl, not in shell).

    Yes, cat causes a bit of overhead. However (and I have a PII/266), it serves one excellent purpose -- if you habitually use cat, you don't have to worry about the syntax of the next command in the pipeline. Maybe it accepts a file, maybe it doesn't, maybe it's some wrapper script that doesn't accept a file...for one liners, using cat is a *good* habit to be in. You don't have to constantly check man pages, documentation, or "try it and see if it works".

    I think most of the "useless use of" complaints in UNIX that USENET people like to mention to show off their UNIX leetness are just stupid. Skimming down this page, I see:

    Useless Use of kill -9: Okay, you should always use TERM first. However, spending more of your valuable time trying three or four other signals before kill -9 is just stupid, however (unless it's netscape, which oddly enough can sometimes be axed with QUIT).

    Useless use of echo may be more legitimate *but* you may be planning to do something more extensive:
    command -options `echo $variable|seds/foo/bar/`, for example. You can't do that with just
    command -options $variable

    The useless use of ls * really is useless, IMHO, because it frequently has unwanted side effects...you'd need ls -d * to get equivalent behavior to ls.

    They get cranky about using grep foo |wc -l instead of grep -c foo. Who *cares*? Frequently grep is not the last element in the pipeline. If you're in the habit of using wc -l, you don't have to worry about the preceding item, even if you decide to insert a new item into the pipeline before grep and wc.

    The complaint about using grep + awk is just stupid. grep is significantly faster than awk, anyway.

    1. Re:cat is not useless by Anonymous Coward · · Score: 0

      if you habitually use cat, you don't have to worry about the syntax of the next command in the pipeline. Maybe it accepts a file, maybe it doesn't, maybe it's some wrapper script that doesn't accept a file...for one liners, using cat is a *good* habit to be in. You don't have to constantly check man pages, documentation, or "try it and see if it works".

      Instead of using cat file | program you can use program < file which is what people refer to when they talk about a UUOC, there's no checking the man pages, no "try it and see if it works", it will always work, it's the shell that handles it and not the program.

    2. Re:cat is not useless by Anonymous Coward · · Score: 0

      or else the person that pays your wages.

    3. Re:cat is not useless by maraist · · Score: 2

      The complaint about using grep + awk is just stupid. grep is significantly faster than awk, anyway.

      Couldn't find where you were referencing this (guess it was in your link). In any case, I don't see where grep is shown to be "faster" than awk. I'm sure you know their respective purposes, but awk and grep use the same type of searching algorithm (DFA), so the only slowdown in awk is because it does more with each line (e.g. run the provided script). sed on the other hand (like perl) uses NFA (so as to do search/replace on the input stream), which is fundamentally slower.

      Just felt like throwing that tidbit in.

      -Michael

      --
      -Michael
    4. Re:cat is not useless by frisket · · Score: 1

      Should be using dog anyway!

    5. Re:cat is not useless by jedidiah · · Score: 2

      Some people prefer their filters to flow in one direction and one direction only, namely from left to right. Many find this style of scripting to be more readable and maintainable.

      --
      A Pirate and a Puritan look the same on a balance sheet.
  85. Learn about them first... by mike_the_kid · · Score: 2

    If you go in with a bunch of preconcieved notions about what these people know and don't know about Unix, you won't reach them. The certification they are going for looks like its for developers. There are certifications for Office, and there are probably idiots in there. The people going for this certification are programmers / developers / engineers, and you should treat them with professional respect. That means not going in like a Linux Hare Krishna looking for conversions. See if they have used Unix / Linux before. See what they know how to do, etc. Show them how to use Emacs or maybe vi. Your job is to teach them as much as you can in two days about a system with a steep learning curve.

    Every comment here says that you should be pushing linux, how simple it is, etc. The beauty of CLI, the elegance of | . If you want to go that route just write on the board "I am LETE I OWNZ YOU". But I think you should give these people credit. They are learning VB or C#, and most people might think that makes you a loser, but give them credit for trying and withhold your judgement.

    --
    Troll Like a Champion Today
  86. Differnces like tools by triptolemeus · · Score: 1

    First: be interesting, come prepared, be a guru, know your audience and be funny.

    Things worht mentioning, but if you are a good teacher you will be aware of them.

    Second: mind the differences. Windows is totally GUI driven and that makes any *NIX hard to understand for windows users. That's a challenge to overcome. There are some good tools (like webmin) that bring some gui functionality to Linux (and other OS-es). It might be worthwhile to point that out.
    So my first point would be show GUIs, to tell them that it is possible.

    The second point would be to show them the advantages of tools. Tools in *NIX are very specialized and very easy to combine. This is totally different in windows. There you have programs that do it all (or they don't do it and then you're pretty stuck). On *NIX you can combine the tools the way you want: making it very powerfull for people that want to use computers.

    Tell them that *NIX-es can work with any other system (where windows has a hard time connecting to other OS-es). It makes it easier to create something on a *NIX machine than a windows machine. The system itself is more open.

    Last but not least: don't tell them MS is bad. They will not buy that from anyone. If needed they will see it for themselves. Just show them how cool things can be if you got control over your system.

    Good Luck!

    --
    The site where: "I'm right, as long as you ignore the things that prove me wrong", became a valid method of debate.
  87. how to do it by lseltzer · · Score: 1
    Click here for instructions.

    Oldest trick in the NT book. Been there since NT 3.1 I'm pretty sure, although the article says 4.0. You can actually use any keyboard character, not just tab. Incidentally, it sounds like some people think Microsoft hides info about cmd.exe. Try going into a session and typing "HELP"

    1. Re:how to do it by lseltzer · · Score: 1

      Lots more interesting docs when you do cmd /?

    2. Re:how to do it by Tim+Colgate · · Score: 1
      Here's the relevant bit:

      To enable automatic complete for Cmd.exe, use Registry Editor (Regedt32.exe) to view the following registry key:

      HKEY_CURRENT_USER/Software/Microsoft/Command Processor

      Edit the CompletionChar value, and set the value of REG_DWORD to 9. Note that you do not need to restart your computer.

      (Emphasis mine :-) )

  88. Teaching Linux to Crash Dummies by Anonymous Coward · · Score: 0

    I don't usually post stuff like this, but when scanned the headlines, I read "Teaching Linux Basics to Crash Dummies".

  89. Think MCSD for Linux by grondak · · Score: 1, Insightful

    An MCSD isn't an MCSE. Your audience is a group developers. They're not interested in sysadminstuff. They're interested in developer tools.

    You've got two tracks to cover here, as I see it.
    1) "Free stuff" that makes Linux distros good for developers,
    2) Generally free stuff that they wouldn't see as "pure" MCSDs (due to the ties between "Linux" and "free")

    For 1), show them stuff that comes with the distro of your choice, like compilers, IDEs, change management tools. Show them MySQL and Postgres, yes. Show them editors.

    For 2) Don't forget Java-- Eclipse, JBoss, etc. Don't forget the Mozilla developer aids like Bugzilla. Sourceforge & Freshmeat & Slashdot. :)

    Finally, the MCSD has this development process framework called "MSF." Show these guys something fun like Extreme Programming.

    TTFN

    --
    [Error 407: No signature found]
    1. Re:Think MCSD for Linux by Anonymous Coward · · Score: 0

      Show em' the Midnight Commander. It'll handle their file manipulating needs and won't confuse eh' right off the bat.

      Yeah I know it's not everywhere, show em' how a connection and lynx will allow em' to search the Google and find almost anything they might need including the midnight commander.

      Show em' how a boot system like tom's RTBT will allow em' to do that from a floppy.

      I have to manage broke window crap all the time and their jaws drop when I haul the RTBT floppy out of my pocket and fire up Linux and go on line to get what's needed, replace files or maybe move important stuff elsewhere while we take the god forsaken windows box down to the metal *again*.

      Sigh

      PG

  90. Comment removed by account_deleted · · Score: 5, Insightful

    Comment removed based on user account deletion

  91. Re:Teaching Linux/Unix Basics to Microsoft Junkies by Anonymous Coward · · Score: 0

    I agree with this post.

  92. Think complexity by ThorGod · · Score: 1

    I say create a bunch of *useless files*. Notably, create a bunch of files on a system with a really odd name (some part of which is the same across all files). Next, tell them all to get rid of them in less than x amount of commands, but before that tell them about rm and find (as well as error redirection, as it might be handy). Now, do the *smart* thing of doing a find / -name '*uselessfile*' | rm - . See what they do when you do the thing in one command while they're still doing it the hard way.

    --
    PS: I don't reply to ACs.
  93. <cough style="bullshit"> by tlhf · · Score: 1

    There is no cmd.exe on Windows 98...

    tlhf - xxx - moof!

  94. Show them TCSH by Apple+God · · Score: 1

    The spelling correction alone is quite a feature, but also show them how to setup aliases and all the other cool tricks with it.

    --
    Women and Alcohol are good seperatly, but mix 'em and they turn you into a dumbass
  95. The Most Disheartening Thing... by Anonymous Coward · · Score: 0

    The most disheartening thing I ever heard was after a month of teaching my MS addicted friend about Linux and UNIX in genereal was hearing her ask:

    So, how do you enable the server mode in Linux?

    I wanted to cry.

  96. Show them the dev environment by crudeboy · · Score: 3, Insightful
    Since they are studying to be developers, show them unix from a developers point of view. Show things like version control (with cvs), how to compile code (gcc etc.). Make a point that all you need to develop applications is there right out of the box free of charge. Tell them about relevant things in unix systems (sockets, pipes, daemons).

    Forget about MySQL. It's a nice DB but can't really compare to Oracle or SQL Server.

    My final tip: Don't try to convert them or bash MS solutions, that would only alienate them. Just show how to get the work done in unix, and maybe they'll realize it's easier and develop further interest.

  97. Usefull things by Anonymous Coward · · Score: 0

    Bash commands such as cd , ls , ps , cat, grep, mkdir, mv, cp, rm , rmdir, touch, and so on. Basic X stuff like how to copy and paste, change resolutions, shade windows, switch focus, ideally you will only use one environment for this stuff so they can learn but at least show them a sampling of window managers. File structure basics. Log files, etc, daemon, inetd, etc. Then show them something like webmin if you feel the students need to see how easy all of this stuff can be. Good luck!

  98. What would I add? by Apostata · · Score: 1

    He's got at least one idea to start with (below), but what must-have skills or demonstrations would you add?

    Flash cards.

    --

    This wasn't just plain terrible, this was fancy terrible. This was terrible with raisins in it. - Dorothy Parker
  99. Tell them about all the HOWTOs by On-Edge · · Score: 1

    I think it's important that they know about them if they would decide to dive into it and actually do something. That's my two cents.

  100. More Ideas tailored for Micro-weenies.. by AntiChristX · · Score: 2, Insightful

    1. Start/stop kernel module services. Show how you can change the network setup by editing /etc/sysconfig (or wherever), stop it, and restart it, all in a few moments.

    2. Push remote access, like ssh, which gives a user full control of the box from remote, something that is difficult to do in NT w/o consuming many resources (TB2,etc)

    3. SAMBA. Install Samba from the cd and show how they can manage and use their (precious) Network Neighborhood stuff, connect to remote computers, etc.

    4. Routing. Show how any linux box can setup firewalls and complex routing with a few commands.

    5. Security. Run nmap against your now-configured linux box and compare it to, say, a windows 98 box. Show that linux can be locked down for the miscellaneous user.

    6. Support. /., freshmeat.net, linux.com, sourceforge. Show that there is active community involvement in all aspects of development, and that when problems arise, they are not occluded, but rather discussed and FIXED.

    Maybe not everything can be covered in two days, but hopefully this helps. I was once a M$ kinda idjit, but the above points, as well as many other good suggestions already discussed in this thread, helped me to kick the GUI.

    Not your typical post from,

    --
    AntiChristX
    Daring to remain below 5 karma indefinitely
  101. the tab button? by JDizzy · · Score: 2

    Obviously the magic tab button does something, oh gosh.. but what? Such a calaiber, to teach Microsoft junkies the way of the TAB key... oh mysterious TAB key... what do you do? And why bother, since giving a crash cource on Unix to Microsoft junkies they would likely not be using a shell where the all might tab key does anything other than tab. Uh.. am I missing something, or is this yet another BASH hooked persons who really don't know unix... considering your more likely going to teach a newbie a more standard shell like the korn shell of the simple sh shell. So they can actualyl do some work on real unix. Never teach a newbi on bash, it a bad idea... cuz they flounder on real unix where they have real shells, or rather they have old shells. Word to the wise. ;)

    --
    It isn't a lie if you belive it.
    1. Re:the tab button? by spongman · · Score: 2

      yeah the TAB key expansion in bash isn't such a wow since CMD.EXE can do exactly the same thing. try typing 'help cmd' in a command prompt sometime...

  102. Wait just a goddarned cotton-pickin' minute here by dzym · · Score: 2

    You're teaching a part of a MCSD course and you're teaching them ... *nix?!

  103. tail -f by Anonymous Coward · · Score: 0

    The one thing Windows administrators have the most trouble understand.

    I personally bang my head against the wall every time I see an NT administrator open notepad.exe and scroll to the bottom to view changes to his logfiles again and again.

  104. Display a installation if possible. by Openadvocate · · Score: 1

    I don't know if it would be possible. But I think that if you could show a installation of fx. Linux it might also help.

    I am amazed about how many Microsoft people are afraid to even try to install something like Linux, even just to try it out. So maybe a installation could help people so they could see that get it up and running isn't that hard, then when you have used 1 hour installing, you have the rest of the time explaining a lot of the issues people have mentioned here.

    When I talk to Microsoft people who wants to try out UNIX/Linux the big showstopper is how to install programs, how to change settings, so like many other has mentioned the basics about the configuration on a more general basis. If they already has some MS training, you could take that as a starting point like "You have learned how to to do ____ on you w2k box, in UNIX you do this". Am I the only one who has expirenced people who works with IT every day, mostly Microsoft, who just seems to be afraid to try to install a Linux, even when they got plenty of machines at home to try it out without anyone disturbing? I don't get it, I love my work and one thing I like is trying out new things, like different operating systems just to see how they run. Just because I don't know much about W2K servers doesn't mean that I haven't tried to install one to see how IIS or the media server works. At any rate, if I am going to bash Microsoft products it works better when you have tried them. :)

    --
    my sig
  105. Tripping over your cape by Graymalkin · · Score: 2

    Stop oohing and ahhing over fucking bash. If you want to teach people the Unix program meme teach them how to fucking think with pipes in mind. Most people when looking for a file would just type find filename or locate filename and then search through the (oftentimes) enormous list of files that comes up. To experienced Unix users this is retarded, they'd pipe find into grep and look for a specific pattern to find a file somewhere. Teaching this method of thinking to non-Unix users is essencial to having them get anything meaningful done.

    The "wonders", as zealots put it, of Linux are just a very large collection of small tweaks and hacks that combine the features of dozens to programs to do something useful. The syntactic stuff like the actual commands for listing the contents of a directory are something you can shove onto a reference guide and only need a quick glancing over. Teaching people to REALLY use the tools they've got available is the important part. The file system hierarchy is pretty simple and just given an overview reference for it ought to be enough for people in a MSCD course. Focus on how to configure, start, stop, and importantly RESTART daemons. The damnest thing when running Linux is to not have someone simply poit out that restarting a daemon will make it reload the configuration file. Novice users don't know this and end up doing shutdown -r (or for the more technically adept init 0) instead of just restarting the daemon process itself.

    The little tricks experienced users take for granted are the reasons people come to them with a million and one questions on how to do stuff. If novices knew to ps aux | grep process rather than running top and trying to decipher what all the hoobajoob means (and figuring out its backwards fucking commands) they'd be in a much better situation. As it stands too many people introducing Linux to novices go into how great and powerful ls is like it is going to solve world hunger or something. Brush over the simple commands and hunker down over combining those simple commands to do really spectacular things. Impressing people doesn't mean shit, don't try wowing people with virtual desktops or consoles. No one gives a fuck about "true" multitasking or telneting into some server somewhere. Show people how to get stuff done rather than harping on how great your OS is.

    --
    I'm a loner Dottie, a Rebel.
  106. First thing to teach by Bagsy · · Score: 2, Insightful

    The first thing I got taught is "UNIX is hell to visit, but heaven to live in". That phrase is very true I think. At first UNIX might seem strange and odd in several ways, but when you get the hang of it you appreciate it's design and fundamental thoughts.

  107. Stick to apps that are stable & work by blab · · Score: 1
    Don't stray too much outside of apps you know work, are stable and have working features!

    Nothing turns off a newbie more than after hearing how wonderful open-source/free software/Linux etc is than playing with some 'alpha' product & seeing it crash and burn. They'll run back to their win box faster than it (winbox) can reboot.

    Folks outside of the loop don't understand "release early, release often' yet.

    1. Re:Stick to apps that are stable & work by Anonymous Coward · · Score: 0

      in other words...

      ...about two apps.

  108. Re:folder right-click, menu "find" by Anonymous Coward · · Score: 0

    Boy I know what you mean.

    My car has exactly the same problem. I'm thinking
    of removing the brake pedal in order to speed
    things up a bit.

  109. Never forget the power of the GUI by Anonymous Coward · · Score: 0

    Most of these MS guys are such because that's all they know and it's easy to use. Don't forget to go over the merits of the various windows systems and how to make use of them in the Linux environment.

  110. From my personal experience. by Alpha27 · · Score: 1

    I've done this a few times so far, where I've had a 4 hr class talking about Linux. If you have 2 days (assumming 16 hours), then you definitely can cover alot more. One concern I have is crash courses can be alot to absorb, especially if you have GUI-centric users, trying to learn CLI.

    My recommendations are based on the idea that your MS ppl are only used to MS, and may barely have any knowledge of other systems, and from what I've done so far in my 4hr classes.

    My recommendations would be:
    - Command Line Interface: the understanding that this CLI is NOT DOS; this CLI is way more powerful than DOS could ever be. Use Bash, since it offers a nice set of features. Show them Piping Redirection, Job control, Multiple terminals, the bare essential CLI programs.
    - File system structure (use the analogy describing the difference between Windows 3 level structure, and linux 2 level structure), how mounting works, and file permissions.
    - The various file systems, and their benefits.
    - Understanding of what the Linux Kernel is and what are Linux Distrobutions.
    - Understanding of GNU and GPL.
    - The various major applications for Linux: Apache/Email/Databases/Samba/etc. with some concentration on LAMP (Linux/Apache/MySql/PostGreSQL/PHP/Perl)
    - Some of the more interesting projects like the Linux Terminal Server.
    - The GUI environment, describing it using the analogy of Windows 3.1/DOS to establish the base fundamentalism. Then get into details of how it works. The different Window managers, and the Desktop Envirnoments. Some of the office apps available on Linux. How to do configuration with GUI apps such as Linuxconf, Webmin, and the various other pieces that are installed.
    - Understanding of /etc/rc*, /etc/inittab, runlevels, how to get into single user mode.
    - Some troubleshooting items. Disk recover, adding more harddrives, altering partitions.
    - Might even want to show a dual boot setup.

    Overall there will be a limit to what you can cover in two days. Everything else they can learn on their own, as long as you give them the essentials to get up and running.

  111. Windows compatabilty tools by buchanmilne · · Score: 3, Informative

    If you are going to do nothing else, show them how to integrate a linux box into their windows network. At the end of this, you want them to be confident enough to install linux dual-boot at the place of work.

    So you are going to need to show them that it is possible to mix'n'match windows and linux.

    1)Winbind
    (Mandrake 8.2 comes with winbind mostly setup - see http://mandrakeuser.org/connect/csamba5.html) or at least samba and joining a samba box to a windows domain. Something like LinNeighborhood for accessing shares.

    2)Rdesktop or vnc or X on cygwin
    The chances are they are going to have windows servers around, so make sure they know they can get into them from linux. From the other side, make sure they know they can get into their linux boxes from windows and run graphical apps, either with vnc or by running X on cygwin. (Need I mention rdesktop and vnc are standard on Mandrake ...)

    Show them why unix is better in some regards:

    3)Please choose a decent distro. Please don't show them how to resolve dependencies on packages with rpm, but show them the right tool for installing software (apt or urpmi).

    4)Show them how to effortlessly setup a firewall. Mail server, web server, proxy server.

    Give them something they can apply on windows:
    5)Show them that they can run PHP on IIS, and apache on windows (for better security). Show them cygwin.

    6)Give them something to tie it all together. Maybe write a small php webpage that can send email to a windows domain account, or something that queries a db (or both).

    7)Remind them that they should not be running X on their servers (aka you have a choice not to run a GUI).

    8)Remind them not to hit CTRL-ALT-DEL when they want to log in locally ;-)

    9)Show them the really good gui tools around, things like Kdevelop, OpenOffice, Evo, Konqueror,Gimp etc

    10)Show them your favourite command-line features. Bash-completion, vi (they don't need to use it, but show them that a console editor can do syntax-highlighting), mc, lynx, ssh (with password-less key-based logins), X ssh-tunnelled.

    11)Show them how easy it is to change hardware (like an ethernet card change with kudzu or similar) with a single reboot and virtually no downtime.

    12)Give them CDs for the distro you used, and another CD with similar stuff for windows (cygwin, apache, mysql, mysqlfront etc).

    I think your problem is going to be fitting it all into 2 days!

  112. My experienses with windows nerds by bytewize · · Score: 3, Interesting

    I've been giving linux courses to windows nerds.

    The first time I used Redhat 7.2. It turned out to be a mistake. The next time I used mandrake 8.2 and that worked well.

    The graphics seems to impress more than the cli.(Unfortunately) Things that you as a unix person are impressed by dont work well for windows people. This was a real problem for me as I use the cli for most of my work. You have to learn to use the kde tools like konqueror and kwrite.

    In 2 days you wont be able to do much more that show them the power of Linux. You need at least a week.

    Here are some of my tips based on the experiences that I have had.

    Make them install mandrake with a full graphics install with dual boot.

    Show the wizards and control center

    Show them X -query and rdesktop.

    Windows people seem to prefer kde to gnome but dont forget to show them choice. Install both so you can show them evolution.

    Also the web admins really impress them. (Swat, webmin and cups)

    Mandrake has a beta of Staroffice (silverclub members only). Get it. (email me if you want it)

    Dont even bother showing vi. Somehow it doesnt work for windows people.Use kwrite instead.

    Make sure you install all the games. During my course the games really got them going.For some strange reason "frozen bubble" was a big hit.

    Teaching the students the cli with commands like grep, cut etc. didnt impress much until they wrote their first script. I had them write a simple menu to start different commands. Then they understood the power of unix.

    Get them to run ssh to each other. For windows admins this is very impressive. Installing kiofish in kde is also impressive.

    If you want my course material, I'll be happy to send it to you. Its in swedish and not that good but you could send it through babelfish and get som ideas. Its for the cli so it wont be useful unless you can increase the course to at least 5 days.

    These are some of my experiences. Hope they help you.

    Regards kenneth karlsson

    1. Re:My experienses with windows nerds by Anonymous+Freak · · Score: 1
      Dont even bother showing vi. Somehow it doesnt work for windows people.Use kwrite instead.

      Hey! I'm a Windows people, and I love vi! (Then again, back in the MS-DOS days, I liked edlin more than edit...)


      While I am a Windows geek (yeah, I have those paper-placemats that Microsoft calls certifications,) I have tinkered with various *nices to know my way around the CLI. Haven't played with X enough to use it, and I always forget where all the configuration files and useful commands are.

      --
      Another non-functioning site was "uncertainty.microsoft.com."
      The purpose of that site was not known.
  113. why teach them anything? by Anonymous Coward · · Score: 0

    they're already using a real OS, it's not like they need to know that LEENUCKS crap anyway.

  114. Microsoft "Junkie" by Tadrith · · Score: 2, Insightful

    Well, first off, I myself work in the exact same environment as the people you are trying to teach. I've been working in with a VB+MSSQL combination for about two years now.

    Unless you can show them a good graphical replacement for Windows as the UI, I would focus on using the alternatives on the back-end only. Despite the reputation VB has around here, it does have it's proper place. Many people who work with VB (like myself), aren't necessarily "Microsoft Junkies", as you say, but ordinary programmers who need to make a living, and don't particularly care what they're working with, so long as they're programming. In this case, it comes down to what the customers want. Until Linux is on the desktop, the customers will keep demanding Windows, so it wouldn't do much good to try to convince these programmers to use Linux for the interface.

    Focusing on the back-end, I would show them how they can connect their VB applications to the database, and focus on that connection. Once the connection is made, they know what to do with it. If you can show them how easy it is to use, they can bring this knowledge back to their bosses. This will impress their bosses, because they can essentially give their customers what they want at a lower price, due to MSSQL being out of the picture.

    But guaranteed, if they take ideas of using Linux for an interface instead of Windows back to their bosses, it'll get tossed out the window. Believe me, I know - I've tried it before. At least doing this, you can win one battle at a time - first the database backend, and then the front-end at a later date. :)

  115. MCSD not MCSE by Dr.+Evil · · Score: 5, Informative

    Most of the comments I've been reading have been going off about administration and configuration. These are people going for a developer certification. That means they probably already know a lot about programming, and they probably already know a fair bit about programming under Windows.

    Going in there and giving them a Linux sales-pitch would be a waste of their time.

    Database connectivity sounds like a cool thing to demonstrate, you might want to demonstrate the basic development tools and documentation available at their disposal. Show them an easy editor to use.. something consistent with the editors used in the Windows world, show them gcc and some neat stuff like xxgdb. The ones who are clueful enough to care will pick it up when they leave.

    IMHO the most important thing to explain to them is software licensing. It is quick, but when they realize that if they like to develop software, they'll clue in that developing their apps for Linux is easier.

    A few tiny things like that would probably take up all the time you have. Cygwin might help them know how to develop apps from Windows to target Linux boxes.

    My experience with MCSDs and other Windows developers is that they don't really care about the OS, they just care about writing apps and using OSes to make money by solving problems.

    1. Re:MCSD not MCSE by partingshot · · Score: 2

      • Most of the comments I've been reading have been going off about administration and configuration. These are people going for a developer certification. That means they probably already know a lot about programming, and they probably already know a fair bit about programming under Windows

      Cool. I actually found someone that read more than just the headline.
      The only MCSDs that I know are top notch programmers that primarily work in C++ under windows & unix. I don't know about the cats that will be in his class, but if they are anything like the guys I know and he teaches it like he plans (ala linux for dummies), he will get roasted.
      --
      Anonymous posts are filtered.
    2. Re:MCSD not MCSE by iabervon · · Score: 2

      What I'd demonstrate is a program with a bug in how it calls a library function. You run the program and it segfaults. You run the program under ddd or gdb or something of that sort, and get the backtrace. You look at the source for your program where it calls the library function, and it's not obvious what's wrong. Then (and here's the neat part), you go down the backtrace to where the segfault is, and you're looking at the library source. There, by looking at the values of local variables, it's obvious what's wrong with your program (you're calling the library with the wrong thing or something).

      One of the coolest things about Linux is that you have all of the source to everything available, and you can have your libraries with debugging symbols, and you can look at exactly what it's doing. This can be incredibly helpful when the documentation is somehow vague or when you're misreading it (and don't know what part you're misreading). I certainly miss that when developing in Java with Sun's library.

  116. No need to reboot by craybob · · Score: 2, Interesting

    I've been working with our new systems guy and he only knows Windows administration. His biggest hangup is that he tries to reboot my server 4-5 times a day when he changes anything. I try explaining that before he got here it had an uptime of over 2 years and he can't comprehend it.

    1. Re:No need to reboot by Anonymous Coward · · Score: 0

      I LOVE that. When I go back to windows on occasion when needed I am constantly amazed at how many damn times I end up having to reboot. I even referred to myself as REBOOT BOY when I ran a lab of windows machines.

      Windows OS are hard on boxen for that reason alone.

  117. teach them rm by ztwilight · · Score: 1

    Just have them log in as root, and type rm *.* I guarantee they will feel the POWER of Linux! And maybe never log in as root again!

    --
    Who moved my sig?
  118. Just remind them.... by Anonymous Coward · · Score: 0

    that "No, Bill is not yo daddy anymore."

  119. The first rule of giving a course by Anonymous Coward · · Score: 0

    ...is "know your audience".
    They are all studying for MSCD? That stands for MicroSoft Certified Dumbass. At least that's a start.

  120. Basic?!? by Bjarke+Roune · · Score: 1

    I would think teaching them Basic would be the last thing you would want to do!

  121. Software Installation, done properly. by Nailer · · Score: 2

    Show them how to do it properly - using their package manager. Not only will this allow the software to be installed, uninstalled queried by other apps, and otherwise interacted with in a standard fashion. You'll also be able to easily repeat installs between systems, allow users to easily recompile from source (RPM, the standard packaging system on Linux, is based around source packages which can be easily recompiled with whatever extra configure flags you want). When someone else inherits a machine you administer, you won't give them a headache as your installs have been largely self documenting.

    Here's a sample .SPEC file which should be useable with just about any standard tarball / GNU autoconf app:

    Summary: An addictive and frantically paced puzzle game with cute 3D graphics
    Name: crack-attack
    Version: 1.1.7
    Release: 1mm
    Source0: http://aluminumangel.org/cgi-bin/download_counter. cgi?attack_linux+attack/%{n
    ame}-%{version}.tar.g z
    License: GPL
    Group: Amusements/Games
    BuildRoot: %{_builddir}/%{name}-%{version}
    BuildRequires: glut-devel
    Requires: glut
    %description
    Crack-attack is addictive and frantically paced puzzle game with cute 3D graphics, pla
    yable either against the computer in single player or across a network multiplayer, w
    here one players success clearing blocks dumps large immuntable tiles upon the others
    block pit. Muahahahaha!
    %prep
    %setup -q

    %build
    %configure
    make

    %install
    %makeinstall

    %post -p /sbin/ldconfig

    %postun -p /sbin/ldconfig

    %clean
    rm -rf %{buildroot}

    %files
    %defattr(-,root,root)
    /usr
    %doc AUTHORS COPYING INSTALL NEWS README

    %changelog
    * Thu Apr 11 2002 Mike MacCana 1mm
    - Created packages

  122. Linux philosophy by ztwilight · · Score: 1

    There are a lot of things which need to be explained about Linux to someone who is only vaguely familiar with it. Rather than going into an extremely technical discussion about the command line, compiling the kernel, etc. You should start the first day with explaining some of the paradigms of Linux. That: 1. The command line is THE all-encompassing tool which you live by on Linux. This is a tough paradigm to understand at first (you mean, I install files with the command line and not with the GUI? You mean, I can get help first from the man pages on the command line? You mean, I read files from the command line? Oh, I fix the system via the command line? etc.) 2. The decentralization of Linux - i.e. there is no single person/company in control of Linux (not Linus, not Red Hat, not IBM, etc.) and how this means that GNU/Linux,and the command line are here to stay (because beyond being replaced by a better version of Linux, there is no way to remove Linux, unlike Microsoft, which, if for whatever reason goes out of business, will cease to exist, because they will never Open Source their OS. Linux will always live on because any developer anywhere in the world can take over maintenance of it.) This is the heart of Free Software. 3. That Linux is free to change. While I as a developer cannot step in and create my own version of Windows, I can, even at this moment, create my own version of Linux (distro) any way in which I like it, and make a nice addition to what Linux currently offers the community. I could go on, but those are the fundamentals. Of course, this is the general idea of "The Cathedral and the Bazaar", with my own twist on it. The second day, in addition to the fundamentals others have posted, it is important to go over Gnome and KDE. Very important. It is difficult to go from using a GUI 24/7 to a command line 24/7, and KDE/GNOME ease the pain tremendously. Happy teaching!

    --
    Who moved my sig?
  123. rm -rf * by Anonymous Coward · · Score: 0

    nuff said

    1. Re:rm -rf * by Anonymous Coward · · Score: 0

      HA once I actually did this. I was deleting a file and accidently put a space after the first slash "rm -rf / path/to/file", in a few seconds my hole system was gone.

  124. DOs and DON'Ts in my experience. by chris_sawtell · · Score: 1
    Do:-
    • Tell them something about the history of unix. Like how it was invented for very good commercial reasons while our little Billy was still in short pants.
    • Keep the whole thing very 'visual'. Xman, not man.
    • If you get into command line stuff, remember to use the 'script' command so that they can have a printout of your CLI incantations to the machine, and its responses.
    • Teach them how to find out more information for themselves. Linux Documentation Project,
      HOWTOs, the 'info' and 'man' commands. /usr/share/doc/*
    • Explain the 'root' user concepts.
    • Make sure they understand that rpm is only guaranteed to work properly if the package is for the distribution and release in question.
    • Explain and demonstrate remote login. ssh, not rsh. VNC for doing it with a GUI.
    Don't
    • Let them loose at the BASH prompt, unless you are certain they can type properly!
    • Even think about compiling anything.
    • Bore them out of their brains with hours of BASHing.
    • Demonstrate installing. You havn't time.
    • Let on that there are almost always half a dozen apps to do essentially the same thing.
      Choice is not always appreciated.
    1. Re:DOs and DON'Ts in my experience. by daveman_1 · · Score: 2, Interesting

      Don't

      Even think about compiling anything.

      Hello? These people are studying to be MCSD? They are developers! This is what I would concentrate on. Show them the power of Unix development tools! They will be utterly amazed at how much flexibility the Unix development tools give them if they are used to using Visual Studio.

      My suggestion:
      Basic Commands and their syntax
      File permissions
      Text editor(probably emacs, vim scares a good many newbies, even though it is superior. ;o)

      And for god sakes, show them the difference between compiling code in windows vs unix and how much more control they have over the process. Show them how writing code yourself actually is a good idea! I cannot stress enough that this is the type of stuff an MCSD should be getting queued in to. It is likely to be what would really interest them about unix.

      --
      Russian Russian Russian RussianDollSig DollSig DollSig DollSig
    2. Re:DOs and DON'Ts in my experience. by sheldon · · Score: 2

      "And for god sakes, show them the difference between compiling code in windows vs unix and how much more control they have over the process."

      In other words, show them how it will take them 5 times longer to build an app.

      "Show them how writing code yourself actually is a good idea!"

      Only if you are a consultant because it drags the project out 5 times longer. :)

  125. The point is to teach by Sycraft-fu · · Score: 3, Insightful

    Not to try and make it a Linux tradeshow. If I go to a Linux class and all they do is try to show off the nifty things Linux does without teaching me anything I want to know, I'm going to wlka out and get a refund. The point of teaching a class is just that, to teach. It's not for advocacy or verbal masturbation. What's more you are likely to alienate the very people you hope to educate. When you act like a condecending jerk and crow on about how superior your OS is, it just makes people shut down. More, if you get someone who's knowledgable about both systems, they are going to call you to carpet on the fact that Windows can and does do most of what you are selling as Linux only features like SSH for remote administraton. For example: not only can you install an SSH server in Windows if you like but Windows XP comes with a built in remote administration feature.

    IF you are ever in a situation where you are teaching a class on Linux don't be cocky, condescending or anything like that and don't try to turn it into some kind of wizbang tradeshow. Teach people the basic things they need to know, how to navigate the CLI, how to work RPMs, how to manage users, how to look at what's running and so on. Give them real knowledge they can use. IF you do that, you make Linux less sacry and forieng and maybe they start to use it. IF you act as you've suggested all you are going to do is reenforce the stereo type of *nix people as stuck up assholes that hate Windows for no good reason.

    Teach, don't preach. It's a class, not a chruch.

  126. My suggestion by nite_warrior · · Score: 1

    I would go give some info on everything covered on chapter 2 of Essential System Administration (From O'Reilly), then some of the most used commands like ls, grep, mv, cp, etc. and introduce them to writing scripts and the power it has. Also the way to get things configured and include some gui's to do the job..

  127. Import their Outlook contents by sofar · · Score: 2


    OH PLEASE PLEASE PLEASE tell me how to do this d00d!!! I've been wasting *weeks* to get all my e-mail (550Megs) back into the original unix mailbox format (or *anything*) that comes close, and up to now only libPST (*very* Alpha!) is getting close to this functionality.

  128. Dialup by Bugmaster · · Score: 1
    Speaking as a Windows junkie, I will install Linux on my desktop when someone teaches me to configure it to dialup to my ISP, using my Linux-compatible USR modem. I am not looking for lessons such as, "well, you need to patch the modem driver in 3 places"; I am looking for someting like, "Click here to edit this one file, put in your username, and then it works".

    Of course, the above assumes that the Red Hat dialer doesn't work... which it doesn't.

    Also note that, yes, it would be very educational for me to learn how pppd and chat talk to each other; it would also be very informative to know which API is better for controlling the modem, and so on. However, as a Windows user, I know one thing: Windows can dialup right out of the box; Linux dialup requires me to take a 2-week seminar.

    Which is why I am still using Windows on my home desktop.

    --
    >|<*:=
    1. Re:Dialup by rapidweather · · Score: 1

      I ran into the same problems when I first installed RHL 6.1. After some time, I collected my dialup stuff on a web page: http://www.angelfire.com/ms/telegram/linux2.html I put these items on the page so I could install them on a computer right from the website. Typically, I install msdos 6.21, then perhaps Arachne 1.70, then go download the linux dialup files from my page. After that is done, I install linux, and use the files to get connected. One favorite I have is Opera, and while using Arachne I might download it, or just transfer the dialer files and Opera using intersvr in DOS, from another computer thru a laplink cable connected to the serial port. Even with really nice setups like Mandrake 8.x or Redhat 7.x I tend to use my "dial" and "hangup" in an xterm window to get going really fast. I find that the Redhat dialer is too slow, and requires too much "oking" to use it on a daily basis. I always upgrade to Windows 98 or 95 on my msdos partition, so I make it big enough with that in mind. Lots of fun having both Windows and Linux on all my boxes. I often design a web page using Linux, and save the file to the Windows partition, then I can reboot to Win 98, and send it up to the AOL FTP server using AOL 7. Hope this helps.

  129. Editing files, scripts, config files, and binaries by Anonymous Coward · · Score: 0

    Teach them the concepts behind vi. It is suprisingly hard for them. Editing files is so rudementary to UNIX/Linux admins, but Windows guys have the hardest time figuring it out. Vi was one of the first UNIX things I learned and it is essential for admins.

    Scripts, config files and binaries:

    Once they know how to edit a file show them that basically *NIX is just a bunch of scripts, config files and binaries. Show them (generally) where the scripts are, where the config files are, and where the binaries are, and how they interact. That will give them a good base to build on.

    Then go users/groups, file permissions, shells, relative and absolute paths (tough concept for some reason).

    Work your way to daemons, process management...

    DON'T FORGET to show them how to properly shutdown and reboot. They all too often get confused, frustrated and hit that power switch. Or don't and teach them about fsck after...

  130. Where to find help -Confessions of a Win 2000 user by Merkins · · Score: 3, Interesting

    I have been teaching myself how to use Linux over the last week.

    I have been running Ipcop as a firewall for a few months and getting into the shell and poking around finally got the better of me and I decided to give Linux a good go.

    My goals were :

    1. Get it installed and running
    2. Get X working.
    3. Figure out the difference between a desktop and a window manager ;)
    4. Get Samba running
    5. Get apache running
    6. Get PHP and Postgress SQL running to learn them and get a simple web app together (I am a SQL Server / ASP developer by day ....yeah ok ok, shut up... not all of us a morons, just most unfortunately)

    SO far I am doing well. I had some Red Hat 7.1 CDs and have that running. Gnome and Enlightenment work for me, although I am mainly using enlightenment as it is a pretty crappy machine. I got Samba to work so I have a share set up in my Windows workgroup. I have Apache running. I have VNC Server and SSH running so I can do it all from my Windows Laptop using PuTTy and VNC (the only spare monitor I had was really crappy).

    The only thing I have left to do is configure PHP and a database and I am happy.

    But I do have a point....

    The most important thing I have learned. Is Google Groups search is your best friend. There are so many little quirks and pitfalls for someone setting this sort of stuff up by themselves for the first time. No tutorial can cover them all. Teaching people how to find answers is the best lesson of all. Especially when it is 1am and they have just managed to completely stop something from running (Samba, X etc), it is important to know how to get an answer when you have no one holding your hand.

    End of the story....I am loving it! If most of my computer use didn't involve SQL Server I could see myself switching.

  131. To know what they're doing by bluetoad · · Score: 1

    The problem is that most of those types only know how to operate a mouse. They don't know how to understand what the problem is. All problems are solved by reinstallimg Windows.

    Show them how with Linux commands and tools you can easily see what the problems are and fix them. They're not hidden away somewhere. You can work out
    where some config is done by grepping in /etc.

    All type of thing might there in Windows but that is not how they do things....

    1. Re:To know what they're doing by Anonymous Coward · · Score: 0

      "The problem is that most of those types only know how to operate a mouse"

      you sir, are a moron.

  132. Re: by man_ls · · Score: 2

    Exactly.

  133. No you don't by gsf · · Score: 1

    Just start a new command prompt. No need to restart the computer.

    1. Re:No you don't by mobets · · Score: 0

      the bold said that you did not need to restart

      --

      It was me, I did it, I moved your cheese
  134. Re:folder right-click, menu "find" by 10.0.0.1 · · Score: 1

    Will that work on a cdr as well? :)

    --
    forth ?love if honk then
  135. Remote X11 by loply · · Score: 1

    It would probably quite impress them to see some ancient P65 with no HDD running KDE, KOffice and a silly theme like Mosftes Liquid via Remote X11. Especially if you line up 10 of these machines and go around deleting essential files, then explain they neednt go around each one reinstalling Win98, as the admins did in college last week :) Also, find some very constructive uses of command line piping, perhaps using netcat to redirect something on the network? If you really feel they need to be impressed and enthused about it, mix something a tad mischievious into it - let them grep the netcat`ed FTP session for "password". They`ll probably feel like Mentor the second knowing Microsoft people. Oh, and if you can get Debian up and running, show them the beauty of apt-get install and the remote package repository :) Samba might be worth mentioning too.

  136. Show them Cygnus or Perl by Anonymous Coward · · Score: 0

    I would introduce them to one or more of the Unix tools that have been ported to Windows, s.a. Cygnus or Perl. These can greatly extend the Windows CLI, as well as give them a feel for Unix "look and feel".

  137. unplug the mouse by Anonymous Coward · · Score: 1

    and tell them to do stuff in the OS of their choice.

  138. What to teach by Anonymous Coward · · Score: 0

    I can say with experience, teach them telnet, ssh and consoles: CLI over GUI. Our NT people are chaning to SUN and they have a big project due in the lab. So what do they do? They hook up video cards into 420's and work off the gui's. I wouldn't mind it so much except they were using my V880 as the freaking table!

  139. Crash Course by Dr.+Kinbote · · Score: 2, Funny

    I think the term "crash course" should be
    restricted to MS OS classes.

  140. the best thing you could do... by Anonymous Coward · · Score: 0

    would be to set the room on fire, lock the door, and leave.

  141. best way I have found...... by Anonymous Coward · · Score: 0

    The best way I have found to teach microsoft people is to: tell them to pull their head out of bill gates ass.

  142. philosophy by martinflack · · Score: 5, Insightful

    You need to back up and do something more fundamental before you start showing them filesystems and daemons. You need to compare the two competing philosophies that drive Windows and Unix cultures.

    Windows is a goal-orientated, large application model that strives to make normal tasks very easy. Broadly speaking, Windows admins generally respect order, simplicity, and navigability. Everything gives feedback, to a fault. Everything is an object you can click on. Data is encapsulated and handled by expert applications. Application designers make lots of decisions. All problems are handled by rebooting or reinstallnig.

    Unix is a tool-oriented, small programs working together model that strives to make all tasks doable. Broadly speaking, Unix admins generally respect extensibility, configurability, and stability. No news is good news, to a fault. Everything is a file. Data is transparent. End-users and admins make lots of decisions. All problems are handled by reading logs, diagnosing, and making small changes.

    After this balancing act, then you can begin to lead them down your path of showing them practical items. At each point you can refer back to these fundamentals. For example, when it /etc, you can explain why Unix admins think text file configuration is inherently more stable and powerful than registry keys, because without such an explanation the Windows admins will typically see it as quaint and backward. Again, when you get to /dev, you can show the inherent debugging power of being able to do things like "tail /dev/midi00" to debug a connector on the computer, even if that data is not useful immediately. You can show how grep, awk, and perl can be chained together to do advanced data processing (on text) that would not be possible on Windows without a specific feature to make it happen. The key is to refer back to a specific philosophy for each exercise, so they can see the big picture.

    None of them will watch a hands-on lecture and run out screaming "I've got to convert to this immediately! He broke out this thing called grep and it was.... it was.... AMAZING!" :-) Rather, you want to give them a clear understading of our culture, and just like how a high school senior goes to a college campus and says, "Yeah, I can see myself here" you might kindle an interest in some of them to find out more about how we *nix people think.... and that would be the first step to bringing them over.

  143. samba and gnu tools for windows by paranoic · · Score: 1
    Don't forget that there is a command line in windows and many of the gnu tools have been ported to windows and they can use them when they get home. Show them grep and piping results from one program to another.

    And don't forget samba. How unix connects to the windows world.

    Don't try and convert them, just explain how things are different.

  144. yeah but by Gavitron_zero · · Score: 1

    you can't post a comment like that on /. Having an opinion that is funny, but doesn't praise *NIX, you get troll. Come post on K5...where you can have opinions. Oh, and modding this down only proves my point.

  145. Checkmark compatibility by driehuis · · Score: 4, Insightful

    Use the right tool for the right platform.

    Sure, DOS has had scripting and pipes from day one (well, unless you tried MSDOS 1.0). Were they as useful as their Linux counterparts? No freakin' way.

    Why does TYPE not take stdin? Why is "copy con" equivalent to "copy con:"? (And, why is "copy con.txt" ambiguous?)

    How can a batch file determine if a directory exists? Hint:
    if exists c:\foo\con
    yields different results in different DOS versions

    DOS for the longest time failed the basic tests. And for the longest time, I was working with the MKS toolkit, replacing the ones that didn't quite do what I wanted them to do with copies ported from comp.sources. But it never became UNIX.

    NT is still rife with inconsistencies in the CMD shell, and I don't know (nor care to know) if or when they get partially fixed.

    The point is: if you want to use Windows, use Windows tools. Learn how to use VB Script to its effect. Learn MSVC if you must. Prentending that it's another UNIX if you squint right will hurt you. Windows is not designed to be UNIX.

    Every time I use Windows on the premise that an OS is an OS and a command shell is a command shell I get hurt. I should have learned that lesson from VMS years before.

    Does anyone knows if the Posix subsystem still exists in Windows XP? That was the worst checkmark compatibility I ever saw. You could run Posix code on NT, to allow NT to be purchased by the federal government. And unless you wanted to do actual work with it, the compatibility was fine.

    It is completely beyond me why people are porting Apache to Windows. NT comes with a perfectly functional web server, why bother replacing it? Don't get me wrong, I hate IIS with a vengeance, but the loopholes in the underlying operating system (like the $::DATA bug) will have to be special cased in Apache too. And the $DEITY like privilege issues that plague the IIS indexing server will plague Apache just as well.

    Possibly even worse, because code ported from UNIX will have to be modified to suit NT's security model, a redesign from scratch really is the only appropriate way to deal with such huge gaps in design philosophy.

    --

    Bert Driehuis -- All I asked was a friggin' rotatin' chair. Throw me a bone here, people.

  146. If your teaching linux to microsoft junkies by MagickChicken · · Score: 1

    ...Then the only command within thier grasp will probably be startx

  147. Comment removed by account_deleted · · Score: 2

    Comment removed based on user account deletion

  148. Comment removed by account_deleted · · Score: 3, Insightful

    Comment removed based on user account deletion

  149. A few years ago I would have said by ahde · · Score: 3, Funny

    teach them aliases, because it helps get rid of the fear of memorizing odd or complex commands. But since computer users don't even know simple commands like "dir" anymore, that's probably moot.

  150. dude by Anonymous Coward · · Score: 0

    picking on someone's syntax and having an intelligent comment are two different things.

    go back to high school, kid.

    1. Re:dude by andrewski · · Score: 1

      High school was boring enough first time around, son.

      When somebody tries to become an authority on a certain topic it is instructive to determine what qualifications they have on said subject. Seeing or even owning books is not necessarily a qualification. Reading and retaining the knowledge contained by such books may be.

  151. Thankless Task by Anonymous Coward · · Score: 0

    It sounds like a thankless task, but sometimes the delegates in these Mickey Mouse groups are there reluctantly. Of course, if they're all gung-ho about getting their Microsoft diplomas, nothing will save them.

    'Serious computing' and 'Visual Basic' are of course antonyms, so I don't see the point in it all.

    I would definitely not push any of this on any of them. Even if they do not realise that most of the ideas present in Microsoft systems (the relatively good ones) come from Unix anyway. Think about the bomb you'll be dropping - you say 'all of this comes from the world of Unix of course' and they just stare at you, jaws dropped, mouths open to invite the picnic flies.

    If you keep your presence of mind your delegates will notice rather early on, and you can expect a lot of questions and idle chat at the lunch and other breaks. Be yourself and never hesitate to tell them the truth - the whole truth and nothing but the truth.

    They will be grateful you did, and so will you.

    Best of luck.

  152. You must teach the roots of Unix by garfycx · · Score: 2, Insightful
    Hi!

    If you just focus on standards and deamons you only show them several single aspects of a unix system without showing them the unix system itself. When they are on the way to an MSCD they already have a vision of an OS and how it should work. you can't fight against that with some standards here and some deamons there. They must learn why unix samples all functionality in a virtual tree and why it bases on tools. This helps them to understand why Samba is not just a clone of a Windows Strategy and why the Filesystem Hierarchy is not just complex but functional etc.

    Don't forget the glue, and that is the unix philosophy. It gives the audience the information they need to stay away from prejudices and to find correct answers and assumptions on their own thinking.

  153. VB+Acess vs VB+PostreSQL/MySQL by Bodrius · · Score: 2

    Depending on your target class (there are many kinds of MCSD/E students), teaching them that their VB solutions are not completely tied to the Microsoft products is probably the best idea.

    Someone mentioned that mySQL is not a replacement for SQL Server, which is true. But SQL Server is overkill for a lot of projects, and because of the expense they might end up using (argh!) Access. Any of those two open-source products are Access (argh!) killers.

    A lot of Microsoft junkies make VB projects tied to Access/Excel (argh!) for a living, particulary those interested in the VB road of the certification. Although sometimes convenient for a number of reasons (data is already there, users use Excel, etc), it is often a very impractical solution.

    Once more, which product to show off depends on the target. Some DB junkies would have problems with mySQL's missing subselects, young foreign key implementation, etc. but like PostreSQL a lot. Others would like mySQL for the same reason some open-source hackers do and wonder what all that relational integrity stuff is about.

    Another thing: use a nice Windows-like GUI (KDE/Gnome) to show them around the system. Don't even mention WindowManagers or things like that until the end. Let them explore the new tools on a familiar GUI they already know how to handle. Heck, use one of those Windows themes to see who's the first to notice it's Unix, if you can get away with it.

    Show them some nifty tricks on the command-line, but not too many. Piping, redirection, grep, tail, man (don't forget man! they'll be typing /? forever!), are all good, but if you get serious many of them will get lost and be wondering why would they want to do "that command-line thing" in the first place.

    Show them the kind of things they can do on the shell without having to consult man. Then do them through ssh somewhere else in the world, preferably in a box with another Unix (Solaris, SunOS,etc). Then show them a bash script doing something they would only expect an "EXE" to do as an example that people do really complicated things with it.

    Then, tell them they can get these tools for Windows. Most of them will not try Linux just because it looked nifty when you showed it to them, but if the useful tools available for their platform make them take open-source seriously, that might do the trick.

    --
    Freedom is the freedom to say 2+2=4, everything else follows...
    1. Re:VB+Acess vs VB+PostreSQL/MySQL by alyandon · · Score: 1

      Then show them a bash script doing something they would only expect an "EXE" to do as an example that people do really complicated things with it.

      Granted, having such features as an integrated part of the various *nix shells is more useful than the standard windows command shell and batch language -- but you would actually be surprised at what you can accomplish with the FOR command in NT/2000/XP/et al.

      However, any Windows developer worth a damn would know how to write a .vbs script file to do more complex tasks that the standard Windows command processor can't handle. The drawback being that .vbs scripts aren't run natively in the shell.

      The funny thing is Microsoft crams VBA and VB script functionality into every conceivable orifice they can think of with their various applications -- but then leave it out of the command shell.

  154. MCSD! by Daengbo · · Score: 1

    From the description: >The MCSD for Microsoft .NET is appropriate for: >1. Software engineers >2. Application analysts >3. Software application developers >4. Software developers 5>. Technical consultants So, even though we'd like to show off how great unix is, maybe we should show them some cross-platform development tools, like, for example, QT. They'll likely be developing for Windows no matter what. Show them that they can create for three platforms at once (Unix, Win, and Mac). Dan

  155. Re:How about a course for MS users (not developers by Anonymous Coward · · Score: 0

    This of course highly unrealistic. A lot of very good admins are locked into MS against their wills and even against the wills of their companies. MS has been very good at making things like that happen.

  156. Has someone forgot? by Anonymous Coward · · Score: 0

    Has someone forgot that this guy has a course plan to follow? And that if he injects something outside the plan he's going to be on thin ice already? It's ambitious and even admirable of him to want to do this, but seriously, can all of you with your great ideas for stupendous demos etc. really expect him to take so much time out of his schedule to proselytise instead of teach?

    The poor guy is probably hoping for a return engagement; he's obviously very inexperienced, and may even be unemployed like so many of the MCP candidates themselves - or like you. Do you really want him to ruin his chances for a good gig?

    1. Re:Has someone forgot? by Daengbo · · Score: 1

      Ok, I'm going to lose some karma over this, but I have to say it. If you're out of a job, consider coming to Thailand, like I did a year and a half ago. No, I don't work in computers: I now teach English, but the department gave me the lab and carte-blanche to do virtually whatever I want to do with it and their budget.
      I don't make a lot converted to US$ (ranges between 800-1300/month), but it puts me in the top 2% of incomes in this country. Hell, I have even had a full time maid.
      My main point, however, is that my thai girlfriend takes every opportunity she can to suck my dick. Sure, after I met her, she put on about 8kg, but her weight's stayed constant for a year and a half and she's still thinner and sexier than anyone else I've ever dated. Almost every morning ,before I leave for work, she pulls out my dick and starts sucking. If I'm off work for the day, the first thing she does when she is semi-awake is start stroking me, and eventually rides me to death. Then when we are walking in the mall or whatever, she whispers to me, "When we get home, I'm going to suck your dick. It's so beautiful!" Work days, she makes sure I come at least once, and on days off it's always two to four times. God! I'm 34 and have a serious paunch, so sometimes I have to tell her I need a rest.
      You would not belive how happy I am. Just my recommendation to you all. You need a place to stay while you get setup, let me know.
      Dan

  157. Linux for Windows Addicts by GenitalLeper · · Score: 1

    It's a fantastic book, and would probably serve as a useful guide. Introduces a lot of common administrative items.

    1. Re:Linux for Windows Addicts by Ixe · · Score: 1

      Where can I get it? Didn't see it at amazon...

      --
      Sigs pose an operational security risk and help the baddies aggregate data. I guess commenting does too, oops.
    2. Re:Linux for Windows Addicts by Ixe · · Score: 1
      Sorry to ask too soon... I found it at B&N

      This should get you there

      --
      Sigs pose an operational security risk and help the baddies aggregate data. I guess commenting does too, oops.
  158. This doesn't deserve a zero by benjamindees · · Score: 1

    I've used TWO of the suggestions in this post in the past two days. I used tomsrtbt last night to mount a cd and install drivers because Windows refused to recognize it. Lynx + Google + FTP is a brilliant combination. Maybe these people won't be administering Windows boxes, but they'll sure be using them. If I had points, I'd mod it up.

    --
    "I assumed blithely that there were no elves out there in the darkness"
  159. Drive this through their skulls... by WD_40 · · Score: 1

    Something worth mentioning that Microphiles have a hard time grasping is that you don't have to reboot after every fscking change! Teach them the value of -HUP and being able to kill just a daemon without the need to reboot.

    Incase you can't tell, that really frustrates me when they do that. :P

    --

    "With sufficient thrust, pigs fly just fine." -- RFC 1925

    1. Re:Drive this through their skulls... by Anonymous Coward · · Score: 0

      That's true as opposed to single applications that keep unexpectedly crashing. Depends on what your tolerance level is.. Admittedly a stable OS is better than a stable app.

      Not that I'm enamored with wintel or anything but as a Linux newbie/wannabe it's just what I've noticed.. Keep in mind with respect to Linux the user ignorance level (mine) is quite high here..

  160. Show them *BSD by Anonymous Coward · · Score: 0

    show them "ports"...this is the best way, how to show someone, what opensource really is...

  161. Students??? by Anonymous Coward · · Score: 0


    WTF! It just goes to show how experienced you have to be to complete certifications. These people, "students" mind you, have a lot more to learn before they should even think about getting certified.

    Similar situation:

    To me it's the same as when a freshman says that they are going to get a B.S. degree in CS in a couple of years. They think they can breeze through, do a little cramming, and wohla! a degree. A few people can do this no matter how hard the curriculum. Those type of people usually can't hack it in real world situations though. We'll leave them out of this discussion. I've seen it.

    What usually ends up happening to people who think they can cram through an ACCREDITED program do one of 4 things:
    1. Drop out of school all together.
    2. Switch to the much easier B.A. program
    3. Switch to the even easier MIS program
    4. Switch to an even easier major.

    Back to the subject at hand:

    There's so much more to becoming a great developer than getting a certification. As a student you've only begun to learn the basics of development. In other words if you have to say that you're "studying" at some type of school to get your certification (i.e. you're a student) you've haven't begun to learn enough about development to think that this certification is going to get you anywhere. Real developers will see right through you.

    I can see going to actual classes/seminars/etc. to learn new technologies that will continue to emerge so that you can keep up with the rest of the world. But to go to some week long "school" as a "student" that is going to tout that suddenly you're a master of something with a certification at the end is silly. You're a certified nitwit to spend money on that type of class.

  162. Stay focussed. by Paul+Komarek · · Score: 2

    You want these people to take something home with them. Two days is very little time. Stay focussed and don't go for breadth. It's fine to do a whizzy tour of lots of stuff for the sake of impressing them and whetting their appetite, but keep the rest simple and focussed.

    I've screwed up many one-on-one linux|computers|math|whatever teaching sessions by trying to cover too much stuff to quickly. I'm always forgetting to make it clear to the other person *exactly* what my objective is at all times. As a result, they aren't sure what to "take home" with them, and they end up taking almost nothing home besides the fact that I know what I'm doing and they don't.

    So stay focussed. Make the curriculum simple. Whizzy tours are good, but don't expect them to take home more than "gee-whiz" from them. Make it clear at all times what your objective is.

    Of course, these rules have very little to do with teaching use of unix systems. But it's while teaching these things that I most often forget these rules.

    -Paul Komarek

  163. su and multiple logins by djozone · · Score: 1

    Under Unix, if I run into a permissions issue, I su root, and fix it. Worst case, I open another window as root. No muss, no fuss. Under Windows, I've got to logout and re-login as Administrator. Show them how to avoid that, and they're yours for life.

    1. Re:su and multiple logins by spongman · · Score: 2

      runas.exe is their friend.

  164. Probably useless by Alex+Belits · · Score: 2

    The course on Unix that will fit into that time, taught to people that just received a dose of Microsoft propaganda will be like teaching geography to someone who believes that maps are meant to be drawn with America in the middle. Those people were learning Windows for decades. They believe that "double-click launches things" is the law of nature. They think of Windows ways of doing everything as "intuitive" because this is what was burned into their brains over the years of using it.

    The course that they have just received only reinforced that, plus given then a lot of "knowledge" about how to reproduce someone's performance of trivial tasks -- in Windows, using Microsoft tools, speaking Microsoft terminology, and with Microsoft step-by-step explanations. If it prepared them to anything, it's certainly not thinking about anything outside Microsoft world, or independent thinking of any kind, anywhere.

    Whatever you can tell them will only enable them to say "yeah, I know Unix" -- and then cause a spectacular mess when actually trying to use it. I believe that the only way to make those people less dangerous for Unix users is by humiliating them thoroughly and mercilessly, so every time they will see or hear anything about Unix (or anything advanced at all) they would get the painful feeling of their intellectual inferiority, and will shut up, so others can complete their work without them interfering or trying to convert yet another thing to Windows.

    --
    Contrary to the popular belief, there indeed is no God.
  165. MCSD?: Show them the developer's tools by artymiak · · Score: 1

    Your initial idea is good. Show them how easy it is to develop modern applications on Linux.

    Show them tools: a few different editor's (don't scare them with vi or Emacs right away), debuggers, compilers and interpreters, let them know that all these tools are available for free.

    Show them how easy it is to code an XML parser in Python.

    Show the power of PHP and its excellent database connectivity (do mention that it has support for many commerical databases like DB2, Oracle, and others, all without having to pay a single cent in licensing fees).

    Show them how easy it is to code Web services in the language of their choice).

    Show them how to use gcc to build large projects.

    Explain the implcations of various licenses (GPL, BSD and the Artistic License); explain the role of GPL in keeping the software free and how it is "infecious", but do not force GPL upon them, because it might not be the best license for them).

    Do mention that they can experiment with the latest code, try dozens of tools and use them in commercial project, all without having to pay a single cent in licensing fees. That should make them think.

    Explain what SourceForge is and how to hunt for code there.

    --

    Jacek Artymiak
    freelance consultant and writer
    master of many a page

  166. If you're teaching something other than Linux... by wd123 · · Score: 1

    Teach them how to use sh, or ksh. Most systems don't come with bash. Most systems' default shells do NOT tab complete. Although tab completion is great (I'm a zsh junkie) they need to understand that it isn't always going to be there for them. If you want to teach beyond Linux, teach beyond bash. ksh is available on just about everything but BSD (who for whatever reason LIKE csh ;), and that's as good a starting shell as any other.

    --
    "question = (to) ? be : !be;" --Shakespeare
  167. Type is not cat by 3.1415926535 · · Score: 1

    due to the fact that type puts the name of each file you list if there is more than one. To get the equivilent of cat you have to use copy /b file1 + file2 + ... + filen outfile, and then pipe the output file into the program you want. This, of course, takes disk space.

  168. Actually .. by cje · · Score: 2

    Historically speaking, the difference between "bin" and "sbin" has had nothing to do with the intended users of the software (superuser versus "mortal.") The "s" stands for "static", and has always typically been the home for statically linked binaries that are available for cases where the C runtime library is (for whatever reason) unavailable (maybe the filesystem it resides on is unmounted, maybe some idiot admin deleted it, etc.) Now, it just so happens that most of these programs are really only useful to root, but it was never the original intention of UNIX vendors to store "root-only" programs in "sbin".

    (This is not to say that it's a bad idea or that things haven't been migrating that way in recent years and in recent distributions.)

    --
    We're going down, in a spiral to the ground
  169. 10 ways a linux box can save your butt.. by bigattichouse · · Score: 1

    when NT Domain goes down, here is how you set up Samba in 10 minutes while your techies spend 4 hours trying to figure it out.

    Make a list of NT Services and the make a list of quick linux fixes for each of those services when the NT Service goes down.

    --
    meh
  170. make linux users out of them! by tarzeau · · Score: 0
    --
    Windoze not found: (C)heer, (P)arty or (D)ance
  171. Empowerment is the key to teaching Free Software by MrBrklyn · · Score: 1
    At the New York Linux Scene (NYLXS) we made the primary mission of the group one of broad based education based on teaching how Free Software empowers individuals. In my view, the key to teaching about GNU systems, Linux and other Free Software platforms, is by conducting lessons in a fashion which emphasises how a Free Software platforms practically serve the end user by enabling them and encouraging broarder skill developement and usage. Many practicle examples are available which clearly show how use of Free Software enables the budding MS certified admin or regular Windows desktop user how using Free Software enables, while use of the proprietary ensnarls the user and cripples the ability of the user in accomplishing the important day to day missions so important to their personal lives and businesses.

    A short history of the continual upgrade elevator of systems with proprietary software, and the litter of useless "hot technologies" from Fox Pro to Java Applets reinforce the absolute need for real professionals to focus on technologies which can not only withstand the test of time, but can have the freedom to be extended rationally and to evolve into a reusable body knowable over decades rather than months.

    We do everything we can to emphasis the enabling capability of Free Software, and our whole program is designed to teach empowerment through digital systems, the kind of empowerment ONLY possible when the systems that you use respect the political freedoms needed to guarantee the freedom to innovate. This freedom to innovate is only possible through extenssive use and training in Free Software systems. And this is where you have to focus.

    In order to drive home this point, you need to make them feel empowered through the use of Free Software. They must be encouraged to become involved and to take pocession of their systems. For this reason, we require our Linux 1 class to learn to install their own computers, to set up networks, experiement and make choices. Each student buys a machine, which in the end they fully own, software and hardware. Once they feel the power of real ownership of their systems, they become extreamly enthusiatic about Free Software and naturally develope into advocates for use of Free Software in their work and living environment.

    In the end, the key to teaching this group of students is no different than teaching grade school students math. You have to focus on your mission to empower the student, and to develope their confidence to be a creative participants in their own futures, in this case, through these marvelous devices which we call digital computers. The stark differnce between systems designed to ensnarl and exploit, as opposed to free software systems which are designed to empower, is best taught through hands on participation where they come to feel a sense of private pocession of their systems.

    Ruben

    --
    http://www.mrbrklyn.com/amsterdam.html http://www.brooklyn-living.com
  172. Show them real applications attracting attention by bilalak · · Score: 1

    I think the best way is to show them some aplication to attract the attention Remember in Windows world, people try to think in terms of simplicity not power cause most NIx users r geeks but mmost Windows knowledge seekers are less brave to tackle Nix pros and cons I dd gave a seminar a while ago on Open source applications on the Internet and beleive it or not people dd not beleive what they say Shwo them KDE and its use, talk about Apache, gimp, .... This would help u a lot to get their attention thenu can do down to more core features Good luck

  173. you're all missing the point... by drik00 · · Score: 1

    If you're trying to teach some MS-acolytes about UNIX, teach them the things to make the system run. sure, sed/gawk/cat/grep are fantastic, but what good do they do you when you're trying to figure out how to configure the ethernet device?

    In other words, teach them the system, not commands...they'll forget the commands, but they will probably remember the methods by which the system is set up, which is infinitely more important.

    I've been running linux for about 4-5 years, and honest-to-God, i've NEVER used sed, gawk, or grep. (Yes, i know i like to do things the hard way, so f***ing what? :) )

    --
    Beer, now there's a temporary solution -- Homer Jay S.
  174. Remote access off a server by Anonymous Coward · · Score: 0


    I know noone ever will read this post.. but what you should show them are how we Unix people remote administrate our machines.. Have two machines, nicly looking with desktops and stuff, ssh to the other machine.. tell them thay you realy are on the other machine.. by lets say change its desktops backgroundcolor... then start a program, say AbiWord on that machine and display it on the machine you sitting on.. open the file dislog and show them that you realy are on the other system.

    Do stuff, they cant do but realy would like to do with Windows =) .. That is what I would do.. if you feel like spending some dimes for a good cuse, burn a couple off CDrom to them, and hand out to people thats intressted =)

  175. best project by psych031337 · · Score: 3, Interesting

    OK... I am a guy that has seen DOS, 4DOS, numerous Redmond products. I currently am stuck to W2K and I probably will be for quite some time as it is damn reliable. Linux was never a issue to me, mainly because I have to eat (and therefore earn bucks admin'ing Win OSes).

    But what really fused my interest and admiration for linux was configuring a dedicated router on outdated hardware. There are quite some "linux router on a disk" projects out there, look for Coyote, FreeSCO or FLI4L (which is maintained by bunch of german guys).

    Get your people to setup a working design for a linux router. The beauty of the project is that they can just make a boot disk, reboot the box they are working on and test it for real. The simplicity of the projects has quite some advantages - it takes out the "cluttering" some distros have (as in having /bin, /sbin, /usr/bin, /usr/local/bin, ...) . The systems generated by (say) FLI4L are full linux systems, but without most of the fuss.

    These systems are probably all you need to teach the basics of piping and redirection, the /var and /proc concept, shell scripting and automating/streamlining processes, blah blah. To me the FLI4L is the essence of linux - a small thing to get the job done, with no waste of resources. On the other hand, there is basically nothing you CANNOT do with FLI4L - install a SMB server and print servies, control LEDs hanging off the serial port, httpd, ftpd, telnetd, mount NTFS, you name it.

    Excuse me for praising FLI4L here, other router distros are probably just as good, but FLI4L has the flexibility to astonish even people like me.

    --
    +++ath0
  176. No offence but... by Otis_INF · · Score: 2

    When people have to possibility to use Visual Studio.NET or Visual Studio 6, why would they be impressed by a stack of commandline tools, emacs and CVS?

    What these people NEED to learn is HOW to connect to other machines from their windows boxes, like connect to an Oracle installation or a postgresql installation on Linux/sun/other unix. But frankly, most of them will simply look for an ODBC driver, if it's not there, they will leave it or look for Host Integration Server to do the job.

    --
    Never underestimate the relief of true separation of Religion and State.
  177. MS Developers don't want to use commandlines by Otis_INF · · Score: 2

    (NOTE: The uni I graduated was a 100% unix shop, I developed on Unix for years, now I'm a 100% windows/.net developer, I know both sides)

    A general rule: MS-targeting developers are used to have powerful tools that do stuff with a click of a button. Don't bore them with commandline tools. Sure, on windows commandline tools are also used, but since a lot of tools have powerful gui's, they're not that necessary, especially not when you're a developer and living in visual studio all day.

    It's of no use to teach these developers what AWK is or bash-scripting. What they need to know is how to connect from a windows box to a linux box to do stuff they otherwise would have programmed into SQLserver f.e. _THAT_'s knowledge they will not learn otherwise plus it's knowledge that comes in handy.

    Teaching windows developers how great linux is from the point of view of a linux user, is useless, since windows developers know what they have, know what their system can do and will compare their system with what you'll teach them. And no offence, but nothing compares to visual studio at the moment.

    Again: the problem with windows developers is that sometimes they lack knowledge about how to use a database or service (call it daemon, whatever you want) located on a different platform in a way that is efficient. However, this knowledge has to be taught with a windowsdeveloper's POV in mind, since THEY are going to use that knowledge. So commandline tools how to query a MySQL database is not useful. How to set up a VB program to connect to a MySQL database IS useful, plus show how to program transactions using innoDB, if that's possible (but I doubt the latter, since afaik MySQL doesn't have a DTC driver)

    --
    Never underestimate the relief of true separation of Religion and State.
  178. That's exactly not what I'd teach them by willis · · Score: 1
    I'd teach them 6 or 7 commands (cat, grep, top, df, du, sort, man, jobs), &, , and |. Maybe pico for an editor. "Everything is a file or process". Shell script (the idea). That'd be day one.

    On day 2, it might be intro to X, telnet, ssh, ftp (if they don't know how to do it manually).

    Personally, I think all of the other stuff is candy (Jpilot?). Maybe you can spend 1 hour showing them this stuff (like "Look at this, isn't it special?"), but I'd stick to the basics, the parts where unix really excels, instead of trying to show unix as the newest version of windows.

    Yeah.

    --

    there is no thing
    what else could you want?
  179. I just held a course for MS-junkies by skurk · · Score: 1

    I just held a course for MS-Junkies myself. It was slightly longer, 40 hours spread over 10 days of education.

    My primary target was to teach the students Linux installation, Apache and Samba.

    On my 2nd day I realized that none of the students really knew what Samba is (nor SMB or Windows File Sharing) AND they didn't really have a clue what a webserver OR HTML is.

    I guided them through the installation of RedHat 7.2, and displayed a few screenshots of KDE and Gnome on the projector. I let the students choose which one they liked the best, and we ended up with Gnome.

    After the installation, which went without problems, I carefully explained to the students the history of Linux, what the Kernel is, how modules work and what we were going to do during these 10 days.

    I'm currently on the 10th day now (actually I'm sitting in the classroom right now, we're celebrating the end of the course by playing XPilot on Linux :D).

    My hints for you would be:
    *) Explain everything slowly, carefully. Do as much as possible in X11 GUI. They can't really figure out how the console works :)
    *) Always compare things to Windows, no matter how much it hurts. And easily, ofcourse - "As you see here, we have something that looks like the start-button and if we click it (...)"
    *) Stay cool, don't worry. You know more than the MS-geeks anyways.

    Best of luck!
    -skurk

    --
    www.6502asm.com - Code 6502 assembly or.. DIE!!
  180. I'm not a Unix developer by theolein · · Score: 1

    But I think that a lot of comments here are not what developers want to see. My suggestions:
    1. Since these are VB and C++ people you could show them Kylix and Kdevelop
    2. You could also get a Mac from somewhere and show them ProjectBuilder and Interface Builder and explain that it is meant for C/C++, ObjC and Java and above all comes free with the OS.

    I think you will have a hard time convincing someone who has had the luxury of a good IDE (VS) that developing in VI or Emacs is easier. I'm not too sure what C++ IDE's are available for Linux but I do think that they would prefer to use something like Metrowerks (there's a Linux port right?) than command line editors, because if they come from the Windows world they will be used to using a GUI and paying for their tools.

  181. Incentive by Begemot · · Score: 1
    Make the start smoother, give an incentive!

    For example compare Win2K vs. Linux according to the following criterias:

    Compare costs of a standard corporate LAN installation

    Compare total number of servers using *nix, average server uptime etc.(get this info from www.netcraft.com)

    Compare number of website break-ins (get this info from www.attrition.org)

    Good luck!

  182. Emphasize Linux mindshare by Jeppe+Salvesen · · Score: 2

    One thing you should mention that is not technical (and this is probably something you want to put into the introduction), is the fact that Linux/Unix is used in most colleges. College graduates like Linux. This is in fact one of the ways we are moving towards world domination - we are making that would-be college graduates are introduced to Linux at a rather early stage.

    You should also emphasize the vast number of libraries with already implemented algorithms, ready for them to use. CPAN is a good example. Also, a bit of freshmeat is quite impressive and motivating.

    Once you have them motivated and convinced that Linux is the way of the future, you can start being more technical - showing how the CLI can be effective, how apt-get is the automatic, up-to-date, nighly version of windows update, how tunneling X through ssh enables them to run apps remotely.

    These developers are future .NET people. Maybe show them some SOAP stuff on Linux? Show them some databases? Admit flaws, emphasize strengths.

    Oh - and show them the way of groups.google.com!

    But - again, never let them forget that the Linux mindshare is ever expanding, and that IBM is investing heavily into Linux.

    Finally, maybe show them a java app the runs on both Windows and Linux, thus proving that they can work together?

    --

    Stop the brainwash

  183. Re:Cygwin -- an introduction to cross-platform too by spongman · · Score: 2

    Good call. I use Cygwin extensively on my windows machines. I used to use 4/NT as a command line replacement, now I'm moving more towards bash. The cygwin distribution is remarkably rich one of my favorites right now is sshd.

  184. Hey flupps, by shaunak · · Score: 1

    I don't know who wrote the title "Teaching Linux/Unix Basics to Microsoft Junkies?". If you did, I would advise you not to call them junkies - they might not like it, unlike most *nix junkies. Now, if Timothy wrote that title, well, we understand and need not speak more.

    --
    -Shaunak.
  185. free download of training materials by Anonymous Coward · · Score: 0

    You can find some free training material at http://www.linuxtraining.co.uk/download/ also you might want to point them to the training offers for redhat or whatever your prefered distribution is to dispell the myth that linux isn't supported.

  186. Just one suggestion: Mental floss by CoffeeNowDammit · · Score: 1
    MSFT types (and those who have evolved into them) feel that the command line is somehow evil and tainted. In other words, a point-and-drool interface is required.

    For example, you have a list of numbers, one per line, in a file, a MSFTy will say "uh oh, gotta get Excel". A Unix-head types in one line at the prompt:


    sed "2,\$s/^/+ /g" list.txt | xargs echo | bc

    Of course, there are numerous ways you can do this, and I'm sure somebody here will want to show off their kung-fu in a later post, but you get the idea.

    I'd say, just show them how powerful Unix scripting can be, and one they're used to simple tasks on a Linux box, start making them write simple (or not so simple) command lines and scripts. Reinforce the idea that yes, the tools are there.. because software developers through the decades had to write them, rather than buy them shrink-wrapped.. and that it's just a matter of knowing how to use them effectively.

    --

    ".sig, .sig a .sog, .sig out loud,
  187. Why waste your and their time ? by Anonymous Coward · · Score: 0

    This sounds like an incredible waste of time for all concerned.

  188. Fun by hey! · · Score: 2

    Teach them it is fun to have access to the innards of software, to be able to install, test, modify, deploy and share without any @#$*&! license headaches.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  189. M$oft junkies need hand feeding by Anonymous Coward · · Score: 0
    We have been training M$oft junkies here for several years in systems administration. So far the best method seems to be

    1) start with as many bells+whistles as is possible i.e. kde (lots of images + themes), email, newsgroups, movie clips , streaming audio etc etc - the more useless flashy fluff the better.

    Before the excitement wears off we go through a vi tute, then sources of info (man/apropos/newsgroups/lists/www-sites etc).

    2) basic unix commands

    3) installation - a demo of automated installation followed by manual installation (monkey see - monkey do)

    4) configuration/kernel building

    5) X windows - (big sigh and then a groan when they realise twm isnt kde)

    6) installation of kde (by this stage they have an idea of how ports work so we let them play a little)

    7) installation and configration of apache - at this point they are told to do it themselves (about 3/40 just dont get it)

    Overall the course takes 5 days - with a theoretical component (non product oriented) and practical component based on FreeBSD.

    Observations: 10% are duds, 75% take distributions home with them (10% will use them and progress further). They already 'know' theyr'e using a crap O$ (but dont actually believe it nor do they care). All of them have incredibly short attention spans unless you hit them with multimedia and most are happy to get apache and sendmail up&running so they can show a boss 'value for money'.

    PS: showing them netcraft, uptimes and crack/bugtraq statistics ad nausea is almost useless - they rarely understand what you are talking about.

    PPS: don't forget to show them how to use a packet sniffer and firewall traffic management (you would be amazed how many M$oft sysadmin wannabees love the idea of snarfing passwords and choking traffic to solve a grievance).

  190. talk to this guy by Anonymous Coward · · Score: 0

    this this gent

  191. BRING CRAYOLAS! by replay+TV+Guy · · Score: 1

    Lost of them, and paper too unless of course the table tops are laminated.

  192. your sermon... by micq · · Score: 1

    1) walk in room with thick linux bible, wearing black suit.

    2) slam linux bible on table in front of class to shut them up.

    3) look them all over and ensure that they're the 'try to get rich quick by getting an mcsd job with no experience' (ref MCSE's)

    4) inform them that their souls are already bound for eternal damnation, and linux can't save them now.

    5) walk out.

    6) bill for 2 hours of your time, include the fact that you brought the light with you...

  193. Don't Overpromise on mySQL by SuperBill · · Score: 1

    I LOVE mySQL, but many are shocked to note the lack of correlated subqueries, triggers and stored procs. These are coming, but anyone making a comparison should note these differences in the current stable build.

  194. Something Useful by rfisher · · Score: 1

    Back when I was still fairly new to Unix/Linux, there came a point when I had to reconfigure my Linux machine's IP address. It had initially been configured by the user-friendly install program. I was sure there was a user-friendly tool for changing it, but I didn't know what it was. So, this is what I did:

    find /etc -type f | xargs grep "192.168.0.2" > files-with-old-address.txt
    find /etc -type f | xargs grep "255.255.255.0" > files-with-old-netmask.txt
    find /etc -type f | xargs grep "192.168.0.1" > files-with-old-gateway.txt

    Where "192.168.0.2" was replaced with my old IP address and "192.168.0.1" was replaced with my old gateway address. Of course, I didn't go searching and replacing willy-nilly. But by looking at the results of those commands, it became clear what I needed to change. And looking at a few man pages based on what I found helped me make sure I was doing the right thing.

    The point of which is, on Linux and many Unix systems, if you need to figure out how to change a configuration, there's a good chance that a find/grep on /etc will turn up all the clues you need. How to do that should be one of the first skills to be learned by anyone who wants to be somewhere between just-a-user and full-blown-sysadmin.

    For Microsoft people, it's analogous to searching the registry, though (in my experience) searching /etc turns up the right answer faster and more reliably than searching the registry.

  195. hmm by Anonymous Coward · · Score: 0

    I installed default mandrake 8.1 on a pc with 64 megs of ram and 4.3gigs and it ran slower than win98

    bah

  196. Teaching Unix to Windows folks by Quill_28 · · Score: 1

    As someone who went from a Windows shop to a "I hate MS as much as SlashDot" shop, here are some things I feel would be helpful:

    1. Don't assume they are stupid, or brain-washed, most people want to learn.

    2. Explain where Linux excels:

    Web Serving
    File Serving
    Relibility
    Cost - they won't care

    3. Explain how the theory behind X Windows.
    The act of "throwing" a windows from another machine is completely foreign to many folks. Explain that xview is actually running on a Linux but 'throwing' a window to your workstation. I am serious this idea was completely new to me. But seems only logical now.

    4. Explain that when you log in to another machine it is like you are sitting in front of the machine. Again Windows wants to do everything locally.
    For instance, you are using windows box A. Using network neighborhood you find a program called Regclean on windows box B. When you double-click Regclean does it run on windows box A or windows box B?

    5. The idea of home directories for users. Most exp. Windows folks hate that programs put save files everywhere or users put their save files everywhere. It sucks to have to back up someones hard drive when you don't know whre their personal files are!

    6. Explain that rebooting Unix is a 'big' deal, rarley needed and rarely done. Exp Windows users know that you always reboot, and when things get horked you reinstall. I love it when a Unix guy trys to re-configure a Windows box, after two days they finally listen to me and take the hour to re-install.

    7. Explain daemons(like services). This should be easy.

    8. Explain man pages are a big source of documentation and how to READ them.

    9. Show that config file are just text files, where they are, or at least where to look.

    10. Explain why there is /usr/bin /usr/sbin /bin
    /X11R6/usr/bin and so on

    11. Show that when you install a program usually the .exe file(s) are stored in a bin file somewhere.

    12. file extensions have no meaning to Unix

    13. Show them typing at Workstation A, using files from Workstation B, and compiling them on Workstation C, is fairly normal

    14. Most non-programing Windows users have no idea what Make is.

    15. Brief explanation of what the directories mean. Why is the /var /usr /bin so on. Windows users expect each program to have it's own directory and everything else to be in the registry or under c:\windows

    16. Don't go into lectures about how Windows sucks and why the are idiots if they don't like Linux.

    17. When talking about editors explain that most Unix users use one editor for all their needs. Windows users are very used to the IDE for each app.

    Last explain the reasons and benefits of doing things the 'Unix' way. Be tactful here don't slam MS to build up Unix/Linux/FreeBSD/whatever.

  197. Super Troll? by Anonymous Coward · · Score: 0

    Why would someone who is training MSCD students who are obviously paying for these classes spend two days teaching them Unix?

    This whole story does not make alot of sense.

  198. The editors again by fr2ty · · Score: 1

    I strongly suggest not to show them emacs or vi at all. Show them pico or mcedit, then they have the most important commands before their eyes. I love the emacs, and I do think that vi is important, e.g. when you find your self on a remote machine that only has busybox on it. But hey, there's man pages and info nodes. If they know they're not lost at the prompt, they probably will explore vi and emacs when they need or want to. Perhaps tell them to read about the different modes of vi before trying to use it. (Example)

  199. gcc by Anonymous Coward · · Score: 0

    I think one of the coolest part about running on *nix is gcc's ability to compile C/C++ to assembly. Then examine and adjust the assembly, before compiling it to an executables. If this class is a bunch of coders they will aprreciate what a learning tool this is. Seeing code at that level can do wonders for your skills. Also displaying the values of a few registers, shows you what is out and open in *nix.

  200. i tried this, once... once! by CmdrTacoButt · · Score: 1

    once i realized that the group was never going to be able to get past the missing "C:\" drive, i knew it was a waste of time. try if you like, but if they aren't "really" interested in learning something new, then your time is better spent on something else, IMO.

  201. Good Stuff by r0wan · · Score: 1

    First of all, great topic

    As a Windows user, who has basically never touched a Linux box, I would recommend that whatever you do teach, and there have been some great suggestions, let the students do hands on work as much as possible.

    The problem I see with a *lot* of MSCE/D/X, whatever, classes that I attend is that the students are given information, but never have the chance to apply it, hands on, without step by step help from the instructor

    I find that, at least for me, hands on, do-it-yourself, no outside help except for what I can look up, help pushes the mind to really understand the information, rather than learning it just enough to be able to spit it back out on a form or test.

    rowan

    --
    If you're not outraged, you're not paying attention.
  202. xemacs by alispguru · · Score: 2

    ... or maybe a pure Java-based IDE. This would at least look similar to the IDEs they're used to.

    --

    To a Lisp hacker, XML is S-expressions in drag.
  203. 8 Topic Intro to Linux. by Anonymous Coward · · Score: 0

    1.) Users, superusers and priveleges. Why and How.
    2.) Brief Tour of KDE or Gnome with one browser, one Windows like editor and launching a terminal.
    3.) How and why shell scripts are used, especially the importance of setting environment variables.
    4.) How to get help quickly. "man,apropos,--help" at Command Line and best help sites on the Web (eg.Mandrake).
    5.) Installation of a binary from start to finish. Start with a download (e.g. java or MySql).
    6.) ps and kill.Getting out of trouble.
    7.) Discussion of program configuration versus Windows setup. Customize the operation of a program by changing the configuration.
    8.) Logins, Logouts and shutting down the system from the command line.

  204. Make them feel comfortable, then... by Anonymous Coward · · Score: 0

    First, sit the MCSE's down in a circle and get them to be quiet by 1) bouncing them or 2) giving them milk.
    Tell them that you are going to show them some 'grown-up' stuff, but there's no need to be afraid. They can have pretty pictures if they want them, but Linux also lets you do real work using something called a 'command-line'.
    Potty break. (Diapers may need to be changed)

    Afterwards, get out the 'hammer and plastic objects through different-shaped holes' game. Its fun, and very vaguely reminiscent of regular expressions. Once you're done, tell them that they've learned linux, they can put it on their CV's, they can go back to 'work' (play) and suck even harder from the corporate tit.

  205. Database connections via multiple languages by twocents · · Score: 1

    Since database connectivity is vital to most web type apps these days, it might be good to demonstrate how to connect to SQL Server via VB, and then a simple example in PHP, Perl, and Python, all interacting with SQL server.

    I've only used PHP with mssql, and here is a great reference point,
    http://www.php.net/manual/en/ref.mssql.php

    I am assuming the others are easy to get going, but I might be wrong.

    The reason I mention multiple languages to a MS database as opposed to VB to MySQL is because:

    1) .NET has flooded MS users/developers/managers with talk of multiple language support. While this is sometimes just implemented VB and C#, showing a common use (DB connectivity) of multiple languages to a SQL Server promotes the idea of true choice for developers and might open the eyes of some people that have been itching to use this or that language.

    2) It promotes the theme you mentioned of working with the technologies under one framework, such as that of using MySQL and VB.

    Don't forget activestate.

  206. Re:Teaching Linux/Unix Basics to Microsoft Junkies by Anonymous Coward · · Score: 0

    what a co-incidence! both of the MS supporters in the world decided to write on the same thread. Or did you just re-post?

  207. manpages by scrytch · · Score: 2

    Teach them man(1) (including what that funny parens thing means, I guess). Don't berate them to do it, don't imply that they're easy to read, but they are in a pretty consistent style that they'll get used to. Also, teach them on FreeBSD or some linux distro that actually has manpages. Just tried looking up some docs for xargs, and that god damned "read the info documentation for the REAL docs" came up yet again.

    --
    I've finally had it: until slashdot gets article moderation, I am not coming back.
  208. basics by Anonymous Coward · · Score: 0

    the basics should include,

    /etc /proc /usr directories (in order of importance).

    rc init scripts.

    configuring nics and networks.

    remote logins.

    x window enviroment and window managers

  209. Introduce them to Kylix by ScrewTivo · · Score: 1

    from Borland. Write/compile/run a simple app in linux using kylix. Bring code to Win enviornment and compile/run using Delphi.

    Not as portable as java but still very nice.

  210. Re:the best combo IMHO - NOT! by juliao · · Score: 2

    Doesn't seem very effective to me...

    1) Install a distro (preferably one that will have the easiest time with the hardware)

    They'll say: Windows is easier

    2) Configure a windowing environment (prefereably one that looks the most like Windows)

    They'll say: Windows is prettier, and you don't need to configure it by hand

    3) Show them an Office suite (preferably one that's comperable to MS-Office)

    They'll say: Office does it better

    4) Fire up some awesome games (preferably XPilot ;-) or LBreakout)

    They'll say: These games are lame, even solitaire beats that

    5) Start up a variety of browsers (preferable w/ Quicktime, Flash, RealPlayer, XMMS)

    They'll say: why so many? isn't there one that works all around? anyway, IE is better

    6) Configure and use an e-mail client, Jabber/Yahoo/AIM client (Gaim's good)

    They'll say: The GUI isn't consistent with the browser... This Linux software thing isn't integrated at all...

    7) Spend some time on XMMS with various skinns -- and point to http://www.jazzradio.net/ and say, "This is coming from Germany"

    They'll say: Windows does it better, I think

    8) Show them Palm Pilot support (Jpilot's the best)

    They'll say: The windows app for the pilot is better, and comes bundled with the original CD

    9) Show them Quanta's HTML, PHP, SQL, Java and C/C++ syntax coloring

    They'll say: yeah, cool. so what?

    10) Show them a GUI file manager (e.g. Konqueror, et al)

    They'll say: Windows explorer is more intuitive

    So... It's really not a good way to go about it...

    Show them scripting, show them administrative task automation, show them remote consoles and X, out of the box, no additional software, show them the C API, clean, documented, show them the daemons. If they dig it, good. If they don't understand... well, they won't understand.

  211. Ideas for your Unix course. by Anonymous Coward · · Score: 0

    If you are looking for ideas for teaching people the "basics" of Unix, why not just teach the basics. Focus on connecting to a remote Unix system with telnet and ftp (the BASIC connection methods, since every *nix and windows system has them native)logging into the a Unix system, running commands such as ls, more, piping, redirecting, cat, rm (the best time to learn this command is in the classroom ;)), cp, touch, mv, ps, and grep. Use commands that are common to all *nix systems, and stay out of the GUIs. Why? The answer is simple, what if they find themselves on a *nix system without a GUI, or on a *nix system running a different type of window manager, such as a Sun system running CDE.
    Show them vi, this might scare them at first, but at least they will be able to use an editor that is normally installed by default on a *nix system.
    Remember, as much as you want to convert the masses to a better OS, remember what your stundents will have to do to get thier jobs done. Teach to job requirements, not to personal agendas. Find out what your stundents need to know and stick to it. If that is not availible, then stick to the absolute basics of moving around in the *nix systems and looking at files.
    Believe me, if you use this approach two days is probably not enough time with labs and every thing else, at least you are removing the impression that *nix systems are complicated and menacing. Get them comfortable with the basics, and I can assure you they will be wanting more.

  212. $ uptime --- Your Most Powerful Sales Tool by BigBlockMopar · · Score: 2

    Show them scripting, show them administrative task automation, show them remote consoles and X, out of the box, no additional software, show them the C API, clean, documented, show them the daemons. If they dig it, good.

    KDE kicks butt, but Microsoft still has the best desktop overall. Unfortunately.

    You have to look at this from their perspective. They've been suckered in by the party line enough to go for a .NET certification. They know Windows desktops and filesystems, the myriad software available, the little glitches that plague in Windows and the pitfalls to avoid.

    They believe that Windows can do everything that Linux/UNIX can. And for the most part, they're right. Sorry, but Windows even does some of it better - GUI, installation.

    Before you show them any of the Linux/UNIX tools and freak them out because kmail doesn't have a convenient pop-up autocomplete address bar, or Mozilla doesn't render Yahoo quite right at 1024x768, or that there's no concept of default file extensions ("what do you mean I have to choose a player for an fscking .wav file?"), show them the one thing they're gonna be most interested in, if they're serious about using the .NET training they're taking.

    $ uptime

    3:31pm up 101 days, 9:03, 5 users, load average: 1.37, 1.11, 1.04

    Uptime is so much more than a number. It's a sales tool. And we're trying to sell the world on alternatives to Windows.

    Remember, to a Windows user, long uptime is...

    • ...freedom from blue screens.
    • ...freedom from freezing.
    • ...freedom from the system getting gradually and inexplicably slower even though Task Manager says nothing is wrong, until finally you hit the scram switch in frustration.
    • ...freedom from having to reboot the computer every week when a new IIS patch has to be installed, and the ability to update Apache, bind, etc. by simply installing it and restarting that daemon.
    • ...freedom from having to listen to users whine that the mail server is down for the three minutes it takes for the thing to come back up.
    • ...elusive.

    It's worth pointing out to these people that all the longest-running servers on Netcraft's web server survey are *not* running Windows. Not one of them. Microsoft fans will argue that IIS wasn't out when some of the machines in Netcraft's top uptime list were last rebooted. Not true: IIS came out with NT 4.0 if not before, and that was 1996, far more than ~1250 days of uptime the longest-running Netcraft record-holders have been up.

    Even so, thinking back on it, reminding these people that Windows 2000 was still on the horizon and pets.com was still attracting investors when these machines were last rebooted, ought to be a selling feature.

    My server is a selling feature, too. www.glowingplate.com is currently running on a Pentium 90. It's been up and running for 101 days, generates a lot of pages dynamically for about 5,000 Google visitors a day, usually keeps a CPU load of 1-3, and was last down because of a power failure.

    Not a world record uptime or performance load. Hell, it's still even running the distro's stock kernel. But I've never seen anything like it with IIS.

    --
    Fire and Meat. Yummy.
  213. MS junkies. by BenTheDewpendent · · Score: 1

    1st they have to want to learn unix/linux.

  214. Yeah: save a ton of time with apt-get. by Anonymous Coward · · Score: 0

    Why spend time jerking off to rpm missing deps??

  215. ...Then show them that KDE doesn't suck as much by Anonymous Coward · · Score: 0

    ...Or crash

  216. Another useful link by clheiny · · Score: 1

    A bunch of extremely useful Unix tools ported to Windows can be found here: http://unxutils.sourceforge.net/. For me, simply making this available to Windows users has frequently sparked an eventual migration toward Linux.

    --
    Racing is an addiction that makes heroin look like a vague hankering for something crunchy.
  217. Any chance this course could be made open source? by Ixe · · Score: 1


    I (and probably many others) would really appreciate it if you made the coursework or at least part of it (like an outline of what you taught) available in HTML/XML for free.
    I can certainly understand if you don't want to do this, heck everything can't be free, but I have a lot of friends I want to convert to linux or at least give a penguin show of force B-) from windoze and being a semi-new user myself it's hard to know where to begin.

    And to throw in my two tenths of a cent (mine isn't usually worth 2cents)
    [dunno if this has been touched on yet or what the target audience is]

    I'd definitely show them what I consider the handy stuff

    [1] the scripts in /etc/rc.d/init.d/ (which I find ohsocool and handy)
    [2] rpm -Uvh (or urpmi)
    [3] tar -zvxf
    [4] xinit/startx (it's 31337 to have 4 wms running at once)
    [5]top/gtop
    [6]man and --help (no kidding I was helping someone once and I'm like "type man " and I got the response "oh awesome!!!!!")

    --
    Sigs pose an operational security risk and help the baddies aggregate data. I guess commenting does too, oops.