Skip to content

Instantly share code, notes, and snippets.

@pn11
pn11 / CppUnixTime.md
Last active Nov 9, 2021
C++ で Unix time を扱う
View CppUnixTime.md

C++ で Unix time を扱う

面倒なので unix time を扱うときは Ruby とかで書いていたのだけど、C++ で書かなければならなくなったので、改めてちゃんと調べた。ちゃんと調べても分かりにくい仕様だったので、めも。基本的には以下の2つを参照するのが良さそう。

サンプルコードを書いてみた。

@pn11
pn11 / tmux_and_xsel.md
Last active Oct 18, 2021
リモートのtmuxのコピーモードとクリップボードを共有する
View tmux_and_xsel.md

リモートのtmuxのコピーモードとクリップボードを共有する

  • ローカルマシン: Mac (iTerm2)
  • リモートマシン: Linux (ROOT権限なし)

という状況でtmuxのコピーモードでコピーしてきたものをMacで扱いたい。

C-b zでズームしてからoptionキー押しながらマウスでコピーでもいいんだけど(iTerm2のみ?、ズームしないと複数行コピーするときに隣のペインも選択してしまう)、キーボードだけでやりたい。そこでxselを使う。

@pn11
pn11 / emacs-wrapper.sh
Created Jun 18, 2021
Do not open Emacs in VSCode Terminal
View emacs-wrapper.sh
#!/bin/bash
if [ $TERM_PROGRAM = 'vscode' ]; then
code $*
else
exec emacsclient -t -a "" $*
fi
@pn11
pn11 / covid-19-Wako.ipynb
Last active May 2, 2021
covid-19-Wako.ipynb
View covid-19-Wako.ipynb
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@pn11
pn11 / colab-ssh.ipynb
Last active Jan 23, 2021
ngrok を使って Google Colab に SSH ログインする。 cf. https://qiita.com/hazigin/items/c291adf5dc9ccc13d11f
View colab-ssh.ipynb
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@pn11
pn11 / tab_json2md.py
Last active Jan 10, 2021
Convert Chrome tab list extracted from Android into a Markdown and a OneTab-importable format.
View tab_json2md.py
# In advance, tabs.json have to be extracted via ADB by following way. (See https://android.stackexchange.com/a/199496/340082 for detail.)
# adb forward tcp:9222 localabstract:chrome_devtools_remote
# wget -O tabs.json http://localhost:9222/json/list
import json
with open('tabs.json') as f:
tabs = json.load(f)
with open('tabs.md', 'w') as f:
f.write(f"# {len(tabs)} tabs in your Android Chrome\n\n")
@pn11
pn11 / 20210108-covid19-tokyo.ipynb
Created Jan 7, 2021
20210108-covid19-tokyo.ipynb
View 20210108-covid19-tokyo.ipynb
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@pn11
pn11 / JSROOT.md
Last active Dec 17, 2020
JSROOTの使い方
View JSROOT.md

JSROOTの使い方

とりあえずROOTファイルを置いてWebブラウザで見れるようにする方法。マウスで範囲を指定したり、右クリックで軸をLogにしたりできる。ROOTファイルではなくJSONでデータを渡すことが推奨されているけど、とりあえずこっちで。

https://root.cern.ch/js/3.4/demo/example_file.htm の真似をしてやってみる。このHTMLをそのまま自分のサーバーに置けば多分動作するはず。このままだとJavaScriptとROOTファイルがCERNに置いてあるので、これも自前にしたい。

htmlのソースを見るとJSRootCor.min.jsというのを呼び出している。JavaScriptの自動生成されたのか中身はごちゃごちゃなので見なかったことにする。このJavaScriptはJSROOTのソースをダウンロードすると入っているので、

@pn11
pn11 / download_images.py
Last active Aug 30, 2020
Download images from a website. keywords: scraping, requests, python
View download_images.py
import requests
import time
from tqdm import tqdm
base_url = 'http://xxxxx.xxx/{image_id}.jpg'
def get_image(image_id):
r = requests.get(base_url.format(image_id=image_id))
with open(f"{image_id}.jpg", 'wb') as f:
f.write(r.content)
@pn11
pn11 / count_files.sh
Created Aug 30, 2020
Count files in a directory recursively with Bash
View count_files.sh
#!/bin/bash
# For Mac (Homebrew), use aliases below
#alias find=gfind
#alias sed=gsed
function count_files () {
num_files=$(gfind "$1" -maxdepth 1 -type f | wc -l)
echo "$1 ${num_files}"