Compare commits

..

6 commits

Author SHA1 Message Date
Nanda128
b8703bf5b2 slides: enhance content layout and improve visual alignment 2025-09-23 00:27:01 +01:00
Prabuddha Hans
66b821ed13 WIP: Fixing up slides 2
Fixed up the empty headers, still need to find a decent way to do images.
2025-09-22 23:49:15 +01:00
Prabuddha Hans
c1772650cb WIP: Fixing up slides 1
Need to figure out how to do the images in a good way.
2025-09-22 22:54:54 +01:00
Nanda128
a32b3f58b3 slides: update sub-title and improve content for clarity 2025-09-22 17:09:48 +01:00
Prabuddha Hans
d53435b390 WIP: git slides WIP 2025-09-22 13:35:15 +01:00
Prabuddha Hans
951f34afdb Feat: Created slides for git 2025-09-22 12:45:03 +01:00
20 changed files with 305 additions and 166 deletions

View file

@ -0,0 +1,244 @@
---
title: "Intro to git"
sub_title: "git push -f origin main"
author: "Prabuddha Hans"
date: "2025-09-22"
theme:
name: catppuccin-latte
---
Git
=================================
<!-- incremental_lists: true -->
* Git is tool that's used in the programming industry.
* Another name for Git is a Version Control System (VCS) tool.
* Specifically to track project work done, and the changes to files we've made.
* The more correct term is Source Control.
* It is NOT a programming language.
* Git is a tool made for (usually) us programmers to track the work we've done.
<!-- end_slide -->
Sold Separately
=================================
<!-- alignment: center -->
Programmer socks (not) included.
![image:width:100%](intro_to_git/compsocks.png)
<!-- end_slide -->
Why Git
=================================
<!-- alignment: center -->
<!-- incremental_lists: true -->
* Now we need to ask WHY.
* Why would we need a tool like this?
* Why not use Google Drive instead?
* I will find your IP address.
* In all honesty,
* It's to help keep track of who did what.
* And to work on unique features...
* without affecting the main area/branch of our work.
* When DO we use git?
* Because Git keeps track of the changes we've made to files,
* We can then use it to commit and stage these files,
* and push them to a place where we can store them.
<!-- end_slide -->
Code Storage
=================================
<!-- alignment: center -->
<!-- incremental_lists: true -->
* This place is called a Repository.
* Repositories are hosted on websites like GitLab, GitHub and Forgejo.
* But, an interesting feature of git, is that it allows you to time-travel.
* Meaning that if a project breaks, you can go back to before it broke.
* Now I hear you nerds in the audience asking...
* Why not use SVN?
* The answer is simple.
<!-- end_slide -->
No.
=================================
<!-- alignment: center -->
![image:width:100%](intro_to_git/NAH.jpg)
<!-- end_slide -->
WHY don't we use SVN
=================================
<!-- alignment: center -->
<!-- incremental_lists: true -->
* An actual answer is that Git is Distributed, and SVN in centralized.
* Simply put, devs can store their changes locally on their machines.
* Whereas on SVN they're stored on a central system.
* With a central system you NEED to be connected at all times to work on it.
* You can work locally on git without having to be connected,
* and then push once you're reconnected.
* Back to git.
* Let's start with the basics.
<!-- end_slide -->
Live demonstration time
=================================
<!-- font_size: 5 -->
<!-- alignment: center -->
* Please get your laptops out
<!-- end_slide -->
How to download Git & Git LFS
=================================
<!-- alignment: center -->
## Download
<<https://git-scm.com/downloads>>
<!-- end_slide -->
<!-- alignment: center -->
![image:width:100%](intro_to_git/git_download_button.png)
<!-- end_slide -->
<!-- alignment: center -->
![image:width:100%](intro_to_git/git_installer.png)
<!-- end_slide -->
<!-- alignment: center -->
![image:width:100%](intro_to_git/git_installer_notepad_as_default_editor.png)
<!-- end_slide -->
<!-- alignment: center -->
![image:width:100%](intro_to_git/git_installer_rename_master_to_main.png)
<!-- end_slide -->
<!-- alignment: center -->
![image:width:100%](intro_to_git/git_installer_checkout_unix.png)
<!-- end_slide -->
<!-- alignment: center -->
![image:width:100%](intro_to_git/git_installer_default_rebase_pull.png)
<!-- end_slide -->
<!-- alignment: center -->
<https://forgejo.skynet.ie/Skynet/deploy_user>
<!-- end_slide -->
Don't do these types of commit messages
=================================
<!-- alignment: center -->
![image:width:100%](intro_to_git/bad_message.png)
<!-- end_slide -->
<!-- alignment: center -->
![image:width:100%](intro_to_git/forgejo_template_button.png)
<!-- end_slide -->
![image:width:100%](intro_to_git/forgejo_template_repo_creation.png)
<!-- end_slide -->
<!-- alignment: center -->
![image:width:100%](intro_to_git/forgejo_repo_link.png)
<!-- end_slide -->
<!-- alignment: center -->
LFS Install
=================================
<!-- alignment: center -->
<https://git-lfs.com/>
Same deal as before, just download and install.
It'll ask to be ran as Administrator, say yes.
<!-- end_slide -->
Setup SSH key (see Readme.md)
=================================
<!-- alignment: center -->
![image:width:100%](intro_to_git/forgejo_repo_settings.png)
<!-- end_slide -->
<!-- alignment: center -->
![image:width:100%](intro_to_git/forgejo_secrets_location.png)
<!-- end_slide -->
<!-- alignment: center -->
![image:width:100%](intro_to_git/forgejo_add_secret.png)
<!-- end_slide -->
<!-- alignment: center -->
![image:width:100%](intro_to_git/forgejo_ssh_key_example.png)
<!-- end_slide -->
<!-- alignment: center -->
```bash
git init
git remote add origin <repo_url>
git pull origin <branch_name>
git add <file_name>
git commit -m "<commit_message>"
git push origin <branch_name>
```
<!-- end_slide -->
<!-- alignment: center -->
``https://<username>.users.skynet.ie/``
<!-- end_slide -->
TroubleShooting
=================================
<!-- end_slide -->
If you see this:
=================================
<!-- alignment: center -->
![image:width:100%](intro_to_git/permission_denied_publickey.jpg)
> Credit: Geeks for Geeks
<!-- end_slide -->
Go here
=================================
<!-- alignment: center -->
<https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent>
<!-- end_slide -->

BIN
slides/compsoc/2025-2025/intro_to_git/NAH.jpg (Stored with Git LFS) Normal file

Binary file not shown.

BIN
slides/compsoc/2025-2025/intro_to_git/bad_message.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
slides/compsoc/2025-2025/intro_to_git/compsocks.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
slides/compsoc/2025-2025/intro_to_git/forgejo_add_secret.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
slides/compsoc/2025-2025/intro_to_git/forgejo_repo_link.png (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
slides/compsoc/2025-2025/intro_to_git/git_installer.png (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -29,35 +29,22 @@ https://forgejo.skynet.ie/Skynet/discord-bot/src/branch/main/doc/Committee.md
<!-- column_layout: [1, 2, 1] --> <!-- column_layout: [1, 2, 1] -->
<!-- column: 1 --> <!-- column: 1 -->
# Committee Discord Server # Computer Society
## Committee Discord server
<!-- reset_layout --> <!-- reset_layout -->
<!-- alignment: center --> <!-- alignment: center -->
* For all Clubs/Societies Committees to join. * Augments teh Chairperson Whatsapp
* All Committee, not ***just*** Chairperson/President. * More than ***just*** Chairperson/President
* Verifies that you are on at least one committee. * Created with blessing of C&S
* Each Club/Society has their own ``Channel`` & mentionable ``Role``. * For all Clubs/Socs Committees to join.
* Only Committee though
* Need to authenticate using ``/wolves link``
* Does not rollover each year
https://discord.gg/D6mbASJKxU
<!-- column_layout: [1, 1] -->
<!-- column: 0 -->
## Join Server
https://committee.discord.skynet.ie
![](./misc/committee-discord.png) ![](./misc/committee-discord.png)
<!-- column: 1 -->
## Link Discord & Wolves (short ver)
<!-- alignment: left -->
Ensure you are actually listed as a committee member on Wolves.
Use ``/wolves link`` with the email you use for Wolves.
An email will be sent to you, paste in the response back to the bot.
``/wolves verify code: aaaaaaaaaaa``
You should get roles for whatever committees you are a part of.
This will grant you full access to the server.
If you have any issues Computer Society is on hand to help.
<!-- end_slide --> <!-- end_slide -->

View file

@ -1,143 +0,0 @@
---
title: "Skynet"
sub_title: "Setup Skynet accounts"
author: "Brendan Golden"
date: "2023-09-23"
theme:
name: catppuccin-latte
---
Skynet: Setup
=================================
<!-- column_layout: [1, 6, 1] -->
<!-- column: 1 -->
<!-- incremental_lists: true -->
* We are going to divide it into two segments
* ``New Members``
* ``Returning Members``
* First up is ``New Members``
<!-- end_slide -->
Setup: New Members
=================================
<!-- column_layout: [1, 6, 1] -->
<!-- column: 1 -->
<!-- incremental_lists: true -->
1. Be a fully paid up member of UL Computer Society
2. Go to https://account.skynet.ie/signup.
* Enter the same email used for UL Wolves
3. You will get an email to verify your address, follow the link.
4. Choose a ``username`` and ``password``.
5. Congrats! You are in! _heist music_
<!-- end_slide -->
Setup: Returning Members
=================================
<!-- column_layout: [1, 6, 1] -->
<!-- column: 1 -->
# Set Email
<!-- incremental_lists: true -->
1. Please go to https://account.skynet.ie/modify.
* Enter the same email used for UL Wolves
2. Congrats! You are in! _heist music_
# Recovery
## Forgotten Username
If you have forgotten your ``username``.
Use https://account.skynet.ie/recover/username
## Forgotten Password
If you have forgotten your ``password``.
Use https://account.skynet.ie/recover/password
<!-- end_slide -->
Setup: SSH Key
=================================
<!-- column_layout: [1, 6, 1] -->
<!-- column: 1 -->
SSH keys are used for a variety of reasons:
<!-- incremental_lists: true -->
* Logging into servers
* Authentication
* CI/CD Pipelines
<!-- end_slide -->
Setup: SSH Key - Creation
=================================
<!-- column_layout: [1, 6, 1] -->
<!-- column: 1 -->
# Prepwork
```bash
cd ~/.ssh
mkdir skynet
cd skynet
```
# Creation
```bash
ssh-keygen -t ed25519 -C "<comment>"
```
* Location: ``$USERNAME``
* ``$USERNAME`` is your Skynet username.
* For example ``silver`` for me
* Password: Press Enter twice
* This sets no password on the file
This creates ``$USERNAME.pub`` which we will use later.
<!-- end_slide -->
Setup: SSH Key - Config
=================================
<!-- column_layout: [1, 6, 1] -->
<!-- column: 1 -->
Now we have to create a config file for ssh.
# Windows
```powershell
cd ../
"" > config
```
# Linux
```bash
cd ../
touch config
```
In that ``config`` file pop this:
```
Host *.skynet.ie
User $USERNAME
IdentityFile ~/.ssh/skynet/$USERNAME
IdentitiesOnly yes
```
<!-- end_slide -->
Setup: SSH Key - Account
=================================
<!-- column_layout: [1, 6, 1] -->
<!-- column: 1 -->
<!-- incremental_lists: true -->
* Now we need to add it to your account.
* Remember the ``$USERNAME.pub`` in ``~/.ssh/skynet`` ?
* We now need to read it
```bash
cat ~/.ssh/skynet/$USERNAME.pub
```
<!-- incremental_lists: true -->
* Copy the text and go to https://account.skynet.ie/modify
* Select the SSH Key field and submit.
Congratulations, you now have full access to all of Skynet's services!
Now to learn _how_ to access them!