mshr-h/sandbox

ライブラリを試使用した時のスクリプトとか、ちょっとした実験的なプログラムをmshr-h/sandboxに詰め込んでいる。 ディレクトリ構造は以下。ライブラリや言語ごとにディレクトリを切っている。間違ってPythonからインポートしないようにディレクトリ名の末尾に_をつけている。 $ tree -L 1 . ├── LICENSE ├── README.md ├── golang_ ├── hummingbird_ ├── mlflow_ ├── onnx-mlir_ ├── onnx_ ├── onnxruntime_ ├── opencv_ ├── tvm_ ├── wasm_ └── zig_

2022-08-02 Tue ·     "Masahiro Hiramori"

ObsidianのTemplaterプラグインでDaily note作成時に定期タスクを自動追加するやり方

ObsidianのコミュニティプラグインTemplaterは、 テンプレートファイルにJavaScriptコードを埋め込み、ノート作成時にコードの実行結果をノートに埋め込める。 もちろんライブラリ関数の呼び出しや変数定義、ifやforといった制御構文も使える。 ObsidianのDaily note作成時に定期タスクを自動追加する方法のメモ。 Daily noteには、次のようなタスクがある。 曜日ごとに実施するタスク 月曜には可燃ごみの廃棄、金曜日には業務用カレンダーからミーティング時間を個人カレンダーにコピーする、など 特定の日付に実施するタスク 毎月25日に給与振込口座を確認する 月初めのある曜日に実施するタスク 毎月第1土曜日にmonthly noteを作成する Daily noteのファイル名はyyyy_MM_dd(例2022_08_02)とする。 この3種類のタスク作成をTemplaterを使ってどのように自動化するか。 1. 曜日ごとに実施するタスク まず、1. 曜日ごとに実施するタスクについて。これはまずファイル名から曜日を取得し、if elseで条件分岐すればよい。 TemplaterにJavaScriptコード(コマンド)を埋め込むには、<%* ... code ... %>で記述する。末尾が-%>の場合、コマンド記述の直後の改行を削除する。 コマンド内でファイル名を取得するには、Templaterが提供する組み込みコマンドtp.file.titleを使用する。 日付はtp.date.now()コマンドで解析できる。第1引数から順に取得したい要素(曜日や年月日など)、オフセット、解析対象の日付の文字列、解析対象の日付フォーマットをしていする。 フォーマットの指定はMoment.jsに従っているので詳細はそちらを参照。 条件分岐はJavaScriptと同じif (contition) { statement }の書き方。 上記を使って曜日ごとに実施するタスク生成を記述するとこんな感じになる。Daily noteの曜日が水曜の場合、some taskを追加してくれる。 <%* dow = tp.date.now("ddd", 0, tp.file.title, "YYYY_MM_DD") -%> <%* if (dow == "Wed" ) { -%> - [ ] some tasks <%* } -%> 2. 特定の日付に実施するタスク これも基本的には1. と同じ考え方でできる。tp.date.now()の第1引数で曜日ではなく日付を取得するように変更するだけ。 <%* if (tp.date.now("DD", 0, tp....

2022-08-02 Tue ·     "Masahiro Hiramori"

正規表現チートシート

VSCode向け。 .:任意の1文字にマッチ ^:文字列の先頭にマッチ $:文字列の末尾にマッチ []:ブラケット内の任意の1文字にマッチ [0-9]:半角数字1文字にマッチ [a-c]:a、b、cの1文字にマッチ [^]:ブラケット内を除く任意の1文字にマッチ *:直前の文字を0回以上繰り返す ?:直前の文字を0か1回繰り返す +:直前の文字を1回以上繰り返す {n}:直前の文字やグループをn回繰り返す {n,m}:直前の文字やグループをn回以上m回以下繰り返す {n,}:直前の文字やグループをn回以上繰り返す ():参照表示。カッコ内の文字列を$nで参照できる。 \s:空白、タブにマッチ \S:空白、タブを除く1文字にマッチ \t:タブにマッチ \d:半角数字にマッチ \D:半角数字以外にマッチ \w:半角英数とアンダースコアにマッチ \W:半角英数とアンダースコアを除く1文字にマッチ \n:改行コードにマッチ

2022-06-23 Thu ·     "Masahiro Hiramori"

正規表現でカッコの開き忘れを検出する

()の開き忘れを検出する正規表現の例 ^[^\(]+\) ^:行頭から [^\(]+:(以外の文字を検索 )を探す ネストしたカッコは検出できない Related link 正規表現チートシート

2022-06-23 Thu ·     "Masahiro Hiramori"

GitHub Actionsの効率的なデバッグ方法が分からない

GitHub ActionsのYAMLファイルをデバッグする際、 ①YAMLファイルを編集する ②commit&push ③GitHub Actions動く ④結果確認 ①に戻る の手順で試行錯誤しているが、③の完了に非常に時間がかかって困る。Dockerのコンテナビルドのような、変更部分移行を実行する、みたいな機能があればいいのに。

2022-06-15 Wed ·     "Masahiro Hiramori"

pyenvのPATHをFish shellで通す

~/.config/fish/config.fishに以下を記載する set -Ux PYENV_ROOT $HOME/.pyenv set -U fish_user_paths $PYENV_ROOT/bin $fish_user_paths status is-login; and pyenv init --path | source status is-interactive; and pyenv init - | source

2022-06-15 Wed ·     "Masahiro Hiramori"

2022 04 25 Learn Better

Learn Better ― 頭の使い方が変わり、学びが深まる6つのステップを読んだ。 半年ぐらい前にKindleの半額セールで購入して、やっと読み終わった。 学習という活動、特に習熟する価値のあるスキルを身に着けるための体系的なアプローチを、研究により裏付けつつ順に説明している。 他の本やウェブの記事で紹介されている、知識/スキルを効率的に身に着ける方法ってのは、結局のところ本書に書いてあることの言い換えなんだな、ということに気づいた。 学習のプロセス 価値を見いだす 目標を設定する 能力を伸ばす 発展させる 関連づける 再考する

2022-04-25 Mon ·     "Masahiro Hiramori"

Pull Requests created in 2021

検索式 is:pr is:public author:mshr-h -mshr-h created:2021 Search · is:pr is:public author:mshr-h -mshr-h created:2021 2021/02 Fixed minor misspelling by mshr-h · Pull Request #7499 · apache/tvm apache/tvmのtypoを修正。 2021/07 [Fix]Minor misspelling by mshr-h · Pull Request #8476 · apache/tvm apache/tvmのtypo修正。 2021/09 [CI][Caffe Frontend] Change the caffe deps into SSD distribution by mshr-h · Pull Request #9060 · apache/tvm apache/tvmのCaffeをCaffe-SSDに置き換えた。これは業務として取り組んだOSS貢献。 [Caffe Frontend] Add support for Permute layer by mshr-h · Pull Request #9157 · apache/tvm apache/tvmのCaffe frontendに対応レイヤ追加した。これも業務として取り組んだOSS貢献。...

2022-02-25 Fri ·     "Masahiro Hiramori"