Skip to content

lovelyPuppies/synergy-hub

Repository files navigation

Synergy Hub Documentation

🔧 Tech Stack

tree prototypes/_lab/tech_stack
├── 📂 development_toolchain
│    └── 📂:LLVM
│          └── clang
├── 📂 build_tool
│    ├── 📂 build_system
│    │    ├── 📂 meta_build_system
│    │    │    └── 📂 yocto_project
│    │    │          ├── BitBake
│    │    │          └── Yocto
│    │    ├── Bazel
│    │    └── PlatformIO
│    ├── 📂 build_system_generator
│    │    └── CMake
│    ├── Ninja
│    ├── Make
│    └── Gradle
├── 📂 ci+cd
│    └── GitHub Actions
├── 📂 code_quality_tool
│    └── Ruff
├── 📂 database
│    └── MariaDB
├── 📂 design_pattern_and_uml
│    ├── d2
│    └── design_pattern
├── 📂 editor
│    ├── 📂 gui_based-ide
│    │    ├── Visual Studio Code
│    │    ├── microchip_studio
│    │    └── visual_studio
│    └── 📂 terminal_based
│          └── Helix
├── fonts
├── 📂 hardware_and_os
│    ├── 📂 arm
│    │    └── arm_compiler
│    ├── 📂 board
│    │    └── Arduino
│    ├── 📂 os
│    │    ├── 📂 linux
│    │    │    └── Kubuntu
│    │    │    └── Ubuntu
│    │    └── Linux
│    ├── 📂 platform
│    │        └── Raspberry Pi
│    └── 📂 serial_tools
│          └── tio
├── 📂 libraries_and_frameworks
│    ├── 📂 data_serialization
│    │      └── Protocol Buffers
│    ├── 📂 mobile
│    │      └── Android
│    ├── 📂 multimedia
│    │    └── 📂 vision
│    │        └── OpenCV
│    ├── 📂 robot
│    │      └── ROS
│    └── Qt
├── 📂 mathematics
│    ├── mathematics_symbols
│    └── 📂 ml
│          ├── ml-glossary.md
│          └── openmmlab
├── 📂 monitoring_tools
│    └── 📂 file_system_monitoring
│          └── inotify-tools
├── 📂 package_manager
│    ├── Nix
│    ├── Conan
│    ├── Poetry
│    ├── Homebrew
│    ├── env-volta
│    ├── lang-cargo
│    ├── lang-pipx
│    ├── sys-choco
│    ├── sys-pacman
│    ├── sys-pixi
│    └── sys-scoop
├── 📂 language
│    └── 📂 programming_languages
│          ├── C C++
│          ├── Java
│          ├── Kotlin
│          ├── Python
│          └── Rust
├── 📂 remote_access_tools
│    └── tailscale
├── 📂 scm
│    └── Git
├── 📂 shell
│    ├── Fish Shell
│    └── PowerShell
├── 📂 terminal
│    ├── 📂 emulator
│    │    └── wezterm
│    └── 📂 graphics_tools
│          └── timg
├── 📂 virtualization
│    └── 📂 os_level_virtualization
│          └── Docker
│          └── dev_env-devcontainer
├── 📂 web
├── 📂 web_browser
│    └── Edge
└── 📂 web_server
    └── Nginx

 


📌 Project Shortcuts

Mini Project

Project Prototype

🌐 Open Source Contributions

Issues Overview

Steam Workshop Contributions

  • 📅 2024-10-15: Choro Ark 🔪 Workshop Mod KR Localization 🔪 Automation Scripts

    It identifies the Steam installation path, updates the config.ini file with the correct paths, and runs the localization application without manual intervention.

    # 🐚 %shell> Powershell
    # 🚧 Prerequisite
    #   - Windows OS
    #   - Donet Installation: https://dotnet.microsoft.com/en-us/download/dotnet/8.0/runtime?cid=getdotnetcore&os=windows&arch=x64
    
    $steamInstallPath = (Get-ItemProperty -Path "HKCU:\Software\Valve\Steam").SteamPath
    $basePath = "$steamInstallPath\steamapps\workshop\content\1188930\3343188695\LocailzationAutoCopy"
    $configPath = "$basePath\config.ini"
    (Get-Content $configPath) | ForEach-Object {
    ($_ -match '^steampath\s*=') ? "steampath = $($steamInstallPath -replace '\\', '/')/steamapps" : $_
    } | Set-Content $configPath
    pushd $basePath; $env:DOTNET_ROOT = "C:\Program Files\dotnet"; & "$basePath\LocailzationAutoCopy.exe"; popd

🖋️ Scripts

tree prototypes/_initialization/ubuntu
├── 📂 fish_modules
│    ├── _import_all.fish
│    ├── argparse_utils.fish
│    ├── bookmark_utils.fish
│    ├── 📂 io_utils
│    │    └── text_processing.fish
│    └── network_utils.fish
├── 📂 howto
│    ├── 📂 beta
│    │    ├── qcnet.fish
│    │    └── template-netplan_static_ip_setup.fish
│    ├── 📂 config-jetson_nano
│    │    └── setup_jetson_nano_vnc.fish
│    ├── 📂 config-raspberry_pi
│    │    └── _setup_fish_shell.fish
│    │    └── set_raspberry_pi_kernel_bitness.fish
│    ├── 📂 general
│    │    ├── generate_clangdb.fish
│    │    ├── init_nfs-client_to_server.fish
│    │    ├── init_resolv_conf.fish
│    │    ├── init_samba-client_to_server.fish
│    │    ├── setup_x11_docker.fish
│    │    └── setup_xauthority.fish
│    ├── 📂 general_beta
│    │    ├── migrate-apt-key-to-keyring.fish
│    │    └── poetry_install_requirements.fish
│    ├── _internal
│    │    └── 📂 file_supervisor
│    │          └── inotify-make_fish_utilities_executable.fish
│    ├── snippet.fish
│    └── 📂 template
├── init_in_bash.sh
├── init_in_fish.fish
├── init_in_fish_semi_automatic.fish
├── init_in_fish_semi_automatic-vision.fish
└── 📂 recipes
    └── fix_locale_warning.recipe.fish

📈 Trend

tree prototypes/_initialization/_about
├── about-intellisense_for_c_cpp.md
├── 📂 compare_similar_functinalities
│    ├── kmsg_vs_journalctl.md
│    └── video_streaming-seraizliation_vs_compression.md
└── 📂 compare_trend
    ├── build-compilation-cpp.md
    ├── git-switch_and_restore_instead_of_git_checkout.md
    ├── hardware-preferring_gpiod_and_other_control_methods_over_sysfs_and_ioctl.md
    ├── hardware-raspberry_pi_64bit_environment_with_qt.md
    ├── iot-why_thread_became_the_standard_in_matter.md
    ├── memory-dynamic_allocation-tcmalloc.md
    ├── network-netplan_efficient_usage.md
    └── network-netplan_vs_etc_network_interfaces.md


🚀 Project Setup Instructions (Ubuntu)

  1. Common Configurations:

  2. Run initialization script:

    📝 Note that this script requires the password to be entered multiple times (3 times), because Homebrew command invalidates the sudo timestamp (sudo password cache).

    This is likely a WONTFIX, sorry. We clear the sudo password cache intentionally as a precaution against privilege escalation attacks. See https://brew.sh/2024/07/30/homebrew-security-audit/.

    #!/bin/bash
    bash prototypes/_initialization/ubuntu/init_in_bash.sh

    It automatically and additionally runs 🚣 init_in_fish.fish as the last line in the script.

  3. Run semi-automatic scripts for user-interactive tasks

  4. Install packages to /opt directory (Add-on application software packages)

    • protobuf with (static, shared)
    • nanoPB
  5. Update and upgrade your system periodically:

    #!/bin/bash
    sudo apt update && sudo apt upgrade -y
    sudo snap refresh
    flatpak update -y
    brew update && brew upgrade

    And 🚣 check manually newer version of installed packages in /opt

📏 Rule