Giter Club home page Giter Club logo

ucu_linux_club's People

Contributors

adeon18 avatar ch1pkav avatar diana-doe avatar dmshums avatar ivddorrka avatar last-genius avatar lesi-n avatar myralllka avatar pavlik1400 avatar pavlo-hilei avatar rwmutel avatar yewhenp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

ucu_linux_club's Issues

Week 5.2. RegEx (18.10)

What are Regular expressions/re/regex. How can they be used for your benefit. How to read the jumble of characters in your code. Regex utilities in different languages + grep/regex in vim,less,etc... Homework.

Materials:
https://docs.google.com/presentation/d/1_hTEkroEXTzELjNar05rv7BKg75WsPMkad2QxE3c304/edit?usp=sharing
https://docs.google.com/presentation/d/1vD0txBSFIjGu86VvZOK88VphiO7BwbzEBbABQ-oBs1Y/edit?usp=sharing
https://docs.google.com/presentation/d/1U4E6qDZKQE2LGSB9ICoSEd8KYwKZZk3-3fcO6GL0z20/edit?usp=sharing

2023 Second semester topics

Comments/edits TBD. Preliminary list of subjects for the second semester.

Off the top of my head:

  1. Bash 2 - recap, advanced scripting, more features, plugins, zsh etc
  2. Git 2 - recap, advanced usage, childhood trauma etc
  3. Ricing/system customization? Only if someone has concrete ideas
  4. Possible roboclub crossover - microcontrollers, c?
  5. Linux audio stack, cool alsa/jack/pipewire shit
  6. Docker
  7. Rust
  8. Something something ML - @rwmutel said something at some point
  9. More system layer stuff - systemd, journal, dmesg, kernel customization - lots to talk about, need to make it concise

Week 1.1. Intro to Open-Source. (20.09)

Source/machine code. Brief history of software development. Compiled vs. interpreted. Free/FOSS/Open source software. Libre vs free. Biggest project examples. Why open source is important.

clean up homework directory

week numbers are not valid anymore, as week2, also not assigned and not implemented Homeworks should not be there...
Thank you!

Week 10. GUI, Graphics stack, Xorg. Ricing your system (22.11)

How the GUI stack in Linux and other OS's works. History of X window system. What is wayland? advantages/disadvantages. Window manager, Desktop environments, display servers. Examples. Client/server paradigm. Xwayland.

Ricing. Customizability of various setups in Linux. Popular WM's, DE's, examples of rice. Cool utilities, unixporn.
Contest for best rice.

Materials:
https://docs.google.com/presentation/d/1MsXN-L51fD9Kej3jH3Lv1RVSn-mnTTaV0228d1SpSGo/edit?usp=sharing
https://docs.google.com/presentation/d/1Fj7yrGXGtzK-V3yugFkr51Tbv9UqTzHuthBunkAVNjM/edit?usp=sharing

SSH basics

make presentation + presentation notes + create homework

Website/repo maintenance

  1. Add links to all the presentations to the corresponding week entries in the repo and website homepage:

Check that all of them have rights for viewing by link, outside of UCU domain (a surprising number of people tend to refer to this website outside UCU). Weeks 9-11 are not yet done, so they may go without links for now.

Image

Image

  1. Remove all links to the youtube channel in the repo and website, most importantly from the website footer:

Image

Week 1.2. Package managers. (20.09)

Open source vs. proprietary software. What is a package manager. Why is it better/safer than installing software from the browser. What is a linux distribution (schematic). What is a package. Release systems (LTS, Rolling...). Source distribution vs binary distribution. examples of distros/package managers. Usage of apt, pacman, yay. User repositories.

Materials:
https://docs.google.com/presentation/d/1Ik5Gro4-bVCFTZ1vW_fCt179xBkYCuxATt61pSw0tT4/edit?usp=sharing
https://docs.google.com/presentation/d/1wAjVY7PPD_xLotZR3KroVSCs2dO0LDXlR2ZSAh1iwqo/edit?usp=sharing
https://docs.google.com/presentation/d/1qwFKO-5QejHAhvnwJ49bIjnFEBdklanYlzUCDPNudeM/edit?usp=sharing

Week 2 (14.02) - Bash continuation

Historically this was mostly about scripting, but creative additions about plugins/different shells/useful cmd tools not mentioned before are welcome.

2021 Notes:
https://docs.google.com/document/d/1fWvb9KkpEvCrX_g8Z8IQURdV5B1BYs1jXfq5Alx3dto/edit?usp=sharing
2021 Presentation (OK to use as a starting point, kind of bare-bones):
https://docs.google.com/presentation/d/1ICZW7H61hENgdMF8EI18G_lstfT3djcCH4xH06TFEEE/edit?usp=sharing

Some stuff I use that I would probably mention:

  • zoxide: https://github.com/ajeetdsouza/zoxide
  • zsh git plugin - shortens commands, very useful imho
  • where, which, short recap on pipes | > 2> < and subshells $()
  • tee, sed, find, fzf, stat
  • btop (nicest system monitor I know), cool-retro-term (just looks cool I guess:))
  • aliases (Forgot to mention in bash 1) :=)
  • Anything else you see fit, the point is to showcase useful advanced bash features

Week 8. SSH (08.11)

SSH protocol. History and alternatives. Basics of packet structure. Public key cryptography. Handshakes. Challenge-response authenication. SSH password authentication vs ssh keys. file transfer via ssh/scp/sftp/sshfs. ssh vs http for git. ssh in ides. connecting to remote servers via ssh. examples throughout.

Materials:
https://docs.google.com/presentation/d/1-hMf2ysZEmitdo7xI2euaa2Z3XJukCnOnjobgZXEBWA/edit?usp=sharing
https://docs.google.com/document/d/1lbtGYQcWnJ5_-_8NGcz59d5cGUkjzPN6YVI90NNsMqg/edit?usp=sharing

RegExps

make presentation + presentation notes + create homework

Linux club feedback form

Create a form for 2023 1st sem alumni to get feedback for the course.
Possible fields:

  1. Overall impression of the course (1-5?)
  2. Attendance (for how many lectures were you present, etc..)
  3. Most/least favorite subject
  4. Suggestions for next semester
  5. Suggestions for improvements, threats etc

change site main domain

move site from https://last-genius.github.io/UCU_Linux_Club/ to something like https://ucu-cs.github.io/UCU_Linux_Club/

Week 6. Partitions and bootloaders. (25.10)

How is the storage divided in your computer. Story of BIOS/POST/UEFI/MBR/GPT(not chat). Utilities for partitioning the disk. Why is it needed. Typical partition structure in a linux system/windows system/dual-boot.
Bootloaders: What are they needed for. List of popular bootloaders.

Materials:
https://docs.google.com/presentation/d/1-D3viLv_zNrZNJgNP_zF_ZgfaktJmIosg07o-WiAM1k/edit?usp=sharing
https://docs.google.com/presentation/d/1FrdrwApi7BAHvTzQX49ZR3gTIfkYogYyad7aUeX_NwA/edit?usp=sharing
https://docs.google.com/presentation/d/1FNLDGQ6NWi-1WSFCYNcWUkoFc5-IFIlgQEIYc8AouyE/edit?usp=sharing (best one)

Week 3. Git/Github workshop (04.10)

What is git. What is github. Why is it important. History. Why is it used unanimously. Common patterns of usage. Interactive work with the audience. Test task using git. CLI vs GUI.

Week 0. Intro (13.09)

Introduction. Motivation for why Linux Club, who we are, what we do, why you should be interested. Announcement for regular schedule and workshops.

Week 7. Filesystems (01.11)

Differrent abstractions of storage organization. Raw HDD/SSD interface -> Endless string of bytes -> partitions -> filesystems. Differrent filesystems implementations. Inodes. Popular filesystem formats and features. Tools for working with filesystems (mkfs, resize2fs, fsck, etc..) Filesystems in the context of a modern OS.

Materials:
https://docs.google.com/presentation/d/1nFq_O8zb-vmfx8jfqMt_p4IAEGAHi7lNdgvPRLcqN6M/edit?usp=sharing
https://docs.google.com/presentation/d/1EyS3DytXb4My-BLqjMZkYwpZ4MXTcTcnyam3LIrhIa8/edit?usp=sharing

Week 3 (21.02) - Git continuation

Git and Github 2 - originally about git/github features - Projects, organizations, tags/releases, issues, Github Actions (CI/CD) etc. Some more insight on the inner workings of git - commit hashes, merge conflicts, cherry-picking, rebase. Before all this it would be good to start with a small recap of the very basics, maybe in quiz form, as you see fit. Just to make sure everyone is on the same page and knows at least git add, git commit, git push. Also would be good to mention some small useful things, such as .gitignore, integration of Git and your favorite IDE (I really like Jetbrains' wrapper for working with git), etc.

2021 Lecture presentation and notes:
https://docs.google.com/presentation/d/1nOKcDmg70lxg7LNffpw2v_yZnnUvoZc9ydC6jmzKBRU/edit?usp=sharing
https://docs.google.com/document/d/1SnGMw2QpYntnA0EovtS3n-TMrxQj3LpgD-XnzHbDTaU/edit?usp=sharing

They're OK as a starting point, would be good to get more visuals into the presentation, like how exactly the commit tree is formed and modified when each of these operations is performed.

Week 2. CLI/Bash (27.09)

History of terminal UI. How it came to be. Advantages/disavantages over GUI. Basic commands/usage cases/workflows. Shell vs terminal emulator vs CLI. How to use it efficiently. Tips and tricks. Useful programs/commands. Bash, zsh config files. Plugins. ohmyzsh. Cloud VMs.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.