From 64c7b24ff78637d9179d04f73189e76ad5d71beb Mon Sep 17 00:00:00 2001 From: Brendan Golden Date: Sat, 14 Oct 2023 17:20:33 +0100 Subject: [PATCH] slides: fixed sizing --- src/postmortem/2023-09-27_Signup-failures.md | 4 +- src/slides/example/Example.md | 14 +- src/slides/skynet/0_Intro.md | 46 ++--- src/slides/skynet/1_setup.md | 195 ++++++++++--------- src/slides/skynet/2_topics.md | 4 +- src/slides/skynet/3_nix.md | 79 ++++---- 6 files changed, 175 insertions(+), 167 deletions(-) diff --git a/src/postmortem/2023-09-27_Signup-failures.md b/src/postmortem/2023-09-27_Signup-failures.md index 04d678a..8ead7db 100644 --- a/src/postmortem/2023-09-27_Signup-failures.md +++ b/src/postmortem/2023-09-27_Signup-failures.md @@ -1,9 +1,9 @@ -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ title = '2023-09-27 Signup Failures Postmortem' date = 2023-09-28 -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # 2023-09-27 Signup Failures Postmortem diff --git a/src/slides/example/Example.md b/src/slides/example/Example.md index cc1ca34..2ef12c5 100644 --- a/src/slides/example/Example.md +++ b/src/slides/example/Example.md @@ -1,37 +1,37 @@ -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ title = "Title" date = 2023-08-07 slides = true -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ### Title Subtitle ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Slide 1 ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Slide 2 ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Image 1 ![image][1] ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Image 2 ----------------------------------------------------------------------------- +------------------------------------------------------------------------- [1]: CompSoc_Logo_PNG.png \ No newline at end of file diff --git a/src/slides/skynet/0_Intro.md b/src/slides/skynet/0_Intro.md index eba5975..4907d88 100644 --- a/src/slides/skynet/0_Intro.md +++ b/src/slides/skynet/0_Intro.md @@ -1,89 +1,89 @@ -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ title = "Skynet: Intro" date = 2023-09-23 slides = true -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Skynet: Introduction ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Skynet is the UL Computer Society's computer cluster. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Has a long history: <>. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Older than the Society. (1992 vs 1994) ----------------------------------------------------------------------------- +------------------------------------------------------------------------- But alas good things always come to an end. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Due to //A Series of Unfortunate Events// we lost internet in Jan 2023 ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Turns out Wordpress got Wordpress'd and we had a //smol// spam problem. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- ITD also wanted us to have all servers patched and up to date. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- # Skynet 3.0 ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Gave us a chance to do a full rebuild. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Servers were delved Indiana Jones style. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- ![Delving into Ruins](0_intro_img1.png) ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Backups were made. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Returned Summer 2023. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Powered by NixOS. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Fully open source: <> ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Skynet now can compile and update itself. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Be not Afraid ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Automation FTW! ----------------------------------------------------------------------------- +------------------------------------------------------------------------- How hosts: ----------------------------------------------------------------------------- +------------------------------------------------------------------------- * Email * Gitlab + CI/CD runners @@ -94,6 +94,6 @@ How hosts: * <> * User sites (<>) ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Always iterating, always improving. \ No newline at end of file diff --git a/src/slides/skynet/1_setup.md b/src/slides/skynet/1_setup.md index 8605fb1..8998b08 100644 --- a/src/slides/skynet/1_setup.md +++ b/src/slides/skynet/1_setup.md @@ -1,76 +1,81 @@ -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ title = "Skynet: Setup" date = 2023-09-23 slides = true -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Skynet: Setup ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Now that ye have the history time to get you Skynet accounts. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- -This is for new members, if there are any older members please wait a little while. +This is for new members. +If there are any older members please wait a little while. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- ## New Members ----------------------------------------------------------------------------- +------------------------------------------------------------------------- 1. Be a fully paid up member of UL Computer Society ----------------------------------------------------------------------------- +------------------------------------------------------------------------- -2. Go to <> and enter the same email used for UL Wolves +2. Go to <>. + 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``. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Congrats! You are in! //heist music// ----------------------------------------------------------------------------- +------------------------------------------------------------------------- ## Returning Members ----------------------------------------------------------------------------- +------------------------------------------------------------------------- -1. Please go to <> and enter the same email used for UL Wolves +1. Please go to <>. + Enter the same email used for UL Wolves ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Congrats! You are in! //heist music// ----------------------------------------------------------------------------- +------------------------------------------------------------------------- ## Returning Members ----------------------------------------------------------------------------- +------------------------------------------------------------------------- -If you have forgotten your ``username`` please use <> +If you have forgotten your ``username``. +Use <> ----------------------------------------------------------------------------- +------------------------------------------------------------------------- -If you have forgotten your ``password`` please use <> +If you have forgotten your ``password``. +Use <> ----------------------------------------------------------------------------- +------------------------------------------------------------------------- ## All Members ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Now that we are all on the same page we can now set an SSH key. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Prepwork: ```bash @@ -79,7 +84,7 @@ mkdir skynet cd skynet ``` ----------------------------------------------------------------------------- +------------------------------------------------------------------------- ```bash ssh-keygen -t ed25519 -C "" @@ -90,13 +95,13 @@ Password: Press Enter twice We will use the ``{username}.pub`` file later ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Back to the ssh folder ```bash cd ../ ``` ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Windows ```powershell @@ -109,7 +114,7 @@ Linux touch config ``` ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Into it pop this ``` @@ -120,47 +125,47 @@ Host *.skynet.ie ``` (we will also ping this on discord) ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Remember the ``{username}.pub`` in ``~/.ssh/skynet`` ? ----------------------------------------------------------------------------- +------------------------------------------------------------------------- ```bash cat ~/.ssh/skynet/{username}.pub ``` ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Copy the text and go to <> ----------------------------------------------------------------------------- +------------------------------------------------------------------------- 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! ----------------------------------------------------------------------------- +------------------------------------------------------------------------- ## Email ----------------------------------------------------------------------------- +------------------------------------------------------------------------- 1. Go to <> 2. Login with ``username@skynet.ie`` and ``password`` 3. Done ----------------------------------------------------------------------------- +------------------------------------------------------------------------- ## Email (Thunderbird) ----------------------------------------------------------------------------- +------------------------------------------------------------------------- 0. Have Thunderbird Installed 1. Add Account @@ -168,45 +173,45 @@ Now to learn //how// to access them! 3. It can take a few min. 4. Done ----------------------------------------------------------------------------- +------------------------------------------------------------------------- ## Skynet Webserver ----------------------------------------------------------------------------- +------------------------------------------------------------------------- ```bash ssh {username}@skynet.skynet.ie ``` ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Thats it, you have logged into Skynet (webserver)! ----------------------------------------------------------------------------- +------------------------------------------------------------------------- ## Skynet Website ----------------------------------------------------------------------------- +------------------------------------------------------------------------- The server you logged onto is a webserver. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- This means it can serve content on the web. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Due to aforementioned //issues// we can only serve static files (no database) ----------------------------------------------------------------------------- +------------------------------------------------------------------------- This is more than enough for most folks needs. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- -We are going to create a ``public_html`` in your own home directory with correct permissions +Create a ``public_html`` in your own home directory with correct permissions ----------------------------------------------------------------------------- +------------------------------------------------------------------------- ```bash mkdir ~/public_html @@ -215,155 +220,155 @@ chmod -R 755 ~/public_html cd ~/public_html ``` ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Now we have a folder, time to put something in it. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- ```bash nano index.html ``` ----------------------------------------------------------------------------- +------------------------------------------------------------------------- This brings up a terminal based editor, type whatever ye want here. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- To exit press ``[ctrl]``+``[x]`` to bring up save options. You cna rename the file, for now just press ``[enter]`` ----------------------------------------------------------------------------- +------------------------------------------------------------------------- -If you go to <> then teh contents will be displayed. +Go to <> to view your website. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- That was cumbersome to do right? ----------------------------------------------------------------------------- +------------------------------------------------------------------------- -Logging in only to change a file on terminal that you have never used before. +Logging in. +Only to change a file on terminal that you have never used before. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Surely there is a better way? ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Well luckily for you programmers are lazy ----------------------------------------------------------------------------- +------------------------------------------------------------------------- There are ways to transfer files from your local computer to the server. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Fow Windows you have WinSCP: <> ----------------------------------------------------------------------------- +------------------------------------------------------------------------- -If ye are using linux you can use put ``sftp://{username}@skynet.skynet.ie`` (or use filezilla) +If ye are using linux you can use put ``sftp://{username}@skynet.skynet.ie`` +(or use filezilla) ----------------------------------------------------------------------------- +------------------------------------------------------------------------- ## Gitlab ----------------------------------------------------------------------------- +------------------------------------------------------------------------- As part of your Skynet account you have access to our Gitlab Server. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- 1. Go to <> 2. Login with ``username`` and ``password`` 3. Done ----------------------------------------------------------------------------- +------------------------------------------------------------------------- ## Gitlab Website ----------------------------------------------------------------------------- +------------------------------------------------------------------------- its possible to have a website on gitlab. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Powered by source control and CI/CD pipelines (devops) ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Go to the ``Dashboard`` > ``Groups`` > ``New Group`` ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Name the group Personal or College or something like that. ----------------------------------------------------------------------------- - -If you name the group the same as your username then your username will be part of the URL. - ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Inside that Group create a ``New Project``, name it whatever ye want. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- -``Create from Template`` > Any one that starts with ``Pages`` (I recommend ``pages/html``) +``Create from Template`` > Any one that starts with ``Pages`` +(I recommend ``pages/html``) ----------------------------------------------------------------------------- +------------------------------------------------------------------------- It will appear on the screen in a moment after clicking. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Go up to Edit > Web IDE > Change something on the index.html ----------------------------------------------------------------------------- +------------------------------------------------------------------------- -``[ctrl] + [shift] + [g]`` (or click the icon on the left), enter a msg and ``commit to master``. +``[ctrl] + [shift] + [g]`` (or click the icon on the left), enter a msg +And ``commit to master``. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Your website will now be build and deployed. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Woot!!! Devops!!! ----------------------------------------------------------------------------- +------------------------------------------------------------------------- To get teh link is a tad annoying. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Go to ``Settings`` (bottom left of repo page) > Pages ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Open the link in a new tab and marvel at yer creation. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- If you go back and commit new changes they will show up as well. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- In a future session we will discuss Gitlab (and git in general) more. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Here completes the rough introduction to Skynet and creating websites. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- If ye have any questions/ideas feel free to ask. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- -If ye want to take a deeper look into server administration feel free to ask. +If ye want to take a deeper look into server admin feel free to ask. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Skynet team is always open to newcomers! diff --git a/src/slides/skynet/2_topics.md b/src/slides/skynet/2_topics.md index c786595..677766c 100644 --- a/src/slides/skynet/2_topics.md +++ b/src/slides/skynet/2_topics.md @@ -1,8 +1,8 @@ -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ title = "Skynet: Topics" date = 2023-10-08 slides = false -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Topics that will be covered by teh skynet Training diff --git a/src/slides/skynet/3_nix.md b/src/slides/skynet/3_nix.md index b3e1a22..d74b0ff 100644 --- a/src/slides/skynet/3_nix.md +++ b/src/slides/skynet/3_nix.md @@ -1,76 +1,77 @@ -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ title = "Skynet: Nix" date = 2023-10-08 slides = true -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # *nix, Nix and Nixos ----------------------------------------------------------------------------- +------------------------------------------------------------------------- ## *nix ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Skynet runs on a flavor of Linux called NixOS ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Normal linux commands apply (basic primer) ----------------------------------------------------------------------------- +------------------------------------------------------------------------- ``cd`` - change directory ----------------------------------------------------------------------------- +------------------------------------------------------------------------- ``mkdir`` - make directory ----------------------------------------------------------------------------- +------------------------------------------------------------------------- ``ls`` - list directory ----------------------------------------------------------------------------- +------------------------------------------------------------------------- ``touch {filename}`` - create file named {filename} ----------------------------------------------------------------------------- +------------------------------------------------------------------------- ``nano {filename}`` - edit {filename} ----------------------------------------------------------------------------- +------------------------------------------------------------------------- ``history`` - view history of previous commands ----------------------------------------------------------------------------- +------------------------------------------------------------------------- ``grep "{query}" {filename/path}`` - find {query} in a file ----------------------------------------------------------------------------- +------------------------------------------------------------------------- -There is also piping where the output of one command is piped into another command +There is also piping where: +The output of one command is piped into another command ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Often called [Unix philosophy][1] ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Can make really powerful programs from smaller simple programs. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- ``history | grep "nano"`` - search the history for any mention of ``nano`` ----------------------------------------------------------------------------- +------------------------------------------------------------------------- ## Nix ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Nix is a (lazy) functional language ----------------------------------------------------------------------------- +------------------------------------------------------------------------- ```nix a = 1 # int @@ -80,7 +81,7 @@ d = "42" # string e = true # boolean ``` ----------------------------------------------------------------------------- +------------------------------------------------------------------------- ```nix double = x: x*2 @@ -90,7 +91,7 @@ double 2 mul 2 3 ``` ----------------------------------------------------------------------------- +------------------------------------------------------------------------- ```nix s = { foo = "bar"; biz = "baz"; } @@ -98,63 +99,65 @@ s.foo # bar s.biz # baz ``` ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Info: 1. [Offical guide][2] 2. [Nix Pills][3] ----------------------------------------------------------------------------- +------------------------------------------------------------------------- ## NixOS ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Some crazy person saw Nix and thought "I want to make an OS with that" ----------------------------------------------------------------------------- +------------------------------------------------------------------------- In essence a giant function is created with an OS as the output ----------------------------------------------------------------------------- +------------------------------------------------------------------------- This does have quite a few advantages ----------------------------------------------------------------------------- +------------------------------------------------------------------------- * Config as Code * Deterministic * Reproducible ----------------------------------------------------------------------------- +------------------------------------------------------------------------- -Skynet 2.0 had its config spread across different servers making it hard to get a good overview +Skynet 2.0 had its config spread across different servers. +Making it hard to get a good overview ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Skynet 3.0 is fully source controlled on [gitlab.skynet.ie][4] ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Deterministic and Reproducible go hand in hand. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Deterministic means that for the same inputs you get the same output. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- -Reproducible is that you are able to create the same output from the source code. +Reproducible is that you are able to create the same output from +the source code. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- We use Flakes, which adds a lockfile, reduces hassle for the dev. ----------------------------------------------------------------------------- +------------------------------------------------------------------------- Questions? ----------------------------------------------------------------------------- +------------------------------------------------------------------------- [1]: https://en.wikipedia.org/wiki/Unix_philosophy