You Suck at Programming
You Suck at Programming
  • 341
  • 428 697
Simple Parallel SSH with `sshp` - a C Program That I Wrote
Source Code → github.com/bahamas10/sshp
🔗 More Links
Website → ysap.sh
Discord → ysap.sh/discord
Instagram → ysap.sh/instagram
TikTok → ysap.sh/tiktok
UA-cam → ysap.sh/youtube
Ko-fi (donate) → ysap.sh/ko-fi
📖 Keywords
you suck at programming #programming
#devops #bash #linux #unix #software #terminal #shellscripting #tech #stem
Переглядів: 1 516

Відео

Basic Unix signals with `kill` - SIGTERM, SIGINT, SIGKILL, etc. - You Suck at Programming #027
Переглядів 2 тис.12 годин тому
Basic Unix signals with `kill` - SIGTERM, SIGINT, SIGKILL, etc. - You Suck at Programming #027
Basic Parameter Expansion in Bash - You Suck at Programming #026
Переглядів 2,4 тис.День тому
Basic Parameter Expansion in Bash - You Suck at Programming #026
Passwordless ssh with keys using `ssh-agent` - You Suck at Programming #025
Переглядів 2,3 тис.14 днів тому
Passwordless ssh with keys using `ssh-agent` - You Suck at Programming #025
ssh Port Forwarding with `ssh -L` - You Suck at Programming #024
Переглядів 1,8 тис.21 день тому
ssh Port Forwarding with `ssh -L` - You Suck at Programming #024
Making an HTTP request in Bash without `curl` or `wget` - on Linux or illumos
Переглядів 48 тис.21 день тому
Making an HTTP request in Bash without `curl` or `wget` - on Linux or illumos
Understanding Unix Login Shells - You Suck at Programming #023
Переглядів 1,9 тис.21 день тому
Understanding Unix Login Shells - You Suck at Programming #023
Programmer vs. AI - ChatGPT Bash Script critique and analysis
Переглядів 2,4 тис.Місяць тому
Programmer vs. AI - ChatGPT Bash Script critique and analysis
Using `backticks` in bash (command substitution) - You Suck at Programming #022
Переглядів 1,5 тис.Місяць тому
Using `backticks` in bash (command substitution) - You Suck at Programming #022
Escaping and Wrangling quotes in Bash (bonus heredocs) - You Suck at Programming #021
Переглядів 1 тис.Місяць тому
Escaping and Wrangling quotes in Bash (bonus heredocs) - You Suck at Programming #021
Website Rendered in the Terminal! (ascii and ansi colors)
Переглядів 1,5 тис.Місяць тому
Website Rendered in the Terminal! (ascii and ansi colors)
Get your external IP address easily (how to setup your own with nginx as well)
Переглядів 1,3 тис.Місяць тому
Get your external IP address easily (how to setup your own with nginx as well)
Arrays in Pure Bash - You Suck at Programming #020
Переглядів 1,8 тис.Місяць тому
Arrays in Pure Bash - You Suck at Programming #020
Quoting Commands over SSH - You Suck at Programming #019
Переглядів 1,3 тис.Місяць тому
Quoting Commands over SSH - You Suck at Programming #019
A possible danger with piping `curl` to `sh` for installing software from the internet
Переглядів 1,7 тис.Місяць тому
A possible danger with piping `curl` to `sh` for installing software from the internet
IO Redirection in Bash EXPLAINED - You Suck at Programming #018
Переглядів 2,6 тис.Місяць тому
IO Redirection in Bash EXPLAINED - You Suck at Programming #018
Stepping through and debugging a fork-bomb `:(){ :|: & };:` - You Suck at Programming #017
Переглядів 1,6 тис.Місяць тому
Stepping through and debugging a fork-bomb `:(){ :|: & };:` - You Suck at Programming #017
Running a fork-bomb on Linux :(){ :|: & };: - You Suck at Programming #016
Переглядів 2 тис.2 місяці тому
Running a fork-bomb on Linux :(){ :|: & };: - You Suck at Programming #016
CLI Tips and Tricks (with readline) to Optimize your Workflow - You Suck at Programming #015
Переглядів 3,4 тис.2 місяці тому
CLI Tips and Tricks (with readline) to Optimize your Workflow - You Suck at Programming #015
Explaining a Unix Forkbomb - You Suck at Programming #014
Переглядів 1,9 тис.2 місяці тому
Explaining a Unix Forkbomb - You Suck at Programming #014
Formatting Dates with `strftime` in Bash - You Suck at Programming #013
Переглядів 8102 місяці тому
Formatting Dates with `strftime` in Bash - You Suck at Programming #013
Order of commands on the Unix Shell - You Suck at Programming #012
Переглядів 1 тис.2 місяці тому
Order of commands on the Unix Shell - You Suck at Programming #012
Regex Builtin to Bash - You Suck at Programming #011
Переглядів 2 тис.3 місяці тому
Regex Builtin to Bash - You Suck at Programming #011
Config Files with Bash can be Dangerous - You Suck at Programming #010
Переглядів 1,8 тис.3 місяці тому
Config Files with Bash can be Dangerous - You Suck at Programming #010
Variable Exporting on Bash - You Suck at Programming #009
Переглядів 1,3 тис.3 місяці тому
Variable Exporting on Bash - You Suck at Programming #009
Unix Shell Builtins vs. External Commands - You Suck at Programming #008
Переглядів 2,1 тис.3 місяці тому
Unix Shell Builtins vs. External Commands - You Suck at Programming #008
You Should Read the `bash` manpage - You Suck at Programming #007
Переглядів 2,4 тис.3 місяці тому
You Should Read the `bash` manpage - You Suck at Programming #007
Debugging Bash using DTrace - You Suck at Programming #006
Переглядів 2 тис.3 місяці тому
Debugging Bash using DTrace - You Suck at Programming #006
Bash `read` command instead of `cut` and `tr` - You Suck at Programming #005
Переглядів 5 тис.3 місяці тому
Bash `read` command instead of `cut` and `tr` - You Suck at Programming #005
Piping `find` to `while` - You Suck at Programming #004
Переглядів 3,5 тис.3 місяці тому
Piping `find` to `while` - You Suck at Programming #004

КОМЕНТАРІ

  • @extrageneity
    @extrageneity 3 години тому

    Related: If your terminal doesn't have a setting to prompt for confirm on multiline paste, change terminals

  • @oliverhihn8505
    @oliverhihn8505 4 години тому

    I often like to put a # before the command so it’s a comment and won’t do anything unless I remove that # again. Also sometimes I use this as a temporary clipboard: When I already typed a long command and remember that I need to execute another command before, put # in front of the long command, execute (now it’s in history and didn’t do anything) write the other command, arrow up twice, remove # and execute that command second.

  • @print-Ch1
    @print-Ch1 7 годин тому

    is there like a way ti make unkiklable binary with maybe forking mecanism on sig kill or somehow ignore sigkill

  • @alexanderandreyev5982
    @alexanderandreyev5982 10 годин тому

    echo does not always save the day. It does not prevent you from overwriting a file via redirect (>file.na) or execute a second (or later) command in a pipeline. Better use '#', as suggested by @danydanger

  • @Pradeep-bm7wt
    @Pradeep-bm7wt 10 годин тому

    I thought you would write all of that without peeking at the other screen…! (Remember you told about that in a reel) But still great content . Really appreciate.

  • @Elfcheg
    @Elfcheg 11 годин тому

    Nice one! When I'm about to reboot or shutdown a server, I do "sleep 5; sudo reboot". This way I have 5 seconds to change my mind. Also I often do "arrow up; enter" immediately after I login to a remote host. Most of the time it's "sudo -u myuser -i", but sometimes it's the reboot command :)

  • @danielckw0206
    @danielckw0206 14 годин тому

    We can write our virus then💀

  • @someaccount-mp4tk
    @someaccount-mp4tk 16 годин тому

    Hey bro I got a question. Btw love your content. The question: why would I ever whip up a program in C++, as opposed so just using bash to orchestrate a bunch of C binaries that are tried and true? I understand implementing in C++ could be more portable and secure, but let's say I don't care about that. I only care about performance. For example say I have three binaries foo bar and baz that I can compose together. I could 1) implement foo bar and baz in C++ 2) use bash to orchestrate foo bar and baz 3) use c++ and call out to foo bar and baz and orchestrate with c++ for more control Keen for your thoughts on this. Rate the content dude

  • @danydanger
    @danydanger 17 годин тому

    Else way we do is to put # in front of the command

  • @TheHackysack
    @TheHackysack 17 годин тому

    Gotta admit, the ability to remove duplicated output is pretty clever. It just so happens that I'm also filtering duplicate data with parallel workers. :P Duplicate file finder. I'm porting my Python implementation from a few years ago to C++, which I just started learning earlier this year. Just this month, I finally wrote something faster than my Python implementation. Now I struggle to write it slower. lol You might have given me an idea for a new feature, though, so double thanks!

  • @amorsmor8528
    @amorsmor8528 18 годин тому

    I did something similar, when I use dd for example I add one char to dd, like dda if=/dev/sdX of=/dev/sdY status=.... And when I review the command many times I remove the a char

  • @Ztzyyy
    @Ztzyyy 18 годин тому

    He gradually gets cooler

  • @alfiegordon9013
    @alfiegordon9013 19 годин тому

    Pure bash TUI isn't actually too bad, dylanaraps has a GitHub page about it and I've personally written a fair few terminal guis in bash

  • @vterpko
    @vterpko 19 годин тому

    you can also do Ctrl-x Ctrl-e, which will only run the command on exit of the file.

  • @insanemal
    @insanemal 19 годин тому

    This already existed for literally decades. PDSH it also has a parallel scp for copying files to multiple machines, pdcp. Oh also cexec does it too

  • @BersekViking
    @BersekViking 20 годин тому

    Or just start the line with a "#" while you are editing it. And use an alias for things like reboot, poweroff and shutdown alias poweroff='echo "You are on the main \"$HOSTNAME\" server!"' '

    • @alexanderandreyev5982
      @alexanderandreyev5982 10 годин тому

      I use mollyguard to prevent accidental reboots. For better protection you have to configure it to always ask the hostname, though.

  • @XxElyx03xX
    @XxElyx03xX 20 годин тому

    This looks useful for big distributed ai training runs

  • @JM-wy9wg
    @JM-wy9wg 22 години тому

    I just type it a notepad

  • @schittPosts101
    @schittPosts101 23 години тому

    So much better than for item in ${array[@]}

  • @kumar_prabhat
    @kumar_prabhat День тому

    i thought to myself, "why is this guy not getting views man", then i found out this was posted just 18 minutes ago. great work, best wishes, yousuckatprogramming dude.

  • @airkami
    @airkami День тому

    This is a perfect example of taking all necessary precautions

  • @pakethdr
    @pakethdr День тому

    The Fabric Python package works in a similar fashion

  • @cuohussey
    @cuohussey День тому

    I feel like this is a really early version of Ansible :P

  • @name1355_0ne
    @name1355_0ne День тому

    Cool! But it seems that you've just reinvented Ansible, but in C )

  • @SB-qm5wg
    @SB-qm5wg День тому

    This is really cool.

  • @BersekViking
    @BersekViking День тому

    Nice!

  • @madisonhanberry6019
    @madisonhanberry6019 День тому

    Use xargs, n00b

  • @LampJustin
    @LampJustin День тому

    This tool is really neat!

  • @LampJustin
    @LampJustin День тому

    I tend to use nushell for parallel tasks, it handles it like a champ. Since it works with real data that you can pipe and not strings like in bash, you can do really cool things. The key word here is par-each. If I do parallel ssh connections I mostly do the following: open hosts.txt | lines | par-each {|h| let out = (ssh $h dostuff | from json); return {"host": $h, "ret": $out}}

    • @UliTroyo
      @UliTroyo День тому

      Yeah! par-each is so nice and easy to use. Happy to spot another Nushell user in the wild.

  • @CyberSlugGump
    @CyberSlugGump День тому

    Good content. Anyone notice "parallel" misspelled in the video's thumbnail?

    • @yousuckatprogramming
      @yousuckatprogramming День тому

      good catch! i'm A/B/C testing 3 thumbnails and i totally misspelled it on one 1/3 lmao

  • @sriram.velamur
    @sriram.velamur День тому

    This is a fabulous tool. Thanks for this, Eddy. Sure going to be a standard part of my toolkit going forward :-)

  • @themarksmith
    @themarksmith День тому

    Excellent stuff...would you use this to replace Ansible or something like that to install apps/updates, make config updates etc?

    • @rsable
      @rsable День тому

      Defeats the purpose of IAC which is primarily used to keep things idempotent and reproducible

  • @Flako-dd
    @Flako-dd День тому

    ugo and rwx are WAY easier and usable than octal. add *read* perm for *others* ? chmod o+r. done.

  • @WhiteThumbs
    @WhiteThumbs День тому

    Home depot is fascist, absolute dipshits

    • @WhiteThumbs
      @WhiteThumbs День тому

      I suggest you don't hang your hat on them

  • @timalban1433
    @timalban1433 День тому

    I subscribed because I do suck at programming

  • @Obootleg
    @Obootleg День тому

    That comment was way more relatable than it should be considering only recently I gained a random interest in making a desk.

  • @Zeutomehr
    @Zeutomehr День тому

    I'd appreciate a full video on this

  • @jaykoerner
    @jaykoerner День тому

    Yes, the only proper answer is yes

  • @crissdell
    @crissdell День тому

    Plot twist: Alice is schizophrenic

  • @crissdell
    @crissdell 2 дні тому

    Source: trust me! :v

  • @PramodhRachuri
    @PramodhRachuri 2 дні тому

    What you explained is TCP, a transport protocol. Not a socket. Both are not the same

    • @crissdell
      @crissdell День тому

      Please, enlighten us

    • @tantalus_complex
      @tantalus_complex День тому

      To be fair, he did say "Want me to explain sockets to you like you're five years old... Let's assume we're talking about TCP here..." Then he gave a classic client-server example of behavior between sockets - in fact, the most common and practical example a programmer or IT tech might need. A pretty good start on sockets for a five-year-old, which satisfies his premise. It's true that he _might_ have talked about Berkeley sockets on a more technical and less practical level for most of us. But he wasn't wrong for taking the approach he did.

  • @Beanman745
    @Beanman745 2 дні тому

    The golden man and his golden land preform a song so cool the pixels go away

  • @merlin2010
    @merlin2010 2 дні тому

    Where's the song

  • @crissdell
    @crissdell 2 дні тому

    The guy forgot -R

  • @fqidz
    @fqidz 2 дні тому

    why not just take 2 mins to actually test it instead of rambling

    • @thornily2250
      @thornily2250 2 дні тому

      for real

    • @anserinae
      @anserinae День тому

      why not take two minutes to touch yourself instead of the keyboard

  • @TigerGaming-kp9yn
    @TigerGaming-kp9yn 2 дні тому

    fr