履歴が育ってる環境でやるのが面白いかも。
extended_historyを設定している場合は、このワンライナーでは巧く行かないようですね。
$ cat ~/.zsh_history | awk '{print $1" "$2}' | sort | uniq -c | sort -nr | head -20 16 rm -i 16 git add 14 git di 13 sudo apt-get 13 git log 13 apt-cache search 12 vim -p 12 git submodule 11 ln -s 10 git ci 9 ll -th 8 rm -rf 8 apt-cache policy 7 git clone 7 git checkout 6 git diff 6 apt-get install 5 mkdir -p 5 git reset 5 chmod 644
オプションまで入れて並べたかったのでこんな感じに。
最近、alias vim="vim -p"でも良いような気がして来た。
2025年、NASAは日本人宇宙飛行士・南波ヒビトを含む、第1次月面長期滞在クルーのメンバーを発表。時を同じくして日本では、自動車の設計をしていた南波ムッタが会社をクビに。大きく異なった運命を歩んでいたふたりの兄弟。しかしそれぞれの未来が、幼少時代に交したある約束によって、動き出そうとしていた。
幼少時代、星空を眺めながら約束を交わした兄・六太と弟・日々人。2025年、弟は約束どおり宇宙飛行士となり、月面の第1次長期滞在クルーの一員となっていた。一方、会社をクビになり、無職の兄・六太。弟からの1通のメールで、兄は再び宇宙を目指しはじめる。
面白かったので一気に最新の16巻まで読んだ。少し未来のJAXAやNASAを舞台に宇宙飛行士やスタッフ、候補生の日常が描かれいて、登場する自動車も「あぁ15年くらい経つと、こんな感じかな」といったリアリティがある。
何と言ってもイヤな奴が全く登場しないところが良いね。関西弁のちっこい人や、主人公ムッタが頭突きを喰らわせた自動車メーカー時代の上司も、気が付けば良い人じゃんみたいになってて。
僕は自分が映画とかドラマを余り見ないのがどこかコンプレックスになってて、「メディア化作品!」と前面に出されてる作品を敬遠してしまいがちなのだけど、この作品はもっと早くに読めば良かったと後悔した。
社会人になって2年目とか3年目に読むと色んな影響を受けるんじゃないかな。組織の中でどう動けば周りとうまくやって行けるのかって点について、大変考えさせられるシーンが多かった。あと単純に、おっさんに片足突っ込んでないと通じないと思えるギャグがあちこちに登場するので。
原発事故後の記者会見で、東電・政府はどのように情報を隠し、深刻な事故を過小評価し、誤った説明を繰り返してきたのか。記者会見に出席し続けた二人の著者が、膨大な取材メモと新たな取材をもとに、正面から検証に挑む。また、マスメディアはなぜ“発表ジャーナリズム”に堕してしまったのか、そのあり方も問う。
図書館で見付け、興味を持ったので読んでみた。
福島第一原子力発電所事故の発生からの、原子力安全・保安院や東京電力発表の変遷と同時に、全国紙の表現も追いかけて「報道」がどう変化して行ったかを丁寧に纏めた本である。
いかにも理系出身の堅物といった印象でメルトダウンの可能性を示唆していた中村幸一郎審議官がスポークスマンの任を解かれ、(癖なんだろうけど)うすら笑いで応じる西山英彦審議官が代わって会見対応をしていたのは、震災と原発事故から1年、まだ記憶に新しいところだ。
その交代劇と時期を同じくして、朝日新聞や読売新聞の紙面からも「炉心溶解」といったキーワードがパタリと消えていたことは、この本を読んで初めて知った。
表紙のデザインから、いかにも陰謀論をまくし立てる論調を想像して読み始めたのだけど、どちらかと云うと「メルトダウン」や「シーベルト」といった用語の報道され方を時系列に沿って、淡々と拾っている内容だった。
事故当時に福島第一原子力発電所で所長を務めていた吉田さんの「死を覚悟した」といった言葉が表に出たのが2011-11になってからという点からも分かる通り、この1年間は文字通り混乱期にあったし、まだ現在進行形の出来事なのだなぁと思わせられる。
Vim環境のカイゼンを色々とやっている。
オープンソース系プロジェクトのコードを読むと、きちんとしているプロジェクトでは、必ず
といった特長が共通して見られる。
これらの慣習は見習った方が良いと考え、自分のVim環境をいじってみた。
前提として、カラースキーマはdesert256.vimを使っている。
16色環境には今さら戻れないので考慮していない。
cursorlineを有効にしてCursorLineとCursorColumnの色設定を変更している。
確かgVimのカラースキーマ「desert」に近付けようと試行錯誤してて、こうなったと記憶してる。
set cursorline set t_Co=256 colorscheme desert256 hi CursorColumn gui=NONE guifg=NONE guibg=Grey40 cterm=NONE ctermfg=NONE ctermbg=241 hi CursorLine gui=NONE guifg=NONE guibg=Grey40 cterm=NONE ctermfg=NONE ctermbg=241 hi Cursor guifg=Black guibg=Lavender cterm=reverse ctermfg=NONE ctermbg=NONE hi lCursor guifg=Black guibg=Lavender cterm=reverse ctermfg=NONE ctermbg=NONE
いわゆるハードタブで書かれたソースコードだと分かるように「^ 」で表示されるようにしている。
行末には「_」が連続して描画されるようにした。
改行文字(eol)を「$」などで表示している設定を結構よく見かけるけど、私はちょっと喧しく感じたため、設定していない。
set listchars=tab:^\ ,trail:_ set list
listcharsで「trail」を表示するだけでも十分なのだけど、さらに有用なプラグインがあって、いわゆる「ベストプラクティス」な設定と、修正用function定義が入っている。
最近発見して導入した。
うっかり消し忘れた行末半角スペースが強調表示されるようになり、さらにコマンドモードから
:FixWhitespace
を実行することで一発で消してくれるようになる。
『Vimテクニックバイブル』で紹介されていて、これまたごく最近になって導入した。
連続しているインデントが視覚的に把握し易くなって、インデントレベルがよく分かるようになるプラグイン。
GitHubのScreenshotsを見れば、どういうことをしてくれるものか良く分かる。
設定は自分の使っているカラースキーマにあわせて以下のようにした。「g:indent_guides_color_change_percent」は不要かもしれない。
let g:indent_guides_enable_on_vim_startup = 1 let g:indent_guides_color_change_percent = 30 let g:indent_guides_guide_size = 1 let g:indent_guides_auto_colors = 0 hi IndentGuidesOdd ctermbg=234 hi IndentGuidesEven ctermbg=233
最初は目立つようにしていたのだけど、背景色に近い色を設定した方が目に優しいように感じたので、少し調整した。
「IndentGuidesOdd」と「IndentGuidesEven」の調整には、ターミナルで256色表示する - VimWikiで配布されている「256colortest.vim」を利用して行った。
原因が良く分からなくて「:setlocal nosmartindent」とか打っていたのだけど、賢くオートインデントしてもらえないのは不便だし、困っていた。
けどヘルプを見たら、ちゃんと解決法が載っていたのだった。
新しく作った行の最初の文字が '#' のとき、その行のインデントは取り除かれ、'#' は最前列に置かれる。次の行のインデントは '#' の行の前と同じになる。こうしてほしくないなら、次のマッピングを使うこと。
":inoremap # X^H#"ここで ^H は CTRL-V CTRL-H と打ち込むと入力される。
Perlを書いている時には起きなかったので、取り急ぎPythonだけ適用するように.vimrcを編集した。
日本語ヘルプに書かれている通り、「^H」の部分は、CTRL-V CTRL-Hで入力する必要がある。
autocmd FileType python :inoremap # X^H#
ちゃんとヘルプを引けば書いてあることって沢山あるんだけど、どうしても書籍に頼ってしまうのが良くないところ。
一応ヘルプを素早く引けるように、次のようなキーマップも定義している。使用頻度が高いのは新しいタブ画面にヘルプを表示するショートカットとしている「th」のほう。
nnoremap H :<C-u>help<Space> nnoremap th :<C-u>tab help<Space>
日本語版ヘルプに頼って良いのは初心者までらしいのだけど、まだまだ脱初心者できてないし、便利なので、しばらくは素晴らしい翻訳成果のお世話になるつもり。
この辺りの話題を眺めていて思うところあったので少し書いてみる。
別にはてな社やライブドア社がどうだって話ではなくて、システムやソフトウェアを開発する仕事の話です。
まず、大前提として、
プログラマにとっては、前者の方が圧倒的に楽しい仕事だと思ってます。(最近無くなったらしいけど)グーグル社の20%ルールは、開発者の創造性を巧く引き出せるよう上手に設計された制度です。
ただ、現実問題として、IT業界では後者の仕事を行う機会の方が圧倒的に多い。
私は2011年頃から
といったライブラリ(非常にぼかして書いてます)のメンテナンスを細々と行うのが主要なお仕事です。最初は7人くらいでワイワイと開発してた筈が、いつの間にか1人になっているという。どうしてこうなった。まぁその話は関係ありませんから置いておきます。
あちこちから「イケてない」とか「ドキュメントが使えない」とか文句が来て、実際その通りだし、目の前にあるコードは事実としてクソ設計だという状況で、モチベーションを保つのは結構難しいものです。前任者を呪ってやろうと思った回数は数え切れません。
過去のことをネチネチ言っててもしょうがないので、最近はこういうことを実践して楽しみを見出すようにしてます。
レガシーな現場ってどこにでも存在すると思うので、工夫をして楽しく仕事したいなぁと。どこまで実践できるかも、与えられた裁量に拠るところですが、今はそこそこ自由にやらせてもらえてます。
次なる野望はJenkinsで自動ビルドをする、なんだけど、時間が取れなくてなかなか進められない。
Mercurialでコミットする時、ui.editorの設定値を参照してコミットメッセージ入力用にVimが起動してくれるのだけど、一緒に差分情報を確認したい。
どうもMercurial本体に付属しているhgeditorをui.editorに設定してやると可能らしいのだけど、うまく行かなかった。
hgeditorスクリプトの中身を見たところ、ロケール環境変数が日本語設定の場合は考慮されていないようだ。自分の場合は「LANG=ja_JP.UTF-8」が設定してある。
各種メッセージを日本語で表示してくれるのはMercurialならではの嬉しいところだと思ってるので、ロケール設定はそのままで表示できるように少し変更してみた。
変更したファイルを.hgeditorという名前で自分のホームへ置いて、.hgrcのuiセクションを以下のように設定したところ、希望の動作になった。
[ui] editor = ~/.hgeditor
設定先は環境変数HGEDITORでも良いようだ。
同じことを他のバージョン管理システムでやりたい場合。
Subversionではsvn-diff.vimというVimプラグインをずっと使ってる。いま調べてみたら、よりベターな実装もあった。
Gitでは.gitconfigにcommit -vのショートカットとしてciを定義して使ってる。
[core] editor = vim [alias] ci = commit -v
エイリアス設定はgit初心者向けのTipsなどというエントリが参考になる。
Twitterを眺めていて「面白そうだから、いつか読みたい」と思ったまま、読めていないマンガのタイトルをメモっておく。
大きめのマンガ喫茶で検索しても置かれてない。どこに行けば読めますか。
心斎橋にあったクラブクアトロ、梅田に移転していたことを知った。
JR大阪駅、阪急・阪神・御堂筋線梅田駅より徒歩7分
ホワイティ梅田イーストモール突き当り"泉の広場"M14出口すぐ
地下街ホワイティ梅田を東に突っ切って歩いて行けば着けるようだ。近鉄特急を使って難波経由で移動しようと画策していたのだけど、キタへのアクセスを考えたら素直に新幹線利用で良いかな。
5月はライブを見たいバンドが2つも来日して、どちらもきっちり名古屋を飛ばして、梅田クラブクアトロまで行かなければ見れないのだ。
クソガジェッターギャレンことブリネルさんが所用で名古屋に来ていたので、一緒にドイツビールの勉強会をした。
今回ビールを学びに行ったのはGengenbach(ゲンゲンバッハ)というドイツ料理のお店である。
名古屋の人には、バル・イスパニア、スペイン・バルの姉妹店と言った方が通じるかもしれない。
何度か立ち寄りで入ってみようとしたんだけど、いつも満員で入れなくて悔しい思いをしたので、今日は予約をしたのだった。
ユニモールの13番出口から一旦地上に出て、左手側に看板があり、そこから地階へ降りたところにあるのがゲンゲンバッハ。ソフトバンクモバイルは圏外。
ビールはドイツのものしか置いてなくて、日本各地でやってるオクトーバーフェスト同様に、それぞれ専用のグラスでビールの性格を考えた注ぎ方で出してくれる。
ドイツビールの銘柄なんて3つかそこらしか知らない僕は、最初の1杯くらいは知ってるものにしておこうと、フランツィスカーナーのドゥンケルを注文した。
本当はゴールドが飲みたかったのだけど、店員さんに聞いてみたところ、少し前に扱いをやめてしまったらしい。瓶も樽生も切らしたタイミングで入れ替わりをやってると言っていた。
何人か居た店員さんの中でも、笑い飯の髪が長い方に若干似た人が、非常にビールに詳しくて色々と解説してくれた。
ビールを注文するごとにスタンプを捺印してくれて、16種類を全て制覇すると、1杯無料になるビアライゼ制度というものがあった。
ヘタレなので店員さんの前では「へぇ、これはお得な制度でクズね~」って話を合わせて相槌打っていたのだけど、普通に考えたらビールだけで20,000円~30,000円払わないと埋まらないだろうこれ。
料理は、当日でも注文して良いというミニドイツコースをお願いした。ハムやソーセージの盛り合わせが出て来て、とてもドイツ感がある。コース料理紹介ページに載っているムチムチしたドイツ娘は残念ながら出て来なかった。
樽生のレーベンブロイが飲み放題になるオプションもあるので、これと一緒に自分が飲んでみたい銘柄を1つ2つ追加して注文するスタイルだと、だいたい予算4.500円くらいにおさまるのではないかと思う。何だかんだ言ってもレーベンブロイが1番グイグイ行ける。
残念な飲み方をしていた我々は2名で15,830円のお会計となり、埋まる筈が無いと思っていたスタンプも気が付けば10くらい押してある。
PlayStation Vitaがオワコンになりつつあること、30歳を過ぎてお年玉をもらってるクズが居ること、Facebookが怖くてしょうがないこと、色んな話をした。
安全圏から一方的にDISることで企業戦士サラリーマンは、束の間だが休息を得ることが出来るのだ。
劇場版では全員が集結して勉強します。
最近のツッコミ
参号館 日記(ariyasacca)
▼ ユーキさん [作業の負担、難易度については 前任者がどんなテンションで辞めたか?ってのが大きいと思います 私みたいに害意アリアリで..]