diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index 4d0a3aac1..121c2cb94 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -2,7 +2,7 @@
Please make sure to:
- add (fixes #issue_number) to the end of pull request title when applicable,
-- drop a link to your new pull request in our gitter chat.
+- drop a link to your new pull request in our discord server.
Thank you for contributing! -->
diff --git a/README.md b/README.md
index 102932ab1..90d3402ae 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@ Welcome to treehouses
=====================
[](https://treehouses.io)
-[](https://gitter.im/treehouses/Lobby)
+[](https://discord.gg/NdrumrSNSA)
What is treehouses?
-------------------
diff --git a/index.md b/index.md
index 9066698fc..f7e4cdc79 100644
--- a/index.md
+++ b/index.md
@@ -12,7 +12,7 @@ The project is divided into several parts to meet the needs of different users,

More information about the internship and treehouses can be found in our [FAQ](https://treehouses.io/#!./pages/vi/faq.md#General_Internship_Questions).
-Should you wish to reach out for information or assistance, feel free to contact us in the [Gitter chatroom](https://gitter.im/treehouses/Lobby). Feel free to direct message our [members](./pages/vi/team.md) in Gitter if you'd like.
+Should you wish to reach out for information or assistance, feel free to contact us in [our Discord server](https://discord.gg/NdrumrSNSA).
---
diff --git a/navigation.md b/navigation.md
index 9f163c069..f1d3a06ff 100644
--- a/navigation.md
+++ b/navigation.md
@@ -12,7 +12,7 @@
* [**Introduction / First Steps**](pages/vi/firststeps.md)
* [FAQ](pages/vi/faq.md)
- - - -
- * [Step 0 - Introductory Steps](pages/vi/firststeps.md#Step_0_-_Introductory_Steps)
+ * [Step 0 - Introductory Steps](pages/vi/intro-steps.md)
* [Step 1 - Installing and finding your Raspberry Pi](pages/vi/firststeps.md#Step_1_-_Installing_and_Finding_Your_Raspberry_Pi)
* [Step 2 - SSH Tutorial](pages/vi/sshpi.md)
* [Step 3 - Markdown and Fork Tutorial](pages/vi/githubandmarkdown.md)
@@ -34,9 +34,9 @@
* [**Introduction**](pages/docs/chat.md)
- - - -
- * [General Chat (Open to Public)](https://gitter.im/treehouses/Lobby)
- * [Virtual Interns](https://gitter.im/open-learning-exchange/interns)
- * [RaspberryPi](https://gitter.im/open-learning-exchange/raspberrypi)
+ * [Discord Chat (Open to Public)](https://discord.gg/NdrumrSNSA)
+ * [Discord - Virtual Interns Lounge](https://discord.com/channels/1079980988421132369/1229436065090371616)
+ * [RaspberryPi](https://discord.gg/NdrumrSNSA)
diff --git a/pages/blog/20191202-blogfornewintern.md b/pages/blog/20191202-blogfornewintern.md
index 895b1bdfc..4d1bbbbc7 100644
--- a/pages/blog/20191202-blogfornewintern.md
+++ b/pages/blog/20191202-blogfornewintern.md
@@ -6,11 +6,11 @@
This blog is about how to help aspiring interns complete the First Steps.
-As an intern, your job is to look in the Gitter chat for:
-• New aspiring virtual interns in the chat to welcome them
+As an intern, your job is to look in the Discord server for:
+• New aspiring virtual interns in the server to welcome them
• New pull requests by them in [treehouses.github.io](https://github.com/treehouses/treehouses.github.io) that are ready for review
• Pull requests ready to be merged (2 approvals)
-• Questions and problems they are stuck on (they might send you a private message so please regularly check your Gitter)
+• Questions and problems they are stuck on (they might send you a private message so please regularly check your Discord)
## How to welcome all new aspiring virtual interns
If you see this message `@/all Hello Team my name is .... I'd like to become a virtual intern. What is the next step?`, you need to welcome the new intern and send this link `https://treehouses.io/#!./pages/vi/firststeps.md` so they can start working on the First Steps.
@@ -28,7 +28,7 @@ One of your responsibilities as an intern is to review and help aspiring virtual
1. **Review files:** you can comment, approve, and request changes in the 'Files Changed' tab on their pull request. For this step, you should take your time to review a file. Do not rush :)
-Every time you comment on an issue or review a pull request, message those involved on the Gitter chat with a link to the issue or the pull request so the aspiring virtual intern can see the comment. For example:
+Every time you comment on an issue or review a pull request, message those involved on the Discord channel with a link to the issue or the pull request so the aspiring virtual intern can see the comment. For example:
```
@username_of_intern please see my comment (URL link of the issue or pull request)
```
@@ -43,7 +43,7 @@ The pull request can be merged if at least two other people have approved it and
* if you accidently merge a PR that does not include closing keywords, you need to manually close the issue and link it to the original pull request.
* The title should also be in lowercase letters `we do not want uppercase letters in the title of PRs`
-Every time you merge a pull request, please send a message to the intern on the Gitter chat with a link to the issue and merged link. For example:
+Every time you merge a pull request, please send a message to the intern on the Discord channel with a link to the issue and merged link. For example:
```
@username_of_intern please look at (URL link of the issue) and (URL link of the merged link)
@@ -52,7 +52,7 @@ Every time you merge a pull request, please send a message to the intern on the
## Work Routine
We recommend you to follow this basic daily routine:
-1. [Check gitter chat](https://gitter.im/treehouses/Lobby)
+1. Check our Discord server
1. Review any issues or pull requests that have been added or changed on [treehouses.github.io](https://github.com/treehouses/treehouses.github.io) since the last time you reviewed.
1. Make pull requests as early as possible so you can get feedback as you work.
1. Join the Google hangout sessions at [http://talk.ole.org]( http://talk.ole.org). At the Hangout meeting, we will discuss our projects. If you have any questions, you can also ask the team at the meeting. For the Treehouses meeting, we have three sessions which are ...
diff --git a/pages/blog/20200110-androidstudiosetup.md b/pages/blog/20200110-androidstudiosetup.md
index 586d31c21..762dbd9ad 100644
--- a/pages/blog/20200110-androidstudiosetup.md
+++ b/pages/blog/20200110-androidstudiosetup.md
@@ -91,9 +91,9 @@ Run the app on an emulator as follows:
## Run into problems?
- * Google your errors and post them in [Gitter](https://treehouses.io/#!pages/chat.md) if you need help.
+ * Google your errors and post them in our Discord server if you need help.
* You might need to reinstall Android Studio to fix your problem.
---
-Portions of this page are reproduced from work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.
\ No newline at end of file
+Portions of this page are reproduced from work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.
diff --git a/pages/chat.md b/pages/chat.md
index f5a4bde54..7c906dc42 100644
--- a/pages/chat.md
+++ b/pages/chat.md
@@ -1,14 +1,14 @@
# treehouses / chat
-## Gitter
+## Discord
-Our **Gitter** chat is a great place to learn, discuss, and collaborate with other members to build a better treehouses platform. The chat lets our development team and interns communicate easily, and signup is through each member’s GitHub account.
+Our **Discord** server is a great place to learn, discuss, and collaborate with other members to build a better treehouses platform. The chat lets our development team and interns communicate easily.
-Communication is key in every collaborative project, and treehouses is no different. Gitter provides tight integration with *Github* and provides full rich text support through **Markdown** an important tool for clean and efficient communication. Combining these features allows members to mention other members in a message, format text, share images and code, and directly link to GitHub issues and repositories.
+Communication is key in every collaborative project, and treehouses is no different. Discord provides integration with *Github* and provides full rich text support through **Markdown**, an important tool for clean and efficient communication. Combining these features allows members to mention other members in a message, format text, share images and code, and directly link to GitHub issues and repositories.
## Best Practices
-As you complete the [First Steps](vi/firststeps.md), we want you to keep us updated in the Gitter chat. Generally, you should comment in the chat when you make an issue or pull request, and then link to it. Make a mention (@*name*) of someone when you comment on their issue/pull request, then link to it. For example:
+As you complete the [First Steps](vi/firststeps.md), we want you to keep us updated in the Discord channel. Generally, you should comment in the chat when you make an issue or pull request, and then link to it. Make a mention (@*name*) of someone when you comment on their issue/pull request, then link to it. For example:
> Hey @dogi, just commented on your issue: [https://github.com/treehouses/treehouses.github.io/issues/2](https://github.com/treehouses/treehouses.github.io/issues/2)
@@ -16,9 +16,4 @@ This good etiquette helps streamline communication between internship candidates
You may want to include clarifying *images* with your messages. To add an image in the chat, either drag and drop or copy and paste it into the messaging area.
-Below is the preview of our Gitter chat room. [Click here](https://gitter.im/treehouses/Lobby/) for the full Gitter chat page. We also encourage the use of Gitter chat apps for Windows, macOS, Linux, Android and iPhone, visit the download [page here](https://gitter.im/apps).
-
-## Gitter Chat Room Preview
-
-
-
+We also encourage the use of Discord apps for Windows, macOS, Linux, Android and iPhone, visit the download [page here](https://discord.com/download).
diff --git a/pages/vi/dockertutorial.md b/pages/vi/dockertutorial.md
index 4db8a5d43..332290026 100644
--- a/pages/vi/dockertutorial.md
+++ b/pages/vi/dockertutorial.md
@@ -115,8 +115,8 @@ A few common Docker CLI commands you might need for working with `treehouses` ar
Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application’s [services](https://docs.docker.com/get-started/part3/#about-services). Then, with a single command, you create and start all the services from your configuration. You can read more about Docker Compose at [Overview of Docker Compose](https://docs.docker.com/compose/overview/).
-**NOTE**: At the end of this step, when you have completed all the sections and executed the `docker-compose --version` command go to the Gitter [chat](https://gitter.im/treehouses/Lobby) and post which version of docker you are running.
+**NOTE**: At the end of this step, when you have completed all the sections and executed the `docker-compose --version` command, go to the [Discord #seednest channel](https://discord.com/channels/1079980988421132369/1081433296333963274) and post which version of docker you are running.
" @/all I'm on step 4 - Docker Tutorial, I am running `docker version` and `docker compose version` "
---
-#### Return to [First Steps](firststeps.md#Step_4_-_System_Tutorial)
\ No newline at end of file
+#### Return to [First Steps](firststeps.md#Step_4_-_System_Tutorial)
diff --git a/pages/vi/faq.md b/pages/vi/faq.md
index c17180ff0..03591136f 100644
--- a/pages/vi/faq.md
+++ b/pages/vi/faq.md
@@ -11,12 +11,14 @@
- **Q7:** [If I'm an international student, how soon can I get my paperwork required by my visa?](#Q7:_If_I'm_an_international_student,_how_soon_can_I_get_my_paperwork_required_by_my_visa?)
- **Q8:** [How many pull requests and issues in total do I need to make to finish the steps?](#Q8:_How_many_pull_requests_and_issues_in_total_do_I_need_to_make_to_finish_the_steps?)
- **Q9:** [How long do I have to complete these steps?](#Q9:_How_long_do_I_have_to_complete_these_steps?)
+- **Q10:** [How can I keep track of 10 steps vetting progress?](#Q10:_How_can_I_keep_track_of_10_steps_vetting_progress?)
+- **Q11:** [When does the internship start?](#Q11:_When_does_the_internship_start?)
## Technical Questions
-- **Q10:** [What do I do if '<YourUserName>.github.io' is already in use?](#Q10:_What_do_I_do_if_'<YourUserName>.github.io'_is_already_in_use?)
-- **Q11:** [What if you encounter *Host key verification fail*?](#Q11:_What_if_you_encounter_Host_key_verification_fail?)
-- **Q12:** [Why can't I ssh into my Raspberry Pi after installing a new treehouses image?](#Q12:_Why_can't_I_ssh_into_my_Raspberry_Pi_after_installing_a_new_treehouses_image?)
+- **TQ1:** [What do I do if I already have a github.io with my username?](#TQ1:_What_do_I_do_if_I_already_have_a_github.io_with_my_username?)
+- **TQ2:** [What should I do if I encounter *Host key verification failed*?](#TQ2:_What_should_I_do_if_I_encounter_Host_key_verification_failed?)
+- **TQ3:** [What do I do if I have trouble with pairing with my RPi via Bluetooth?](#TQ3:_What_should_I_do_if_I_encounter_issues_pairing_with_my_Raspberry_Pi_via_Bluetooth?)
---
@@ -24,103 +26,118 @@
#### Q1: What will I be working on during this internship?
-+ Virtual systems engineering interns will be helping develop OLE’s treehouses system. Treehouses allows us to share our different learning platforms via the Rasperry Pi series of single-board computer devices.
+- Systems Engineering Virtual Interns will contribute to developing OLE’s treehouses system. Visit the [treehouses](https://github.com/treehouses) organization on GitHub to explore our ongoing projects. Treehouses projects supports the development and deployment of OLE's [planet](https://github.com/open-learning-exchange/planet) and [myPlanet](https://github.com/open-learning-exchange/myplanet) apps.
#### Q2: What kind of software will we be using for this internship?
-+ As a part of this internship, you will be working with software, languages, and hardware including Git, GitHub, Markdown, Vagrant, VirtualBox, Command Line/Terminal, Command Line/Terminal Scripts, Vim, CouchDB, Docker, and Raspberry Pis.
+- During this internship, you will have the opportunity to work with various software, tools, and technologies, including [Git](https://git-scm.com/), [GitHub](https://github.com/), [Markdown](https://daringfireball.net/projects/markdown/), [Command Line](https://www.codecademy.com/articles/command-line-commands), [Bash/Shell](https://en.wikipedia.org/wiki/Bash_%28Unix_shell%29), [Vim](https://www.vim.org/), [CouchDB](http://couchdb.apache.org/), and [Docker](https://www.docker.com/). Furthermore, you will be able to learn and practice your skills in using [Raspberry Pi Hardware](https://www.raspberrypi.com/products/).
#### Q3: Where can I find more information about this internship?
-+ More information about the internship can be found at the Virtual Software Engineer Intern listing [here](https://www.indeed.com/cmp/Open-Learning-Exchange,-Inc./jobs).
+- More information about the internship can be found at the OLE's Virtual Software Engineer Intern listing on your university's Handshake site or [Wellfound](https://wellfound.com/company/open-learning-exchange/jobs).
#### Q4: What are the hours of the internship?
-+ This is an intensive internship that requires 16 hours of work each week. Work with your fellow interns and keep us updated in the [Gitter chat](https://gitter.im/treehouses/Lobby).
-+ The reason we have a 16 hour minimal commitment per week is that things are moving forward quickly and it might be hard for virtual interns to catch up with changes. Basically, we would have a few hours of Google Hangout sessions per week where everyone shares their screen, discusses problems, and works on issues together. Then the rest of the time is for catching up with the changes and working on issues assigned.
+- This is an intensive internship requiring 24 hours of work per week for at least 3 months.
+- The 3-month commitment is necessary because the onboarding process typically takes 2–4 weeks, leaving about 2 months for productive work. During the final month, you should think about passing along your knowledge to newer interns.
+- The 24-hour minimum commitment per week is necessary due to the fast-paced nature of our work, which can make it challenging for virtual interns to stay up to date. We host a Google Meet virtual office from Monday to Friday, approximately 5 AM to 5 PM US Eastern Time. During this time, you can hear about ongoing projects, share your screen, ask questions, discuss challenges, and collaborate on issues. While some tasks can be done offline and outside of the virtual office—especially during unstaffed hours—we generally expect you to be present there for most of your work time. If you find the virtual office too distracting, please discuss this with us.
#### Q5: Is this a paid internship?
-+ This position is unpaid, but it will provide a diverse range of experiences in the workplace. We can provide a certificate of completion, upon request. Also, academic credit can be provided through your institution (if applicable).
+- This is an unpaid position but offers a diverse range of workplace experiences. Upon request, we can provide a certificate of completion. Academic credit may be available through your institution (if applicable), and we can assist with paperwork for CPT or first-year OPT.
#### Q6: What happens after the initial steps?
-+ The initial steps are meant to introduce potential interns to the Treehouses system and begin assigning you assignments! To be more clear: the initial 10 steps are a vetting process to determine whether or not people are fit for the internship, so consider it an interview for the internship. Once you have completed the 10 steps and are approved, you have officially joined the OLE interns team! We’ll add you to the interns Gitter chatroom and assign you to a team. You and your team will be working on an assignment, and we’ll switch up the assignments each week.
+- The initial steps are designed to introduce potential interns to the treehouses system and begin assigning you assignments! To clarify: the first 10 steps serve as a vetting process to assess whether candidates are a good fit for the internship, so consider it part of the interview. Once you complete the 10 steps, are approved, and have had a meeting with us, you will have officially joined the OLE interns team!
#### Q7: If I'm an international student, how soon can I get my paperwork required by my visa?
-+ Since the first 10 steps are a vetting process, your internship technically doesn't start until you finish them. Think of the first 10 steps as a continued application process; you are not working on or adding to our organizational software, but rather showing that you have enough technical background to work with us. After you finish the first 10 steps, let us know if you need us to sign some paperwork, give you organizational information, or provide you with an offer letter for your visa compliance and we'd be more than happy to help. Find out information related to your paperwork [here](https://isso.columbia.edu/content/unpaid-internships-and-volunteering).
+- Since the First Steps serve as a vetting process, your internship technically doesn't begin until you complete them and have the initial meeting with us. Think of the first 10 steps as part of the application process; you're not working on or contributing to our organizational software, but rather demonstrating that you have the technical background needed to work with us. After completing the first 10 steps and during our initial meeting, let us know if you need us to sign any paperwork, provide organizational information, or issue an offer letter for visa compliance, and we'd be happy to assist.
#### Q8: How many pull requests and issues in total do I need to make to finish the steps?
-+ To finish the initial steps, you need to make a **minimum** of 4 issues and 5 pull requests so you can get familiar with GitHub and to show us that you can write proper issues/PRs. Check your progress [here](trackprogress.md).
+- To complete the initial steps, you need to create a **minimum** of 4 issues and have 5 **merged** pull requests. This will help you become familiar with Git/GitHub/Markdown, demonstrate your ability to write clear issues and PRs, and show that you can navigate between tasks effectively.
#### Q9: How long do I have to complete these steps?
-+ There is no official deadline, so work on your own time. However, please note that most people who continued into the internship program completed the steps within 7-8 days.
+- There is no official deadline, so you can work on your own time. However, please note that most people who continued into the internship program completed the steps within 1-2 weeks.
+
+#### Q10: How can I keep track of 10 steps vetting progress?
+
+- You can keep track of your progress using the [Tracking Progress Tool here](trackprogress.md).
+
+#### Q11: When does the internship start?
+
+- When we have an active job posting and invite you to the First Steps, we primarily seek interns who can start immediately after completing the steps and having a meeting with us.
+- If you're interested in an internship for a future semester or summer, please let us know in the Discord channel so we can stay in touch. We recommend checking back in the channel about a month before your intended start date to confirm if the internship program is active. If it is, you can then begin the First Steps process. This ensures you are following the most up-to-date version of the First Steps.
+- If we have more qualified virtual interns completing the first steps than we can accommodate at one time, we may request during the initial meeting that you start the internship in 1-3 months, if that works for you.
### Technical Questions
-#### Q10: What do I do if '<YourUserName>.github.io' is already in use?
+#### TQ1: What do I do if I already have a github.io with my username?
-+ Create an organization and use it to fork the repository:
- - Click on the '+' icon next to your account icon (top right corner in github) and select 'New organization'.
- - Name the organization '<YourUserName>-OLE', select 'My personal account', choose the 'Team For Open Source' option, and enter your email address to create the account.
- - Now it will prompt you for which profile to use when you fork the [treehouses repository](https://github.com/treehouses/treehouses.github.io).
+You have a few options:
-#### Q11: What if you encounter Host key verification fail?
-+ You encountered this error because the host key has been changed due to new installation of the raspberry pi or your host key has been changed.
-+ To fix the issue, You can try the following methods:
- - remove `known_hosts` file with `rm ~/.ssh/known_hosts`
- - avoid checking for host keys with `ssh -o StrictHostKeyChecking=no @`
- - remove the exact key line of the offending host by looking in the output for `Offending key in /home/peter/.ssh/known_hosts:` and then with `sed -i d ~/.ssh/known_hosts` remove this exact line
+ 1. **Rename the Repository:**
+ If you are still using the forked repository and don’t want to overwrite it, go to the repository settings and rename it to `.github.io`.
+ Then deploy it to GitHub Pages by selecting **"master branch"** under the GitHub Pages section in the repository settings.
+ You can access the forked OLE repository at: `.github.io/.github.io/`
+ 2. **Delete the Repository:**
+ If you are no longer using the repository, rename or delete it and follow the First Steps guide to set up a fresh fork.
+ 3. **Use an Organization:**
+ If you are still using the repository but want to fork a new one, [create a free organization](https://help.github.com/articles/creating-a-new-organization-from-scratch/) that belongs to your personal account, then fork our `treehouses.github.io` repository with your new organization as the owner. Afterwards, the repository will be accessible at: `.github.io`
-#### Q12: Why can't I ssh into my Raspberry Pi after installing a new treehouses image?
+#### TQ2: What should I do if I encounter Host key verification failed?
-+ If you run into this error you will see a message like " WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!" when you try to ssh into your Raspberry Pi after installing a new treehouses image onto it. Thankfully this is an easy fix
-+ To fix this type the command `cd` on your local machine. Then `cd .ssh`. Open the `known_hosts` file by typing `vim known_hosts`. Inside of this file you need to find your Raspberry Pi's ip address and delete that line since that is old known host for the previous treehouses image. Save the file. Now you should be able to ssh into your Raspberry Pi wihtout an issue.
+- If you encounter the error "WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED" or "Host key verification failed" when trying to SSH into your Raspberry Pi, it means the host key has changed. This typically happens after re-installing the Raspberry Pi image or modifying its configuration.
+- To resolve this issue, remove the old host key by running: `ssh-keygen -R `, where `` is whatever you just attempted to SSH into, typically the IP address of your Raspberry Pi.
+
+#### TQ3: What should I do if I encounter issues pairing with my Raspberry Pi via Bluetooth?
+
+- If you can see the Raspberry Pi's `treehouses` name in the Bluetooth device list but encounter issues pairing with it, you can manually enable pairing and discovery with `bluetoothctl`. Follow the instructions in [Finding your Pi](find-pi.md) and [Step 2 - SSH Tutorial](sshpi.md) until you can SSH into your Raspberry Pi as the `root` user.
+- Once connected via SSH as `root`, type `bluetoothctl` in the terminal. Then, run the commands `discoverable on` and `pairable on` to enable the Raspberry Pi for discovery and pairing with your phone. During this process, you may need to enter the pairing code displayed on your phone in the terminal.
---
## Helpful Links
-#### *GitHub, Markdown, and CLI*
+### *GitHub, Markdown, and CLI*
+- General
+ - [GitHub Docs - Help for wherever you are on your GitHub journey](https://docs.github.com/en)
+ - [Git Cheat Sheet (PDF)](https://education.github.com/git-cheat-sheet-education.pdf)
-* General
- - [GitHub and Markdown Short Tutorials](https://guides.github.com/)
- - [GitHub Help](https://help.github.com/en/categories/github-pages-basics)
- - [Git Cheat Sheet (PDF)](https://education.github.com/git-cheat-sheet-education.pdf)
+- Git
+ - [Getting started with GitHub Pages](https://docs.github.com/en/pages/getting-started-with-github-pages)
+ - [Codecademy's Learn Git Course](https://www.codecademy.com/learn/learn-git)
+ - [Learn Git Branching](https://learngitbranching.js.org)
-* First Steps
- - [GitHub's Git Tutorial](https://try.github.io/)
- - [Git-it Workshop](http://jlord.us/git-it/)
- - [Codecademy's Learn Git Course](https://www.codecademy.com/learn/learn-git)
- - [Learn Git Branching](https://learngitbranching.js.org)
+- Intermediate
+ - [Git Immersion](http://gitimmersion.com/)
-* Intermediate
- - [Git Immersion](http://gitimmersion.com/)
+- Reference
+ - [GitHub Tips](https://github.com/git-tips/tips/blob/master/README.md) - Most commonly used git tips and tricks.
+ - [Dangit, Git!?!](https://dangitgit.com/) - Quick reference on some common git issues you might run into and how to resolve them.
+ - [Git Pro (Book)](https://git-scm.com/book/en/v2) -
-* Reference/Advanced
- - [Git Pro (Book)](https://git-scm.com/book/en/v2)
- - [GitHub Tips](https://github.com/git-tips/tips/blob/master/README.md)
- - [Oh, sh*t, Git](http://ohshitgit.com/)
+- Git Workflows
+ [Forking Workflow | Atlassian Git Tutorial](https://www.atlassian.com/git/tutorials/comparing-workflows/forking-workflow) - The workflow we use in first steps.
+ - [Feature Branch Workflow | Atlassian Git Tutorial](https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow) - The workflow we use **after** you become an official intern.
+ - [Git - Branching Workflows](https://git-scm.com/book/en/v2/Git-Branching-Branching-Workflows) - High Level, Short
-* Git Workflow
- - [Git Workflow - High Level](https://www.atlassian.com/git/tutorials/comparing-workflows)
- - [Git Workflow - High Level, Short](https://git-scm.com/book/en/v2/Git-Branching-Branching-Workflows)
- - [Feature Branch Workflow](https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow)
+- Markdown
+ - [Markdown Syntax](https://daringfireball.net/projects/markdown/syntax)
+ - [Markdown Cheat Sheet (PDF)](https://enterprise.github.com/downloads/en/markdown-cheatsheet.pdf)
+ - [Markdown Editor](https://jbt.github.io/markdown-editor/)
-* Markdown
- - [Markdown Syntax](https://daringfireball.net/projects/markdown/syntax)
- - [Markdown Cheat Sheet (PDF)](https://enterprise.github.com/downloads/en/markdown-cheatsheet.pdf)
- - [Markdown Editor](https://jbt.github.io/markdown-editor/)
-* CLI
- - [MacOS CLI Cheat Sheet](https://www.makeuseof.com/tag/mac-terminal-commands-cheat-sheet/)
- - [Linux/Ubuntu CLI Cheat Sheet](http://images.linoxide.com/linux-cheat-sheet.pdf)
- - [Windows CLI(CMD) Cheat Sheet](https://ss64.com/nt/)
-* Vi/Vim
- - [Vim Cheat Sheet](https://devhints.io/vim)
+- CLI
+ - [Linux Command Cheat Sheet](https://www.loggly.com/wp-content/uploads/2015/05/Linux-Cheat-Sheet-Sponsored-By-Loggly.pdf)
+ - [macOS CLI Cheat Sheet](https://www.makeuseof.com/tag/mac-terminal-commands-cheat-sheet/)
+ - [Windows CLI(CMD) Cheat Sheet](https://ss64.com/nt/)
+
+- Vi/Vim
+ - [Learn Vim For the Last Time](https://danielmiessler.com/p/vim/)
+ - [Vim Cheat Sheet](https://devhints.io/vim)
## Helpful Videos
@@ -128,8 +145,4 @@
- [Shorter Git/GitHub Tutorial (Playlist)](https://www.youtube.com/watch?v=vR-y_2zWrIE&list=PLWKjhJtqVAbkFiqHnNaxpOPhh9tSWMXIF)
- [Mastering Markdown (Playlist)](https://www.youtube.com/watch?v=Je5w18nn-e8&list=PLu8EoSxDXHP7v7K5nZSMo9XWidbJ_Bns3)
- [How to Manually Fix Git Merge Conflicts](https://www.youtube.com/watch?v=g8BRcB9NLp4) - Please note that this video will explain how to fix a merge conflict from the point of view of the repo owner who is trying to merge a pull request. However, it is helpful also when you have to fix a merge conflict on your own local and forked repos.
-- [How to Use VirtualBox](https://www.youtube.com/watch?v=sB_5fqiysi4)
-- [Vagrant Tutorial](https://www.youtube.com/watch?v=PmOMc4zfCSw)
-- [Docker Tutorial](https://www.youtube.com/watch?v=fqMOX6JJhGo)
-- [SSH_Key Tutorial](https://youtu.be/y2SWzw9D4RA)
-
+- [ How SSH key Works ? ](https://youtu.be/y2SWzw9D4RA)
diff --git a/pages/vi/find-pi.md b/pages/vi/find-pi.md
index 377913012..30d26081f 100644
--- a/pages/vi/find-pi.md
+++ b/pages/vi/find-pi.md
@@ -1,26 +1,34 @@
-# Finding your Pi
+# Finding the Raspberry Pi on Your Local Network
-There are several ways to find the local IP address of your Raspberry Pi, which you will need to know for the subsequent steps.
+## Objectives
-**NOTE**: **You will only need to do at least *one* of the methods below, but it is good to know all of them.**
+- Learn different methods to find your Raspberry Pi's IP address on your local network for connecting in later steps.
-## Method 0: Looking at your router
+**NOTE**: **You only need to use *one* of the methods below, but it's helpful to know all of them.**
-If you have access to your router's admin account, you can log into it and view the currently connected devices. Here, you will be able to find your Raspberry Pi device (named "treehouses"), and its IP address.
+## Method 0: Checking Your Router
+
+If you have access to your router's web interface or app, you can log in and view the list of currently connected devices. Here, you’ll find your Raspberry Pi device (named "treehouses") along with its IP address.
+
+Certainly! Here’s the text with the proper Markdown formatting for code blocks:
## Method 1: Using treehouses remote
-In the [previous step](treehouses-remote.md), you were able to access the terminal on treehouses remote using Bluetooth. Here, run `treehouses networkmode info`. The output in `bridge` mode will look like this:
+In the [previous sub-step](treehouses-remote.md), you accessed the terminal on treehouses remote via Bluetooth. Now, run the command `treehouses networkmode info` in the treehouses remote terminal.
+
+The output in `bridge` mode with the Raspberry Pi connected to your home network will look something like this:
+
```
wlan0: essid: wifiname, ip: 192.168.0.19, has password
ap0: essid: treehouses, ip: 192.168.2.1, has no password
```
-The first ip address listed is your Pi's ip address.
+Look for the IP address on either the `wlan0` (Wi-Fi) or `eth0` (Ethernet) line, depending on your connection type.
+
+## Method 2: Pinging Your Raspberry Pi with its Hostname
-## Method 2: Pinging your Raspberry Pi
+Type `ping treehouses.local`, `ping treehouses.home` or `ping treehouses.lan` in your computer's terminal or Windows Command Prompt (Windows users might need to install [Bonjour](https://support.apple.com/kb/DL999?viewlocale=en_US&locale=en_US)). You should see something like this:
-Type `ping treehouses.local`, `ping treehouses.home` or `ping treehouses.lan` in your computer terminal or command prompt (Windows users will need to install [Bonjour](https://support.apple.com/kb/DL999?viewlocale=en_US&locale=en_US)). You should see something like this:
```
$ ping treehouses.local
PING treehouses.local (192.168.0.19): 56 data bytes
@@ -29,28 +37,27 @@ PING treehouses.local (192.168.0.19): 56 data bytes
64 bytes from 192.168.0.19: icmp_seq=2 ttl=64 time=2.945 ms
64 bytes from 192.168.0.19: icmp_seq=3 ttl=64 time=3.372 ms
```
+
You can stop this process with `Ctrl`+`C`.
As you can see here its local IP address is `192.168.0.19`.
-## Method 3: nmap command
+## Method 3: Using Nmap - the Network Mapper
The `nmap` command ([Network Mapper](https://nmap.org)) is a free and open-source tool for network discovery, available for Linux, macOS, and Windows.
### Installation
-- Linux: in your terminal, run `sudo apt-get install nmap`
-- macOS: in your terminal, run `brew install nmap`
-- Windows: see the [nmap download page](http://nmap.org/download.html)
-
-**NOTE:** **If this is your first time using the CLI on macOS you need to install [brew](https://brew.sh/), a package management system for the CLI**
+- Linux: in your terminal, run `sudo apt update && sudo apt install nmap`
+- macOS: in your terminal, run `brew install nmap` or go to [nmap download page](http://nmap.org/download.html)
+- Windows: in Windows PowerShell or Command Prompt, run `choco install nmap`. Or go to [nmap download page](http://nmap.org/download.html)
-### Find your subnet
+### Find Your Subnet
To use `nmap` to scan the devices on your network, you need to know the subnet you are connected to. First find your own IP address, in other words the one of the computer you're using to find your Pi's IP address:
- On Linux, type `hostname -I` into a terminal window
-- On macOS, go to System Preferences then Network and select your active network connection to view the IP address
+- On macOS, type `ipconfig getifaddr en0` or go to System Preferences then Network and select your active network connection to view the IP address
- On Windows, go to the Control Panel, then under `Network and Sharing Center`, click `View network connections`, select your active network connection and click `View status of this connection` to view the IP address
Now you have the IP address of your computer, you can scan the whole subnet for other devices. For example, if your IP address is `192.168.1.5`, other devices will be at addresses like `192.168.1.2`, `192.168.1.3`, `192.168.1.4`, etc. The notation of this subnet range is `192.168.1.*` (this covers `192.168.1.0` to `192.168.1.255`).
@@ -60,6 +67,7 @@ Now use the `nmap` command with the `-sn` flag (ping scan) on the whole subnet r
`nmap -sn 192.168.1.*`
You should see something like this:
+
```
Starting Nmap 7.70 ( https://nmap.org ) at 2019-08-16 17:00 EDT
Nmap scan report for hpprinter (192.168.1.2)
@@ -72,9 +80,10 @@ Nmap scan report for treehouses (192.168.1.8)
Host is up (0.0030s latency).
Nmap done: 256 IP addresses (4 hosts up) scanned in 2.41 seconds
```
+
Here you can see the local IP address of "treehouses" is `192.168.1.8`.
-## Method 4: arp command
+## Method 4: Using the arp command
**This will only work if the Raspberry Pi you are using is the only one on your network.** In your command line, you can run the the `arp` command and search for the Raspberry Pi's MAC address, assuming it has not been changed or spoofed. A MAC address is a unique device identifying number, used as a network identifier. Run `arp -a | grep dc:a6:32` if you are using a Raspberry Pi 4, otherwise run `arp -a | grep b8:27:eb`.
@@ -82,13 +91,18 @@ You should see something like this:
`? (10.0.0.32) at b8:27:eb:c7:60:57 on en0 ifscope [ethernet]`
Here you can see the local IP address of the Raspberry Pi is `10.0.0.32`.
-## Method 5: Fing app
+## Method 5: Using a Phone App
-The Fing app is a free network scanner for smartphones. It is available for Android and iOS.
+The [Fing app](https://www.fing.com/app/) is a free network scanner for smartphones, available for both Android and iOS. Alternatives for Android devices include [Vernet - Network Analyzer](https://play.google.com/store/apps/details?id=org.fsociety.vernet.store) and [Port Authority - Port Scanner](https://play.google.com/store/apps/details?id=com.aaronjwood.portauthority.free).
-Your phone and your Raspberry Pi have to be on the same network, so connect your phone to the correct wireless network.
+Ensure your phone and Raspberry Pi are connected to the same network by joining the correct wireless network on your phone.
-When you open the Fing app, touch the refresh button in the upper right-hand corner of the screen. After a few seconds you will get a list with all the devices connected to your network. Scroll down to the entry with the name "treehouses". You will see the IP address in the bottom left-hand corner, and the MAC address in the bottom right-hand corner of the entry.
+To use the Fing app:
+1. Open the app and tap on the "Scan my network" button in the upper-right corner of the screen.
+2. After a few seconds, you'll see a list of devices connected to your network.
+3. Scroll down and locate the entry labeled "treehouses."
+4. The IP address will appear in the bottom left corner, and the MAC address in the bottom right corner of the entry (if the MAC address is not in the app's known vendor database.)
---
-#### Return to [First Steps](firststeps.md#Step_1_-_Installing_and_finding_your_Raspberry_Pi)
+
+#### Return to [First Steps](firststeps.md#Step_1_-_Installing_and_Finding_Your_Raspberry_Pi)
diff --git a/pages/vi/firststeps.md b/pages/vi/firststeps.md
index bcf9ca2ac..02f3753d7 100644
--- a/pages/vi/firststeps.md
+++ b/pages/vi/firststeps.md
@@ -1,114 +1,117 @@
-# First Steps
+# First Steps – Systems Engineering Virtual Intern
-# The Big Picture
+## The Big Picture
-Welcome to the first steps for becoming a Systems Engineering Virtual Intern at OLE! After completing these steps, you will be working on OLE’s project, treehouses. These first steps are a process to prove that you have learned the foundational skills before you can progress to working on harder projects with larger teams. Consider this to be the interview for the internship.
+Welcome to the first steps for becoming a Systems Engineering Virtual Intern at OLE! We treat these first steps as a vetting process to prove that you can follow simple instructions before you can progress to working on harder projects in bigger teams. Consider this to be the interview for the internship.
-If you are selected for the internship after completing the steps, you will be officially invited to join the OLE interns team! We’ll add you to the Virtual Interns Gitter chatroom and assign you to a specific team to work on developing and improving OLE’s software.
+If you are selected for the internship after completing the steps, you will be officially invited to join the OLE systems engineering interns team! We’ll add you to relevant Discord channels and assign you to a specific team to work on developing and improving OLE’s **[treehouses](https://github.com/treehouses)** software, which directly supports the deployment of OLE's [planet](https://github.com/open-learning-exchange/planet) and [myPlanet](https://github.com/open-learning-exchange/myplanet) app.
-Once accepted, you and your team will work on an assignment, and we’ll switch up the assignments each week. As part of this internship, you will have the opportunity to work with software and languages including **[Git](https://git-scm.com/)**, **[GitHub](https://github.com/)**, **[Markdown](https://daringfireball.net/projects/markdown/syntax)**, **[Command Line/Terminal Scripts](https://www.codecademy.com/articles/command-line-commands)**, **[Vim](https://www.vim.org/)**, and **[Docker](https://www.docker.com/).** Furthermore, you will be able to learn and practice your skills in using **[Raspberry Pi Hardware](https://raspberrypi.org)**.
+During this internship, you will have the opportunity to work with various software, tools, and technologies, including **[Git](https://git-scm.com/)**, **[GitHub](https://github.com/)**, **[Markdown](https://daringfireball.net/projects/markdown/)**, **[Command Line](https://www.codecademy.com/articles/command-line-commands)**, **[Bash/Shell](https://en.wikipedia.org/wiki/Bash_%28Unix_shell%29)**, **[Vim](https://www.vim.org/)**, and **[Docker](https://www.docker.com/)**. Furthermore, you will be able to learn and practice your skills in using **[Raspberry Pi Hardware](https://www.raspberrypi.com/products/)**.
-The goal of OLE is to provide educational infrastructure to learners and educators in remote areas of the globe. The Raspberry Pi is used in pursuit of this goal to provide a cost-effective means by which devices can access educational resources. We aim to provide a stable system that is widely accessible by numerous devices and operating systems. This equipment will be deployed in the field with little or no access to the internet, so its reliability is of paramount importance.
+OLE's goal is to provide educational infrastructure to learners and educators in remote areas around the world. To support this mission, we use Raspberry Pi devices as a cost-effective solution for delivering access to educational resources. Our objective is to create a stable system that is widely compatible with various devices and operating systems. Since this equipment is often deployed in areas with limited or no internet access, ensuring its reliability is absolutely critical.
+**NOTE**: This is an unpaid, intensive internship requiring a minimum commitment of 24 hours per week for at least 3 months. Additional details about the internship can be found in our [FAQ](faq.md#General_Internship_Questions). If you have further questions, feel free to ask in our Discord server's #seednest channel!
-**NOTE:** This is an unpaid but intensive internship that requires 16 hours of work each week. More information about the internship can be found in our [FAQ](faq.md#General_Internship_Questions). If you have further questions, don’t hesitate to ask other members in the Gitter [chat](https://gitter.im/treehouses/Lobby)!
+## Prerequisites
-# Pre-Requisites
+### Required Hardware
-## Required Prerequisites
-The following are the required hardware components that will be needed as part of the Virtual Intern placement. Software solutions such as containers are used by the Treehouses team to ensure that the solutions we develop work across computers and locations. However, as part of the Systems team, you will need some basic hardware of your own to make sure you can run, test and contribute to the software that the team is developing.
+The following hardware components are required for the Systems Engineering Virtual Internship at OLE. While the treehouses team utilizes software solutions such as containers to ensure our projects work across different computers and locations, as a member of the Systems team, you will need some basic hardware of your own. This will enable you to run, test, and contribute to the software that the team is developing.
-### Hardware requirements:
+1. **Raspberry Pi 4 or Newer**
+ - ✅ [Raspberry Pi 5 (minimum 2GB RAM)](https://www.raspberrypi.com/products/raspberry-pi-5/)
+ - ✅ [Raspberry Pi 4 (minimum 2GB RAM)](https://www.raspberrypi.org/products/raspberry-pi-4-model-b/)
+ - ⚠️ [Raspberry Pi Zero 2 W](https://www.raspberrypi.com/products/raspberry-pi-zero-2-w/)
+ - Compatibility with our image still needs verification.
+ - Note: This model lacks an Ethernet port.
+ - ❌ Models released before 2019 (e.g., 3B/3B+) are no longer supported.
-1. Raspberry Pi 4 ([Pi 4 information](https://www.raspberrypi.org/products/raspberry-pi-4-model-b/))
- - Any amount of RAM will work, but more is better
- - Raspberry Pi 3B/3B+ also work, but Pi 4 is recommended
-1. Power supply for the Pi
- - Pi 4: minimum 3.0A, Standard USB-C port
- - Pi 3B/3B+: minimum 2.5A, Micro USB port
-1. 3 microSD cards
- - Minimum 16GB
- - U1 or Class 10 required
-1. MicroSD card reader
- - You will need a USB reader if your computer doesn't have an SD card slot
-1. Laptop or computer with minimum 8GB of RAM
- - You will need a Wi-Fi adapter if you are using a desktop without Wi-Fi capabilities.
-1. Android device (phone or tablet)
- - Memory (RAM): Minimum 2GB
- - Operating System:
- * Minimum: Android 6 "Marshmallow"
- * Recommended: Android 8 "Oreo"
+2. **Power Supply for Raspberry Pi**
+ - Ensure the power supply is compatible and provides sufficient current.
+ - [Details on recommended power supplies](https://www.raspberrypi.com/documentation/computers/getting-started.html#power-supply).
- **NOTE:** You can purchase all of these components together for your convenience (or if there are discounts) on places such as Amazon, eBay, etc...
+3. **MicroSD Cards**
+ - Quantity: 3
+ - Capacity: Minimum 32GB
+ - Speed: U1/Class 10 or better
+ - [More details on SD cards](https://www.raspberrypi.com/documentation/computers/getting-started.html#recommended-sd-cards).
-## Optional Hardware
-There are also "optional" pieces of hardware that you can choose to purchase should you choose to, these are not compulsory for participation in the internship but may greatly assist you in developing your skills and contributing to the project.
+4. **MicroSD Card Reader**
+ - Required if your computer lacks an SD card slot.
-1. Ethernet cable - For Direct connection and troubleshooting of the Pi
-1. [Real Time Clock (rtc)](https://www.amazon.com/s?k=raspberry+pi+rtc)
-1. [Raspberry Pi 0W](https://www.raspberrypi.org/products/raspberry-pi-zero-w/)
-1. Raspberry pi Camera(s):
- - [Raspberry Pi Camera](https://www.raspberrypi.org/products/camera-module-v2/)
- - [Raspberry Pi Night Vision Camera](https://www.raspberrypi.org/products/pi-noir-camera-v2/)
- - [generic Raspberry Pi 5 Megapixel Camera](https://www.amazon.com/AuviPal-Megapixels-Raspberry-Camera-Module/dp/B07PQ63D2S/)
-1. USB keyboard, mouse, monitor, and HDMI cable
+5. **Ethernet cable**
+ – For direct connection and troubleshooting of the Pi without Wi-Fi
+ – An available Ethernet port on your router/switch will also be required
-[Useful link for Rapberry Pi set up](https://www.youtube.com/watch?v=-9V4EpNNR6k)
+6. **Laptop or Computer**
+ - RAM: Minimum 8GB (16GB preferred)
+ - If using a desktop without built-in Wi-Fi, a Wi-Fi adapter is required.
----
+7. **Android Device or Chromebook**
+ - **RAM:** Minimum 3GB
+ - **Operating System:** Android 9 ("Pie") or newer
+ - If you don’t already own one, consider asking friends or family if they have an old Android phone they no longer use.
-# The Steps
+ **NOTE:** You can purchase a Raspberry Pi from an [Approved Reseller](https://www.raspberrypi.com/resellers/?q=&country=1&forHome=1). Some resellers offer starter kits that include a power supply, SD card, case, heat sink, and more. Alternatively, you can look for discounts on platforms like Amazon, Best Buy, or eBay.
-Social coding is a huge part of any open source and collaborative project, and [treehouses](https://github.com/treehouses) is no different. In the following series of steps, you will learn about Markdown, Docker, Bash, Vim, Git, GitHub, GitHub issues, and GitHub pull requests.
+### Optional Hardware
-Because these steps are simple, we expect high-quality work, which may take a longer time. We want to see that you are capable of using or learning how to use these tools (writing good GitHub issues, creating pull requests, using Markdown and Docker, etc.). These steps may seem easy, but we want you to impress us with good GitHub etiquette and quality Markdown. The bare minimum would be to just passively follow the steps; you should do further reading about the tools/languages we use so you can further your understanding and relieve confusion if you're unclear about how something works. **Treat these steps as learning opportunities!** The GitHub and Markdown skills you practice here are very important for both this internship and a future software development career.
+There are also optional hardware components you may choose to purchase. While these are not required for participation in the internship, they can further help you develop your skills and contribute to the project. Once you have completed the First Steps and officially become an intern, feel free to reach out to us for guidance and to explore potential additional projects utilizing these hardware components.
-The MDwiki has plenty of resources to help you complete the steps. There is a list of useful links at the end of each step. We also created a [FAQ page](faq.md) where you can find the answers to some commonly asked questions. This page has even more [useful links and video tutorials](faq.md#Helpful_Links) that will help you become familiar with the tools/languages we use. For anything that is not on the FAQ page, Google and Stack Exchange are your friends :)
+1. USB keyboard, mouse, monitor, and HDMI cable
+1. [Real Time Clock (RTC)](https://www.amazon.com/s?k=raspberry+pi+rtc)
+1. [Raspberry Pi Zero 2 W](https://www.raspberrypi.com/products/raspberry-pi-zero-2-w/)
+1. [Raspberry Pi Camera](https://www.raspberrypi.com/products/#cameras-and-displays)
-**We also want you to keep us updated on a relatively good amount in the [Gitter chat](../chat.md) as you complete these steps. We will ask you to send us messages, links, and screenshots along the First Steps, and we will use this to track your progress, so please do not forget to do so.**
+## The Steps
-A very large part of these steps is finding problems with these steps and this MDwiki, so take note of any issues that you run into or suggestions for improvement while doing these steps.
+Social coding is a huge part of any open source and collaborative project, and the Open Learning Exchange (OLE) is no different. In the following series of steps, you will learn about Markdown, Docker, Bash, Vim, Git, GitHub, GitHub issues, GitHub pull requests, etc.
-There is no official deadline to complete these steps, but most candidates who are approved for the internship program finished the steps within 7-8 days. Good luck!
+**These steps may seem simple, but we expect high-quality work, which may require additional time. We want to see that you can effectively use — or learn to use — these tools, including writing clear GitHub issues, using basic Git commands, creating proper pull requests, and working with Docker. Simply following the steps is the bare minimum; we encourage you to read more about the tools and languages we use to deepen your understanding and address any confusion. Treat these steps as valuable learning opportunities!**
+Take the opportunity to read more about the tools and languages we use to deepen your understanding and reduce confusion. **Treat these steps as learning opportunities!** The GitHub and Markdown skills you practice in first steps are crucial for both this internship and a future career in software development.
-## Step 0 - Introductory Steps
+The MDwiki offers plenty of resources to help you complete these steps. You may find a list of useful links at the end of each step. :)
-1. Complete the [New Virtual Intern Application form](http://apply.treehouses.io). If you have already done this after being invited to join the team then good job, you're all set!
+**We also would like you to keep us regularly updated in our Discord server's `#seednest` channel as you complete these steps. We will ask you to send messages, links, and screenshots along the way, which will keep us informed of your progress. Please make sure not to miss this.**
-2. Log into your [GitHub account](https://github.com/) then watch [treehouses.github.io repo](https://github.com/treehouses/treehouses.github.io) and Follow [Dogi](https://github.com/dogi), [Ryan](https://github.com/indepthh), [Vassilis](https://github.com/vers4ce), [Roshan](https://github.com/rrijal53), [Sam](https://github.com/Liew211), [Samuel](https://github.com/samuelchen1213) and [Arran](https://github.com/ArranHL) on GitHub.
+A significant part of these steps is identifying problems or suggesting improvements for this MDwiki. As you complete the steps, take note of any issues you encounter or ideas for enhancements. This helps improve the MDwiki and these steps for future interns.
-In GitHub, we "[Watch](https://help.github.com/en/articles/watching-and-unwatching-repositories)" organization repositories and ["Follow"](https://help.github.com/en/articles/following-people) individuals. Look for the "Watch" button at the top right of the page when you are in a repository. Also, follow each other to see what others in the group are doing. (Click on the image to enlarge.)
+While there's no official deadline for completing these steps, most successful candidates finish them within 7-8 days. Good luck!
-### Setting up your environment
+## FAQ - Frequently Asked Questions
-We interact with the Raspberry Pi via a command terminal, which is natively available for both Mac and Linux based systems. However, if you are on a Windows device, [Git Bash](https://git-scm.com/download/win) is highly recommended.
+**[Our FAQ page](faq.md)** is a comprehensive resource containing answers to common questions about the internship and First Steps. It also features additional helpful links and video tutorials aimed at familiarizing you with the tools and languages integral to our work.
-### Working with Vi & Vim
+If you have general internship inquiries and can't find the information you need on the FAQ page, please don't hesitate to reach out to us via Discord. Try to avoid DMs as others might have the same question!
-One of the most simple but most powerful text editors out there is Vim. If you want to see what Vim can do and how powerful it can be, you can learn more about Vim [here](https://danielmiessler.com/study/vim/#textobjects). Vim is not necessary for this internship but it is truly helpful when working on the Raspberry Pi not to have to download and install other text editors.
+For technical questions not covered in the FAQ, in addition to contacting us on Discord, Google, Stack Exchange, and ChatGPT serve as excellent supplementary resources to explore. :)
-**NOTE:** You can skip ahead to Step 3 while you are waiting for your Raspberry Pi to come in the mail.
+---
-## Step 1 - Installing and Finding Your Raspberry Pi
+## Step 0 - Introductory Steps
-There are 3 sections in this step:
-1. [Setting up your Raspberry Pi](pi-setup.md)
-2. [Using treehouses Remote](treehouses-remote.md)
-3. [Finding your Pi](find-pi.md)
+Follow the instructions in [Introductory Steps](intro-steps.md).
+
+## Step 1 - Installing and Finding Your Raspberry Pi
+**NOTE:** You can skip ahead to Step 3 if you are waiting for your Raspberry Pi to come in the mail.
-## Step 2 - Use SSH and Tor to Remotely Control Your Raspberry Pi
+This step is divided into three sections:
-The Systems team uses SSH (Secure Shell) to securely and remotely control the Raspberry Pis we work with. SSH works by providing an admin protocol that allows users to control and modify their remote servers over the Internet. Follow the [Raspberry Pi SSH & Tor Tutorial](sshpi.md) to learn how.
+1. [Setting Up Your Raspberry Pi](pi-setup.md)
+2. [Using the Treehouses Remote App](treehouses-remote.md)
+3. [Finding the Raspberry Pi on Your Local Network](find-pi.md)
+### Step 2 - Remotely Connect to Your Raspberry Pi Using SSH and Tor
+The Systems team uses [SSH (Secure Shell)](https://simple.wikipedia.org/wiki/Secure_Shell) to securely log into and manage the Raspberry Pi remotely. Follow the [Raspberry Pi SSH & Tor Tutorial](sshpi.md) to learn how to set it up.
## Step 3 - Markdown and Fork Tutorial
Follow the instructions on [GitHub and Markdown](githubandmarkdown.md)
-Make sure that you've linked to your github.io and pull request in the [Gitter chat](https://gitter.im/treehouses/Lobby). Also, include the `raw.githack` link in your pull request `https://raw.githack.com/YourUserName/YourUserName.github.io/YourBranchName/#!pages/vi/profiles/YourUserName.md`
+Make sure that you've linked to your github.io and pull request in the [Discord #seednest channel](https://discord.com/channels/1079980988421132369/1081433296333963274). Also, include the `raw.githack` link in your pull request `https://raw.githack.com/YourUserName/YourUserName.github.io/YourBranchName/#!pages/vi/profiles/YourUserName.md`
**NOTE**: The `raw.githack` link is case sensitive to your username.
@@ -140,11 +143,11 @@ Follow the directions at [Git Repositories](gitrepositories.md) to keep your use
## Step 6 - GitHub Issues Tutorial
-Follow the [GitHub Issues tutorial](github-issues.md) to create at least one issue. Post a link in [Gitter](https://gitter.im/treehouses/Lobby) whenever you create an issue or when you comment on someone else's issue. You are encouraged to post as many issues as you can for improving the page as well as for personal practice. No issue is too big or too small to be filed and it is OK if you are not sure how to fix it yourself. If you know how to solve an issue, be sure to provide a detailed account of your research and show how to fix it. It is ok to file an issue about minor typos and very small changes, but do not make this the case for all of the issues that you file. You can also work on issues that you didn't create.
+Follow the [GitHub Issues tutorial](github-issues.md) to create at least one issue. Post a link in [Discord #seednest channel](https://discord.com/channels/1079980988421132369/1081433296333963274) whenever you create an issue or when you comment on someone else's issue. You are encouraged to post as many issues as you can for improving the page as well as for personal practice. No issue is too big or too small to be filed and it is OK if you are not sure how to fix it yourself. If you know how to solve an issue, be sure to provide a detailed account of your research and show how to fix it. It is ok to file an issue about minor typos and very small changes, but do not make this the case for all of the issues that you file. You can also work on issues that you didn't create.
Make sure you have created at least one issue, resolved it, commented on an issue you didn't create and have a pull request with the fix merged. You may continue making Issues, Pull requests and Comments, or move on to the next step, while you are waiting for your pull request to be merged. The approval process for your Step 6 fix may take time, but it is OK to continue working.
-**NOTE**: When posting a link in the Gitter, it may be helpful to tag the newest interns since they are likely the most active.
+**NOTE**: When posting a link in the Discord channel, it may be helpful to tag the newest interns since they are likely the most active.
> Once you complete Step 6 you will have:
@@ -175,7 +178,7 @@ You should:
* Get approval to work on the issues you have created. **Make sure someone from the System's team confirms that you should work on the issue BEFORE you start to work on it.**
* Resolve the three issues by making the necessary changes in your repo with three separate pull requests.
-Just as your learning with this Wiki was made possible by the efforts of previous interns, now we turn to you to continue that tradition and help future interns take their First Steps. Through this step, you should try to further improve our Markdown Wiki, with better explanations, formatting fixes, and more! You must have made your pull requests and have them each approved by at least two other OLE team members/interns in order for it to be merged to the upstream repository. Just as before, announce your Pull Request on the Gitter chat so other members can review it. You may need to make some additional corrections. Learn by teaching - or editing our teaching tool, in this case!
+Just as your learning with this Wiki was made possible by the efforts of previous interns, now we turn to you to continue that tradition and help future interns take their First Steps. Through this step, you should try to further improve our Markdown Wiki, with better explanations, formatting fixes, and more! You must have made your pull requests and have them each approved by at least two other OLE team members/interns in order for it to be merged to the upstream repository. Just as before, announce your Pull Request on the Discord channel so other members can review it. You may need to make some additional corrections. Learn by teaching - or editing our teaching tool, in this case!
**NOTE**: When you are fixing an issue, mention the issue number you are fixing in the title of your pull request and make a new branch for every new issue from the master branch.
@@ -189,7 +192,7 @@ Just as your learning with this Wiki was made possible by the efforts of previou
## Step 9 - Be Part of the Team
-Next thing is to post a screenshot of your completed progress to the Gitter chat room. Click [here](trackprogress.md) to find your completed progress.
-Message us ("@/all" and "@dogi") and ask about adding yourself to the virtual intern list found in [team.md](team.md) and setting up a meeting so you can become a part of the team as soon as possible.
+Next thing is to post a screenshot of your completed progress to the [Discord #seednest channel](https://discord.com/channels/1079980988421132369/1081433296333963274). Click [here](trackprogress.md) to find your completed progress.
+Message us ("@vi-systems" and "@dogi") and ask about adding yourself to the virtual intern list found in [team.md](team.md) and setting up a meeting so you can become a part of the team as soon as possible.
Make sure to read through the [intern orientation document](orientation.md) before the meeting.
diff --git a/pages/vi/githubandmarkdown.md b/pages/vi/githubandmarkdown.md
index ce1a9b6f2..08cbe3e09 100644
--- a/pages/vi/githubandmarkdown.md
+++ b/pages/vi/githubandmarkdown.md
@@ -124,16 +124,16 @@ Once you have your profile ready, it's time to create a pull request. Click on o
* include the raw.githack link to your Markdown profile page in the pull request description
* scroll down the page and verify you used at least 5 **different** Markdown elements in your profile
-Finally, click "Create pull request" button and post the link to your github.io and profile pull request in the [gitter chat](https://gitter.im/treehouses/Lobby):
+Finally, click "Create pull request" button and post the link to your github.io and profile pull request in the [Discord #seednest channel](https://discord.com/channels/1079980988421132369/1081433296333963274):
> @/all I'm on step 3 - GitHub and Markdown, please look at `https://YourUserName.github.io` and review my profile pull request `LinkToYourPullRequest`
Remember, it can take a while for `https://YourUserName.github.io` to be up and running, so don't worry if you see a **404** when you access the link!
-Someone from our team will review the changes and notify you on gitter. Often there will be some feedback from the reviewer for you to address. If that is the case, go to your pull request first then select "files changed" --> next select "..." on the top right --> select "Edit File" --> make the required changes --> scroll down and select "commit" on the pull request when done. Any changes you make to your branch will be automatically updated in the pull request. Once you get 2 approving reviews, we will merge your Markdown profile with the main repository.
+Someone from our team will review the changes and notify you on Discord. Often there will be some feedback from the reviewer for you to address. If that is the case, go to your pull request first then select "files changed" --> next select "..." on the top right --> select "Edit File" --> make the required changes --> scroll down and select "commit" on the pull request when done. Any changes you make to your branch will be automatically updated in the pull request. Once you get 2 approving reviews, we will merge your Markdown profile with the main repository.
-After the pull request is merged, you'll be able to see your personal page at `treehouses.github.io/#!pages/vi/profiles/.md`. Let us know in the [gitter.im chat](https://gitter.im/treehouses/Lobby) after you complete this step.
+After the pull request is merged, you'll be able to see your personal page at `treehouses.github.io/#!pages/vi/profiles/.md`. Let us know in the [Discord #seednest channel](https://discord.com/channels/1079980988421132369/1081433296333963274) after you complete this step.
**NOTE**: Try to add and experiment with as many markdown elements as you can and make your page attractive. A list of sample profile pages can be found [**here**](https://github.com/treehouses/treehouses.github.io/tree/master/pages/vi/profiles). Be creative.
diff --git a/pages/vi/images/enabledata2.png b/pages/vi/images/enabledata2.png
deleted file mode 100644
index 7ca8dd554..000000000
Binary files a/pages/vi/images/enabledata2.png and /dev/null differ
diff --git a/pages/vi/images/treehouses-setting-share-data.png b/pages/vi/images/treehouses-setting-share-data.png
new file mode 100644
index 000000000..01e5d426c
Binary files /dev/null and b/pages/vi/images/treehouses-setting-share-data.png differ
diff --git a/pages/vi/intro-steps.md b/pages/vi/intro-steps.md
new file mode 100644
index 000000000..8f7ea107e
--- /dev/null
+++ b/pages/vi/intro-steps.md
@@ -0,0 +1,34 @@
+# Step 0 - Introductory Steps
+
+## Watch the Organization and Follow Contributors
+
+In GitHub, we [follow organizations](https://docs.github.com/en/get-started/exploring-projects-on-github/following-organizations) and [follow people](https://docs.github.com/en/get-started/exploring-projects-on-github/following-people) to receive notifications about their activity. Look for the "Watch" button at the top right of the page when you are in a repository. Additionally, follow each other to stay updated on what others in the group are working on.
+
+- Use the "Watch" button in repositories you're working on and "Follow" individuals to keep up with the latest activities.
+- Visit GitHub and "Follow" the [Treehouses organization](https://github.com/treehousest) to stay updated on changes.
+- Follow OLE's CTO, [dogi](https://github.com/dogi).
+- You can also follow [other active Systems Engineering Virtual Interns](team.md) to stay updated on their activities.
+
+## Package Management (macOS/Windows)
+
+If you are on macOS or Windows, we recommend you get a package manager:
+
+- macOS: [Homebrew](https://brew.sh/) or [MacPorts](https://www.macports.org/)
+- Windows: [Chocolatey Community](https://community.chocolatey.org/)
+
+## Discord Installation and Server Nickname
+
+- Discord will be the primary communication tool for this internship, so please [download and install it](https://discord.com/download) on your computer. Once installed:
+- If your preferred name differs significantly from your Discord "Display Name," click on "treehouses" in the upper left of the Discord interface. Then, select "Edit Server Profile" from the menu and update your server nickname to include your preferred name or first name and last name initial.
+
+## Terminal (Windows)
+
+We interact with the Raspberry Pi through a command terminal, which is natively available on both macOS and Linux-based systems. For Windows users, please install [Git Bash](https://git-scm.com/downloads/win) or, if you have Chocolatey installed, run `choco install git` in the Windows PowerShell or Command Prompt.
+
+## Working with Vi & Vim
+
+One of the most simple but most powerful text editors out there is Vim. If you want to see what Vim can do and how powerful it can be, you can learn more about Vim [here](https://danielmiessler.com/p/vim/#textobjects). Vim is not necessary for this internship but it is truly helpful when working on the Raspberry Pi not to have to download and install other text editors.
+
+---
+
+#### Return to [First Steps](http://localhost:8000/#!./pages/vi/firststeps.md#Step_0_-_Introductory_Steps)
diff --git a/pages/vi/nextcloud-tor.md b/pages/vi/nextcloud-tor.md
index b1d0e647b..2c5919b21 100644
--- a/pages/vi/nextcloud-tor.md
+++ b/pages/vi/nextcloud-tor.md
@@ -32,7 +32,7 @@ reboot
```
Replace `username` with your Github username,and replace `wifiname` and `wifipassword` with your wifi name and password that you are connecting. Save the file, and safely eject the SD card.
-**NOTE**: You must modify the `autorunonce` file _before_ using the SD card with the Raspberry Pi. Failure to do this step correctly will cause "Planet Learning" - another OLE service - to load when starting Tor. Don’t hesitate to ask other members in the [Gitter chat](https://gitter.im/treehouses/Lobby) if you are not able to load Nextcloud _after attempting this step again_.
+**NOTE**: You must modify the `autorunonce` file _before_ using the SD card with the Raspberry Pi. Failure to do this step correctly will cause "Planet Learning" - another OLE service - to load when starting Tor. Don’t hesitate to ask other members in the [Discord #seednest channel](https://discord.com/channels/1079980988421132369/1081433296333963274) if you are not able to load Nextcloud _after attempting this step again_.
## Install Tor
@@ -100,7 +100,7 @@ In the Tor browser on your computer, navigate to the .onion address. For instan

-Once you reach this page, send a screenshot of the window (including the URL) in the Gitter chat.
+Once you reach this page, send a screenshot of the window (including the URL) in the [Discord #seednest channel](https://discord.com/channels/1079980988421132369/1081433296333963274).
## Wrap up
diff --git a/pages/vi/orientation.md b/pages/vi/orientation.md
index 625b1f1ef..783f3dcdf 100644
--- a/pages/vi/orientation.md
+++ b/pages/vi/orientation.md
@@ -75,7 +75,7 @@ You should check if the following conditions are met:
* [x] no merge conflicts
* [x] commits are associated with GitHub account
-When you comment / review an issue or pull request, message those involved on the [Gitter chat](https://gitter.im/treehouses/Lobby) with a link to the issue / pull request. Also, if you find any issue that must be addressed with another commit, do not forget to use the `Request changes` option when creating your review.
+When you comment / review an issue or pull request, message those involved on the project's related Discord channel with a link to the issue / pull request. Also, if you find any issue that must be addressed with another commit, do not forget to use the `Request changes` option when creating your review.
### Merging a Pull Request
@@ -90,7 +90,7 @@ When you are ready to merge the pull request:
* An example of good commit title is: "update vi-configuration.md (fix #1530) (#1557)", where "1530" is the issue number and "1557" is pull request number
* Read more about [closing Issues using keywords](https://help.github.com/articles/closing-issues-using-keywords/)
-Every time you merge a pull request, message the author on [Gitter chat](https://gitter.im/treehouses/Lobby), make sure you include a link to the pull request and commit id.
+Every time you merge a pull request, message the author on the project's related Discord channel, make sure you include a link to the pull request and commit id.
## Form a Working Routine and Schedule
@@ -98,7 +98,7 @@ Every time you merge a pull request, message the author on [Gitter chat](https:/
While you are free to work in your own style, we recommend you follow this basic daily routine:
-* Check Gitter interns room and your Gitter private messages
+* Check our Discord server and your Discord direct messages
* Join the [OLE Google Hangouts session](http://talk.ole.org) if you are able to, so you can follow what everyone is working on and get help fast
* Review any issues or pull requests that have been added or changed on [treehouses.io](https://github.com/treehouses/treehouses.github.io) since last time you reviewed
* Work on your issues and write in the intern chat any time you run into problems
@@ -129,4 +129,4 @@ Please subscribe to our calendar:
## Communicate, Communicate, Communicate!
-It’s not good to go silent on Gitter or any other forms of communication. If you are ever unsure of what to work on, or cannot work for any other reason, please talk to us in the Gitter chat. It's better that we know why you aren’t able to do anything than to imagine reasons ourselves. Remember, the more you put into this internship, the more you will get out of it. It may take a while to get used to the fact that you will need a good amount of self-discipline and initiative to get anything done in a remote internship, but we are here to help, so take advantage of it!
+It’s not good to go silent on Discord or any other forms of communication. If you are ever unsure of what to work on, or cannot work for any other reason, please talk to us on our Discord server. It's better that we know why you aren’t able to do anything than to imagine reasons ourselves. Remember, the more you put into this internship, the more you will get out of it. It may take a while to get used to the fact that you will need a good amount of self-discipline and initiative to get anything done in a remote internship, but we are here to help, so take advantage of it!
diff --git a/pages/vi/pi-setup.md b/pages/vi/pi-setup.md
index 32de93d0e..82982dfbd 100644
--- a/pages/vi/pi-setup.md
+++ b/pages/vi/pi-setup.md
@@ -1,47 +1,47 @@
-# Setting up your Raspberry Pi
+# Setting up Your Raspberry Pi
## Objectives
-* Burn a treehouses image on a microSD card
-* Start up your Raspberry Pi
+- Burn a treehouses image on a microSD card
+- Start up your Raspberry Pi
-## So What is the Raspberry Pi?
-The Raspberry Pi is a low cost single board computer. Think of it as a downsized desktop tower, with the ability to receive, compute and output data and information, just without a mouse, keyboard or screen.
+## Background Story
-The treehouses Raspberry Pi image is a modified [Raspbian](https://en.wikipedia.org/wiki/Raspbian) image, with additional software for OLE's Planet program. The Raspberry Pi can boot from this image using a microSD card.
+The Raspberry Pi (RPi) is a low-cost, single-board computer that functions like a compact desktop, capable of receiving, computing, and outputting data—without a built-in mouse, keyboard, or screen.
-### How the treehouses team uses the Pi:
-1. The Raspberry Pi is loaded with an operating system developed by the treehouses team.
-2. The Raspberry Pi is used in the field to allow devices to connect to it.
-3. Through this connection, these devices can access educational materials (Planet).
+The Treehouses team has developed a custom [Raspberry Pi OS](https://en.wikipedia.org/wiki/Raspberry_Pi_OS) image, pre-installed with software like Docker, [@treehouses/cli](https://www.npmjs.com/package/@treehouses/cli), and other utilities to simplify the deployment and management of OLE's Planet/myPlanet apps and the Raspberry Pi server itself.
-## Get your RPi Up and Running
-After getting your microSD cards and card reader/adapter, your first step will be to burn a treehouses image onto a microSD card, which you will later use to boot up your Raspberry Pi.
+## Get Your RPi Up and Running
-### Preparing the image:
-1. Download and install [Etcher](https://etcher.io)
-1. Go to https://treehouses.io/#!pages/download.md
-1. Download the latest stable image (the one with the highest version number)
+To start, you’ll need a microSD card and a card reader/adapter ready. The first step is to burn the Treehouses image onto the microSD card, which will be used to boot your Raspberry Pi.
-### Burning the treehouses image onto the microSD card:
-
+### Preparing the Image
-1. Insert a microSD card into your computer's card reader
-1. Open Etcher
- * Click on `Select Image`
- * Select the treehouses image that you have just downloaded
- * Select the microSD card you have just inserted
- * Click "Flash!". The process will take approximately 10 minutes to complete.
-1. Once it's done burning, you can view the contents in the `boot` partition of your microSD card using a file explorer.
-1. Unmount and safely eject the microSD card from your computer.
+1. Download and install [balenaEtcher](https://etcher.balena.io/).
+2. Visit the [treehouses download page](https://treehouses.io/#!pages/download.md) and download the latest stable image (the one with the highest version number).
-**NOTE:** If you run into any issues with flashing, try and update Etcher. You can also try [Raspberry Pi Imager](https://www.raspberrypi.org/downloads) or [Rufus](https://github.com/pbatard/rufus/releases) (Windows only). Keep your downloaded treehouses image, as you have to repeat this process in [Step 7](https://treehouses.io/#!./pages/vi/nextcloud-tor.md).
+### Burning the treehouses Image onto the microSD Card
-### Powering on the Raspberry Pi:
-1. With the Raspberry Pi still off, insert the microSD card into the card reader on the bottom.
-1. Connect the power cable, and if your device has a power switch, turn it on.
- * A red "power" LED should turn on.
-1. Connect it to an android device using [Treehouses Remote](https://play.google.com/store/apps/details?id=io.treehouses.remote) (preferred) or use an ethernet cable to connect it to a router.
+
+
+1. Insert the microSD card into your computer's card reader.
+2. Open **balenaEtcher**:
+ - Click **"Flash from file"** and select the treehouses image you downloaded.
+ - Select the microSD card you inserted as the **target**.
+ - Click **"Flash!"** — this process takes about 10 minutes, depending on your card and reader.
+3. Once complete, you can view the contents in the `boot` partition using a file explorer.
+4. Unmount and safely eject the microSD card.
+
+**NOTE:** If you run into any issues with flashing, try check for new balenaEtcher version. You can also try other image flashing tools like [Raspberry Pi Imager](https://www.raspberrypi.com/software/) or [Rufus](https://github.com/pbatard/rufus/releases) (Windows only). Keep your downloaded treehouses image, as you have to repeat this process in [Step 7](nextcloud-tor.md) later.
+
+### Powering On the Raspberry Pi
+
+1. With the Raspberry Pi powered off, insert the microSD card into the slot on the bottom of the device.
+2. Connect the power supply to the Raspberry Pi. If your power supply has a switch, turn it on.
+ - A red LED will light up, indicating that the Raspberry Pi has power.
+3. Connect the Raspberry Pi to an Android device using [Treehouses Remote](https://play.google.com/store/apps/details?id=io.treehouses.remote) (recommended), or use an Ethernet cable to connect it to a router or switch.
+ - These methods will be covered in detail in the following sections.
---
+
#### Next Section: [Using Treehouses Remote](treehouses-remote.md)
diff --git a/pages/vi/sshpi.md b/pages/vi/sshpi.md
index 16b0b16ca..dca24d0ab 100644
--- a/pages/vi/sshpi.md
+++ b/pages/vi/sshpi.md
@@ -1,120 +1,92 @@
-# SSH Tutorial
+# SSH & Tor Tutorial
## Objectives
-* Set up your SSH key
-* Log into your Pi with Root
-* Set up Tor
+- Set up your SSH key
+- Log into your Pi as `pi` and `root` user
+- Set up Tor
+## SSH Key
-### Create your SSH key
+1. Follow the guide at [Checking for existing SSH keys - GitHub Docs](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys#checking-for-existing-ssh-keys) to ensure you have an existing SSH key on your work machine (not the Raspberry Pi).
+ - If you don't have an existing SSH key, follow the instructions at [Generate a new SSH key and add it to the ssh-agent - GitHub Docs](https://help.github.com/en/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent). Make sure the new key is protected by a passphrase.
+ - **Note**: Do not confuse the SSH private key, SSH public key, and key fingerprint. SSH keys are stored in the `~/.ssh` directory, where you'll find private keys like `id_dsa`, `id_rsa`, or `id_ed25519` and their corresponding `.pub` public key files. The fingerprint is a cryptographic hash of the public key used for verification.
+2. Visit `https://github.com/.keys` in your browser to check if your SSH public key(s) are listed. If not, follow the guide at [Adding a new SSH key to your GitHub account](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account).
-Follow these steps to create your SSH key:
-- [Generate a new SSH key and add it to the ssh-agent](https://help.github.com/en/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)
-- [Add the SSH key to your GitHub account](https://help.github.com/en/articles/adding-a-new-ssh-key-to-your-github-account)
+## Log In as the Pi User
-**NOTE**: With `cat ~/.ssh/id_rsa*` you can check your SSH key pair. Both parts (private and public) of your recently created SSH key should show up. Please be sure that your (private) key is protected by a passphrase and has been created on your computer; **not** on the Raspberry Pi.
+1. Ensure your Raspberry Pi is powered on and that you have its [local IP address](find-pi.md) from the previous step.
+2. In your Terminal or Git Bash, run:
+ `ssh pi@`
+3. When connecting for the first time, you will be prompted to accept the RSA key fingerprint. Type `yes` to continue.
+ - **Note**: After flashing a new Raspberry Pi image, you may need to update your `known_hosts` file for SSH to connect successfully. For troubleshooting and instructions on removing outdated host keys, refer to [FAQ #TQ2](faq.md#TQ2:_What_should_I_do_if_I_encounter_Host_key_verification_failed?).
+4. The default password for the `pi` user is `raspberry`. Once logged in, run `passwd` to set a stronger password.
-A trick to whether github is configured correctly is to navigate to `https://github.com/.keys` in a browser - your public SSH key should show up there.
+### Add SSH Key to Raspberry Pi
-**NOTE**: Be sure not to confuse the public SSH key and the key fingerprint. The fingerprint of a key is unique and used to identify the key.
+The treehouses image includes the [treehouses/cli](https://github.com/treehouses/cli) tool, which offers several methods for adding your public key to the `root` user's `authorized_keys` file. Use one of the following commands:
-SSH keys are stored in a `~/.ssh` directory. You will need to find a set of files looking like `id_dsa` or `id_rsa` (your private key or key fingerprint) and a complimentary `.pub` file (your public key).
-This is the key fingerprint format: `SHA256:PqNGgIJfgjnoq9JMd2czLPAevkAzr4OIKb22GxMZg1M dogi@ole.org`.
-However, the public keys are similar to this:
-```
-$ cat ~/.ssh/id_rsa.pub
-ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArMkyotKz1J5+Kux3ToBNe+X3Qm+6WzTXflEEeOWdmxDZ5f5le7Ujes81ybRnavWSNR2TGr1evigE7vGsxHm2aEeR0YICWR24lPcJ2FUROmEdwn2OjDzh1YcKJDNvlMzXt1x0dNeEkSisHpk6p5RJ7OfCtyD/OjKhGyajbxS/n3RDSMgND46M7AiiaaIzlut3D09Gyhd93t16NTyR9Ej1RRRk8z9of3qLwhC1AqVJpSkuWn9+q111AfljsVZCHHDLw0+j7NIntk5x+yzrl2QQECNEaPpm1Pt4gmLG2nnrNjPAtrjWIfyWfhdSbgk/QscAE2XpCYoSFBW9d8bdIVMfSw== dogi@ole.org
-```
-
-### Log in with the Pi user
-
-Once you start up your Raspberry Pi and find its **local IP address**, you can connect to it from your computer using your Terminal. Windows users should use Git Bash.
-
-Run the following:
-`ssh pi@[local IP address]`
-
-When you connect through SSH for the first time, you will be prompted to accept the RSA key fingerprint, type “yes” to continue. The Pi user's default password is "raspberry". You should see something like this:
-```bash
-$ ssh pi@192.168.0.101
-The authenticity of host '192.168.0.101 (192.168.0.101)' can't be established.
-ECDSA key fingerprint is SHA256:BzmwLK14V/EVa0m/0/SYFtGM/60zm7mFe5vVCWAxqe4.
-Are you sure you want to continue connecting (yes/no)? yes
-Warning: Permanently added '192.168.0.101' (ECDSA) to the list of known hosts.
-Enter passphrase for key '/Users/username/.ssh/id_rsa':
-Linux treehouses 4.19.58-v7+ #1245 SMP Fri Jul 12 17:25:51 BST 2019 armv7l
-
-The programs included with the Debian GNU/Linux system are free software;
-the exact distribution terms for each program are described in the
-individual files in /usr/share/doc/*/copyright.
-
-Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
-permitted by applicable law.
-Last login: Thu Aug 15 03:24:59 2019 from 192.168.0.100
+- If your Raspberry Pi is connected to the internet, run:
+ `sudo treehouses sshkey github adduser `
+ This will add the public keys associated with your GitHub account.
-SSH is enabled and the default password for the 'pi' user has not been changed.
-This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.
+- If your Raspberry Pi is not connected to the internet, run:
+ `sudo treehouses sshkey add `
+ Replace `` with the content of your public key file.
-pi@treehouses:~ $
-```
-**NOTE**: Every time you use a new image on your RPI, the `known_hosts` file must be updated for ssh to connect without an error. Instructions can be found on the [FAQ](https://treehouses.io/#!pages/vi/faq.md) page.
+### Log In as the Root User
-### Add SSH key to the Raspberry Pi
+With your public key added in the previous step, you can log in to your Raspberry Pi as the `root` user without a password by running the following command:
+`ssh root@[RPi local IP address]`
-To add your SSH key to your Raspberry Pi you first need to copy your public key. Since you copied this same key to github already, you can see it by navigating with your browser to `https://github.com/.keys` or by running Linux/macOS from command line you can run `wget -O- -q https://github.com/.keys`.
+### Rename Pi by GitHub Name
-Now you can add the public key to run: `sudo treehouses sshkey add "your SSH key"` (copy-paste your SSH key in between the quotes) or just `sudo treehouses sshkey github adduser `.
+To rename your Raspberry Pi, run `treehouses rename ` and replace `` with your Github username.
-In the future on SSH login it will ask you for your sshkey passphrase whereas before it, used the default password for pi user "raspberry".
+## Tor
-**NOTE**: The above step must be done in order to log in as `root` user during SSH session. Not doing so may leave vulnerabilities and security issues open for your Raspberry Pi.
+Tor is a global volunteer-run computer network. Volunteers operate relays—computers running software that allows users to connect to the internet via the Tor network.
-### Log in by Root
+Before accessing the open internet, the Tor Browser connects through several relays, anonymizing your connection at each step. This process makes it difficult to determine your location or identity.
-To log into root, you can run `sudo -s` while logged into the Pi user, or with the keys over SSH directly into it by running `ssh root@[local IP address]` instead of `ssh pi@[local IP address]`.
+The Systems Team uses this tool to add an extra layer of security when interacting with Raspberry Pis deployed in the field.
-### Rename Pi by Github Name
+Start by watching this [video](https://www.youtube.com/watch?v=6czcc1gZ7Ak) about the Tor browser.
-To rename your Raspberry Pi, run `treehouses rename "username"` and replace `username` with your Github username.
+### Get Tor Browser
-## Tor
-Tor is a computer network run by volunteers worldwide. Each volunteer runs what is called a relay, which is just a computer that runs software allowing users to connect to the Internet via the Tor network.
+[Download Tor Browser](https://www.torproject.org/download/) or run `brew install --cask tor-browser` if you are on macOS.
-Before hitting the open Internet, the Tor Browser will connect to several different relays, wiping its tracks each step of the way, making it difficult to figure out where, and who, you really are.
+### Turn on Tor
-The Systems Team utilizes this tool to provide a further layer of security when interacting with the Raspberry Pis deployed in the field.
+[treehouses/cli](https://github.com/treehouses/cli) comes with some useful tor utilities, to learn more about all treehouses/cli commands, run `treehouses help tor`.
-Please start by watching this [video](https://www.youtube.com/watch?v=6czcc1gZ7Ak) about the Tor browser.
+SSH into your Raspberry Pi as the `root` user,
-### Get Tor
+
-#### macOS
+
-You should already have [Homebrew](https://brew.sh) installed. You can check if it's already installed by running `brew -v` in your terminal. If you haven't yet installed it, run the following:
-```
-/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
-brew install wget cask
-```
+```bash
+# add ports to expose to tor service
+treehouses tor add 22
+treehouses tor add 80
-Then, install Tor and Tor Browser:
-```
-brew install tor
-brew cask install tor-browser
+# show tor address
+treehouses tor
```
-#### Windows & Linux
+Copy and paste your tor address into your Tor Browser, to make sure it works; you should see a configuration page for Planet Learning, one of our other services.
-Install [Tor](https://www.torproject.org/download/)
+## Keep Us in the Loop
+Please copy and paste the content of your successful SSH connection from Terminal or Git Bash to our Discord server's [#seednest channel](https://discord.com/channels/1079980988421132369/1081433296333963274) and let us know how the Tor setup went.
-### Turn on Tor
-
-To activate Tor, SSH into your Raspberry Pi with `root`, and run `treehouses tor add 22`, `treehouses tor add 80`, and `treehouses tor notice on`. To view the Tor address of your Pi, run `treehouses tor`, then copy-paste this address into your Tor Browser, to make sure it works; you should see a configuration page for Planet Learning, one of our other services.
-
----
-#### At the end of this section, post the code of your successful SSH terminal to the [Gitter chat](https://gitter.im/treehouses/Lobby)
+It should look something like this:
-It may look like this:
```
ssh root@192.168.0.101
The authenticity of host '192.168.0.101 (192.168.0.101)' can't be established.
@@ -134,7 +106,4 @@ root@treehouses:~#
---
-You can find instructions on Code and Syntax Highlighting [here](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#code-and-syntax-highlighting)
-
----
-#### Return to [First Steps](firststeps.md#Step_2_-_Use_SSH_and_Tor_to_remotely_control_your_Raspberry_Pi)
+#### Return to [First Steps](firststeps.md#Step_2_-_Remotely_Connect_to_Your_Raspberry_Pi_Using_SSH_and_Tor)
diff --git a/pages/vi/treehouses-remote.md b/pages/vi/treehouses-remote.md
index 50e70585c..77c83ba9a 100644
--- a/pages/vi/treehouses-remote.md
+++ b/pages/vi/treehouses-remote.md
@@ -1,57 +1,48 @@
-# Using treehouses remote
+# Using the Treehouses Remote App
## Objectives
-* Download treehouses remote
-* Connect to treehouses via Bluetooth
+- Download Treehouses Remote
+- Connect to the Treehouses custom OS on Raspberry Pi via Bluetooth
## Installation
-On an Android device, find the [treehouses remote](https://play.google.com/store/apps/details?id=io.treehouses.remote) app on the Google Play Store download it.
-
+On your Android device, find and download the [treehouses remote](https://play.google.com/store/apps/details?id=io.treehouses.remote) app from the Google Play Store.
-The app may ask for your device location, feel free to decline.
+
-## Use treehouses remote to connect to Raspberry Pi via Bluetooth
+## Connecting to the Raspberry Pi via Bluetooth and Interact with it in Terminal
-1. After downloading the app go to your Android device's Bluetooth pairing screen
-2. Scan and pair with the Pi device (look for `treehouses`)
-3. Open the `treehouses remote` app
-4. Click on "Connect to RPI"
-5. Select your Raspberry Pi (`treehouses-<4-digit-number>`) ie `treehouses-8930`
+1. Open the Bluetooth settings on your Android device.
+2. Scan and pair with the Raspberry Pi (look for `treehouses-xxxx`). If you run into issues, check out [FAQ TQ3](http://localhost:8000/#!pages/vi/faq.md#TQ3:_What_should_I_do_if_I_encounter_issues_pairing_with_my_Raspberry_Pi_via_Bluetooth?).
+3. Open the **treehouses remote** app.
+ - The app may request access to your device's location. You can decline this permission, but consider granting it to have your approximate location appear in the Community Map feature of the app.
+4. Tap **"Connect to RPI"** and select your Raspberry Pi (look for `treehouses-<4-digit-number>`, e.g., `treehouses-8930`).
+5. **🎉 Congrats, you have just connected your Raspberry Pi!** tap the menu button on the top left to view the features for interacting with your Raspberry Pi.
+ - Go to **Terminal**: This section of the app allows you to use the command line interface (CLI) to interact with the Raspberry Pi.
+6. In the Terminal window, type `treehouses detectrpi` and tap **Send**.
+ - Alternatively, select **Commands** at the top to use the pre-defined commands.
+7. Type `treehouses default network` to return the network back to the original configuration, then reboot the system with the command `reboot`. Return to the home screen and reconnect to your Pi after about a minute.
+8. Back in the terminal, type `treehouses bridge treehouses [your-home-wifi-pwd]` to create an open hotspot named `treehouses`, bridged from your home Wi-Fi network.
+ - If your home Wi-Fi network has no password, leave `[your-home-wifi-pwd]` empty or use `""`.
+ - To set a password for the hotspot, append your desired password to the end of the original command.
+ - To further understand the parameters for `treehouses bridge`, type `treehouses help bridge`.
-6. Once you have connected to your Raspberry Pi, tap the menu button on the top left of your screen to view a whole host of options to interact with your Raspberry Pi.
-7. Go to Terminal
- * Just like a computer terminal, the Treehouses Remote app allows you to interact with your Raspberry Pi using CLI (command line interface)
-8. In the Terminal window type `treehouses detectrpi` and "send" it
- * You can also access this command without writing: tap the `Commands` button at the top right of your screen to display a set of pre-entered commands you can use.
-
-9. Now type `treehouses default network`
- * Here we are preparing to get internet access
-10. Reboot the system by entering the command `reboot` and go back to the home screen to re-connect to your Pi
-11. Back in the terminal type `treehouses bridge "wifiname" treehouses "wifipassword"`, and replace `wifiname` with the name of your wifi network, and `wifipassword` with the password.
+ 
- **Output of steps 8, 9, 10, and 11**:
+9. Reboot the system again.
+10. Lastly, navigate to Settings by clicking the top right icon and scroll down to enable the **Share Data** option as shown below:
- 
+ 
- **NOTE:** If you want to add a password to the treehouses hotspot, enter the command exactly as above being sure to add a custom hotspot password after your wifi password.
+**Tip:** The Raspberry Pi typically finishes rebooting in less than a minute, though the time may vary depending on factors such as the read/write speed of the microSD card and the specific Treehouses image being loaded.
-12. Reboot once again
+**Tip:** You can observe the Raspberry Pi reboot by watching the steady red LED (labeled "PWR" on the circuit board). During a reboot, the red light briefly turns off and then comes back on. Immediately after booting, the green LED (labeled "ACT") will flash rapidly as the microSD card reads the initialization steps. Once the image has fully loaded, the green LED will blink at a slower, steady rate.
-#### Congrats, you have just connected your Raspberry Pi!
+**Tip:** You will need to unpair and re-pair the Raspberry Pi in your phone's Bluetooth settings each time you insert a newly flashed image onto the device.
-**NOTE:** The Raspberry Pi may reboot in less than a minute, but time may vary by factors such as read/write speed of the microSD card and the particular Treehouses image being loaded.
-
-**NOTE:** You can observe the Rapsberry Pi reboot by watching the steady red LED (labeled "PWR" in small letters on the circuit board). During a reboot, the red light should briefly wink out, then come back on. Right after rebooting, the green LED (labeled "ACT" in small letters on the circuit board) will rapidly flash as the microSD card reads the initialization steps. Once the image has fully loaded, the green LED will then begin to blink at a less rapid rate.
-
-**NOTE:** You will need to unpair, re-pair, and restart your phone every time you use a new image version.
-
-Lastly, navigate to Settings by clicking the top right icon and scroll down to enable the `Share Data` option as shown below:
-
-
-
-**NOTE:** If you are experiencing frequent Bluetooth disconnects, restart your Android device and try again.
+**Tip:** If you are experiencing frequent Bluetooth disconnects, restart your Android device and try again.
---
+
#### Next Section: [Finding your Pi](find-pi.md)
diff --git a/pages/vi/vagranttutorial.md b/pages/vi/vagranttutorial.md
index 2dec329aa..3e9da8061 100644
--- a/pages/vi/vagranttutorial.md
+++ b/pages/vi/vagranttutorial.md
@@ -154,7 +154,7 @@ or not commonly used. To see all subcommands, run the command
`vagrant list-commands`.
```
-**NOTE**: At the end of this section, when you successfully installed `vagrant` and configured `cli`. Execute `vagrant global-status` command and post the code of your terminal to the [Gitter chat](https://gitter.im/treehouses/Lobby).
+**NOTE**: At the end of this section, when you successfully installed `vagrant` and configured `cli`. Execute `vagrant global-status` command and post the code of your terminal to the [Discord #seednest channel](https://discord.com/channels/1079980988421132369/1081433296333963274).
## Useful Links