(震災で延期になっていた)開発環境勉強会に行ってきた。

613690cd.jpg当日朝に会社のマシンがフリーズしてしまったので会社に寄って(菓子パン喰ってから)から六本木に。12時ちょっと前に到着。12時だと昼飯をどうするか難しい時間だ。森タワー、どこが入口なのかよくわからず1/2周したところで案内嬢に12階へつながるドアの場所をおしえてもらう.. 遅刻.. でも会場はまだグダグダモードで、椅子のみの会場に机を搬入.. 延長タップがないので電源は(やや)取り合い状態.. 家を出る直前までは電源タップをもってこうとおもってたのに忘れた.. なんかこう常に鞄に放り込んでおけるような軽くて小さい電源タップってないのかな..

c9a6f49d.jpg直前キャンセル多数.. 体調を崩している人がおおいみたいだ.. おれもだけど.. http://partake.in/events/afe6657b-b54c-44d2-8af5-d39e98e6f2bd

ハッシュタグは「#開発環境勉強会」。UStream中継もやってたようだ。

@pi8027 開発環境勉強会

[2011-08-07 12:35]

趣旨説明

@pi8027 「XMonad」(XMonad 以外の話も少しする予定、30分)

  • Haskell製
  • ウィンドウマネージャをつくるためのライブラリ+最低限の実装
  • タイル型じゃないのもつくれる
  • echo xmonad >~/.xsession でも日本語入力できているのは、debianでたまたまできてるだけ。execつけろとか。
  • レイアウトの抽象化。左右で変えたり、順番に切り替えて表示したり。
  • タブレイアウト
  • IMレイアウト
  • フォーカスのあたったウィンドウを拡大(スケーリングはしないっぽい) レイアウトの抽象化パワー
  • ステータスバー
  • dmenuに代る補完(bashをつかっている。zshの機能だけを外からつかえたらいいなぁ。だれかおしえて)
  • なにか選択するためのメニュー(カーソルキー操作が最低で済むらしい。よくわからん)
  • かんたんに書けるよ〜〜 (Haskellを書けない人はどーすんだ〜) (書いた人もわすれてるし)
  • Q: メモリ使用量はどーよ
  • A: リスタートするときに引数にpretty printしたものがつくのでtopの表示がたいへんなことに。10MBくらいだった。ある人は4MB。頻繁にリスタートするのでだいじょうぶ。
  • rxvt-unicode mltermはフォント設定がおもうようにいかなかった。
    • ビットマップフォントをつかっている。極限まで小さな文字をつかって押し込みたかった。
  • emacsもvimもつかっている。
  • スライドはLaTeXで書いている。omakeで自動コンパイルして、ビューアが自動更新で表示。フォーカスのあったたところだけ拡大便利。
  • zshの本
  • tmux: zshをひらくと自動で起動
  • gitつかってる
  • Dvorakつかっている いいよー
    • Q: 自然言語にはいい配列だけどプログラミングにはどう?
    • A:
    • Q: hjkl配列どーすんの
    • A: jkは隣どうしだからok!
    • 会場: micron tronキーボードはwindowsのドライバで配列を実現している。
  • SKK T-Codeはうまくつかえてない
  • HHKB Pro2 Type-Sをつかっている。キーボードにはお金をいっぱいつかった。
    • Kinesisは手におおきすぎた

[2011-08-07 13:28]

@ShougoMatsu (Vim について、25分くらい?)

[2011-08-07 13:39]

  • まいにちvimスクリプトをかいている
  • 職業: vim scripter
  • vimスクリプトにしか興味がない。vimスクリプトで評価してくれ。学歴とかじゃなくて。
  • vimプレゼン。
  • Vimmerの異常な愛情
    • 初恋はvisual studio
    • 有料・重い・スクリプティングには適していない
    • サクラエディタ
    • エディタ活動→エディ活
    • なれそめ; hjklになれない。
    • サクラエディタのカスタマイズに限界を感じる。
    • kana氏のblogを見て衝撃。さっぱり理解できない。
    • neocomplpop.vim auto-complete.elに刺激されて
    • このころ.vimrcは1500行に
    • 5年以上毎日つきあうのはリアルでもたいへん。
    • 「エディタへの恋は亜衣に変えよう」
    • Emacsを選ばなかったのはWindowsだったから。あれはむり。
  • Vim界
    • Bramさんがボトルネックでvim8.0がでそうにない。
    • Emacsに比べてVimには両書がない。vim scriptとか。
    • 「Vimテクニックバイブル」でるよ。「Emacsテクニックバイブル」のvim版。
    • Emacsの人にもおすすめ: 同じ環境で満足していたら、、何もうまれない。小指がつった場合とかに。
    • なんとか3000円を切った。3000円にハードルがある。
  • gnome-termをつかっているがgvimを起動するのしかつかってない!
  • vimshell
  • ekk 補完できる。
  • shellのviモードはきらい ちゅうとはんぱなvimはきらい。
  • windowsのemacsは初心者にはhit pointが足りない→game over.
  • emacsもvimもpluginが重要。なのでvimから全部できるようにするしかない。vim配列はどーでもい。
  • vimperatorはきらい。
  • vimはけっこうクラッシュする。OSはクラッシュしてはいけないのに。
  • Q: 20MBくらいあるファイルをサクサク編集する方法は? (Emacs使いの人からの質問)
  • A: ちょっときついかも。ファイルマッピングをつかえば...
  • まいにち.vimrcをいじってれば1年で300行→1500行になるよ。
  • vimmerなら.vimrc専用キーマッピングを用意するはず。
  • Q:プラグインが増えると起動が遅くなるか?
  • A:デフォルトgvimは1秒起動、いじってるので3秒。emacsは10秒だった(本気でいじってないけど)
  • vimをつかってるなら、友達に紹介するとか、小さくても貢献してほしい。フリーライダーはよくない。

[2011-08-07 14:26]

@kiwanami 「スーツとEmacsと開発環境」(30分くらい)

  • 交通費は会社もち。福岡から。
  • 会社では入社するとemacsかvimを選べといわれる→先輩をえらぶことになる

[2011-08-07 14:31]

  • 福岡で元請け(めずらしい)
  • キーボードは体調にあわせて使いわけている。realforceは指の腹がいたくならない。KINESISは肩がいたくならない。HHKBは気合いを入れるときに(redblullみたいに、音が)
  • いすもこだわる。コンテッサ
  • KINESSはハードウェアでリマップできるので便利。親指でCTRL/ALTをおせるので小指がいたくならない。

スーツの道具としてのEmacs

  • Joel On Software (2002年)
    • パッケージ (少数精鋭web)
    • 組み込み
    • ゲーム
    • 使い捨て
    • インターナル業務システム
  • 典型的SI工程では作るまえから始まる。お客さんから悩みをきくところから。
  • スーツの仕事のポイント
    • quick hack 動いているシステムをとめずに修正
    • 外出がおおい → オフライン
  • outlook → emacsで
  • skype → 代替なし
  • ms office → emacs, cacoo(これ便利)で
    • デモみたけど、まじすごい..

開発環境

  • GUIだいすき ポインタ操作だいすき track pointべんり
  • IDE好き
  • Graphics as a Code
    • ソースコードは1次元でいいの?
  • IDEの役割
    • ほかのツールとの有機的な結合
    • ワークフローのサポート
      • コードをいじると仕様書のどこどこに影響がありますとか。
  • 学習曲線
    • いきなりIDE画面がバーンとでても
    • エディタならすぐつかえる
    • 開発環境構築として3日位かけてeclipseをつくったり。
  • 開発環境の寿命
    • パラレルポートにつなぐドングルとか
  • PCIのAD変換とか
  • 環境を統一するかバラバラでもいいか
    • eclispeをsvnにcheckinしてみんなでつかえば3日もかけなくてすむ...
  • 福岡ではエンジニアとデザイナの交流が活発
  • Q:cacooに社外秘のデータをあずけるのはプライベートにできるとはいえどう?
  • A:httpsとかならokとかを基準に。自分でケツをふけるならok.そいう権限は必要かも。
  • 自炊したPDFはevinceとadobe readerをつかいわけ。(emacsではみてない)
  • evinceにパッチをあてると縦書きの右綴で表示できたり。

[2011-08-07 15:08]

@nyaxt 「開発環境の話とベンチマークドリブン開発の話」

[2011-08-07 15:09]

  • 開発作業環境で大事なこと
    • ストレスを感じない環境
    • 作業を楽しめる環境
  • 1:自分割り込み系は分ける
    • コミュニケーションツールは隔離する→MacBookに IRC Skype safari Email
    • 開発環境に非同期通知系は入れない
    • 指導教官からのメールは音で通知とか。
  • 2:現実逃避への敷居を上げる
    • あそべる環境にしない
    • Flashプラグインをいれない
      • vimでテトリスはできるよ
      • WMをいじりだしていまう。
  • 3:待ち時間をつくらない 現実逃避への入口
    • コンパイル時間、テスト実行を速くする
  • 進捗 = 能力 x 開発期間 x 集中率
  • twitter proxyで1度みたらしばらくは使えないとか。
  • コンパイル環境と開発環境を分ける。重くなるのを避けらえれる。
ベンチマークドリブン開発の紹介
  • つねに競合ソフトとの速度差を意識する。
  • ptnk: SSD向けの永続化DB
  • リファクタリングのあとにベンチして最適化をほどこすことで、きれいなだけのコードにならないように。
  • そういう支援ツールは少ない。 Lobo,p-unit,Mozilla Perfなど。
    • ビルドごとの性能変化を管理・可視化

  • Q: 他のプログラム動いていると性能がかわっちゃうとおもうが?
  • A: ベンチマークは専用マシンでキャッシュフラッシュしたりとかしている。VMは注意。タイマの精度があらい。

  • Q: ベンチマークがcommitにおいつかない場合。
  • A: がんがんcommitするときは縮小版のベンチで測る。完全版(負荷のかかるやつ)は1日ごとにとか。
  • ランチャー Kupfer
  • A.vim: .hと.cppをきりかえる。
  • yankring.vimはくさっているのでおすすめではない。
  • ack: ソースコード専用grep grep -R hogehoge .相当 http://betterthan....
  • さいきんglobal -Uインクリメンタルが速くなった。

[2011-08-07 15:45]

@m2ym 「xkeyremap について(仮)」

[2011-08-07 15:59]

  • バックエンド
    • Xinput2 キーイベントのインターセプト
    • XTest キーイベントの発生
  • SandSみたいなことがしたい。
  • xmodmapとちがって終了させればもとにもどる。他人にさわらせるときに便利。
  • アクセシビリティの機能をつかうとウィジェットの情報をとれるかも
  • Xinputは情報があるけどXinput2はない...

[2011-08-07 16:28]

b8c8d8bf.jpg小腹が空いた懇親会まで待てないということでコンビニ買い出しツアーが急拠編成された...

わたしは事前に買っておいたチョコレートをパクパク...

@t9md 「「 TryIt.vim, Phrase.vim 」で多数の言語を効率よく学ぶ(みなの力をあわせて)。」(15分)

[2011-08-07 16:46]

  • インフラエンジニア。
  • 手首いたい。ファイルをわたりあるくことがおおいという特殊性もあるかも。
  • 手首をもんでたら内出血してたレベル。
  • tryit.vim
    • コードを選択してはりつけて実行
  • pharase.vim
    • いけてるコードフレーズを収集
    • きりはりプログラミング支援
    • スニペットとの違い
      • 入力補完ではなくサンプルコード
  • pharaseの共有
    • 得意な人のコードから学ぶ
  • Compiz grid plugin
  • タイル型はポップアップでつかれる。
  • ワンキーで特定のウィンドウが出るようにしある。
  • compizの機能をつかってログを出しているウィンドウを小さく隅で表示したり。
  • Q: Wikiの方がいい?
  • A: エディタから離れたくない。説明はコメントに書けばよい。
  • Q: ほかにも似たものはあるけど yasnipetとか
  • A: 忘れているのを思い出すのにつかうので、完全に動くコードを記録しておきたい。

[2011-08-07 17:14]

@shinh 「オレオレ環境のはなし ー オレオレ環境のはなし」

[2011-08-07 17:14]

  • i@u ユーザ名i マシン名u
  • 自分にむきあう 気づくとゲームかwikipediaをよんでいる。
  • CIA: どんなコマンドを実行したか記録
  • dev/net/miscに分類して自己申告とxlockとnethack
  • zshrcでpreexecで__cia_cmdで記録。
  • ローカルかなければリモートに記録
  • リポジトリの名前とかもみる
  • キーも記録している。
    • おれおれキー配置ができるかも
  • ブラウザはproxyをとおすようにして記録
  • キーはwindow managerで記録
  • wgrep
    • grep -Aでもいいけど
    • w3mで表示するのですぐジャンプできるとか
    • wlocate
  • w3m HJKLのバインド 上下左右のリンクに移動 これはべんり
  • sevilwm: evilwmをベースに改造したもの
    • unix domain socket経由でいろいろ情報をとれる。
    • コマンドでウィンドウを移動させたり.. シューティングゲームになったり...
      • xclockがランチャーでxeyesが弾

[2011-08-07 17:40]

@tomy_kaira 「貧乏人のためのマルチディスプレイ環境構築指南」(10分)

[2011-08-07 17:41]

  • pianistic: キーを音にする BGMがあきる
  • 高いグラフィックボードのかわりに古いPCに2ディスプレイで
  • 大きい机は高いので2枚をくみあわせる
  • ssh X11 forwardingは遅い..
  • ケーブルはぐちゃぐちゃ。掃除不能。
  • synagyは必要なかったのとJIS配列だと一部のキーが効かないので。
  • 複数のキーボードは行き来しているので肩がいたくなる。

[2011-08-07 17:52]

@todesking「貧者の入力デバイス」(10分)

[2011-08-07 17:54]

  • ある程度キーボードリマップで手の移動量は改善はできる。
  • HHKBやrealforceは20000円とたかい。
  • マジェスタッチは8000円。
  • 多様性の欠如: テンキーやカーソルとかがあるのでマウスが遠い。
  • →切断した。
  • メカニカルならいいけど静電容量式だと単純に延長できないかも。。
  • キーボードを切り落す人たち
  • 会場から: 工具をもってないとけっきょくいいキーボードが買えちゃわない?
  • 会場から: あしトラックボール。あきれすけんが腱鞘炎に。

[2011-08-07 18:06]

@kjm (dvorak について)

[2011-08-07 18:08]

  • 移動量が少なくなるようになっている。
  • 母音が左手に集中している。
  • jp106でショルダーハッキングに強くなる...
  • viがバラバラになるのが欠点: 上下が左手、左右が右手になる。
  • 日本語で「かきくけこ」「やゆよ」は左手に集中。「かいはつかんきょうべんきょうかい」はわりとうちにくい。
  • svnが打鍵しにくい。gitはうちやすい。
  • 人になにかおしえてもらうときにキーボードをりゆうに拒否される。(変態よばわり)
  • thinkpadのキーボードはthinkpadのときでもつないでつかっている。本体のディスプレイがじゃまくさいから。

[2011-08-07 18:20]

01c77fca.jpg93ac967f.jpg体調が完全じゃないので懇親会は不参加で帰宅。雨は止んでいた。