User Tools

Site Tools


capacity_building:workshops:tooling

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
capacity_building:workshops:tooling [2022/10/08 11:45] – [Tools, Workflow and Resources for Effective Development] rolf001capacity_building:workshops:tooling [2022/10/09 21:04] (current) harley001
Line 1: Line 1:
 +/*
 ~~NOTOC~~ ~~NOTOC~~
 +*/
 ====== Tools, Workflow and Resources for Effective Development  ====== ====== Tools, Workflow and Resources for Effective Development  ======
 +
 +**Live Online Workshop for [[https://ulsa.edu.ni/|ULSA]] and [[http://hsrw.eu/|HSRW]] by Harley Lara - 2022-10-06** 
  
 Workshop details: Workshop details:
   * **Topic**: Tools, workflow and resources for effective development    * **Topic**: Tools, workflow and resources for effective development 
-  * **Description**: Hardware and/or Software project development can be a long and complex process, but with the right set of tools everything can be faster and more efficient from the developer's point of view. This workshop is based on providing tools for developers to have a seamless process, producing quality software and hardware. In collaboration with [[https://ulsa.edu.ni/|ULSA]] Nicaragua and [[https://www.hochschule-rhein-waal.de/en/faculties/communication-and-environment/laboratories/eo-lab|EO lab]] [[https://www.hochschule-rhein-waal.de|HSRW]]. +  * **Description**: Hardware and/or Software project development can be a long and complex process, but with the right set of tools everything can be faster and more efficient from the developer's point of view. This workshop is based on providing tools for developers to have a seamless process, producing quality software and hardware. In collaboration with [[https://ulsa.edu.ni/|ULSA]] Nicaragua and the [[https://www.hochschule-rhein-waal.de/en/faculties/communication-and-environment/laboratories/eo-lab|EOLab]] of the [[https://www.hochschule-rhein-waal.de|HSRW]]. 
   * **Date**: 06 October 2022   * **Date**: 06 October 2022
   * **Time**: from 16:00 to 18:00 (CEST)   * **Time**: from 16:00 to 18:00 (CEST)
Line 13: Line 17:
 ---- ----
  
-===== Demo files used during the presentation =====+===== Demo Scripts Used in the Workshop ===== 
 + 
 +Download all the files here: {{ :capacity_building:workshops:example_files.zip |example_files.zip}} 
 + 
 +  * ''bash-hello.sh'': Print message in the terminal 
 +  * ''tmux-fzf.sh'': fuzzy search over a group of specified directories 
 +  * ''bash-software.sh'': Basic bash script to install a set of packages 
 +  * ''ansible-software.yml'': Basic playbook to install a set of packages 
 +  * ''bash-software-tags'': Minimal and basic tag implementation to emulate ansible tags using bash script 
 + 
 +===== bash Demo ===== 
 + 
 +<file bash hello-bash.sh> 
 +#!/bin/bash 
 + 
 +echo "hello bash scripting" 
 +</file> 
 + 
 +===== tmux Demo ===== 
 + 
 +<file bash tmux-fzf.sh> 
 +#!/bin/bash 
 + 
 +# Used the next line to set the list of directories 
 +DIRECTORIES="~/ ~/Documents ~/Desktop" 
 +# Uncommend the next line if you are using a external file 
 +# for track the list of directories 
 +# DIRECTORIES=$(cat ~/EXTERNAL-FILE | tr "\n" " ") 
 +# Note about the external file 
 +#       Format of the file: 
 +#           ~/  
 +#           ~/Documents 
 +#           ~/Desktop 
 +#       One directory per line 
 + 
 +if [[ $# -eq 1 ]]; then 
 +    SELECTED=$1 && [[ "$SELECTED" == '.' ]] && SELECTED="$PWD" 
 +else 
 +    SELECTED=$(find $DIRECTORIES -mindepth 1 -maxdepth 1 -type d | fzf) 
 +fi 
 + 
 +if [[ -z $SELECTED ]]; then 
 +    exit 0 
 +fi 
 + 
 +SELECTED_NAME=$(basename "$SELECTED" | tr . _) 
 +SELECTED_NAME=${SELECTED_NAME:0:8} 
 + 
 +if [[ -n $TMUX ]]; then 
 +    # inside tmux 
 +    tmux switch-client -t "$SELECTED_NAME" || \ 
 +    tmux new-session -ds "$SELECTED_NAME" -c "$SELECTED" && \ 
 +    tmux switch-client -t "$SELECTED_NAME" 
 +elif [[ -z $TMUX ]]; then 
 +    # outside tmux 
 +    tmux new-session -s "$SELECTED_NAME" -c "$SELECTED" || \ 
 +    tmux attach -t "$SELECTED_NAME" 
 +fi 
 +</file> 
 + 
 + 
 +===== apt - Linux Software Package Manager ===== 
 + 
 +<file bash install-some-software-packages.sh> 
 +#!/bin/bash 
 + 
 +sudo apt update && \ 
 +apt-get install -y \ 
 +    build-essential \ 
 +    cmake \ 
 +    pkg-config \ 
 +    libpthread-stubs0-dev 
 + 
 +sudo apt install -y \ 
 +    curl \ 
 +    htop \ 
 +    python3-pip 
  
-<WRAP center round info 60%> +</file>
-Please change the ''.doc'' extension to the correct extension. The Bash script uses ''.sh'' and ansible-playbooks ''.yml''+
-</WRAP>+
  
-  * {{ :capacity_building:workshops:bash-hello.doc |Hello bash script}}: Print message in the terminal +===== Encryption and Decryption with Ansible =====
-  * {{ :capacity_building:workshops:tmux-fzf.doc |Tmux and fzf bash script}}: fuzzy search over a group of specified directories +
-  * {{ :capacity_building:workshops:bash-software.doc |Software installation bash script}}: Basic bash script to install a set of packages +
-  * {{ :capacity_building:workshops:ansible-software.doc |Software installation ansible playbook}}: Basic playbook to install a set of packages +
-  * {{ :capacity_building:workshops:bash-software-tags.doc |Tags implementation in bash}}: Minimal and basic tag implementation to emulate ansible tags using bash script+
  
-  * Encryption:+Encryption:
 <code> <code>
-ansible-vault encrypt FILE_NAME+$> ansible-vault encrypt FILE_NAME
 </code> </code>
  
-  * Decryption:+Decryption:
 <code> <code>
-ansible-vault decrypt FILE_NAME+$> ansible-vault decrypt FILE_NAME
 </code> </code>
  
capacity_building/workshops/tooling.1665222342.txt.gz · Last modified: 2022/10/08 11:45 by rolf001