Difference between revisions of "SPO600 Communication Tools"

From CDOT Wiki
Jump to: navigation, search
(What you Need to Do)
Line 1: Line 1:
 
[[Category: SPO600]][[SPO600]] students use a number of communication tools that have been built and heavily adopted by Open Source communities. This page contains set-up instructions for some of these communication tools.
 
[[Category: SPO600]][[SPO600]] students use a number of communication tools that have been built and heavily adopted by Open Source communities. This page contains set-up instructions for some of these communication tools.
  
== What you Need to Do ==
+
== Summary: What you Need to Do ==
  
 
To participate in the SPO600 course, you need to:
 
To participate in the SPO600 course, you need to:
 
# Create a blog (if you don't already have one) or create a tag/category for SPO600 if you're going to use an existing blog. Collect these pieces of information:
 
# Create a blog (if you don't already have one) or create a tag/category for SPO600 if you're going to use an existing blog. Collect these pieces of information:
 
#* '''The URL of your main public blog page'''
 
#* '''The URL of your main public blog page'''
#* '''The URL of your blog feed - this is the link that will provide an RSS or ATOM feed of your blog content.
+
#* '''The URL of your blog feed - this is the link that will provide an RSS or ATOM feed of your blog content. (If you're using a tag/category, make sure that your feed includes only posts with that tag/category).
 
# Create an SSH key pair.
 
# Create an SSH key pair.
 
#* '''Copy the ''public'' key to a file named ''userid''.pub (where ''userid'' is the user name that you wish to have on the SPO600 class servers)'''
 
#* '''Copy the ''public'' key to a file named ''userid''.pub (where ''userid'' is the user name that you wish to have on the SPO600 class servers)'''
# Create an account on the Seneca Topics in Open Source Slack channel.
 
 
# Fill in [https://forms.office.com/r/3Q3fjWda0K this form] to send this information to your professor.
 
# Fill in [https://forms.office.com/r/3Q3fjWda0K this form] to send this information to your professor.
  
 
Instructions on how to do these things is detailed below.
 
Instructions on how to do these things is detailed below.
  
 +
<!--
 
== Wiki ==
 
== Wiki ==
  
Line 24: Line 24:
 
{{Admon/important|This is a Wiki!|...Which means you can edit it. Obviously, don't change things such as assignment due dates (!), but feel free to create new pages, add text to existing pages, fix any typos you find, and add resources and links.}}
 
{{Admon/important|This is a Wiki!|...Which means you can edit it. Obviously, don't change things such as assignment due dates (!), but feel free to create new pages, add text to existing pages, fix any typos you find, and add resources and links.}}
  
 
+
-->
 
== Blog ==
 
== Blog ==
  
 
A ''blog'' (short for ''weblog'') is a (usually personal) website where dated articles are posted over a period of time. In the open source community, blogs are used to announce new projects, project releases, and general information, to comment on current happenings, to record personal reflections, and to comment on other people's blog postings. Many Open Source communities aggregate posts from their community members into a [https://en.wikipedia.org/wiki/Planet_(software) Planet] so that it is possible to view posts from the entire community on one web page.
 
A ''blog'' (short for ''weblog'') is a (usually personal) website where dated articles are posted over a period of time. In the open source community, blogs are used to announce new projects, project releases, and general information, to comment on current happenings, to record personal reflections, and to comment on other people's blog postings. Many Open Source communities aggregate posts from their community members into a [https://en.wikipedia.org/wiki/Planet_(software) Planet] so that it is possible to view posts from the entire community on one web page.
  
The OpenSource@Seneca planet is [https://telescope.cdot.systems Telescope].
+
There are many free or inexpensive blog hosting services available (including Blogger.com and Wordpress.com). Alternatively, you can host your own blog using blog software (caution! - it's a lot more work to host your own blog!).
 +
 
 +
Once you have your blog set up, find these two URLs:
 +
# The main public URL for your blog. This will be different from the URL that you use to create posts on your blog.
 +
# The ''feed'' URL for your blog. This is the URL that provides a machine-readable feed of your posts in RSS or ATOM format which can be processed by other software.
  
See the Open Source@Seneca [[Blog Guidelines]] for information about setting up your blog and including your postings in Telescope.
+
<!--The OpenSource@Seneca planet is [https://telescope.cdot.systems Telescope].
 +
-->See the Open Source@Seneca [[Blog Guidelines]] for information about setting up your blog and including your postings in Telescope.
  
 
{{Admon/tip|Submitting Coursework|In this course, most coursework is submitted by blogging. Therefore, it is important to write blog posts frequently (at least 2x per week), with good content, writing, and links.}}
 
{{Admon/tip|Submitting Coursework|In this course, most coursework is submitted by blogging. Therefore, it is important to write blog posts frequently (at least 2x per week), with good content, writing, and links.}}
Line 37: Line 42:
 
{{Admon/tip|Read the Planet|It's a good idea to read Telescope several times a week. Finding out what your colleagues are doing can give you useful ideas and accelerate your own project work.}}
 
{{Admon/tip|Read the Planet|It's a good idea to read Telescope several times a week. Finding out what your colleagues are doing can give you useful ideas and accelerate your own project work.}}
  
 +
== SSH ==
 +
 +
[[SSH]] is a tool that provides remote access to a computer system. This can include command-line access, but also file transfers, graphical user interface (GUI) access, and secure ''tunnels'' to remote services.
 +
 +
=== Creating a Public/Private Key Pair ===
 +
 +
{{Admon/note|OpenSSH Assumed|These instructions assume a Linux, Windows 10, or Mac OS/X system running OpenSSH. Other SSH clients will have different procedures, and you'll need to check that the key produced is in OpenSSH format (you can convert key types using the <code>ssh-keygen</code> command on a Linux system such as Matrix if needed).}}
 +
 +
# Enter this command: <code>ssh-keygen -t ed25519</code>
 +
#* Answer the questions asked by ssh-keygen. Use default values for most questions. The use of a passphrase is '''strongly''' recommended. Avoid changing the filename from the default (unless there is a really good reason), because the location, name, and permission of keys is critical.
 +
#* ssh-keygen will produce two files; the name will be the same but the location will vary according to the operating system in use:
 +
#** <code>~/.ssh/id_ed25519</code> - your private key
 +
#** <code>~/.ssh/id_ed25519.pub</code> - your public key
 +
{{Admon/tip|Key Type and Length|ssh-keygen can generate multiple types of keys, including rsa, dsa, ecdsa, and ed25519. Any of these types serves the same purpose, and rsa/dsa can be generated with varying key lengths. The longer the key, the more difficult it is to break the key by guessing it (trying successive values until the right key is found) - each bit added to the key doubles the number of possible key values. Key lengths of 1024-4096 bits are considered reasonably secure; as computers become faster, key lengths should be increased. Better yet, use the ed25519 eliptic curve option, which is considered the most secure format supported by the current OpenSSH implementation (8.4 as of the time of writing).}}
 +
 +
=== Make a Copy of Your Public Key ===
 +
# Copy the public key file to <code>''UserID''.pub<code> -- for example, if you want to have the user ID ''superhacker3000'', name your file <code>superhacker3000.pub</code>
 +
{{Admon/important|SPO60 Student Keys|For [[SPO600]] students, please follow [[SPO600 Servers#Preparatory_Steps|these instructions]] to send your keys to your professor.}}
 +
 +
== Submitting your Blog URLs and SSH Public Keys ==
 +
 +
Once you have the blog feed and public key ready, enter them on the [https://forms.office.com/r/3Q3fjWda0K SPO600 Blog and SSH Information Form].
  
 
<!-- == IRC ==
 
<!-- == IRC ==
Line 43: Line 70:
 
-->
 
-->
  
== Slack ==
+
== Other Communication Tools ==
 
 
Slack is an online discussion system. Sign up to use the [https://seneca-open-source.slack.com Seneca Open Source Slack] workspace (sign-up with your @myseneca.ca email; this same Slack workspace is used in the [[OSD600]]/[[DPS909]] course, so you may already have an account if you're also taking that course).
 
  
 +
=== Email ===
  
== Email ==
+
When communicating with your professor by email, please use your Seneca-provided e-mail address as the "From:" address (<code>''yourname''@myseneca.ca</code>). Because your professor receives a '''huge''' amount of email, it's critical to include your course code in the subject line of each of your messages.
  
When communicating with your professor by email, please use your Seneca-provided e-mail address as the "From:" address (<code>''yourname''@myseneca.ca</code>). Because your professor receives a '''huge''' amount of email, it's critical to include your course code in the subject line of each of your messages.
+
=== Slack ===
  
 +
Slack is an online discussion system. Sign up to use the [https://seneca-open-source.slack.com Seneca Open Source Slack] workspace (sign-up with your @myseneca.ca email; this same Slack workspace is used in the [[OSD600]]/[[DPS909]] course, so you may already have an account if you're also taking that course).
 
<!--
 
<!--
 
== Etherpad ==
 
== Etherpad ==
Line 58: Line 85:
 
-->
 
-->
  
= Community Communication Resources =
+
=== Community Communication Resources ===
  
 
Each open source community uses some combination of email, [[Irc|IRC]], blogs, wiki, and bug-tracking systems to facilitate communication. Learn the tools used by the communities you are interacting with, and communicate with their preferred tools.
 
Each open source community uses some combination of email, [[Irc|IRC]], blogs, wiki, and bug-tracking systems to facilitate communication. Learn the tools used by the communities you are interacting with, and communicate with their preferred tools.

Revision as of 06:05, 18 October 2021

SPO600 students use a number of communication tools that have been built and heavily adopted by Open Source communities. This page contains set-up instructions for some of these communication tools.

Summary: What you Need to Do

To participate in the SPO600 course, you need to:

  1. Create a blog (if you don't already have one) or create a tag/category for SPO600 if you're going to use an existing blog. Collect these pieces of information:
    • The URL of your main public blog page
    • The URL of your blog feed - this is the link that will provide an RSS or ATOM feed of your blog content. (If you're using a tag/category, make sure that your feed includes only posts with that tag/category).
  2. Create an SSH key pair.
    • Copy the public key to a file named userid.pub (where userid is the user name that you wish to have on the SPO600 class servers)
  3. Fill in this form to send this information to your professor.

Instructions on how to do these things is detailed below.

Blog

A blog (short for weblog) is a (usually personal) website where dated articles are posted over a period of time. In the open source community, blogs are used to announce new projects, project releases, and general information, to comment on current happenings, to record personal reflections, and to comment on other people's blog postings. Many Open Source communities aggregate posts from their community members into a Planet so that it is possible to view posts from the entire community on one web page.

There are many free or inexpensive blog hosting services available (including Blogger.com and Wordpress.com). Alternatively, you can host your own blog using blog software (caution! - it's a lot more work to host your own blog!).

Once you have your blog set up, find these two URLs:

  1. The main public URL for your blog. This will be different from the URL that you use to create posts on your blog.
  2. The feed URL for your blog. This is the URL that provides a machine-readable feed of your posts in RSS or ATOM format which can be processed by other software.

See the Open Source@Seneca Blog Guidelines for information about setting up your blog and including your postings in Telescope.

Idea.png
Submitting Coursework
In this course, most coursework is submitted by blogging. Therefore, it is important to write blog posts frequently (at least 2x per week), with good content, writing, and links.
Idea.png
Read the Planet
It's a good idea to read Telescope several times a week. Finding out what your colleagues are doing can give you useful ideas and accelerate your own project work.

SSH

SSH is a tool that provides remote access to a computer system. This can include command-line access, but also file transfers, graphical user interface (GUI) access, and secure tunnels to remote services.

Creating a Public/Private Key Pair

Note.png
OpenSSH Assumed
These instructions assume a Linux, Windows 10, or Mac OS/X system running OpenSSH. Other SSH clients will have different procedures, and you'll need to check that the key produced is in OpenSSH format (you can convert key types using the ssh-keygen command on a Linux system such as Matrix if needed).
  1. Enter this command: ssh-keygen -t ed25519
    • Answer the questions asked by ssh-keygen. Use default values for most questions. The use of a passphrase is strongly recommended. Avoid changing the filename from the default (unless there is a really good reason), because the location, name, and permission of keys is critical.
    • ssh-keygen will produce two files; the name will be the same but the location will vary according to the operating system in use:
      • ~/.ssh/id_ed25519 - your private key
      • ~/.ssh/id_ed25519.pub - your public key
Idea.png
Key Type and Length
ssh-keygen can generate multiple types of keys, including rsa, dsa, ecdsa, and ed25519. Any of these types serves the same purpose, and rsa/dsa can be generated with varying key lengths. The longer the key, the more difficult it is to break the key by guessing it (trying successive values until the right key is found) - each bit added to the key doubles the number of possible key values. Key lengths of 1024-4096 bits are considered reasonably secure; as computers become faster, key lengths should be increased. Better yet, use the ed25519 eliptic curve option, which is considered the most secure format supported by the current OpenSSH implementation (8.4 as of the time of writing).

Make a Copy of Your Public Key

  1. Copy the public key file to UserID.pub<code> -- for example, if you want to have the user ID superhacker3000, name your file <code>superhacker3000.pub
Important.png
SPO60 Student Keys
For SPO600 students, please follow these instructions to send your keys to your professor.

Submitting your Blog URLs and SSH Public Keys

Once you have the blog feed and public key ready, enter them on the SPO600 Blog and SSH Information Form.


Other Communication Tools

Email

When communicating with your professor by email, please use your Seneca-provided e-mail address as the "From:" address (yourname@myseneca.ca). Because your professor receives a huge amount of email, it's critical to include your course code in the subject line of each of your messages.

Slack

Slack is an online discussion system. Sign up to use the Seneca Open Source Slack workspace (sign-up with your @myseneca.ca email; this same Slack workspace is used in the OSD600/DPS909 course, so you may already have an account if you're also taking that course).

Community Communication Resources

Each open source community uses some combination of email, IRC, blogs, wiki, and bug-tracking systems to facilitate communication. Learn the tools used by the communities you are interacting with, and communicate with their preferred tools.