Hatena::ブログ(Diary)

Guyon Diary このページをアンテナに追加 RSSフィード

2012-01-29

CouchConf TOKYO 2012に参加してきました

12:22 | CouchConf TOKYO 2012に参加してきましたを含むブックマーク

http://gyazo.com/69cde9634060cf94f04b3cbe0a829e9e.png

CouchBase社が開催しているWorld Tour CouchConf TOKYOに参加しました

http://www.couchbase.com/couchconf-tokyo

会場までの道のり

f:id:guyon:20120127184121j:image:w550

寒い冬の平日にベルーサ三田にて開催されました。

泉岳寺駅からしばらく歩き左手に大きな建物があったので迷わずいけました!会場は1Fの2つの部屋を利用して一つがセッションを行う部屋でもう一つがラウンジという形で進行。

f:id:guyon:20120127093027j:image:w550

受付は9時からで9時15分くらいに到着すると既にたくさんの人が着席されていて、スライドが見やすい前の辺りに座りました。周りを見渡すと外国人の方も多く、CouchBase社の方が準備されていました。

f:id:guyon:20120127092712j:image:w550

いよいよ開始です。高まるCouch熱!!ここからは内容と感想を箇条書きで。

内容とメモ

  • 副社長のスティーブンさんが流暢な日本語でご挨拶
    • ナイスガイ
  • 同時通訳があってとても便利*1
  • Community Editionもたくさんのプロダクションで使われている
  • GAまだ〜?「まだパフォーマンスチューニングと考慮しないといけないことがある」
    • 1.8と同じくらい高速にするよ
  • 管理画面がすごい便利
    • 毎秒情報を更新(毎秒更新しても負荷は低い)
    • RAMとディスクのディレクションも監視
    • キーの使用頻度も確認できる
  • 速いという事にこだわっている
    • セットアップもレスポンスも
  • メモリ有効に使っているぜ
    • ノード間でデータを共有する事も考えてメモリは使用空間と実利用可能量のトレードオフは工夫している
  • ビルトインされているという事は重要だと感じた
  • 速度よりも安定性と運用コストの方がインパクトがあった
    • 速度はミリSecやマイクロSec単位の話題が多かった
  • Couchで重要なのは予測性が評価されているで数ミリ単位で予測できること
      • オンメモリ(MemBase)を意識する事は重要
      • 書き込みは非同期でRAMを利用する
    • ディスクにデータが乗ったら監視でnode追加しバンランシングする
    • パフォーマンスはドキュメントの作り方とデータの取り方が重要
      • ドキュメントベースというデータ構造を意識し思い切った割り切りやトレードオフも大事
  • スケールの効率化
    • サーバは大きいNodeを少量より小さいNode(コモディティサーバ)を大量に配置した方が効率がよい
    • CPUよりもネットワーク領域を心配した方がよい
    • レプリケーションによるネットワーク帯域が利用される事を考慮が必要
    • Productionでは4Core程度で充分性能をだせる
  • フェイルオーバー
    • 自動フェイルオーバーは対応しているけど30秒おきの監視だからね!
    • 手動でもできるよ
  • トランザクションログにも対応している
  • モバイル対応
    • mobile sync便利
      • 2.0に超期待

頭の片隅に残っている事とメモの書き端をざっくりと書きましたが、詳しくはtogetterを見ると良いと思います。

#CouchConf Tokyo まとめ - Togetter

http://togetter.com/li/248729

続いて、今回特に感じた事を短くまとめてみたいと思います

まとめ
  • CouchBaseは運用コストとパフォーマンスの両面で優れている
  • 大規模解析よりも如何に速く大規模アプリが作れるというところにフォーカス
    • 大規模解析はHadoopアダプタでやると良い
  • 実プロダクトで投入したいと思えるようなワクワク感を感じた
  • なぜMongoじゃなくてCouch?
    • Mongoはデータの移行が発生する時に永続化したデータの形式上辛い
      • ↑ というのはあるらしいのだれけど、大規模データだとどれでも何かしらあると思う。
      • ぶっちゃけどっち使っても良いと思う完成度だと思った
      • 2.0はすごく期待できるプロダクト

その他 Q&Aパネルなど 

f:id:guyon:20120127174335j:image:w550

セッション中もそうだったのですが、色んな質問がとびかっていました。おさまらないCouch熱!!

私が質問した内容

少し気になっていたこと。

質問

様々な言語やミドルウェアが使えるクラウドプラットホーム「dotCloud」のサービスでCouchDBalpha版ですが利用でき、CouchBaseとMemBaseがRequestedという状態になっています。CouchBase社が今後利用できるように手助けしたり、同様のプラットホームサービスのCloud foundaryなど他でPass提供する予定はありますか?

一つ前に質問した方が「OpenStack」について質問したので内容がかぶってしまいましたが、隣にいた人が「良い質問だ!」と言ってくれさらに私の質問にのっかって質問されていました。

回答

今は製品開発に集中したいのでサービス的な方はまだ考えていない。ただ今後Heroku対応やAWSEC2イメージとしては検討していくかもしれない。

というような回答だったと思います。

アフターパーティーでの質問

同僚も来ていて話をしていた時に話題になったので個人的に二人でCouchBaseの方に質問をしに行った時の内容。

質問

CouchBaseはリニアにスケールするんですか?ノードの数でレプリケーション等その他の理由で性能効率がさがりますか?どれくらいで変化がある?

回答

Yes. 特に上限なしにリニアにスケールするよ。そこはあまり心配しなくても大丈夫!

AOLの実例では10台〜20台くらいって言っていたのでそれくらいでは大丈夫なんでしょう。別の機会でkumofsの話を聞いた時もそうだったんですけど、成功している分散KVSはきっちりと考えられていますね。

Zynga社の数千台の例もありますし数に関しては心配なさそう。むしろ、機器調達時にデータセンターのラックキャパの問題や大きいストレージやハードを少量にしたい!という要望がでた場合に打ち勝つ力が必要だなぁと。

 最後に

カルフォルニアから遠い日本まで来て頂いたCouchBaseの方々、開催を支えてくださったスタッフ、Couch界隈のコミュニティの皆さん、どうもありがとうございました。

CouchBase.jpという新しいコミュニティもできたようなので、日本でもより盛り上がっていくといいですね。

来年も開催されるといいなぁ。

*1:3人ぐらいが交代でされていましたが女性の方の通訳が特に聞きやすかったです

森ルイーズ森ルイーズ 2012/01/29 22:15 とてもわかりやすいのまとめです。ありがとうございました。

guyonguyon 2012/01/29 22:57 ありがとうございます。:)

トラックバック - http://d.hatena.ne.jp/guyon/20120129

2012-01-26

KeyRemap4Macbookで英数とかなを別キーに割り当てた

| 23:21 | KeyRemap4Macbookで英数とかなを別キーに割り当てたを含むブックマーク

f:id:guyon:20120126225540j:image

普段よく使うキーで遠いと感じている2つのキーをベストポジション的な位置にある「英数」と「かな」キーに割り当ててみました。

よく使うキー

  • [
  • Return

変更した理由

  • 手が小さいのでホームポジションが乱れる
  • 会社も自宅もMacBook(AirとPro)になったので共通性があって慣れやすい
  • よく使うものにより良い場所を

設定手順

  1. KeyRemap4Macbookの設定を開く
  2. Misc&Installタブを開く
  3. Open Private.xmlボタンで設定ファイルを開き下記のXMLを保存する
  4. Change KeyタブのReloadXMLで再読み込み
  5. 新しく表示されたチェックボックスを有効にする

再起動の必要はありません

<?xml version="1.0"?>
<root>
    <item>
        <name>EISUU to RETURN</name>
        <identifier>private.eisuu2return</identifier>
        <autogen>--KeyToKey-- KeyCode::JIS_EISUU, KeyCode::RETURN</autogen>
    </item>
    <item>
        <name>KANA to JIS_BRACKET_LEFT</name>
        <identifier>private.kana2bracket_left</identifier>
        <autogen>--KeyToKey-- KeyCode::JIS_KANA, KeyCode::JIS_BRACKET_LEFT</autogen>
    </item>
</root>

感想

<C-かな>で<C-]>になるのは左と右手の組み合わせで使いやすいです。VimやVrapperやScreenやiTermなどで活躍してくれます。また左ブラケットを入力したら右ブラケットは自動補完や移動できたりし、左に比べ右ブラケットは使う頻度は少ないので対称性については深く考えないようにしました。

左の親指でスペースを押している癖があるからか英数でReternはまだ馴染めないです。第一関節を曲げないといけないという所が良くないのかも…

そして、殺した「英数」と「かな」はどうなったかといいますと、一度は長押しで使えるようにしてはみたのですが一瞬レスポンスが遅くなるので取りやめて行き場をなくしました。

長押しで生かす場合の参考設定
<?xml version="1.0"?>
<root>
    <item>
        <name>EISUU to RETURN</name>
        <identifier>private.eisuu2return</identifier>
        <autogen>--HoldingKeyToKey-- KeyCode::JIS_EISUU, KeyCode::RETURN, KeyCode::VK_NONE, KeyCode::JIS_EISUU</autogen>
    </item>
    <item>
        <name>KANA to JIS_BRACKET_LEFT</name>
        <identifier>private.kana2bracket_left</identifier>
        <autogen>--HoldingKeyToKey-- KeyCode::JIS_KANA, KeyCode::JIS_BRACKET_LEFT, KeyCode::VK_NONE, KeyCode::JIS_KANA</autogen>
    </item>
</root>

しばらくこれで過ごしてみたいと思います。

トラックバック - http://d.hatena.ne.jp/guyon/20120126

2012-01-16

zshの補完をさらに強力にするzsh-completionsの設定

| 23:50 | zshの補完をさらに強力にするzsh-completionsの設定を含むブックマーク

普段、iTerm2をデュアルディスプレイの出力側に常に表示させて3分割にして利用しているのですが、zsh-completionsを設定してからサブコマンドを利用するコマンドがとても便利になったので設定方法を記録しておきます。

設定

GitHubで公開されているスクリプト集をダウンロードしましょう。

This projects aims at gathering/developing new completion scripts that are not available in Zsh yet. The scripts are meant to be contributed to the Zsh project when stable enough.

[yuki@beaune.local]$ git clone https://github.com/zsh-users/zsh-completions.git

ダウンロードスクリプトをホームディレクトリに適当にリネームして配置します。

~/.zsh-completions/

最後に「.zshrc」の先頭にリネームして配置したディレクトリ追記しパスを通します。

# zsh-completionsを利用する Github => zsh-completions  
fpath=(~/.zsh-completions $fpath)

尚、.zshrcには下記のような補完関連の設定が既にされている事を想定しています!

autoload -U compinit; compinit
zstyle ':completion:*:sudo:*' command-path /usr/local/sbin /usr/local/bin \
                             /usr/sbin /usr/bin /sbin /bin /usr/X11R6/bin \
                             /usr/local/git/bin

操作方法

私はAndroidSDKに同梱されているadbコマンドをよく使います。adbコマンドもサブコマンドで構成されているので、補完が効いているとlogcatひとつにしても便利です。

例えば

[yuki@beaune.local]$ adb <ここでTAB>

とすると

[yuki@beaune.local]$ adb bugreport 
bugreport       -- return all information from the device
connect         -- connect to a device via TCP/IP
devices         -- list all connected devices
disconnect      -- disconnect from a TCP/IP device
emu             -- run emulator console command
forward         -- forward socket connections
get-serialno       -- prints: <serial-number>
get-state          -- prints: offline | bootloader | device
help            -- show help message
install         -- push this padbage file to the device and install it
jdwp            -- list PIDs of processes hosting a JDWP transport
kill-server        -- kill the server if it is running
logcat          -- view device log
ppp                -- run PPP over USB
pull            -- copy file/dir from device
push            -- copy file/dir to device
reboot             -- reboots the device, optionally into the bootloader or recovery program
reboot-bootloader  -- reboots the device into the bootloader
remount            -- remounts the /system partition on the device read-write
root               -- restarts the adbd daemon with root permissions
shell           -- run remote shell interactively or command
start-server       -- ensure that there is a server running
status-window      -- continuously print device status for a specified device
sync            -- copy host->device only if changed
tcpip              -- restarts the adbd daemon listening on TCP on the specified port
uninstall       -- remove this app padbage from the device
usb                -- restarts the adbd daemon listening on USB
version         -- show version number

という感じでサブコマンド一覧が表示され、さらにタブを押すとサブコマンドがRING循環で表示されます。

さらに、サブコマンドも同様にタブで補完できて

[yuki@beaune.local]$ adb shell <ここでTAB>
zsh: do you wish to see all 162 possibilities (41 lines)? 
acceld                    hostapd                   mm-aenc-omxqcelp13-test   run-as                  
am                        hostapd_cli               mm-audio-native-test      schedtest               
app_process               hostapd_wps               mm-jpeg-dec-test          schedtop                
applypatch                id                        mm-jpeg-enc-test          sdptool                 
athtestcmd                ifconfig                  mm-vdec-omx-property-mgr  sendevent               
battery_charging          iftop                     mm-vdec-omx-test          service                 
bluetoothd                ime                       mm-venc-omx-test          servicemanager          
bmgr                      input                     monkey                    setconsole              
bootanimation             insmod                    mount                     setprop                 
bugreport                 installd                  mtpd                      sh                      
cat                       ioctl                     mv                        sleep                   
chmod                     ionice                    mwmainte                  smd                     
chown                     iperf                     nandread                  start                   
cmp                       iptables                  ndc                       stop                    
cnd                       iwconfig                  netcfg                    surfaceflinger          
dalvikvm                  iwevent                   netd                      svc^M                   
date                      iwgetid                   netmgrd                   sync                    
dbus-daemon               iwlist                    netstat                   system_server           
dd                        iwmulticall               newfs_msdos               tc                      
debuggerd                 iwpriv                    nl_listener               test_diag               
dexopt                    iwspy                     notify                    tgmd                    
df                        keystore                  omx_tests                 tmsd                    
dgstmgrd                  kill                      orientationd              toolbox                 
dhcpcd                    linker                    pand                      top                     
diag_klog                 ln                        ping                      trpd                    
diag_mdlog                loc_api_app               pm                        uimd                    
dmesg                     log                       port-bridge               umount                  
dnsmasq                   logcat                    pppd                      vdc                     
dumpstate                 logwrapper                printenv                  vmstat                  
dumpsys                   ls                        ps                        vold                    
dvz                       lsmod                     qmuxd                     watchprops              
fotad                     mediaserver               racoon                    wipe                    
fsck_msdos                mkdir                     reboot                    wiperiface              
geomagneticd              mm-abl-test               recEvent                  wlan_tool               
getevent                  mm-adec-omxQcelp13-test   renice                    wmiconfig               
getprop                   mm-adec-omxaac-test       rild                      wpa_supplicant          
gzip                      mm-adec-omxevrc-test      rm                                                
handset-keypress          mm-adec-omxmp3-test       rmdir                             

利用できるコマンド一覧が補完されます。adb logcatの場合はFilterの種類が表示され、サブコマンドごとに適切な補完がされていることがわかります。

コマンドの補完だけでなくオプションも補完でき、すぐにオプションを忘れてしまう私のような人には便利です。

[yuki@beaune.local]$ adb logcat -<ここでTAB>
-b                           -- loads an alternate log buffer for viewing, such
-c                           -- clears (flushes) the entire log and exits
-d                           -- dumps the log to the screen and exits
-f                           -- writes log message output to file. The default 
-g                           -- prints the size of the specified log buffer and
-s                           -- sets the default filter spec to silent
-v                           -- sets the output format for log messages

[yuki@beaune.local]$ adb install -<ここでTAB>
-l                           -- forward-lock the app
-r                           -- reinstall the app, keeping its data
-s                           -- install on SD card instead of internal storage

adbコマンドの例をとりましたが他にも色々なコマンドに対応しています。

対応しているコマンド例

わりとよく使うコマンドの一例です。特にmvnコマンドなどはタカタカッターン!!と実行できて気持ちいいです。

コマンド

これ以外に色々もあります。

まとめ

  • 補完便利
  • 補完対象が豊富
  • たまに待ち時間が気になる補完もある
  • 設定が簡単という所が敷居が低くて良い

少しの設定で普段の操作が快適になるので、もしよければ試してみてください!

トラックバック - http://d.hatena.ne.jp/guyon/20120116

2012-01-14

Vimでソースコードを素早く追いかける

| 22:52 | Vimでソースコードを素早く追いかけるを含むブックマーク

Vim Advent Calender 2011 45日目の記事です。今回のテーマはソースコードを素早く追いかけるです。

Vimをお使いの皆さんは設定ファイルや文書作成以外にもソースコードを作成・メンテ・閲覧などに利用されている事と思います。

そこで、ソースコードを追いかける時に便利なプラグインをご紹介したいと思います。なお、この記事は過去に私が書いたエントリーを再構成した内容となっています。

追いかけるソースコードを用意する

まずは、追いかけたいソースコードを用意しましょう。例としてあげるソースコードVimで世界的に有名なc9sさんが作った、巷で話題のRubyのBundler(やVimのVundle)ライクなPHP版Onionです。

$ git clone https://github.com/c9s/Onion.git
cd ./Onion

プラグインを設定する

Source Explorerというプラグインを導入してみましょう。概要は以下の通りです。

The plugin (srcexpl.vim) is a source code explorer based on tags and it provides an overview of the function and type definitions.It has such a mechannism that works like the context window component of "Source Insight" software.

If you have used Source Insight for browseing C/C++/Java project before, you may find that you can browse the definitions with the Source Explorer as well as the context window of "Source Insight".

tagsを利用したソースコード閲覧・移動補助してくれます。

以前に紹介した時点ではVersion 2.3でしたが現在では4.3になり、trinity.vimというプラグインを使う事でUIが使いやすくなっています。

下記のプラグインをruntimeパスのとおったpluginディレクトリに入れましょう。

runtimeパスの確認の方法はコマンドラインモードで

set runtimepath?

通常は下記ディレクトリに「srcexpl.vim」と「trinity.vim」と「NERD_tree.vim」と「taglist.vim」を放り込めばOKです。

~/.vim/plugin/
ctags

Source Explorerはctagsというソースコード関数変数情報などをインデックス化する外部プログラムを利用します。また、Mac OS XではデフォルトインストールされているもののExuberant Ctags という拡張されたctagsではない為、macportsなどでExuberant Ctagsをインストールしておきましょう。Windowsの方はKaoriyaさん配布のvimを使っている人がほとんどだと思います。Kaoriyaさんのその他コーナーでリンクされているこちらのExuberant Ctags対応ctagsをダウンロードしパスを通しておきましょう。*1

[yuki@beaune.local]$ port info ctags
Warning: port definitions are more than two weeks old, consider using selfupdate
ctags @5.8 (devel)
Variants:             universal

Description:          Exuberant Ctags generates an index (or tag) file of source language objects in source files that allows
                      these items to be quickly and easily located by a text editor or other utility. Alternatively, it can
                      generate a cross reference file which lists, in human-readable form, information about the various objects
                      found in a set of source code files. Supported languages include: Assembler, AWK, ASP, BETA,
                      Bourne/Korn/Zsh Shell, C, C++, COBOL, Eiffel, Fortran, Java, Lisp, Lua, Make, Pascal, Perl, PHP, Python,
                      REXX, Ruby, S-Lang, Scheme, Tcl, Vim and Yacc.
Homepage:             http://ctags.sourceforge.net/

Platforms:            darwin, freebsd
License:              GPLv2
Maintainers:          mww@macports.org, openmaintainer@macports.org

[yuki@beaune.local]$ sudo port install ctags

起動方法

コマンドラインモードで下記コマンドを実行します。

:TrinityToggleAll

tagsが存在しない場合は作成するかどうかを聞いてくるのでyesを選択します。

実行すると左にtaglistを使った変数メソッドなどのアウトライン、右にファイラー、真ん中にソースコード、下にソースエクスプローラーが表示されます。

それぞれをToggleするコマンドも用意されています。


" +----------------------------------------------------------------------------+
" | File | Edit | Tools | Syntax | Buffers | Window | Help |                   |
" +----------------------------------------------------------------------------+
" |-demo.c-------- |-----------------------------------------|-/home/myprj/----|
" |function        | 1 void foo(void)     /* function 1 */   ||~ src/          |
" |  foo           | 2 {                                     || `-demo.c       |
" |  bar           | 3 }                                     |`-tags           |
" |                | 4 void bar(void)     /* function 2 */   |                 |
" |~ +----------+  | 5 {                                     |~ +-----------+  |
" |~ | Tag List |\ | 6 }                                     |~ | NERD Tree |\ |
" |~ +__________+ ||~        +-----------------+             |~ +___________+ ||
" |~ \___________\||~        | The Main Editor |\            |~ \____________\||
" |~               |~        +_________________+ |           |~                |
" |~               |~        \__________________\|           |~                |
" |~               |~                                        |~                |
" |-__Tag_List__---|-demo.c----------------------------------|-_NERD_tree_-----|
" |Source Explorer V4.3                                                        |
" |~                              +-----------------+                          |
" |~                              | Source Explorer |\                         |
" |~                              +_________________+ |                        |
" |~                              \__________________\|                        |
" |-Source_Explorer[Preview]---------------------------------------------------|
" |:TrinityToggleAll                                                           |
" +----------------------------------------------------------------------------+

操作方法

<C-W>HやLなどでWindowを移動して3つのWindowごとの機能を素早く切り替えられるUIになっています。実際に操作してみるとわかるのですがとても使い勝手がよいことがわかります。

Source Explorerはカーソル下にある変数メソッドの宣言やコール元のソース情報を自動で表示してくれます。もし、コール元が複数ある場合はリストで表示されるのでWindow移動して対象業でEnterを押せばジャンプできます。ジャンプや戻ったりするのも自分好みのキーを割り当てる事ができるようになっているので、設定をカスタマイズしたい場合はSource Explorerソースコード(srcexpl.vim)ヘッダ部分を参照してみるとよいでしょう。

画面キャプチャ

f:id:guyon:20120114224034p:image

メソッドの宣言を自動で表示

f:id:guyon:20120114224035p:image

コール元のソース情報一覧を自動で表示

f:id:guyon:20120114224036p:image

マウスでも操作できる!えッ?

最後に

アウトライン表示や宣言へのジャンプ機能などEclipseなどのIDEではできて当たり前の感覚ですが、Vimでもソースコードを参照する時にオペレータやgfやGrep他等のvim基本機能に加え、今回紹介した様なプラグインを使う事で軽快にソースコードを徘徊・把握ができるようになるのではないでしょうか。個人的には移動や表示する時の感覚が大事で「ホイホイ」と軽快に移動できると気持ちがいいですね!

まだまだVim Advent Calendar 2011は続くようです。明日のVimmerへパスします。

*1Vimと同じディレクトリに置けばよかったのかな?

2011-11-20

ujihisa.vim#2に参加してきました

| 00:56 | ujihisa.vim#2に参加してきましたを含むブックマーク

http://gyazo.com/3db9bf8b1a0cbd3e67348fbe9724752b.png

約半年ぶりに開催されたujihisa.vim#2に参加してきました。

http://partake.in/events/b886679b-e8c0-44af-9df2-62a6e5cfd6ed

f:id:guyon:20111121005540p:image:w550

雨の中、場所は株式会社mixi様の100人入れる会場で開催されました。

partakeで表示されたGoogle Mapのジャンプした先では新宿が表示されるトラップが仕込まれていたので、あやうく素直に行ってしまうところでした。出発前に再確認したら「渋谷なのに新宿?」と気づいて良かった...

f:id:guyon:20111119124805j:image

エレベータで今回のイベントサポートをしてくださったmixiの方と遭遇し、開催される部屋まで案内していただきました。居合わせた3人の参加者を含めて一言二言会話しただけですが、とても感じの良い方ということが伝わってきました。

そして、エレベータを降りてすぐ見えるmixiのフロントはスルーして奥に進みます。

f:id:guyon:20111119124719j:image

広いリラクゼーションスペース。開催までの間こちらで黙々とノートパソコンに向かっている方もいました。

受付を済ませてゲストカードを借り、リラクゼーションスペースに隣接している会場に入ります。

f:id:guyon:20111119130838j:image

スライドが見やすい前の辺りに座りました。当日はUstreamで配信されていました。準備をテキパキとこなしているこなされている様子です。開催までの間、主催者であるujihisaさんの段取りの良さが目立ちました。

この頃会場内に熱気が高まり、いよいよ始まるぞという感じです。

f:id:guyon:20111119131712j:image

KaoriyaでWindowsVimを配布されているKoRoNさんを皮切りに、たくさんの発表がありました。

  • KoRoNさんの発表のインパクトすごかった
    • 時間があっという間に過ぎてしまってもっともっと話を聞いてみたい濃い内容でした。
  • basyuraさんの鳥取のイメージがすごかった
    • 自分も何か作ろうかなと思わせられる発表でした
  • kanno_kannoさんからVim scriptへのお誘い
    • Vim-jaで「それ実現しましょう」というやりとりも発生した
  • jbkingさんのPython的お話
    • Python用チェックツール便利そう。reStructuredTextも!
  • シャイなガイのthincaさんのライブコーディング
    • 手を動かしながらの妙絶な解説*1
      • スタイルも内容もすごく面白かったです*2
      • このスタイルなら次回も登壇期待できる!
  • Shougoさんの「くるな」→「キタw」→「いつもの」
    • ネタをネタと見抜けない人は...(続く)
    • Super Shougo Time は鉄板
  • sora_hさんの当日飛び入り発表
    • というなかでもネタをしっかり仕込んで楽しめる発表をしてくださいました
  • vimマインド的なおはなしをされたchoplinさん
    • MongoDB!今、MongoDB熱いですよね。(話はMongoじゃない)
    • こういう状況だとvimscript書けるチャンスだよ!と華麗なデモを交えながらのお話。
      • もっと色んな話を聞いてみたいと思った方でした
  • 最終発表者のujihisaさん
    • Levelに合わせたHowTo
    • 魅せるプレゼン
    • vimの起動時に飲み物を飲みながら歩ける時間と心の余裕

f:id:guyon:20111119143215j:image

休憩時間中に撮った一枚。『美人な女性』

f:id:guyon:20111121002904j:image

懇親会。ピザやおつまみなどを食べながらたくさんのテーブルで懇親が行われていました。写真はujihisaさんのカナダ土産の食べれる紐*3。たくさんの人とお話しできて楽しかったです。

開催をしてくださったujihisaさん、発表者の方々、会場サポートしてくださったmixiさんどうもありがとうございました!

*1:もう一人のthincaさんを名乗る人が

*2:そう長くないscriptだけど要所にポイントがありわかりやすく伝わってきて

*3:お土産に妻へ1本持って帰ったら、「好きなお菓子でよくこれを買ってきてもらっていた。でも、この味は(固有商品)は科学的な味が強くて、ちょっと...」という昔から好きだったお菓子という驚愕の事実

ujihisaujihisa 2011/11/21 08:30 > お土産に妻へ1本持って帰ったら、「好きなお菓子でよくこれを買ってきてもらっていた。でも、この味は(固有商品)は科学的な味が強くて、ちょっと...」という昔から好きだったお菓子という驚愕の事実

!!!

トラックバック - http://d.hatena.ne.jp/guyon/20111120