numi.appというmac用アプリが面白い

mac

numi.appというmac向けのアプリが面白いです。 numi.app numi.appは高機能な電卓です。 面白い特徴は様々な単位換算が可能であることと、数字だけではなく文で書くことができることです。 例えば、$100 in yenと入力すると、¥ 10,567.41という計算結果を得る…

catkin profileが便利

catkin tools (catkinコマンド)を用いてソースコードをビルドする時に、ビルドオプションを変更したいことがあります。 たとえば、RelaseビルドとDebugビルドを切り替えたいときです。 このようなビルドオプションの切り替えには、catkin profileの機能が便…

find-name-diredから.gitディレクトリを除く

find-name-diredは, あるディレクトリ以下のファイルの文字列を一括で変換したりする際に、便利な関数です。 qiita.com www.gnu.org しかし, .gitディレクトリが候補に含まれてしまうと, 何かと不便なことが多いです。 以下のようにfind-name-argを変更する…

catkin toolsでcompile_commands.jsonを生成する

ROSのパッケージをビルドするときにcatkin tools (catkin_makeではなくてcatkinコマンド)を利用してcompile_commands.jsonを生成するために、シェル関数を~/.bashrcとか~/.zshrcに定義しておくと便利。 開発時は定期的に気が向いたら実行する。 compile_comm…

display-fill-column-indicator-modeを試す

display-fill-column-indicator-modeの使い方 display-fill-column-indicator-modeという, モードがemacs27から実装されている. これは, 指定した行に目印を表示して、横に長過ぎるコード・文章を書かないようにするminor modeだ. display-fill-column-indic…

vscodeのtabの挙動をemacsっぽくする

customize-indentation-rules visual studio codeのtabの挙動をemacsのようにしたい. そのために, 以下の2つのextensionを利用する. * vscode-emacs-indent * customize-indentation-rules emacsにおけるtabを押したときの挙動は以下のようなものだ. tabを押…

選択している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