Difference between revisions of "Ittcl"

From LibrePlanet
Jump to: navigation, search
(Updated for the current status of FLOSS Manuals. Also added an introductory discussion.)
(Updated the page to prepare for large influx of volunteers)
Line 8: Line 8:
 
[[Action description:: Introduction to the Command Line (2nd ed.)]]
 
[[Action description:: Introduction to the Command Line (2nd ed.)]]
  
[https://shop.fsf.org/books-docs/introduction-command-line Introduction to the Command Line] is a popular free book that introduces the use of standard Unix and GNU command-line tools to people who are new to the command line. The Bash shell, editors, simple text manipulation, and basic programming are discussed. The book was written in the mid-2000s and needs an update for the way people are working today.
+
[https://shop.fsf.org/books-docs/introduction-command-line Introduction to the Command Line] is a popular free book (released under the GPL version 2) that introduces the use of standard Unix and GNU command-line tools to people who are new to the command line. The Bash shell, editors, simple text manipulation, and basic programming are discussed. The book was written in the mid-2000s and needs an update for the way people are working today.
  
The Free Software Foundation, in conjunction with [http://write.flossmanuals.net/ FLOSS Manuals], wrote this book originally and is now coordinating the update. This wiki discusses how volunteers can help, and lists proposed changes we are considering in the second edition.
+
The Free Software Foundation (FSF), in conjunction with [http://write.flossmanuals.net/ FLOSS Manuals], wrote this book originally and is now coordinating the update. This wiki discusses how volunteers can help, and lists proposed changes we are considering in the second edition.
 +
 
 +
= Writers =
 +
 
 +
Please add yourself here if you want to write new material. In line with current diversity efforts across the free software world and computer industry, we encourage women and non-white contributors to join. Include here
 +
 
 +
* Your name
 +
* Topic you want to write about (Python, Git, Jupyter, or other)
 +
* Two or three sentences about your expertise
 +
* Summary of writing or teaching experience in the area you want to write about
 +
* Pointers to other relevant information, such as your code repository, curriculum vitae, or web page
 +
 
 +
We need only one person per topic, because collaborations rarely work well. We will vote on writers on our mailing list.
  
 
= What to do =
 
= What to do =
  
The [http://write.flossmanuals.net/command-line/introduction/ current draft] is on the [http://write.flossmanuals.net/ FLOSS Manuals site]. Contact Andy Oram (andyo at praxagor.com) to offer your help as a writer or reviewer. Andy will ask the administrator of the FLOSS Manuals site to give you an account.
+
The [https://en.flossmanuals.net/introduction-to-the-command-line/ current draft] is on the FLOSS Manuals site. Contact Andy Oram (andyo at praxagor.com) to offer your help as a writer or reviewer.
 +
 
 +
Volunteers are coordinating their work on this wiki page. You can sign up for an account at the [https://libreplanet.org/wiki LibrePlanet wiki page] and join the discussion.
 +
 
 +
The FSF recommends these [https://www.gnu.org/philosophy/kind-communication.html guidelines for discussion].
  
 
Things to do to help include:
 
Things to do to help include:
Line 31: Line 47:
  
 
The following ideas for changes have been proposed so far. We do not want to make the book longer, though.
 
The following ideas for changes have been proposed so far. We do not want to make the book longer, though.
 +
 +
Major additions are:
 +
 +
* New Python chapter
 +
* Git
 +
* [https://jupyter.org Jupyter]
 +
 +
Only one language is needed in the book. Python has won out due to simplicity and popularity, so we will remove Perl, Ruby, and GNU Octave.
 +
 +
We need to choose one or two text editors to write about. There are two many chapters currently on editors, and some can be reduced to brief mentions. Proposed editors to focus on are:
 +
 +
* Nano. Quick to learn, ubiquitous on free systems, and popular. However, not as powerful as Vim or Emacs.
 +
* Vim. By far the most popular text editor, and one you can grow into and make a part of your work everywhere.
 +
* Emacs. The classic editor offered by the FSF (and before), but nowhere near as popular as Vim.
 +
* Gedit graphical editor
 +
 +
Other suggested changes include:
  
 
* Add a one-page quick-ref sheet to chapters on key tools.
 
* Add a one-page quick-ref sheet to chapters on key tools.
* Add Git and perhaps a reference to GitLab
 
* Vi, nano should be the two editors covered, with pointers to others such as Emacs, Kedit, Gedit, and Puma. The latter two are graphical, should not be a focus.
 
* Drop the discussion of file descriptors (beyond 0, 1, 2) as too advanced. Add the <(command) feature as an alternative to piping.
 
 
* Consider Visual Bash
 
* Consider Visual Bash
* Reduce the languages covered to Python and Ruby. Mention IDEs but do not cover any.
+
* Mention IDEs but do not cover any.
* Mention but do not cover telnet. FTP and Rsync are useful and should be covered
+
* FTP and Rsync. (Mention telnet but recommend against its use.)
 
* Along with screen, mention Tmux, Byobu.
 
* Along with screen, mention Tmux, Byobu.
* Mention the Fish simple scripting.
 
* Mention Pipe Viewer (pv).
 
* Consider advanced tools: network tools such as ip and tracenet, strace, systemd.
 
* Add a history of the shell.
 
 
* Point to more web resources.
 
* Point to more web resources.
 
+
* Drop the discussion of file descriptors (beyond 0, 1, 2) as too advanced. Add the <(command) feature as an alternative to piping.
= Potential deletions =
+
* Motivate the reader by describing common tasks and applying command-line tools to solving these tasks.
 
+
* Try to find a unifying project, such as collaborative document or web page editing. This project could involve Git and Markdown.
Because covering two scripting languages is probably sufficient, and both Ruby and Python have pulled ahead of Perl in popularity, that chapter could be removed.
+
* Mention Microsoft's support for bash and other common Unix tools, to bring in a new readership.
 
+
* grep is a good tool to introduce early--not in its full-fledged regular-expression syntax, but just as a way to search for something on your system.
The Python chapter is very short, but given the importance of the language currently, it probably should be expanded instead of removing it.
+
* Markdown, useful for editing wikis.

Revision as of 07:07, 5 May 2019


Introduction to the Command Line (2nd ed.)

Introduction to the Command Line is a popular free book (released under the GPL version 2) that introduces the use of standard Unix and GNU command-line tools to people who are new to the command line. The Bash shell, editors, simple text manipulation, and basic programming are discussed. The book was written in the mid-2000s and needs an update for the way people are working today.

The Free Software Foundation (FSF), in conjunction with FLOSS Manuals, wrote this book originally and is now coordinating the update. This wiki discusses how volunteers can help, and lists proposed changes we are considering in the second edition.

Writers

Please add yourself here if you want to write new material. In line with current diversity efforts across the free software world and computer industry, we encourage women and non-white contributors to join. Include here

  • Your name
  • Topic you want to write about (Python, Git, Jupyter, or other)
  • Two or three sentences about your expertise
  • Summary of writing or teaching experience in the area you want to write about
  • Pointers to other relevant information, such as your code repository, curriculum vitae, or web page

We need only one person per topic, because collaborations rarely work well. We will vote on writers on our mailing list.

What to do

The current draft is on the FLOSS Manuals site. Contact Andy Oram (andyo at praxagor.com) to offer your help as a writer or reviewer.

Volunteers are coordinating their work on this wiki page. You can sign up for an account at the LibrePlanet wiki page and join the discussion.

The FSF recommends these guidelines for discussion.

Things to do to help include:

  • Read parts of the book
  • Try out parts on your computer and write notes in the book or on this page about problems such as:
    • Outdated instructions, where better methods exist to accomplish the same goal.
    • Important missing topics. (But remember that this book is only an introduction, and we want to keep it short by avoiding complex, advanced topics.)
    • Errors.
    • Confusing text.
  • Add new topics to this wiki for the book. Again, please remember that we want to keep the book's length about the same. You can also suggest topics in the book that we could remove.

And tell your friends about this project!

Proposed changes

The following ideas for changes have been proposed so far. We do not want to make the book longer, though.

Major additions are:

Only one language is needed in the book. Python has won out due to simplicity and popularity, so we will remove Perl, Ruby, and GNU Octave.

We need to choose one or two text editors to write about. There are two many chapters currently on editors, and some can be reduced to brief mentions. Proposed editors to focus on are:

  • Nano. Quick to learn, ubiquitous on free systems, and popular. However, not as powerful as Vim or Emacs.
  • Vim. By far the most popular text editor, and one you can grow into and make a part of your work everywhere.
  • Emacs. The classic editor offered by the FSF (and before), but nowhere near as popular as Vim.
  • Gedit graphical editor

Other suggested changes include:

  • Add a one-page quick-ref sheet to chapters on key tools.
  • Consider Visual Bash
  • Mention IDEs but do not cover any.
  • FTP and Rsync. (Mention telnet but recommend against its use.)
  • Along with screen, mention Tmux, Byobu.
  • Point to more web resources.
  • Drop the discussion of file descriptors (beyond 0, 1, 2) as too advanced. Add the <(command) feature as an alternative to piping.
  • Motivate the reader by describing common tasks and applying command-line tools to solving these tasks.
  • Try to find a unifying project, such as collaborative document or web page editing. This project could involve Git and Markdown.
  • Mention Microsoft's support for bash and other common Unix tools, to bring in a new readership.
  • grep is a good tool to introduce early--not in its full-fledged regular-expression syntax, but just as a way to search for something on your system.
  • Markdown, useful for editing wikis.