@peccul is peccu

(love peccu '(emacs lisp cat outdoor bicycle mac linux coffee))

フェッチ済みリモートのすべてのブランチを別のリモートにプッシュする

アクセスできないリモートリポジトリをクローンしたディレクトリを受領し、アクセスできるリポジトリにミラーリングするような状況。

postgresのDockerコンテナでソート順をバイトオーダーにする

postgresでvarcharのソート順が文字列ソートじゃなくて数値ソートみたいになっていた。 collate "C" をorder句に追加すればバイトオーダーでソートしてくれ、意図した順にソートされた。 postgres=# select name from test order by name; name ------ あ い…

Emacs Lispで昨日の日付文字列を得る

昨日の日付文字列を得る (format-time-string "%Y-%m-%d" (time-add (current-time) (* -60 60 24))) ;; => 2018-05-07

MewでGmailにログインできないと思ったらstunnelが古かった

久しぶりにMewからGmailを使おうとしたら、正しいパスワードを入力しても IMAP Password is wrong! と怒られた。

SPAの画面遷移をGoogleAnalyticsで記録する (簡易版)

GoogleAnalyticsはデフォルトではページ遷移してくれないとページビューを記録してくれない。 URLが変わったり、ハッシュが変わった時はそれを通知してあげる必要がある。

ブラウザのタブを閉じようとした時にユーザーに確認を促す

beforeunload イベントをいじればよいようです。

BitBarにorg-clockの現在のタスクを表示する

今なにをしているか、Emacsの外でも確認するためにemacsclientからタスク名を取り出して、BitBarに表示するようにしました。

XMLにVue.jsのテンプレートを書くとParseErrorになるのを回避する

Vue.jsでHTMLの属性にオブジェクトや変数の値を割り当てる際に、v-bindというものを使います。 <div v-bind:class="{red: isWarn}">警告なら赤い</div>

Android Studioから無線でデバッグする

adbコマンドを使うとPC-Android間を無線で接続した状態でデバッグできます。 MacBook AirのようにUSBポートが枯渇しているときは便利ですね。 How to debug in Android Studio using adb over WiFi - Stack Overflow 有線で実施 cd ~/Library/Android/sdk/pl…

HDDをAPFSにフォーマットしたらMac OS拡張(Apple HFS)に戻せなくなって焦った

APFSはコンテナ管理のようなことをしているようで、コンテナ情報があるとAPFSから変更できない様子。 コンテナ(ボリューム)を消すとMac OS拡張に戻せる。

PDFをブックレット(中綴じ)で印刷する

TeXLiveを入れて、以下のコマンドで中綴じのPDFを生成できた。 TeXLiveがなければ、psutilsを入れると同じことができると推測される。 pdftops input.pdf - |psbook |psnup -2 |ps2pdf - booklet.pdf

JSを同時に読み込んだり、順に読み込んだり

ファイル毎に依存するコードを書いてしまって読み込み順をなんとかしたかった。 webpack使ったりする方が早いけども。

PowerShellのdockerコンテナでPowerShellスクリプトを実行する関数

PowerShellがLinux系で動くことを知りませんでした。 Dockerコンテナがあったので、ファイルを指定して実行できるような関数を定義しました。

Vue.js+VueRouterを使っているときに#idでページ内を移動する

vue routerを使っているとページを示すために #/route が利用されているので、aタグやrouter-linkでidへスクロールするリンクが作成できない。 (そのidに対応するページをvue routerが探してしまう) そこでvue routerの持つルーティング情報を監視してJSでス…

macの辞書を引くコマンドをswiftで書くと速かった

macの辞書をターミナルで引ければ楽で速いかなと思い調べたが、Dictionary.appが起動するものとPythonのスクリプトしか見当たらなかった。 しかもPythonのスクリプトはちょっともたつく。 中身はObjective-Cバインディングを使っているようなので、Swiftで書…

シンプルなリバースプロキシ

ローカルでnginxもapacheも動かしていない状況でリバースプロキシが必要になったのでNode.jsでシンプルに。

macのデスクトップアプリの標準出力と標準エラー出力をコンソールで確認できるアプリを作ってみた

macのデスクトップアプリ(Mountain Lionより新しいもの)ではfprintf(stdout, ...)やfprintf(stderr, ...)が捨てられているようで、これを確認する手段を調べた。

AWS LambdaでLINE Notifyを叩く

ググって出てくる記事ではパッケージのインストール(zipアップロード)が必要で、 ほんまかいな。という気持ちになったのでcurlでAPIを叩くコードにしました。

Install elasticsearch plugins and kibana plugins behind the proxy.

elasticsearch Set proxy configurations to env $ES_JAVA_OPTS like below. ex: installing x-pack ES_JAVA_OPTS="-Dhttp.proxyHost=proxy.example.com -Dhttp.proxyPort=8888 -Dhttps.proxyHost=proxy.example.com -Dhttps.proxyPort=8888" ./bin/elastics…

iOS11から標準カメラでQRCodeを読めるようになったのでみているページのURLをQRCodeで表示するブックマークレットを書いた

iOS11から標準カメラでQRCodeを読めるようになったのでwindow.location.hrefをQRCode表示するブックマークレットを書きました。 お気に入りのURLにコピペすればおそらく動きます。 Appleらしさあふれる作りですよね。QRCodeって選ばなくてもカメラに写ればQR…

標準入力の内容をチャットに投稿する2 (Node.js版)

peccu.hatenablog.com こんな記事を書きましたが、結局渡す内容によってcurlが実行できないことがあったのでNode.jsで書き直しました。 依存パッケージなしで書いてみました。 ただ、プロキシ越えは未実装です。。。

標準入力の内容をチャットに投稿する1 (bash, curl版)

長時間かかるコマンドの実行結果をチャットに通知したくなったので、スクリプトを書きました。 (コマンド実行後の定型文通知や引数に指定した文字列の通知はすでに利用していたが、結果を通知したくなった)

bashスクリプトでシグナルを受け取った時にどのシグナルだったかを知る

bashのシェルスクリプトがなぜか正常終了しない時に、シグナルが飛んできていないか確認したかった。

プロキシ環境下でdocker buildするときのコマンドオプション

プロキシ環境下でapt-get update等を含むDockerfileを docker build するときは --build-arg でプロキシの設定を渡す。 docker build --build-arg HTTP_PROXY=$HTTP_PROXY --build-arg http_proxy=$http_proxy --build-arg HTTPS_PROXY=$HTTPS_PROXY --build…

snake_case->PascalCase->camelCase->snake_case->...に変換するコマンド

id:IMAKADOさんの実装を参考に、以下を追加した。 リージョンだけでなくカーソルの置いているシンボル(thing-at-point)も変換対象とした snake_case<->PascalCaseだけでなくcamelCaseを加えて循環するようにした d.hatena.ne.jp

Slackのフィード一覧をOPMLファイルに書き出す

Feedlyでは読みきれないのでSlackでフィードを購読(/feed subscribe URL)すれば目について読めるのではないか。と思った私は甘かった。 結局フィードが増えて追いつけなくなったので feedreader に移行することにした。 流れ RSSの設定画面を開く https://*.…

Node.jsでメールを送る。mailコマンドやSMTPサーバー不要。

github.com npm i sendmail const sendmail = require('sendmail')(); sendmail({ from: 'from@example.com', to: 'to@exampl.com', subject: '件名も化けなかった', text: 'これは本文' }, function(err, reply) { console.log(err && err.stack); console.…

Emacsでウィンドウのフォーカスを移動するキーバインド

順方向を C-;、逆方向を S-C-;すなわちC-:にすると便利。

Common Lispで特定のパッケージを使っているものを探すなら「filetype:asd」をつける

redditで見かけたのですが、「filetype:asd パッケージ名」でググると、そのパッケージに依存しているものが引っかかることを知りました。 www.reddit.com 例えばwebsocket-driverを使っているものを検索するならこんな感じ filetype:asd websocket-driver -…

サムライトのEngine.IOサーバーを試す

深町さんがサムライトでEngine.IOサーバーを書いていたので試しに動かしてみた。 github.com ただ、そのままじゃClack(Lack)やwebsocket-driverの変更に追従していなかったので、forkして修正してみた。 github.com 果たして今さらプルリクエストを作成して…