Humanity

Edit the world by your favorite way

ズボラのための Slack リマインド術

最近は簡単な TODO 管理(すぐやる事)とかに Google カレンダーじゃなく Slack のリマインド機能を使う事にしてる。 理由はいくつかあって いつも見てるから気付きやすい(重要) スヌーズで簡単にまたリマインドする時刻を後にズラせるの便利(ズボラ) で…

macOS のターミナルエミュレーター環境放浪記

ぶっちゃけ vim の :terminal から色々起動したりしてるのでターミナルエミュレーターに求めるものはあんまりないのだけど、 タブが使えること (いちおう) (2019/9/19 15:20 追記) Alacritty はタブ使えません 速いこと ということでおそらく最速らしい Alac…

Vim の :terminal で動かしているシェルで cd したら Vim のカレントディレクトリも変えるプラグイン

github.com Vim の :terminal で動かしているシェルで cd したら、 Vim のカレントディレクトリも同じパスに :cd するプラグインを作りました。 セットアップ .bashrc / .zshrc に以下を追加してください。 source (sync-term-cwd.vim のリポジトリ)/macros/…

macOS Mojave で Vim のソースコード (C 言語) のデバッグをする (clang, lldb)

C Vim

もし lldb でも良いならそっちを使ったほうが良いです.leak detector は LLVM の msan とか使ってるのが最近は多い気がします— ドッグ (@Linda_pp) July 3, 2019 src/Makefile の CC, CFLAGS を変更 diff --git a/src/Makefile b/src/Makefile index 9c4a42…

macOS に Homebrew から phpMyAdmin をインストール

インストール $ brew install phpmyadmin Apache の設定変更 $ sudo vim /etc/apache2/httpd.conf して #LoadModule php7_module libexec/apache2/libphp7.so のコメントを外します。 LoadModule php7_module libexec/apache2/libphp7.so 次に brew install …

macOS で Vim をソースコードからインストールする備忘録 (with LuaJIT)

--enable-lua しなければソースコードからもスルっと入ったけど +lua 付きがほしかった *1 ので。 ソースコードからインストールする ここら辺見て関連しそうなもの入れた。 余計なもの入ってたらすいません。 あと gpm 入れて再ビルドしてみたけど -mouse_g…

カーソル下のコンパイルエラーを popup するだけの Vim プラグインを作った

github.com なにこれ quickfix, location list のカーソル下の情報を popup するだけの Vim プラグインを作りました。 例えば入れるだけで :make したり (ALE とか quickfix / location list を勝手に update してくれるプラグインが入っている場合は) :w す…

YouTube 動画ページからサムネイル画像の URL に飛ぶ Chrome 拡張・ブックマークレット

YouTube の動画を見ていてふとコメント欄に「サムネwwwww」の様なコメントを見つけてサムネを見返したいと思った事はありませんか? 僕は思ったのですぐさまブックマークレットを作り、暇だったのでやっつけで Chrome 拡張も作り、アイコン等の素材探し…

Vim で無名バッファを復元する方法

Vim

TL;DR スワップファイルを残したディレクトリに :cd して、 (:new 等で)無名バッファを開き、 :recover を実行する。 説明 デフォルトだと Vim はそのファイルを開いた時点に復元するかどうかのダイアログを表示すると思います。 というか自分はスワップフ…

Google Apps Script で Gmail の添付ファイルを自動で Google Drive に保存

そういえばこんなもの作ってたので、備忘録がてらブログにも書きます(2ヵ月近く経ってますが…)。 GAS で Gmail の添付ファイルを Google Drive に保存するやつできた。まとめてダウンロードできるので大分楽になった https://t.co/WCPSymK3yA— tyru (@_tyr…

BSD cp だと source のパスの末尾に "/" が付いていると中身をコピーする

どういう事かというと うおぉぉ… cp の -R オプションって BSD 版だと source directory path が / で終わるとその中身を destination directory にだばぁするのか。rsync 的な挙動。GNU 版は末尾が / でもそうでなくても関係ない。なんか今まで作ったシェル…

Vim のレジスタに :terminal のシェル上からアクセスする

Vim その2 Advent Calendar 2018 の記事です。 Advent Calendar 4日目で mattn さんが紹介してくれていた Tapi について、 ちょうど Tapi を使ったプラグインを作っていたので紹介したいと思います。 実際にこんな事ができるという例としてもシンプルで分か…

CDDB に初めて登録したけどジャンル欄が文字化けてしまうので助けてほしい

CDDB は CD 入れると取得できるアレ。 自分はここのを使わせてもらってる。 https://freedbtest.dyndns.org/ 設定はこの通りにしてある。 cdex の設定 そして送る時はここを参考にした。 TIPS集みたいな 登録したやつはこれ。 DIVERSE DIRECT | La Kasketia …

端末アプリで Ctrl-[ が Esc になる理由

理由 SHIFT キーはキーコードを -0x20、CTRL キーはキーコードを -0x40 する機能 全文 vim-jp.slack.com の #random から。 heavenshell [10:08 AM] TouchBar MBP にしたら強制的に C-[ になるので、オススメです!ようやく矯正できた。 mattn [10:09 AM] 人…

コマンドラインで動くリンク切れチェッカー

ちょっと前 Twitter で教えてもらったのでブログに書いてみる。 wget crawler linkchecker gem i rawlerpip install linkcheckerとかどうでしょう。— syui (@syui__) September 16, 2018 wgetでも出来そうなんですけど、tyruさんの目的には合わないでしょう…

Vim の端末ウィンドウから別のウィンドウに移る時にコマンドを実行中にしておく

Vim

tyru.hatenablog.com を書いた後 vimrc を整理していたら書きかけの設定があったのでこれも公開。 autocmd vimrc の vimrc は適当に変えてください(分からない人はそのままでもいいです)。 " Enter Terminal-Job mode when leaving terminal window autocm…

Vim で端末ウィンドウを複製する

Vim

Vim で端末ウィンドウを使ってるとスクロールされた出力を見たくなる時があると思います。 ただシェルでコマンド実行中なので、 <C-w>N すると出力も止まってしまう。なるべくなら出力を止めたくないと思います(たぶん)。 そういう時は以下を vimrc に貼り付け</c-w>…

しばらく Prolog やってみた感想

ここ最近 Prolog を書いていて、「Prolog はどうせ遅いし Prolog の良さはそこじゃない」がやっと体感的に分かってきた気がします。 ぶっちゃけPrologはどうせ遅いしPrologの良さはそこじゃないPrologの良さは簡単に書けることだ。高階な述語は使うのやめた…

Let's Encrypt の証明書の有効期限をチェックする Cron 用シェルスクリプト

まぁ certbot-auto renew を定期的に実行すればいいんですが、チェックだけしたいって場合のスクリプト。 Cron で毎日実行する事を想定してます。 追記:切れる前メール通知来るの知りませんでした… 具体例 REPORT_DAYS_AGO はデフォルトで 14 が指定されて…

certbot-auto で ImportError: No module named cryptography.hazmat.bindings.openssl.binding

wget https://dl.eff.org/certbot-auto とかしてダウンロードした certbot-auto スクリプトを実行しようとすると、 ImportError: No module named cryptography.hazmat.bindings.openssl.binding のようなエラーが出る時がある。 詳細なエラー $ ./certbot-a…

Prolog に関するメモ

REPL でも述語を定義する方法 stackoverflow.com ['user'] で REPL でも述語が定義できる。 | ?- ['user']. woman(mia). ^D 部分適用 Prolog で部分適用。 ?- ['user']. add(X, Y, X+Y). |: true. ?- add(1, 2, R). R = 1+2. ?- call(add, 1, 2, R). R = 1+2…

quickrun.vim でバッファの Prolog コードを実行できるようにした

そういう Pull Request を送ってマージされました。 github.com 述語が多くなってくると REPL で確認するのも面倒になってくるかと思いますが、 そういう時はおもむろに新しいバッファを作って :setf prolog して :QuickRun すると実行した結果が別バッファ…

Windows Subsystem Linux で動かしてる端末版 Vim のバッファの内容をクリップボードにコピーしたい

ので書いた。 さっと書いた雑クオリティなので GitHub - kana/vim-fakeclip: Vim plugin: Provide pseudo "clipboard" registers 使うのが良いんだと思います。 help ちらっと見たら WSL にも対応してるっぽいので、OS 間で統一して扱いたいとかいう人はそち…

Prolog でツリー構造を扱うライブラリ

Prolog 手習いに作ってみた。 使い方はコメントとかテストコードから察してください。 Prolog 初心者なので添削してくれると嬉しいです。 SWI-Prolog (in WSL) で確認しています。 Item++Children みたいな感じでツリー構造を作っていきます。 Item は任意の…

SVG のパス文字列の t (0 <= t <= 1) 時点での座標と角度を求めたい

Snap.svg 見てみたら直線や曲線を三次ベジェ曲線に変換する Snap.path.toCubic() という関数があり、さらに Snap.path.findDotsAtSegment() という t 時点での XY 座標、角度なんかを含んだ情報を求められる関数があった。Snap.svg すごい。 https://t.co/Wc…

Promise のコンストラクタに渡した async function 内で throw しても rejected な Promise は作られない(常に fulfilled になる)

何を当たり前のことをと思うかもしれませんが、勘違いしてたので恥を晒しておきます。 こんな使い方する人いるのか "no-async-promise-executor - Rules - ESLint - Pluggable JavaScript linter" https://t.co/BJy6aqMYQ0— azu (@azu_re) 2018年8月4日 cons…

CSS3 アニメーションで猿 (3)

過去記事はこちらからどうぞ。 トップの Vim アイコンをホバーして「Click Me!」をクリックでもいけます。 猿って何? まず何のことを言ってるのか分からないと思うので、 過去記事を見てもらうか、この動画で概要を把握できます。 CSS3 アニメーションで猿 …

RTF (Rich Text Format) ファイルの PHP パーサーライブラリと、中身のテキストを抽出する CLI フロントエンドプログラム作った

PHP

github.com 作りました。 README の通りまだ RTF ファイルを解析してテキスト化する機能しか持ってません (extract-text-from-rtf.php スクリプトを見て下さい)。 特徴 まだ機能が無さすぎて特にないのですが、あえて言うなら日本語に限らず、任意のコードペ…

目玉を光らせるアニメーション GIF を作る Pull Request を送った

github.com 今更だけどタイトル通りの pull request を送った。 目を光らせたい人は→ Medama Cherenkov Maker きっかけとしてはブログを愛成会病院の旧サイトっぽくしたくて手始めにアイコンの目を光らせようと思った所で ふと @anekos さんのこの記事を見て…

Windows で XAMPP の複数バージョンを使い分ける

PHP

インストーラー版ではなく xampp-win32-1.8.3-5-VC11.zip などのzipまたは7z版をダウンロードする パスは C:\xampp に (ジャンクション、シンボリックリンクでもいいので) ベースディレクトリがないと動かない そのため切り替えたい時は mklink /j C:\xampp …