2010-04-01 [長年日記]
_ 五+嵐氏、Cafe事業に進出
多角的な経営で定評のある五+嵐氏が今回はCafe事業に進出する予定であることが
当社の取材により明かになった。
同氏のコンセプトは「エンジニアのためのカフェ」。
無線LAN、電源、プロジェクタ完備はもちろんのこと、
1.ハッカソン開催のためのスケジュール管理webアプリを公式サイトに併設、
web上から席の確保が可能
2.ラブラブなエンジニアカップルのために
小さなディスプレイとソファを備えたペアプロ席を配備
3.「あー、半田付けしたいなー」
という突発的な半田欲のために半田(無鉛)セット完備
4.朝、職場からAmazonへ注文すると夕方までに
カフェで受け取りしてくれる書籍取り置きサービス
5.店舗の右隣に鍼灸院、左隣に整体院と、ご近所と提携した
肩こり、腰痛ケアサービスの提供
・・・と、エンジニアのカフェ需要を開拓する戦略を採る見込みだ。
取材に対し五+嵐氏は
「エンジニアがゆったりとくつろげる空間を作りたい。
ギークなお客さまと一緒に新しい形のカフェを作っていきたい」
とのこと。そして
「早くメイドさんを雇えるようにがんばりたい。」
と下心をちらつかせ意気込みを語った。
2010-04-04 [長年日記]
_ [emacs] emacs勉強会
@yoozoosato さんの日記でemacsの話題があったので、
twitterで「勉強会やったら来てくれますか?」と問いかけたところ、
ようぞうさんの快諾とともにemacsの魔法に反応した
召還獣のみなさんがつぎつぎと「ガラッ!」な状況になったため
emacs勉強会を万葉の会議室で開催しました。
私は2年ほど前に @hidaqa 先生に師事し大崎のモスバーガーで使い方を教えてもらって以来、
この壮大な育てゲーに没頭しているわけでして、
その @hidaqa 先生に少しは恩返しできたのであればうれしいことです。
今日のルールはこんな感じ。
・1人5分くらいでネタ披露
・披露じゃなくて、「これなんとかできない?」とか質問でもおk
・いつでもツッコミ、ノッカリ、脱線推奨
・一段落したら次の人に交替
今日は7人で4時間で3周できました。
KPTで「全員が発言できてよかった」ってのが出たので、なるほどな副産物でした。
あと、よかったのはみんなの仕事内容がばらばらだったので、
ユースケースがいろいろあってそれぞれの立場からいろんな示唆があったこと。
学生さんの @siguremon さんもいたので研究者の視点もあったし。
今日の収穫はたくさんあるのですが、
・(server-start) しとくとshellから emacsclient [file] で既存起動emacsで開ける
・ecsは使ってみたい
・describe-function でヘルプとは一味違う説明が読める
・ediff-regions-linewise のdiffが強力
・.zshrc でgit管理下へ移動すると git status によって色が変わるのは便利
あと @t_wada さんのautotest相当のことをCPU負荷を上げずにできるHackを見れて思想を聞けたのはよかった。
Linuxのinotifywait でファイル更新を監視し、 notify-send で growl みたいに通知。
@n_sakuma さんのzsh, screen, emacs の連携も、
あれは実際に見ないとなかなかイメージできないのでありがたかったです。
懇親会でもいろいろ濃い話をしましたが、
@iwagaki さんのブレーカー駆動生活はやはり卓越してましたね。w
zsh 周辺の話がまだ開拓の余地がありそうなので、
次は開発環境勉強会をやりたいね、という結論でお開き。
参加者のみなさんありがとうございました。
IRCのログはこちらです。
14:10 hidaqa: shell-command-on-region
14:10 idmtv: shell-command-on-regionで選択範囲をシェルに送り込む
14:11 hidaqa: Execute string command in inferior shell with region as input. Normally display output (if any) in temp buffer `*Shell Command Output*'; Prefix arg means replace the region with it. Return the exit code of command.
14:12 igaiga: http://igarashikuniaki.net/tdiary/20100214.html
14:12 igaiga: ruby-gsub のはここにまとめてました。
14:13 t-wada: wdired-mode おおおなんぞこれwww
14:22 hidaqa: ;; ファイル名でのダイレクトアクセス (defun my-icompleting-read (prompt choices) "Use iswitch as a completing-read replacement to choose from choices. PROMPT is a string to prompt with. CHOICES is a list of strings to choose from." (let ((iswitchb-make-buflist-hook (lambda () (setq iswitchb-temp-buflist choices)))) (iswitchb-read-buffer prompt))) (defun gtags-find-file-with-completion ()
14:24 hidaqa: (defun gtags-find-file-with-completion () "Invoke `gtags-find-file' with completion." (interactive) (when (featurep 'mcomplete) (turn-off-mcomplete-mode)) (unwind-protect (with-temp-buffer (if (= 0 (call-process "global" nil t nil "-P" "")) (let* ((buffer-string (buffer-substring-no-properties (point-min) (point-max))) (filename-list (mapcar #'file-name-nondirectory (split-str
14:27 hidaqa: 猛省
14:30 idmtv: GNU Global で gtags.el の改造方法 http://d.hatena.ne.jp/mtv/20100326/p1
14:30 siguremon_: howm=ひとりお手軽wikiもどき
14:41 idmtv: git.el
14:42 idmtv: GitとEmacsの連携ktkr
14:43 idmtv: ditz 分散型バグトラッキングシステム
14:43 yoozoosato: ditz rubyで書かれてる
14:45 idmtv: 1issueが1yamlファイルに対応している
14:55 idmtv: 開発飽きた宣言w pure geek
14:58 yoozoosato: cua-mode
14:58 idmtv: 矩形選択
14:58 idmtv: なかなか使いどころが難しいと思っている
15:02 idmtv: TODO: cua-modeのキーバインドを覚える
15:06 yoozoosato: このfont読みやすそう
15:08 idmtv: anything
15:08 idmtv: インターフェイスを統一して作業をやりやすくする
15:18 idmtv: gnome-doでmicroblogging pluginで.を打つと日本語もいけるっぽい
15:20 yoozoosato: gnome do
15:20 yoozoosato: Macでいうところのquick silverみたいなやつ
15:25 yoozoosato: Mac visor
15:25 t-wada: aptitude isntall gnome-do gnome-do-plugins で行けます > gnome-do
15:26 yoozoosato: これか > http://igarashikuniaki.net/tdiary/20100324.html
15:27 idmtv: screenヤバイ
15:28 igaiga: Visor + tmux がめっちゃ便利 by hsbtさん
15:30 igaiga: http://www.hsbt.org/diary/20100329.html#p02
15:33 yoozoosato: すげー。bufferにgraphvizが埋め込まれる
15:33 yoozoosato: image-mode?
15:34 idmtv: 熱い
15:35 t-wada: iimage-mode 熱い!!
15:41 yoozoosato: indent の逆はなんて言うのか? & 簡単に実現できないか?
15:49 t-wada: deindent というらしいです
15:58 igaiga: ditz早いな。すげーな。
15:58 hidaqa: すげー
16:01 igaiga: grit
16:01 igaiga: http://d.hatena.ne.jp/amacou/20090408/1239187917
16:05 igaiga: git-svn
16:16 yoozoosato: elscreen
16:16 igaiga: ecs = emacs code browser
16:19 yoozoosato: 便利そうだ < elscreen
16:19 igaiga: hikimode は hiki のソースコードの中に入っている
16:20 igaiga: rinari-mode (rails便利モード)
16:29 yoozoosato: RPROMPT=" %/:$WINDOW"
16:36 siguremon_: http://garaemon.net/
16:36 siguremon_: emacs-settings = emacsのパッケージをaptみたいにterminalからインストールできる
16:41 t-wada: wanderlust + MHC
16:43 t-wada: モダン emacs で動くかはわかりません><
16:52 igaiga: http://cx4a.org/software/rsense/index.ja.html
16:52 igaiga: RSense
16:53 idmtv: ruby way = あると思って書くと、やっぱりあった
16:57 t-wada: dinamic abbrev が emacs のキラー機能
16:57 t-wada: dynamic...
16:58 yoozoosato: .emacsは1行。他のファイルを読み込む。
16:58 yoozoosato: 「育ててる感」重要w
16:58 t-wada: すげーー
16:58 t-wada: 丁寧
17:01 t-wada: byte-recompile-directory
17:03 t-wada: ediff-regions-linewise
17:12 igaiga: describe-function
17:13 idmtv: yasnippet.el or yasnippet-bundle.el は是非
17:38 igaiga: scratchバッファを消さないようにする
17:38 igaiga: http://www-tsujii.is.s.u-tokyo.ac.jp/~yoshinag/tips/elisp_tips.html#scratch
17:41 yoozoosato: http://saikyoline.jp/weblog/2009/03/19/232758.html
17:42 yoozoosato: http://blog.somethingnew2.com/archives/2010/01/tddbcruby.php
2010-04-13 [長年日記]
_ Presentation Zen を見てきた
最近いろんな場所のプレゼンでその影響を感じられるプレゼンの教科書"Presentation Zen"。
AppleStore銀座で筆者のGarrさんのプレゼンがあるとのことで見てきました。
10分前くらいについたらまだやや空席ありでしたが、
開始時には立ち見の人もいたようです。
Garrさんのプレゼンテーションはすごかったです。
アイスブレイクに観衆に「隣の人と自己紹介してみよう!はい、立って〜!」から始まり、
プレゼン中に客席にノベルティをプレゼントしたり、
ネタ満載の動画、シンプルでセンスの良いスライドが次々と。
感じたのは、動画、アニメーションするスライドが多くて、
それにあわせて聴衆に向かって話すこと。
かなり仕込みと練習に時間かかると思う。すごい。
(でも、今日のプレゼンは練習1回もしてないと言ってた。慣れすごい。)
私が今まで見たあらゆるプレゼンの中で抜群の出来です。
どきどきしました。
内容でいいなと思ったのを1つだけあげると、
「情熱を見せるのをためらわない」。
プレゼンは感情を伝える機会。
内容をここに書いても情熱は伝えきれないので、
みなさんもぜひ一度見にいってみてください。
前回は10月にあったそうなので、またAppleStoreであるかも。
6月にロンドンのAppleStoreであるので「来てね!」って言ってました。(^^)
新刊の日本語訳が夏にでるそうで、そちらも楽しみです。
48947132840321668790
2010-04-19 [長年日記]
_ [emacs] emacsで画面サイズにあわせてemacsウィンドウの高さを変える
私は普段、外ではMacBookのディスプレイを使ってますが、
家では外付けのディスプレイに出力して使っています。
emacsのサイズをほどよくしたいのですが、
画面のサイズが違うので固定値にできず不便していました。
@kwappa さんにウィンドウサイズを取る関数 x-display-pixel-height を教えてもらったので、
それを使おうと思ったらなんかうまくいかない。
調べると・・・
MacBookのディスプレイ:x-display-pixel-height = 800
外付けディスプレイ:x-display-pixel-height = 2000
あ、外付けディスプレイの時はデュアルモニタ環境だから
MacBookディスプレイ800 + 外付け1200 で 2000なのか。
; デュアルの配置によって足し算じゃなくなるかも。
とりあえず、x-display-pixel-heightを見て高さを決めることに。
つたないけどemacs lisp 書いてみた。
2010-04-25 [長年日記]
_ [kosenconf] 高専カンファレンスinサレジオ
第11回目となる高専カンファレンスが都内のサレジオ高専で開催されました。
多摩の静かな住宅街にあるサレジオ高専はまだ新しくきれいで、
会場となったホールは簡易教会で、
ロボコンでお馴染みの「ロボコンの赤い悪魔、北九州高専」のhmskさんが
「十字架を背負って発表することになるとは」
という名言を残すほどで、
過去最多の3人のドラ娘による銅鑼の音が
拍手とともに会場に響き渡るという荘厳な雰囲気の元で行われました。
今回も、ロボコン、エコカー、宇宙工学、自作webアプリケーション、
自作3DCGとその背景技術であるGPUプログラミングの紹介といった技術の話に加え、
起業、IPA未踏、ImgineCup出場レポート、国際会議参加レポート、
ベンチャー企業で働くこと、といったキャリアの話もありました。
印象深かったのはサレジオ高専の先生に登壇していただいて
学生以上に夢と面白さにあふれる話をしてくれたことと、
三三さんがリクルート活動にくるだけでなく、
ベンチャーで働くということを発表してくださったこと、
そして地元のケーブルTVである八王子テレメディアさんが
取材に(しかもかなり長い時間)きてくださったことでした。
今回は運営がとてもしっかりしていて、
過去最良の1つだったのではないでしょうか。
実行委員長の河村さんの組閣した学生チームの運営力に感嘆しました。
今回の運営チームは前回東京の運営チームとはまったく独立で、
それでも170人におよぶ参加者が集まるという潜在的な需要にびっくりしました。
初参加の方が半数くらいいたので、
運営チームがうまく広報活動していたのでしょう。
うれしかったことは、
転職しましたのスライドで大きな激励の拍手をいただいたことと、
懇親会のみなさんの楽しそうな姿に高専カンファレンスっていいなぁと思ったことです。
2010-04-28 [長年日記]
_ [git] gitでステージングした環境まで戻す
新しい職場ではコード管理にgitを使ってます。
git、本を読んで概要はつかんでいたのですが、
使ってみるといろいろと新しい発見があります。
今日は「add して commit してない状態(ステージ状態)へ戻したい」という状況になりました。
gitに管理されていてステージにあがっているAというファイルの他に、
untracked(管理外)のB,C,D,,,という多数のファイルがある状況で、
ステージされたAへ戻したいというもの。
$ git co HEAD .
だとcommit状態(HEAD)へ戻り、untrackedなファイルも残ります。
そこで、以下で対応しました。
---
■近道策
$ git checkout A # worikingのAがステージの状態へ戻る
$ git clean -f -d # untrackedなファイルとディレクトリが消える
■安全策(ステージ上のファイルをコミット)
$ git commit # ステージのAがコミットされる
$ git checkout HEAD . # worikingのAが↑の状態へ戻る
$ git clean -f -d # untrackedなファイルとディレクトリが消える
必要であればcommitを消してもOKです。
$ git reset --hard HEAD^ #HEADの1つ前(^)へコミットを修正=直近のコミット削除
---
Subversionと大きく違うのはステージがあることと、マージの概念でしょうか。
ステージがあるので、diffをとるときも以下のように違いがあります。
$ git diff # ステージとworkingを比較
$ git diff HEAD # 最新コミットとworkingを比較
マージはSVNのようにworkingへ別ブランチのコミットを持ってくるんじゃなくて、
branchの流れを本流に合流させる、コミットを操作するイメージ。
あとはリモートのブランチが変更されたときはローカルで
$ git remote update
を打たないと反映されないことも使ってみて分かりました。
最後に、「それはこっちに置いといて」な便利機能stash。
workingの変更をリスが木の実を土に埋めておくように脇に置いておいて、
workingをきれいさっぱりしてくれます。
(ただし、ここで脇に置くのはtrackedなファイルだけ)
git、便利ですが手に馴染むにはまだ時間がかかりそうです。
追記:リモートのブランチが消えない件については2010年4月29日の日記に追記しました。
$ git remote update でダメなときは
$ git pull --prune も試してみてください。
追記(2010.5.9):machuさんのツッコミを受けまして、
「書いてから気づいたけど、ファイルAをステージに戻すには
workingにあるAを消して、git co A でもいいね。」
の内容を踏まえて書き直しました。machuさんありがとう!
2010-04-29 [長年日記]
_ [git] リモートのブランチを削除したのにローカルでは反映されない
リモートのブランチ(dst)を削除するにはたとえばこんなコマンド。
$ git push origin :dst
:があるのは、その前に空のローカルブランチ名を指定していて、
それをリモートブランチ(消す対象)にpushするから削除、と解釈してます。
さて、削除は成功したものの、ローカルで git branch -a しても反映されてなく、残ってます。
$ git remote update
で直ったり、直らなかったり。
$ git fetch origin
でもダメ。
そんなときは、
$ git pull --prune
というコマンドで削除状態が反映されました。
hsbtさんに教えてもらいました。ありがとー!(´▽`)
あと、昨日書き忘れたのですが、
$ git commit --amend
も便利ですね。直前のコミットに追加をねじこむ。
結構忘れものがあるとき多いのだよね。
2010-04-30 [長年日記]
_ Ruby技術者認定試験
Ruby技術者認定試験に合格しました。ヽ(´▽`)ノ
84点。もっと手応えはあったのだけど、意外と間違えてた印象。
(全50問で合格点は75点)
いろんな人に聞いてみて、必勝法は2つ。
1つはArray、Hash、Stringのリファレンスを読む、
もう1つは公式ガイド本の想定問題を解きまくる。
私もこの2つで攻めました。
勉強して、結構知らないことも多かったけど、
やっぱり試験勉強なのであまり効率はよくない感じ。
でも、マニアックな問題が多いせいで
それなりに難しいので技術者のレベルを測るという意味では
そこそこ効果があるのではないでしょうか。
Rubyの変数はオブジェクトの参照、とか、
クラスとか、基本を知らないときついので。
「合格した〜」ってtwitterに書いたら、
みなさんから温かいお祝いのお言葉をいただきました。
うれしかったです。(^^)
中でも弊社のみなさんにおかれましては
GWでお休みの方も多い中、全員が1時間以内に祝電をくださるという
なんとも温かい励ましありがとうございました。
9784822234300
_ まちゅ [「workingにあるAを消して、git co A でも」 Aを消さずにgit checkout Aでも元に戻りまし..]
_ いが [>まちゅさん おっと、確かに。< 消さずに git checkout A で元に戻る これ書いたときは消さないと変更..]