ズンドコしたい (2)

こっちは入力を5つ区切りにして、それぞれが 00001 の並びになっているかどうかをチェックする。 (仕様はこちらが正しいらしい?) $ cat /dev/urandom \ | LANG=C tr -dc "01" \ | fold -w1 \ | paste -d' ' - - - - - \ | (perl -nle 'print; if ($_ eq "0 …

ズンドコしたい

sh

ストリーム上の 0 と 1 の並びを sed に取り込んで、00001 かどうかを DFA っぽく検査する。 $ cat /dev/urandom \ | LANG=C tr -dc "01" \ | fold -w1 \ | (sed -nf dfa.sed; echo 2) \ | perl -ple 'BEGIN { @table = qw/ズン ドコ キ・ヨ・シ!/; } s/(.)…

MySQL のコメント構文に対応する

MySQL は -- と /* */ だけじゃなくて # スタイルのコメントもサポートしている。 Emacs の sql-mode だと # スタイルはサポートしていないので、構文テーブルをどうにかする必要がある。 (add-hook 'sql-mode-hook 'mysql-comment-syntax) (defun mysql-com…

部分集合を作るあれ

こういうのもあり? シェル芸で部分集合を全通り求める方法(別解求む) – 上田ブログ bash-3.2$ echo {{a\,,}{b\,,}{c\,,}{d\,,}} | xargs -n1 | sed -e 's/,\}/}/g' {a,b,c,d} {a,b,c} {a,b,d} {a,b} {a,c,d} {a,c} {a,d} {a} {b,c,d} {b,c} {b,d} {b} {c,…

find -exec で bash を呼び出す

sh

内容までチェックするような、凝ったファイル検査をしたいときに、-exec 節を使いたい。 そういうときは bash の引数として _ と {} を渡せばよいようだ。 _ は $0 に埋め込ませるだけである。 $ touch empty.txt $ seq 10 > num1.txt $ seq 4 > num2.txt $ …

足し算

$ seq 1 10 | paste -sd+ - | bc 55

SVN 作業コピーのダイエットをした

プロジェクトの作業コピーの中にはもう使わないものも含まれている。 そういうファイルが何年も溜まってくると更新するだけでもディスク待ちが発生してしまう。 svn delete すればいいんだろうけど、プロジェクト的にはそういう感じでもないので、作業コピー…

最初のコミットを読む

コードを読むときに最初にやるべきなのは、タグファイルの作成じゃなくて最初のコミットを展開することかもなあと思っている。 git だったら git checkout $(git log --max-parents=0 --pretty='%h') である。 想定しているのは、とりあえず読んでみるかとい…

頭のふけが減った気がする

冬になるとふけが出るので悩んでいた。 完全に治ったわけではないものの最近減ってきた気がするので、試したことを4つ挙げておく。 コラージュフルフルを使うようになった。 外食を控えるようになった。 指の腹と関節のあたりを使って洗うようになった。力は…

helm-info で Gauche のリファレンスを読む

info からマニュアル見れるよということで下の設定を紹介していただいた。 紫ログ:Emacs上でGaucheのinfoを引く - livedoor Blog(ブログ) helm から引けるといいなあと思って sources を書き始めたら、そのまんま helm-info-gauche-refe というコマンドを…

eww で Gauche のリファレンスを読む

gauche-manual.el を入れて eww で読めるように設定した。取得は el-get 経由で、レシピをインラインで設定している。 gauche-manual-el - jump to gauche online manual - Google Project Hosting キーバインドを M-g に当てたのは、下の記事の影響。 #:g1:…

scheme-mode の Gauche 対応

Gauche のライブラリを読もうとしたら、正規表現リテラル内の | が悪さをしてるらしくハイライトがめちゃくちゃになっていた。gauche-mode というのがあるようだけど、Emacs が構文をどう扱うかを知りたかったので、自前でなんとかしてみることに。 modify-s…

Xorg が立ち上がった

nvidia のプロプラドライバを削除して、代わりに Nouveau をインストールしたらあっさり立ち上がった。

ledger で帳簿をつけるようになった

テキストで帳簿をつけられるってだけで気が楽になる。 Emacs から org-capture でつけるだけである。テンプレートは簡潔に以下のようにしている。 (use-package ledger-mode :mode '(("\\.ledger$" . ledger-mode))) (with-eval-after-load 'org (add-to-lis…

echo で -n を出力する

sh

$ /bin/echo -e '\x2d\x6e'

単語全体を選択する

thingopt.el が解決してくれそうだったんだけど、subword-mode とか superword-mode を使ってたりするとちょっとイマイチかなあと思ったので自前でなんとかすることに。 (defadvice mark-word (before mark-word-around activate) (beginning-of-thing 'word…

kill-whole-line

C-a C-k することが多いのなら、dd 相当を割り当てるほうがいいと思う。 (global-set-key (kbd "C-k") 'kill-whole-line)

PHP7 じゃなくても無名クラス

php

この場合は無名じゃなくて匿名のほうがあってるけど。

Emacs にも kindle みたいな辞書機能ができた

Mac とか kindle を使っていると、ポップアップで英和辞書が引けるので英文でもなんとか読める。Emacs でも似たようなことができないかなあと思っていたら、google-translate.el という素敵なパッケージを見つけたのでインストールした。 (el-get-bundle goo…

Macbook Air に Arch Linux をインストールした

インストール自体は Wiki を見ながらほぼ手順通りに行った。 しかし Xorg がうまく立ち上がらない。コンソールに逃げることもできなくて困っている。 あとは Caps Lock キーを Ctrl キーに割り当てた。 どうも USB キーボードとして認識されているらしく、sh…

Org-capture のキーバインドを変えた

C-c C-c でタグを打ちたいので、終了されるとちょっと困る。 (defun my-org-capture-mode-header () (setq-local 'header-line-format "Capture buffer. Finish `C-x C-s', refile `C-c C-w', abort `C-c C-k'.")) (with-eval-after-load 'org-capture (defi…

Emacs とコーディングシステム

cp932 なファイルを修正しなくてはならなくて、Emacs から保存したら UTF-8 になってしまった。 これでは困るので、腰を上げてコーディングシステムについて調べた。 以下のとおりに理解した。 Emacs は指定した言語環境について、いくつかのコーディングシ…

ミニバッファでも C-h したい

ミニバッファで C-h するとつっかえるのが嫌だったので修正した。 (defun minibuffer-delete-backward-char () (local-set-key (kbd "C-h") 'delete-backward-char)) (add-hook 'minibuffer-setup-hook 'minibuffer-delete-backward-char) (define-key isear…

Org-mode で日誌をタイムライン化した

org-mode の info で紹介されているテンプレートが気に入らなくて調整中である。 orgmode.org テンプレート中に %T を置いたら、メモが org-agenda でタイムライン化した。twitter みたいでちょっとおもしろい。twitter はもうやめたんだけど。 ; 日付ごとに…

org-mode の曜日入力

Mac からだと Mon とか Tue 、Windows だと 月 火 みたいに一貫しなくて困る。 時刻文字列は format-time-string 関数から取ってくるので、system-time-locale を固定すればよさそうである。 (defun org-mode-time-locale () (set (make-local-variable 'sys…

.projectile の exclude と include

Projectile の indexing が我慢できないくらいに遅かったので調べた。 プロジェクトトップに .projectile ファイルを置いておくと、キャッシュ対象のパスを選択できる。 +/foo +/bar -/baz -/foo/baz/ とすると、ディレクトリ foo と bar はキャッシュ (と g…

init.el の括弧チェック

init.el 内の括弧が間違ってることが多々あるので、 保存前にチェックするようなフックを書いた。 (defun el-before-save () (when (derived-mode-p 'emacs-lisp-mode) (check-parens))) (add-hook 'write-file-hooks 'el-before-save)

手ぬぐいを買った

バスタオルを洗うのが面倒になってきたので、代わりに手ぬぐいを使ってみようと思って買ってきた。 結果から言えば成功で、もうタオルいらないなとさえ思った。 風呂の後からだ全体を拭くために何度か絞る必要はあるがたいした手間じゃない。 使い終わったら…

草履を買った

普段から裸足にクロックスを履いて過ごしているんだけど、雨の日に滑りやすいのと足がくさくなるのが嫌になってきたので草履を買ってみた。 ただ底が革だったのでちょっと雨の日は履けないかもしれない。 「アメ底」というタイプだと雨の日でも履けるそうで…

Projectile で日本語ファイルも表示できるようにした

Windows 上の Projectile でファイルを検索するとき、ファイル名が日本語で書かれていると文字コードが合わなくてうまく表示できない。ファイル名は cp932 でエンコードされているので 、うまいこと cp932 として読み込ませるようなアドバイスを書いた。 た…