Skip to content

Instantly share code, notes, and snippets.

View usuyama's full-sized avatar
🎾

Naoto Usuyama usuyama

🎾
View GitHub Profile
@usuyama
usuyama / sudo新一.md
Created December 31, 2021 00:40 — forked from greymd/sudo新一.md
sudo新一

 オレは高校生シェル芸人 sudo 新一。幼馴染で同級生の more 利蘭と遊園地に遊びに行って、黒ずくめの男の怪しげな rm -rf / 現場を目撃した。端末をみるのに夢中になっていた俺は、背後から近づいてきたもう1人の --no-preserve-root オプションに気づかなかった。 俺はその男に毒薬を飲まされ、目が覚めたら・・・ OS のプリインストールから除かれてしまっていた!

sudo がまだ $PATH に残っていると奴らにバレたら、また命を狙われ、他のコマンドにも危害が及ぶ』

 上田博士の助言で正体を隠すことにした俺は、 which に名前を聞かれて、とっさに『gnuplot』と名乗り、奴らの情報をつかむために、父親がシェル芸人をやっている蘭の $HOME に転がり込んだ。ところが、このおっちゃん・・・とんだヘボシェル芸人で、見かねた俺はおっちゃんになりかわり、持ち前の権限昇格能力で、次々と難タスクを解決してきた。おかげで、おっちゃんは今や世間に名を知られた名エンジニア、俺はといえばシェル芸 bot のおもちゃに逆戻り。クラスメートの convertojichattextimg にお絵かきコマンドと誤解され少年ワンライナーお絵かき団を結成させられる始末。

 ではここで、博士が作ってくれたメカを紹介しよう。最初は時計型麻酔 kill 。ふたについた照準器にあわせてエンターを押せば、麻酔シグナルが飛び出し、プロセスを瞬時に sleep させることができる。 次に、蝶ネクタイ型 banner 。裏についているダイヤルを調整すれば、ありとあらゆる大きさのメッセージを標準出力できる。必殺のアイテムなら fork 力増強シューズ。電気と磁力で足を刺激し、 :(){ :|:& };: でプロセステーブ

@usuyama
usuyama / get_file_size.sh
Created July 2, 2020 02:12
including files on mounted / blobfuse disk
du -sh --apparent-size $file_path
@usuyama
usuyama / setup_screen_on_wsl.sh
Created June 3, 2020 19:02
Use screen on Linux on Windows (WSL)
mkdir ~/.screen && chmod 700 ~/.screen
# Add SCREENDIR environment variable to .bashrc
echo 'export SCREENDIR=$HOME/.screen' >> ~/.bashrc
# https://codingrandomly.com/2018/07/running-screen-in-wsl/
@usuyama
usuyama / launch_tensorboard_azureml.py
Last active June 3, 2020 19:32
Tensorboard with AzureML
'''
https://docs.microsoft.com/en-us/azure/machine-learning/how-to-monitor-tensorboard
make sure to install
pip install tensorflow azureml-tensorboard
Tensorboard logs need to be written in the logs folder by AML training runs.
SummaryWriter(log_dir="logs/test_run")
'''
@usuyama
usuyama / change_docker_data_dir.md
Last active January 8, 2021 20:44
change Docker data directory for disk space
@usuyama
usuyama / print_memory_usage.py
Created October 17, 2019 21:46
print system memory usage Linux/Ubuntu Python
def print_memory_usage():
import os
lines = os.popen('free -t -m').readlines()
tot_m, used_m, free_m = map(int, lines[-1].split()[1:])
for l in lines:
print(l.rstrip())
return {'total_memory': tot_m, 'used_memory': used_m, 'free_memory': free_m}
@usuyama
usuyama / databricks_line-profiler.py
Created October 17, 2019 04:38
databricks line_profiler
dbutils.library.installPyPI("line_profiler") # this fails with Python 3.7
import inspect
from io import StringIO
from line_profiler import LineProfiler
def profile_function(my_func, args, *kwargs):
lp = LineProfiler()
output_val = lp(my_func)(args, *kwargs)
mystdout = StringIO()
@usuyama
usuyama / qsubFromLocal.sh
Created June 2, 2012 05:15 — forked from yuto-ktok/qsubFromLocal.sh
localから、qsubを投げて終わるのを監視する。
#!/bin/sh
ssh -t -t gw <<EOF
qsub test.sh | ruby -ane 'print $F[2]' > "job_id"
exit
EOF
scp gw:job_id ./
job_id=$(cat job_id)
@usuyama
usuyama / qsub_and_wait.sh
Created June 2, 2012 03:34
qsub and check qstat
#!/bin/bash
#$ -S /bin/bash
#$ -cwd
job_id=$(qsub $@ | ruby -ane 'print $F[2]')
while true
do
is_exist=$(qstat | ruby -ane "print 1 if \$F.first == '$job_id'")
if [ -z "$is_exist" ];then
break