Skip to content

Instantly share code, notes, and snippets.

View wteuber's full-sized avatar

Wolfgang Teuber wteuber

View GitHub Profile
@wteuber
wteuber / number_of_words_in_git_repo.sh
Created August 14, 2024 18:24
number of words in git repo
git ls-files | xargs wc -w 2> /dev/null | ruby -e "puts ARGF.map{_1.scan(/^\s*(\d+)/)[0][0].to_i}.inject(&:+)"
@wteuber
wteuber / mp4_to_gif.sh
Created August 14, 2024 10:38
mp4 to gif
ffmpeg -i "My Movie.mp4" -vf "fps=10,scale=320:-1:flags=lanczos" -c:v pam -f image2pipe - | convert -delay 10 - -loop 0 -layers optimize output.gif
@wteuber
wteuber / list_unique_prs_for_search_term.sh
Created August 13, 2024 18:27
List unique PRs for search_term
export PAGER="cat"
git --no-pager log -S'search_term' --source --all --pretty=format:'%H' | xargs -I {} gh pr list --search "{}" --state merged --json url -q '.[].url' | sort -u
@wteuber
wteuber / mysql_table_stats.sql
Last active July 1, 2024 15:09
List MySQL tables, their respective row count and size.
SELECT
table_name AS `Table`,
table_rows AS `Row Count`,
ROUND(data_length + index_length) AS `Size (Bytes)`,
CASE
WHEN data_length + index_length < 1024 THEN CONCAT(ROUND((data_length + index_length), 2), ' B')
WHEN data_length + index_length < 1024 * 1024 THEN CONCAT(ROUND((data_length + index_length) / 1024, 2), ' KB')
WHEN data_length + index_length < 1024 * 1024 * 1024 THEN CONCAT(ROUND((data_length + index_length) / 1024 / 1024, 2), ' MB')
WHEN data_length + index_length < 1024 * 1024 * 1024 * 1024 THEN CONCAT(ROUND((data_length + index_length) / 1024 / 1024 / 1024, 2), ' GB')
ELSE CONCAT(ROUND((data_length + index_length) / 1024 / 1024 / 1024 / 1024, 2), ' TB')
@wteuber
wteuber / volume.md
Last active February 3, 2024 21:50
FFmpeg - Audio Volume Manipulation

Audio Volume Manipulation

ffmpeg -i input.mp4 -af "volume=<volume_level>" output.mp4
input.mp4: The input video file.
-af: Stands for audio filter. This option tells FFmpeg to apply an audio filter.
@wteuber
wteuber / reduce_pdf.sh
Created February 1, 2024 16:18 — forked from knugie/reduce_pdf.sh
reduce pdf size
#reduce PDF size
#-dPDFSETTINGS
# /screen
# /ebook
# /printer
# /prepress
gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -sOutputFile=out.pdf in.pdf
@wteuber
wteuber / install_eventmachine.md
Created September 26, 2023 10:01
MacOS M1 installing eventmachine (1.2.7)
An error occurred while installing eventmachine (1.2.7), and Bundler cannot continue.
Make sure that `gem install eventmachine -v '1.2.7' --source 'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
  github-pages was resolved to 228, which depends on
    jekyll-avatar was resolved to 0.7.0, which depends on
      jekyll was resolved to 3.9.3, which depends on
        em-websocket was resolved to 0.5.3, which depends on
 eventmachine
@wteuber
wteuber / list_gists_with_url.sh
Created September 23, 2023 19:46
List gists with gh cli
# install and set up gh (https://cli.github.com/)
GH_USER=`gh auth status | grep -oue "Logged in to github.com as [^ ]*" | grep -oue "[^ ]*$"`
gh gist list -L1000 | sed -e "s/^/https:\/\/gist.github.com\/$GH_USER\//"
@wteuber
wteuber / .zshrc
Last active November 14, 2023 12:46
git aliases
# Print origin/HEAD branch name (default branch)
gdb() {
git remote show origin | grep 'HEAD branch' | cut -d ' ' -f5
}
# Print origin/HEAD branch name (default branch)
# uses ohmyzsh git plugin aliases https://github.com/ohmyzsh/ohmyzsh/blob/master/plugins/git/git.plugin.zsh
gcdb() {
gco `gdb`
}
@wteuber
wteuber / iterm_open_file_in_intellij_idea.md
Last active May 24, 2023 13:22
iterm_open_file_in_intellij_idea
[ -z "\2" ] &&  /Applications/IntelliJ\ IDEA.app/Contents/MacOS/idea \1 || /Applications/IntelliJ\ IDEA.app/Contents/MacOS/idea --line \2  \1

image