discuss: Request for feedback: Windows-to-Linux HOWTO outline


Previous by date: 2 Dec 2005 16:04:56 -0000 Re: Request for feedback: Windows-to-Linux HOWTO outline, Omari Norman
Next by date: 2 Dec 2005 16:04:56 -0000 OSDL Desktop Architects meeting talking about Linux documentation, Dan Kegel
Previous in thread: 2 Dec 2005 16:04:56 -0000 Re: Request for feedback: Windows-to-Linux HOWTO outline, Omari Norman
Next in thread: 2 Dec 2005 16:04:56 -0000 Re: Request for feedback: Windows-to-Linux HOWTO outline, Machtelt Garrels

Subject: Re: [discuss] Request for feedback: Windows-to-Linux HOWTO outline
From: Charles Curley ####@####.####
Date: 2 Dec 2005 16:04:56 -0000
Message-Id: <20051202160448.GA10820@charlescurley.com>

On Thu, Dec 01, 2005 at 02:17:49PM -0500, Omari Norman wrote:
> Hi all,
> I shall be updating the From DOS/Windows to Linux HOWTO. It's been
> five years since it was updated, and a lot has changed since then, so
> I've been developing an outline for the update.

I'm looking forward to it. I can use this in some of my classes. :-)

> 
> The target audience for the document consists of home Windows users
> who wish to switch to Linux. It will speak to moderately experienced
> Windows users--those who have a few years experience with Windows and
> who know a fair amount about how Windows works. This is for a few
> reasons: 1) that's the situation I was in a few months ago, 

Good to have someone who recently went through it.

One thought is that while you have a solution to a problem (or, the
Linux analog to how Windows does it), in Linux (as in Perl), There's
More Than One Way to Do It. I'm sure other folks will occasionally
pitch in, "try this too."

If you don't have a Linux analog, feel free to ask. One may not even
be necessary, e.g. defragmenting e3fs.

> 2) probably most people switching to Linux are at least moderately
> experienced, and 3) teaching moderately experienced Windows users is
> the hardest, because they know how to do most things in Windows and
> may think Linux is inferior simply because they do not know how to
> accomplish certain things in Linux.

Or because they think the Windows way to do it is the One True Way,
like all those vi and emacs bigots out there. <duck!> :-)

> 
> Most of the updated HOWTO will discuss things that are already
> documented at TLDP and elsewhere. In keeping with the modular nature
> of free software, I will refer readers to those other resources as
> much as possible. What's missing that I hope to add is a specific
> Windows-to-Linux focus--for example, explicitly explaining to Windows
> users that the process for installing new software in Linux is
> extremely different from doing so in Windows. (I think this specific
> point frustrates many new users and at first it was a big turnoff for
> me.)
> 
> I've developed an outline that's as complete as I can think to make
> it. I'd enjoy some feedback as to organization and any key topics I
> may have missed.
> 
> Thanks.
> Omari
> 
> Introduction
>    Synopsis
>    Who this document is for
> Is Linux for you?
>    More security, more control
>    Freedom to (if you want):

        to help your neighbors. This point goes over *very* well when
        I teach classes on OpenOffice.org and Linux. (Cover RMS' 5
        degrees of freedom in SW.)

>       to learn how computers work
>       to contribute
>    Software benefits:
>       much less expensive
>          Initial outlay lower
>          No need to spend $ on upkeep (e.g. AV, antispy, firewalls)
>       superior quality
>    But:
>       Must take time to install new system, transfer files
>       Must learn a different way of operating a computer
>          Windows way is different (not necessarily harder)
>       Switching may not be easy
>          But then, neither is continuing to use Windows.

           Nor is upgrading from one version of a product to another.

>    Test drive a live CD.
> Core differences
>    Free software
>    Modular applications
>    File system
>       Tree
>       Mounting
>       Case sensitive

        and case preserving. FAT but not FAT32 does not preserve case.

>       File extensions (and lack thereof)

        Does Linux have anything analogous to Windows' file extension
        association, e.g. all *.doc files will be opened by OOo Writer
        if you click on them? Would something like that be specific to
        Gnome or KDE?

>       Multiuser system; file permissions
>    Most applications are included
>       Installing new applications
> Getting help
>    Distribution documentation
>    /usr/share/doc
>    Desktop environment help systems
>    TLDP
>    man and info pages
>    Searching the Web
>    Usenet
>    Asking questions at websites
>    Reporting bugs
> Saving documents from your Windows system
>    Finding all your documents
>    Back them up as necessary
>    Saving your emails
>       Outlook and Outlook Express
>       Other programs
>    Dealing with copy restricted WMAs and AACs
> Choosing and installing a distribution
>    Desktops
>    Laptops (tuxmobil; Linux on laptops)
> Desktop Applications
>    X, and Desktop Environments
>       GNOME
>       KDE
>       Others
>    Equivalent applications between Linux and Windows
>       Dial-up networking
>       Email, importing from Outlook

               ^^ Duplicate of heading above.

>       Financial files, importing from Quicken and Microsoft Money
>       Photos
>       Office

        Mention OOo's bulk Word->Writer conversion wizard.

>       Tax (nothing yet, but Web apps available)
>       Wine and CrossOver Office
>       Multimedia playback (MP3 and DVD)
>       Purchasing MP3s (allofmp3, tunster)
>       File sharing
>       Burning CDs, and Windows-style packet writing
>       Archiving
>       For more information
> Security
>    Best practices
>    Antivirus
>    System security updates
>    Firewalls
> Installing new applications
>    Make sure one is not already installed
>    The two main Linux package types: rpm and dpkg
>       What a package is
>       What a repository is
>       The difference between:
>          dpkg and apt
>          rpm and {yast, urpmi, apt ...}

           and yum

>       Dependencies and libraries
>    Searching for and installing packages
>       No rebooting needed
>    Other installation methods (avoid if possible)
>       from downloaded packages
>       from source

        Describe the tarball five-step, which many tarballs support.

> Hardware
>    Digital cameras
>    Printers
>       TurboPrint
>    Palms
>    iPods
>    Modems and Winmodems

     Scanners?
     Telephones (Asterisk!)

> System administration
>    System administration tools like Control Panel
>    Backup
>    Disk checking and defragmenting
>    Scheduling and automating tasks
>       cron

        at

>       Shell scripting
>    Getting system configuration information
>       GUI tools
>       proc filesystem
>       lspci and lsusb
>    System and application settings (Registry)
>    Networking
>       Sharing printers and files
>    Startup and shutdown sequences
>    Working at the command line
>       Equivalent DOS and Linux commands
> Coexistence of Linux and Windows
>    File and printer sharing
>    Linux use of Windows drive partitions
> Programming

I think you have a small to medium book here. Any thoughts among the
TLDP Powers that Be to promoting this to a guide?


-- 

Charles Curley                  /"\    ASCII Ribbon Campaign
Looking for fine software       \ /    Respect for open standards
and/or writing?                  X     No HTML/RTF in email
http://www.charlescurley.com    / \    No M$ Word docs in email

Key fingerprint = CE5C 6645 A45A 64E4 94C0  809C FFF6 4C48 4ECD DFDB

--> -->
 
 
<type 'exceptions.IOError'>
Python 2.5.2: /usr/bin/python
Sat May 18 05:44:17 2024

A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.

 /opt/ezmlm-browse-0.20/<string> in ()
 /opt/ezmlm-browse-0.20/main.py in main()
  424 
  425         if path is not None:
  426                 main_path(path)
  427         else:
  428                 main_form()
global main_form = <function main_form at 0x86f4c6c>
 /opt/ezmlm-browse-0.20/main.py in main_form()
  378         except ImportError:
  379                 die(ctxt, "Invalid command")
  380         module.do(ctxt)
  381 
  382 def main():
module = <module 'commands.showmsg' from '/opt/ezmlm-browse-0.20/commands/showmsg.pyc'>, module.do = <function do at 0x871241c>, global ctxt = {'cmd': 'showmsg', 'threadidx': 3, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}
 /opt/ezmlm-browse-0.20/commands/showmsg.py in do(ctxt={'cmd': 'showmsg', 'threadidx': 3, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'})
   18         write(html('msg-pager') % ctxt)
   19         write('<hr>')
   20         sub_showmsg(ctxt, ctxt[MSGNUM])
   21         write('<hr>')
   22         write(html('msg-pager') % ctxt)
global sub_showmsg = <function sub_showmsg at 0x86f41ec>, ctxt = {'cmd': 'showmsg', 'threadidx': 3, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, global MSGNUM = 'msgnum'
 /opt/ezmlm-browse-0.20/globalfns.py in sub_showmsg(ctxt={'cmd': 'showmsg', 'threadidx': 3, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, msgnum=9781)
  229         format_timestamp(ctxt, ctxt)
  230         write(html('msg-header') % ctxt)
  231         rec_showpart(ctxt, msg, 0)
  232         write(html('msg-footer') % ctxt)
  233         ctxt.pop()
global rec_showpart = <function rec_showpart at 0x86f41b4>, ctxt = {'cmd': 'showmsg', 'threadidx': 3, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, msg = <email.message.Message instance at 0x87af26c>
 /opt/ezmlm-browse-0.20/globalfns.py in rec_showpart(ctxt={'cmd': 'showmsg', 'threadidx': 3, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part=<email.message.Message instance at 0x87af26c>, partnum=1)
  205                 else:
  206                         for p in part.get_payload():
  207                                 partnum = rec_showpart(ctxt, p, partnum+1)
  208         else:
  209                 write(html('msg-sep') % ctxt)
partnum = 1, global rec_showpart = <function rec_showpart at 0x86f41b4>, ctxt = {'cmd': 'showmsg', 'threadidx': 3, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, p = <email.message.Message instance at 0x87af3ac>
 /opt/ezmlm-browse-0.20/globalfns.py in rec_showpart(ctxt={'cmd': 'showmsg', 'threadidx': 3, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part=<email.message.Message instance at 0x87af3ac>, partnum=2)
  208         else:
  209                 write(html('msg-sep') % ctxt)
  210                 sub_showpart(ctxt, part)
  211         return partnum
  212 
global sub_showpart = <function sub_showpart at 0x86f4144>, ctxt = {'cmd': 'showmsg', 'threadidx': 3, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part = <email.message.Message instance at 0x87af3ac>
 /opt/ezmlm-browse-0.20/globalfns.py in sub_showpart(ctxt={'cmd': 'showmsg', 'threadidx': 3, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part=<email.message.Message instance at 0x87af3ac>)
  164         type = ctxt[TYPE] = part.get_content_type()
  165         ctxt[FILENAME] = part.get_filename()
  166         template = html('msg-' + type.replace('/', '-'))
  167         if not template:
  168                 template = html('msg-' + type[:type.find('/')])
global template = <function template at 0x86ece9c>, global html = <function html at 0x86eced4>, type = 'application/pgp-signature', type.replace = <built-in method replace of str object at 0x87aede8>
 /opt/ezmlm-browse-0.20/globalfns.py in html(name='msg-application-pgp-signature')
   40 
   41 def html(name):
   42         return template(name + '.html')
   43 
   44 def xml(name):
global template = <function template at 0x86ece9c>, name = 'msg-application-pgp-signature'
 /opt/ezmlm-browse-0.20/globalfns.py in template(filename='msg-application-pgp-signature.html')
   31         except IOError:
   32                 if not _template_zipfile:
   33                         _template_zipfile = zipfile.ZipFile(sys.argv[0])
   34                 try:
   35                         f = _template_zipfile.open(n).read()
global _template_zipfile = None, global zipfile = <module 'zipfile' from '/usr/lib/python2.5/zipfile.pyc'>, zipfile.ZipFile = <class zipfile.ZipFile at 0x8685a7c>, global sys = <module 'sys' (built-in)>, sys.argv = ['-c', '/opt/ezmlm-browse-0.20']
 /usr/lib/python2.5/zipfile.py in __init__(self=<zipfile.ZipFile instance at 0x8700f8c>, file='-c', mode='r', compression=0, allowZip64=False)
  337             self.filename = file
  338             modeDict = {'r' : 'rb', 'w': 'wb', 'a' : 'r+b'}
  339             self.fp = open(file, modeDict[mode])
  340         else:
  341             self._filePassed = 1
self = <zipfile.ZipFile instance at 0x8700f8c>, self.fp = None, builtin open = <built-in function open>, file = '-c', modeDict = {'a': 'r+b', 'r': 'rb', 'w': 'wb'}, mode = 'r'

<type 'exceptions.IOError'>: [Errno 2] No such file or directory: '-c'
      args = (2, 'No such file or directory')
      errno = 2
      filename = '-c'
      message = ''
      strerror = 'No such file or directory'