2019-01-01から1年間の記事一覧

11月に読んだ本やマンガ

11月の読書メーター読んだ本の数:51読んだページ数:6025ナイス数:1日本人のための軍事学 (角川新書)読了日:11月05日 著者:橋爪 大三郎,折木 良一ATRAIL ‐ニセカヰ的日常と殲滅エレメント‐(1) (カドカワコミックス・エース)読了日:11月05日 著者:樋口 …

10月に読んだ本やマンガ

10月の読書メーター読んだ本の数:49読んだページ数:5795ナイス数:1銀河英雄伝説 7 (ヤングジャンプコミックス)読了日:10月01日 著者:藤崎 竜銀河英雄伝説 8 (ヤングジャンプコミックス)読了日:10月01日 著者:藤崎 竜銀河英雄伝説 9 (ヤングジャンプコ…

お家サーバとして使っているラズパイ(Raspberry PI 3B+)が壊れたようだ。 Wi-Fiがアップしなくなったと思っていろいろ再起動や電源再投入を繰り返したら、有線LANもつながらなくなった。 まさかSDカードよりも先に本体が壊れるとは。 と思ったら、きちんと電…

次期家PC

Surface Pro 7を買ってセットアップを終えて使っているが非常に調子が良い。 結局、家だけでなく持ち運んでどこでも使っている。Surface Goはどうしたもんかな。

9月に読んだ本やマンガ

9月の読書メーター読んだ本の数:74読んだページ数:12822ナイス数:2麺の科学 粉が生み出す豊かな食感・香り・うまみ (ブルーバックス)読了日:09月03日 著者:山田 昌治天体戦士サンレッドN読了日:09月05日 著者:くぼた まことお兄ちゃんはおしまい! (2)…

次期家PC

Surface Pro 7を予約してしまった。

スペルチェッカーはやっぱり必要だと思った

Githubのコミットログにスペルミスがあると(というかしばしばあったのだが)恥ずかしいので、Emacsにスペルチェッカーを導入した。 もっと早く導入すればよかった。

右AltキーをCtrlに変更する

ノートパソコンのキーボードだとCtrlキーが左手側だけのことが多いので、Emacsを使っていると左手の小指に負荷がかかる。 右手側にCtrlキーがあれば両手で負荷が分散できる。 大抵のノートパソコンには右Altキーがあるので、Emacsで右Altキーを右Ctrlキーと…

8月に読んだ本やマンガ

8月の読書メーター読んだ本の数:60読んだページ数:10138ナイス数:1超人ロック エピタフ (1) (MFコミックス フラッパーシリーズ)読了日:08月04日 著者:聖 悠紀超人ロック エピタフ (2) (MFコミックス フラッパーシリーズ)読了日:08月04日 著者:聖 悠紀…

RubyのRegexp.last_matchのスコープ

ちょっとハマったのでメモ。 Rubyでは正規表現を一致させた結果をRegexp.last_matchや$~などで取得する。 リファレンスマニュアルでは次のように説明されている。 カレントスコープで最後に行った正規表現マッチのMatchDataオ ブジェクトを返します。 このカ…

次期家PC

DELLのnew XPS13 2 in 1に少し期待していたが、盆休み前に表参道のDELL Design Laboに実機を見に行ったところ、MagLevキーボードが思ったより打鍵感がペコペコで期待外れだった。持ち運びを考えなければSurface Bookが良さそうだが、今年は新機種が出るのか…

ivy/counselの設定

いろいろ試行錯誤して次の設定に落ち着いた。 ivy 基本設定 (require 'ivy) (ivy-mode 1) (setq ivy-height 30) (setq ivy-use-virtual-buffers t) helmのように正規表現を順不同にする (setq ivy-re-builders-alist '((t . ivy--regex-ignore-order))) デフ…

7月に読んだ本やマンガ

7月の読書メーター読んだ本の数:34読んだページ数:6928ナイス数:1プラネット・ウィズ 3 (3巻) (ヤングキングコミックス)読了日:07月31日 著者:水上 悟志データ指向アプリケーションデザイン ―信頼性、拡張性、保守性の高い分散システム設計の原理読了日…

Emacsの補完機能をHelmからIvyへ移行

バズってたQiitaの記事を参考に、HelmからIvyに移行してみた。 qiita.com 自分が加えた変更は次のとおり。 counsel-M-xの絞り込み開始後のソーティング方法を辞書順に 長さでソートした後、さらに辞書順でソートするようにした。 (defun ivy--sort-by-len (n…

AnsibleのFilter

Jinja2の公式マニュアルだと物足りないなと思ったら、Ansibleは追加のFilterを持っているようだ。 regex_escapeのように地味に便利そうなFilterも使えるようだ。 docs.ansible.com

Rubyスクリプトでパスワード入力

io/consoleをrquireしてからIO#getpassを使う。 $ ri IO#getpass = IO#getpass (from ruby core) ------------------------------------------------------------------------ io.getpass(prompt=nil) -> string ------------------------------------------…

Rubyの文字列検索いろいろ

単純な文字列検索ならString#include?が速い。 正規表現なら余分なMatchDataを生成しないRegexp#match?が速い。 MatchDataが生成されると遅くなる。 String#~は何らかの最適化が入っているようで、検索後にMatchDataにアクセスしなければRegexp#match?の次に…

5月に読んだ本やマンガ

5月の読書メーター読んだ本の数:51読んだページ数:9700ナイス数:3スライム倒して300年、知らないうちにレベルMAXになってました(4) (ガンガンコミックスONLINE)読了日:05月02日 著者:森田 季節,シバユウスケきっと愛され女子になる!(2) (まんがタイ…

4月に読んだ本やマンガ

4月の読書メーター読んだ本の数:19読んだページ数:2728ナイス数:0うわばみ乙女ずかん 1 (ヤングアニマルコミックス)読了日:04月01日 著者:後藤羽矢子雀荘のサエコさん 4 (近代麻雀コミックス)読了日:04月01日 著者:重野 なおきまほろばきっさ 1 (バン…

MMCXケーブル購入

LDAC対応Bluetoothレシーバで使っていたイヤホンのケーブルが断線したので、新しくリケーブル用のケーブルを購入した。 こんなこともあろうかとMMCX対応のイヤホンにしていたのだった。 https://www.amazon.co.jp/オヤイデ-HPC-26T-MMCX用-イヤホンケーブル-…

AnsibleでDocker APIにアクセスするときのTLSバージョンを指定する

環境変数DOCKER_SSL_VERSIONで設定する。 export DOCKER_SSL_VERSION=TLSv1_2 設定値はPythonのssl.PROTOCOL_...に対応している。以下の設定値が使えるようだ。 ssl.PROTOCOL_TLSv1 ssl.PROTOCOL_TLSv1_1 ssl.PROTOCOL_TLSv1_2

折りたたみロードバイクReach R20

フルサイズのロードバイクやマウンテンバイクの輪行がつらくなってきたので、折りたたみロードバイクのPacific Cycles Reach R20を注文してしまった。 いかにも走りそうな形状。ディスクブレーキ対応。ロードバイクのディスクブレーキのデファクトが固まる前…

DRbでプロセスをまたがった大域脱出ができるか確認した

結論としてはできなかった。 Rubyのバージョン: $ ruby -v ruby 2.6.2p47 (2019-03-13 revision 67232) [x86_64-linux] 確認用のコード: require 'drb/drb' require 'drb/unix' require 'logger' stdlog = Logger.new(STDOUT) module Jump def ping yield('p…

3月に読んだ本やマンガ

3月の読書メーター読んだ本の数:24読んだページ数:4193ナイス数:0天竺熱風録 5 (ヤングアニマルコミックス)読了日:03月01日 著者:伊藤勢明治撃剣会 (文春文庫)読了日:03月01日 著者:津本 陽NHK「100分de名著」ブックス 孔子 論語読了日:03月03日 著…

2月に読んだ本やマンガ

2月の読書メーター読んだ本の数:15読んだページ数:2699ナイス数:0法華経 2018年4月 (100分 de 名著)読了日:02月03日 著者:エイジ’87 1 (1巻) (ヤングキングコミックス)読了日:02月03日 著者:上山 道郎武の心 (文春文庫)読了日:02月07日 著者:津本 …

RubyのRefinementでモジュールincludeやalias定義はどうなるか

確認してみた結果、refineでincludeしたモジュールのメソッドや定義したエイリアスは、refinementをusingしたときだけ有効になった。 refineでincludeしたモジュールはusingしても見えないがメソッドは有効になるようだ。 確認コード: module IncludeMethod …

Gitでコミットのdiffを検索する

Git

よく忘れるのでメモ。 git log -G<regex>を使う。 git-log -G<regex> Look for differences whose patch text contains added/removed lines that match <regex>.</regex></regex></regex>

Emacs-Lispのリスト用関数

よく知られたmapcar以外にもリスト操作のための関数がないか探したら、seq-系の関数が該当するようだ。 www.gnu.org (seq-elt sequence index) (seq-length sequence) (seqp sequence) (seq-drop sequence n) (seq-take sequence n) (seq-take-while predica…

RubyのRefinementされたメソッドの性能

通常のメソッドと比べて性能に差があるのかどうか比べてみた。 require 'benchmark' class Integer def to_comma to_s.reverse.scan(/\d\d?\d?/).join(',').reverse end end def method_no_args end module RefineMethod refine Object do def refine_method…

Rubyのaccept_nonblock(exception: false)

Rubyのサーバーソケットのaccept_nonblockは、IOのread_nonblockと同様にexception: falseでIO::WaitReadableを投げないようにできる。 例外を投げる場合と投げない場合で、どれくらい差があるものなのか実験してみた。 require 'benchmark' require 'socket…