Skip to content

Instantly share code, notes, and snippets.

#/usr/bin/env bash
# Install some pacakages we'll need to compile the driver below.
dnf install gcc kernel-devel -y
# Create working dir for Broadcom driver files and patches.
mkdir hybrid_wl_f23
# Change to working dir.
cd hybrid_wl_f23
@ouyi
ouyi / multiplication_formulas.sh
Created October 22, 2017 19:38
Bash script to print out the Table of Multiplication Formulas for school kids
#!/usr/bin/env bash
for i in {1..9}; do
for j in $(seq 1 $i); do
echo -n "$j x $i = $( printf '% 2s' $(( $i * $j ))) "
done
echo
done
@ouyi
ouyi / android_data_backup.sh
Last active December 3, 2017 08:57
Backup and restore android data from a Fedora Linux host
#!/usr/bin/env bash
dnf install -y android-tools
# backup apps
adb backup -all -f adb-backup-2017-12-03-v9.adb
# backup photos
adb pull /sdcard/DCIM/Camera/ v9_sdcard_DCIM_Camera/
@ouyi
ouyi / IsStringEmpty.java
Created December 17, 2017 22:50
java 8 test whether a nullable String is empty or not
// java 8 test whether a nullable String is empty or not
if (Optional.ofNullable(s).orElse("").isEmpty()) {
// s is null or empty
}
@ouyi
ouyi / glassfish_commands.sh
Last active December 18, 2017 23:18
Glassfish commands
#!/usr/bin/env bash
# docker run -p 14848:4848 -p 18080:8080 -p 18181:8181 --name glassfish oracle/glassfish:5.0
##########GENERATED ADMIN PASSWORD: f621b788 ##########
# docker exec -u 0 -it glassfish bash
ADMIN_PASSWORD=123456
echo "AS_ADMIN_PASSWORD=${ADMIN_PASSWORD}" > /tmp/glassfishpwd
@ouyi
ouyi / git_commands.sh
Last active December 27, 2017 14:12
Frequently used Git commands
# Update commit comments before the push
git commit -m "Fix an issue"
git commit -m "Fix an important issue" --amend
# Throw away all changes on local master and to have it exactly the same as origin/master:
git checkout master
git reset --hard origin/master
# Force origin/master to be the same as local master (dangerous!!!):
@ouyi
ouyi / ansible_settings_for_vault_diff.txt
Last active December 27, 2017 15:53
ansible vault diff
# [your_project]$ cat .gitattributes
prod/group_vars/vaulted* diff=ansible-vault-prod merge=binary
# [your_project]$ cat ~/.gitconfig
[diff "ansible-vault-prod"]
textconv = ansible-vault view --vault-password-file ~/vault_prod.txt
...
@ouyi
ouyi / emr_test_apps.sh
Last active January 24, 2018 15:02
Built-in test apps on EMR 5.x
cat >> input.txt
hello
world
world
<ctrl+D>
wget https://raw.githubusercontent.com/ouyi/tez-demo/master/src/test/resources/input.txt
hadoop fs -copyFromLocal input.txt /tmp/
@ouyi
ouyi / java_thread_dump.sh
Created January 27, 2018 08:51
Thread dump in Java
top # list processes, shift+p to sort processes by CPU usage
top -H -p <pid> # list threads, shift+p to sort threads by CPU usages
printf "%x\n" <tid> # convert tid to hexadecimal, called nid
jstack -l <pid> | grep -i <nid> -A 15 # get stack trace of the thread
@ouyi
ouyi / docker_child_images.sh
Created February 15, 2018 07:33
Find docker child images
image_id="$1"
for i in $(docker images -q); do
docker history $i | grep -q "$image_id" && echo $i;
done | sort -u