選択しているbufferに応じてneotreeのディレクトリを移動させる

emacsでbufferを選択するたびにneotreeのディレクトリがそれに応じて変わると便利なのではないかと思い, 設定してみた. bufferの選択に応じて呼び出されるhookは存在しないらしいので, switch-buffer-functionsを利用する (use-package switch-buffer-functi…

macでimagemagickとcocoaが有効になったemacsを使う

結論から言うと, emacs-plusを使うと良い macでemacsをcocoa上で動かしたい時, homebrewではbrew cask install emacsのようにインストールする. しかしこれだとimagemagickが有効になっていない. imagemagickが有効化は以下のコマンドで調べられる. (image-t…

emojifyを使ってemacsで絵文字を表示する😺

emacsで絵文字を表示するにはemacs-emojifyを入れると良い. use-packageを使って, こんな感じで設定 (use-package emojify :ensure t :if (display-graphic-p) :hook (after-init . global-emojify-mode) :bind ("C-x e" . 'emojify-insert-emoji) ) 絵文字…

emacsからcatkin buildを走らせる

emacs編集中に, ターミナルに移動することなくcatkin buildを走らせられると便利. (defun ros-catkin-make (dir) "Run catkin_make command in DIR." (interactive (list default-directory)) ;; clear compilation buffer first not to occupy memory space…

emacs-slackでShift+Enter, Ctrl+Enterをメッセージ内改行にする

emacs-slack内ではEnterでメッセージ送信がされるので、メッセージ内で改行するときにwebのインターフェイスなどと同様にShift+Enter, Ctrl+Enterでメッセージ内改行するようにしたい. ;; use Shift+Enter and Ctrl+Enter as newline (define-key slack-mode…

keyboard macroの最中はhelmを使わない

個人的にC-sでの検索に通常のisearch-forwardではなく, helm-swoopを利用している. しかしこうすると, keyboard macroを入力している間にhelmが走り、これがどうやら後ほどkeyboard macroを再生するときに問題があるようだ. keyboard macroを記録中かどうか…

emacs 26で入ったdisplay-line-numbersを利用する

emacsで左側に行数を表示するlinum-modeは重いことで有名だった。 軽くするためにはいろいろと設定しなくてはいけなかった. しかし, emacs26でついに行数表示のネイティブ実装であるdiplay-line-numbers-modeが実装された. (if (version<= "26.0.50" emacs-v…

web-modeでeslintをflycheck経由で使う

flycheck-add-modeで設定する (flycheck-add-mode 'javascript-eslint 'web-mode) eslintの設定で, eslint-plugin-htmlが必要なので、その設定を忘れないようにする. module.exports = { ... "plugins": [ "html", ], ... }

helmを立ち上げたときにhelm-source-ls-gitを強制的に更新させる

helm-ls-gitはgitで管理されているファイルをhelmの候補に加えてくれるとても便利なパッケージ. これをhelm-miniなどを立ち上げたときにも使うようにしたいのだが、helm-source-ls-gitをhelm-mini-default-sourcesに加えるだけでは不十分だった。自分でhelm-…

typescriptでthree.jsのexamplesにあるTrackballControlsなどを使う

imports-loaderとexports-loaderというパッケージを利用すると良いらしい。 npm install --save imports-loader exports-loader TrackballControlsを使うには下のようにする. const THREE = require('three'); THREE.TrackballControls = require('imports-l…

el-getで導入したパッケージをまとめて更新する

el-get はパッケージ管理のためのelisp. 一度インストールした後に更新したいときは M-x el-get-update-allを実行するとよい.

Sherrie Silverさんのダンスが素晴らしい

Sherrie Silverさんのダンスがかっこよくてとても素晴らしい. www.youtube.com Sherrie Silverさんは最近大変話題になっているChildish GambinoのThis is Americaの振付師だ. www.youtube.com 長文インタビューがPigions and Planesに出ているので、必読 pig…

KYLEの新曲ikuyoが日本語フィーチャー

KYLEの新曲ikuyo feat. 2 Chainz & Sophia Blackで日本語が大きくフィーチャーされていた. 日本語でhookを歌っているのはSophia Blackさん. 彼女はLA生まれでフランス語のインターナショナルスクールに通って, 日本人の母から日本語を学んだというトリリンガ…

helm-ls-gitでmagitをバックエンドに利用する

helm-ls-gitを使うと, helmの一覧にgitで管理されてるファイル一覧が列挙されて便利. しかしデフォルトでvc-dirが利用されているためかうまく動かなかった. これをmagitを使うように設定したら意図通り動くにようなった. (require 'helm-ls-git) (setq helm-…

lil

海外のラッパーで"lil"という名前をよく見かけるけれども(Lil PumpとかLil UziとかLil Yachtyとか)、どうやら"little"という意味らしい. www.urbandictionary.com

Chance the Rapperの南アフリカでのライブ

4月30日に南アフリカ, ヨハネスブルグでChance the Rapperのライブが行われた。これが大成功に終わったようだ. www.huffingtonpost.co.za ライブが終わって帰宅するお客さんたちがChanceの曲を皆で歌いながら帰っている動画がいくつも上がっている. とても感…

渡辺志保さんのケンドリック・ラマーのピューリッツァー賞受賞の話がとても良かった

ライムスターの宇多丸氏のラジオにHipHopライターの渡辺志保さんが出ていた. ケンドリック・ラマーのピューリッツァー賞受賞やビヨンセのコーチェラについて語っていたのが、最近のHipHop界隈の話題をうまく俯瞰できていてためになった. 音源はこちら radioc…

slackのchannnel idを名前に変換する

slackのメッセージにはchannelのidが入っているが、名前にはなっていない. 名前に変換するにはchannels.infoを使う必要がありそう. 以下はtypescriptを利用したサンプル. ライブラリには slack-node-sdkを利用 import { WebClient, WebAPICallResult, RTMCli…

emacsでカーソルの行番号を取得する

line-number-at-posを使えば良い (line-number-at-pos (point))

pythonでjsonのutf8の文字をescapeしない

pythonでdictオブジェクトを文字列に変換すると、utf8の文字がエスケープされてしまう. 'hoge: %s' % json.dumps({'text': 'ほげ'}) => 'hoge: {"text": "\\u307b\\u3052"}' これをエスケープしないようにするにはensure_ascii=Falseにすれば良い. 'hoge: %s…

micropythonのusocketで大きなファイルをHTTP越しに読む

micropythonを動かす環境はm5stackといったメモリが貧弱であることが多く, 普段は気にならないサイズでもMemory Allocation Errorが発生して読み込めないことがある. micropythonのurequestsパッケージは便利だけど、データを逐次的に読み出すインタフェイス…

新iPad(2018年モデル)でApple Pencilをつけられるカバー

新iPad (2018年モデル)を購入したので、Apple Pencilをつけられるカバーということで以下のものを購入して利用している. https://www.amazon.co.jp/gp/product/B07C4RZMS9 Apple Pencilもしっかり収納できて良い感じ. 少し重いのと、Apple Pencilを立てる穴…

javascript版jupyterのようなobservable

beta.observablehq.com observableはjavascript版のjupyterのようなサービス. d3.jsを利用した美しい可視化が特徴的. どうやら今年の1月31日にサービスインしたらしい. Hello, world! Announcing Observable notebooks: a better way to code, discover, an…

Everlaneの海外配送が無料になってる

Everlaneの通販で$150以上頼むと日本でも送料無料になるらしい。 締切は4/30. できれば日本でもサービスインしてほしいなぁ. ユニクロとバッティングするから難しいのかな? www.everlane.com

emacsでカーソル位置の単語をispellの辞書に追加する

emacsでカーソル位置の単語をispellの辞書に追加するelispコード (require 'thingatpt) (defun add-word-to-ispell-dictionary () "Add word to dictionary file for ispell." (interactive) (let ((user-dictionary-file (expand-file-name "~/.aspell.en.p…

emacsでカーソル位置の数字を上下させる

emacsでカーソル位置の数字を上下させるemacs lispコード. どこかから拾ってきたのかもしれないもの. 意外と便利. (defun increment-number-at-point () "Increase number at current cursor." (interactive) (skip-chars-backward "0123456789") (or (looki…

ambie + TT-BR06が悪くない

ambieは耳をふさがないイヤホンということで周囲の音が聞きやすいということを売りに出されているイヤホンだ. ambie.co.jp もともとはイヤホンジャックを備えている有線イヤホンとして販売されていた. ambie.co.jp 先日Bluetoothによって無線化された新製品…

micropythonでm5stackをwifiにつなげる

m5stackでmicropythonを使ってwifiを利用するときは, wifisetupを利用すれば簡単に実装できる. import wifisetup ただ、再接続などを実現するためにどうしても自前で実装したかったので試してみた. from m5stack import lcd import utime import network def…

helm-miniのデフォルト値にカーソルのシンボルが渡ってしまう

helm-miniをC-x bに割り振ってバッファ選択に使っているのだが、現在のカーソルがある位置のシンボル(いわゆるthing-at-point)がデフォルトで渡ってしまい、バッファの選択に不自由していた. どうやら, helm関数の:defaultキーワードを与えないと、thing-at-…

emacsでmarkdown-modeのinline code blockに色を付ける

code blockのフォントを変えないようにしたのは良いけど 、色も変わらなくなってしまった。 これはみにくいので色を設定するようにする. (set-face-attribute 'markdown-code-face nil :inherit 'default) (set-face-attribute 'markdown-inline-code-face n…