2010/12/19

分散バージョン管理勉強会に参加してきた #shibutra

皆様、おつかれさまでした。

僕はもう、自分の発表がおわったということで満足の笑みを浮かべ
静か人生の幕を閉じようとしてましたが、レポートを書いてないので。

んで、自分がいろいろ聞いた中で、何が変わったって、

Bazaarがよさそう(ぉぃ

お前、なに発表したかおぼえてっか?おい

いやさ、うちの社内の話で行くと、SVNをちゃんと使ってる人少ないし
使うことの導入に関しては、一番いいのかなって思ったこと。

あとは、実際、社内のSVNって日本語ファイルが山ほどあって、
「日本語完璧」の誘い文句に引っかかったというか・・・

あとは、イケメンbleis様の発表きいて、
あぁこんな開発環境にできたら~って。

ただ、自分の気持ちとして、あそこまで出来るか?っていわれたら
たぶんいきなり出来ないのと、組み込み環境でやるので、そこらへんを
解決できたら、また次の通常発表にぐふふふふへへへへへ

後は全体的なところ

前説:分散バージョン管理ってなんなん?(@LightningX様)

分散バージョン管理がなんなのかの説明、比較表とかシェア、特徴、
おすすめ(笑) など。

日本ってやっぱりGit多いけど、GitGitと騒いでるから多いだけで
特長とかいろいろ聞いてると、もう少し人数分布がなだらかになるんじゃ
ないかなって思った。

エルシャダジャイル 吹いた、リアルで。

GitとHudsonによるきれいなリポジトリの作り方(@bleis様)

何がすごいって、あの環境で開発したい。

自分で一番引かれたのは、セントラルリポジトリの安全が確保されてることで
メンバーの能力云々に左右されずに、安全が自動化、保障される部分。

そのうち自分達の環境でも挑戦できたらいいな。

TracLightningとTortoiseHgのゆるふわな連携(@wyukawa様)

Subversion と Mercurial の連携の話、デモ付き
実はHg便利?と思った。いろいろ試すいい機会かもしれない。

git-svn使ってみる?(@riskrisk

俺の発表。客観的に見てどうだったんだろう。
楽しんでいただけてれば幸い。

ついでに、資料は少し更新してるので、気になる方は、
直前の記事を参照のこと。

Mercurialで別オリジンのリポジトリ間で同期を取る運用の仕方について(@monjudoh様)

難しい・・・ リポジトリを重ねるあたりまで理解した。
残りは記事を読んでみようと思う。

LT(笑) Git での歴史の改変方法の紹介(@sinsoku_listy様)

gitのコミットログをいじる話。ローカルで歴史改変を行うことで
きれいなコミットログを残そうっていうことかなと思った。

ひとつふと思ったのは、きれいすぎると違和感がありそうかなとか。

時間経過がログから消失すると、作られた資料ってイメージで、
「ログ」としての意味が消失するかなーって。

LT : SubversionユーザーのためのBazaarガイド(@wonderful_panda様)

これが今回、一番やられた感じがしたw
導入が簡単なのが広めるのに適してると最近感じてるので。

ただ、svnをコマンドで使ってる人は、gitも使えるので、比較表に関しては
悔しくなんかないんだからね!ぷんぷん

LT : Hudsonからみるバージョン管理(@cactusman様)

Hudsonと分散バージョン管理、連携したらいいよね。
素直にそう思います。

LT : ビューティフルなデバッグの話(@tosikawa様)

git bisect の効能

便利だとは思ったけど、アプリの中身をどうやって作るかとか、
どんな構成にすればいいのかとか、ちょっとそこらへんが難しそうだなと
感じた。

あとはテストにエラーが発生したときに、自動で実行されてエラーが
出せるようになってたらいいなと思った。

あぁでもこれで捕まえるバグは、副作用とかテストの増加で
新たに発見されるバグなのかと思うと、やはり手動?

まとめ

いろいろ得るものもあって、楽しかった。

さくっと試せるものは、早めにやってみようかな Bazaarとかw

2010/12/18

分散バージョン管理勉強会で発表してきた #shibutra

分散バージョン管理勉強会で発表してきました。

発表者の皆様、スタッフの皆様、参加者の皆様、

本当におつかれさまでした。

初めての本発表で、超が付くほど緊張してまして、いろいろと
おききぐるしい点など、あったとは思いますが、生暖かい目で。

んで、発表が終わったので、資料公開します。

一部修正や改変を入れてます。

僕の本名やら、神速さんの顔写真、あと大事なこととして

覚えておくといい命令に、help を追加しました。
自分でもよく使うのに、リストに入ってないという。

資料に関しては、使う用途があれば自由に使ってください。

皆様の何かの足しになれば幸いです。

2010/12/11

AgileDay4に行ってきた! #msagile

昨日は皆様、お疲れ様でした!

Agileの定期イベント、AgileDayの第四回に行ってきました。

今回のお題、テストや、アジャイル導入に関する内容、
また、コーチングの基礎的な、人とのコミュニケーションの方法について
いろいろと気付きをいただいてきました。

アジャイルでのテストを考える - 近江さん

テストにおけるアジャイルに関して、いろいろ話を聞かせていただきました。

事例の話も多き聞かせてもらえたのは、すごく良かったなと感じました。

自分としては、テストに関してないがしろというか、後回しというか
個人的な意見ですが、テストは、ソフトが出来上がってからやるもんで
とりあえずソフト作る方が先だろ!ってイメージが抜けてないのが現状で。

実際にテストするって言ったときに、
アジャイルとまぜまぜしたテストって

反復が可能、変化に柔軟

どちらも重要だと思うし、Agileでテストを行うなら、イテレーションで完了する
成果をテストするわけで、反復ごとに、成果を評価するための
テストがいるよなぁ っていつも疑問に思ってたところを突っ込んだイメージ。

提案的な内容だったので、少しづつ入れられたらいいなとか思ったり。
(メタクエスチョンされそうですが)

少しづつ何を入れる
個人的な意見ですが、役に立つドキュメントというか、情報をWikiに溜め込む
ことからはじめてみようかなと思います。やってないとは言わないんですが
全然情報量が足らなくて、もっとWikiの布教活動をしなくちゃと思う次第。

やさしいAgileの始め方 -  西村さん @nawoto

Agileをはじめようとして、チーム分解っていうことがあったので
いろいろ興味深く、反省しながら聞いていました。

agileが期待されているっていうのも、意外と導入するモチベーションに
なった気がする。経営層やマネージャ層が、どうどうと「やってみろ」って
思ってくれてるなら、うえを気にしなくて良くなって、そんなしあわせな
ことになったらくぁせdrftgyふじこlp;@

不安を抱えたまま仕事しごとしたくない って言葉に、とても共感
だって、不安あったら寝れないじゃないですか。

解決方法は、@nawotoさんに相談するか、不安なことを理解して
なぜ不確定や不安なのかをはっきりさせることかなぁと。
それだけでもずいぶん違う気がします。

んで、さらに細かい内容は大量につぶやいてたので、誰かすばらしい人が
とぅぎゃってくれるはず(俺偉い。http://togetter.com/li/77698

内容はそっちで見れるとして、自分の感想ですが

素直なところは、あぁ部分的に失敗して、ダメだぁ・・・ってなってたなという

もともとひどいネガティブなので、失敗からあきらめに直結してたんですけど
そうじゃなくて

すこしアジャイルになったんだ、すごいじゃないか!

って、言えたら、だんだんアジャイル度が増していくのではと。

そうそう、あとこのセッションでは名言

フォントがかわいい・・・ → フォントだ

が生まれましたね。とても重要なのでピックアップ。

質疑でそうなのかーと思ったことで

XPのが導入が難しいのは、プラクティスを全部やることで
威力を発揮するから

表現があってるか分からないけど、大体で。

SCRUMはいつも言われてきたとおり、ただのフレームワークで
何をどれぐらい入れるかは、チームが必要とおもったことを入れればいいと。

XPの中で、部分適用したら便利そうなものもあると思うんだけどなぁ
そこらへんは、詳しく勉強してみる必要があるかなって思いました。

話がごにょごにょしてますが、以上で。

自律的、自己組織的チームを作るコミュニケーションワーク
林さん @essence_s

~ NLPのメタモデルとミルトンモデルの基礎から質問の技法へ ~

ってことで、ワークショップをしてきました。

ぶっちゃけ、最初はなにやってんのか、全然わからなかったw

さらにエクセレントサークルが始まって、ちょっとこう宗教じみた感じにw

んで、目的のメタモデル、ミルトンモデルの話をしてもらって
なんとなくだけ概要をつかんで、実際のワークショップへ。

3人組で質問してみるんだけど、以外に難しくて、最初はしどろもどろ。
だんだん途中から、イメージわいてきて、そこそこうまく出来るようになった

気がする!

メタモデル的な質問も、あぁこういうのかぁと思いつつ
ミルトンモデル的な質問も、あぁそういうのかぁと思いつつ

軽く説明を書こうとしても、これは理解できないから
書いちゃいけない気がするw

最後まで終わってみて、タイトルを見直して

あぁ、そうか、こういうコミュニケーションが、自己組織化を促すのかと
いまさらながら理解するという・・・

自分の感想としては、相手に対して失礼なコミュニケーションしすぎてた・・・

癖が、「なんで?」なので、使い方間違えてたなぁと反省。

あとは、相手から引き出す質問と、相手が勝手に膨らます質問ってものが
あることをはじめて知った。実はこれが一番衝撃的だったかもしれない。

仕事にも家庭にもだけど、こういうことに気をつけていったら、なかなか
子育ても面白いのでないかw

子供をしかるときはメタモデル、一緒に遊ぶときはミルトンモデル

まとめ

一気にざざっといろいろとごちゃぜになってるけど、

AgileDay4はやっぱり面白かったw

また自分のプロジェクトに、少しずつAgile成分を注入してみようかなって
そんな風に思えるパワーをいただいてきたので、またがんばってみるよ。

それと、2次会お疲れ様でした、とっても楽しませていただきました。
普段、やれAgileやら、やれSCRUMやらの話をできないので
ああいう空間が、すごい楽しくて、この飲み会、ずっと続けばいいのになぁと。

名刺も片っ端からくばりまくれて、全部消費したし、
今回はいろいろ達成できたことが多くて、満足満足。

2010/11/30

Ubuntu PidginでSSL証明書エラー

ひさしぶりの更新ですけど。

僕のノートパソコン、Ubuntuにしてるんだけど
コミュニケーションツールの都合上、Pidginを利用してます。

このあいだ、WindowsMessengerのアカウントから
SSL証明書のエラーが出まくって、まったく繋がらなくなった。

んで、よくよく調べてみると、そういう問題があるらしく
次のバージョン(2.7.x?)だと対応済み
Ubuntuのバージョンアップだと、まだきてないので
暫定対策をとることに。

方法は、そこそこ簡単で

  1. エラーの出ている証明書のページにジャンプ
    僕の環境では、 omega.contacts.msn.comだったので
    https://omega.contacts.msn.com/ をブラウザで表示。
  2. そのページの証明書をエクスポート。
    Chromeの場合は、表示ページで右クリックコンテキストメニューから
    ページの情報を表示
    FireFoxは、アドレスバーの左の方の枠をクリックすると、証明書表示がある。
  3. Pidginの証明書一覧からomega.contacts.msn.comを削除
  4. Pidginの証明書のメニューから追加を選んで
    エクスポートした証明書を追加する
  5. 変更が反映されるような行動w
    アカウントの有効無効切り替えたり、Pidgin再起動したり、OS立ち上げ直したり。

一応注意事項として、追加の際に聞かれるアドレスを、
エクスポートした証明のアドレスをそのままにせず、
*.contacts.msn.com から omega.contacts.msn.com にすること。

以上で、いまのところ安定中です。
アップデートきたら、別にいらない知識だけど

追記

なんの操作か不明だけど、やっぱりエラーを出す場合が・・・
インポートのし直し(手順3〜5)でまた動くようになる模様

2010/11/18

第9回 社内勉強会

継続はちからなり。

第9回の社内勉強会やりました。

内容的には、

  • GAEとPythonでTwitterBotの話
  • gitでSubversionを使う話。

gitとsubversionの話は、自分が担当したので、そこら辺はあとで。

GAEの方は、自分でも少しやったことがあったにしても
細かい仕様(普通しっとくべきだろjkとか言われるのは置いといて・・・)
とか、使い方やら。

個人的にpythonが分かってなくて、とかの調べ方はかなり衝撃的でした。
おかげさまで、自分のtwitterbotを少し改造しようかなって気分にも。

個人的には、横槍を入れすぎたかなぁって思ったけど、実際わいわいと
なぜ?どうして? がとめどなく出てきていて、これが興味の現れだとしたら
素晴らしいことだなぁと実感しました。

次、git + subversion の話

これは僕が担当した話で、なんでgitの話じゃなくてgit+subversionの話をしたかは
会社でTrac使ってるので、連携しているSCMが、とりあえずはSubversionであること。

個人的に、Subversionからgitに移ることが必要なら、gitから、いま使っている
Subverisonの昨日を網羅できたら、そのままgitに移って、もっと便利な機能を
つかえるかなーって思ったので、その足がかりになったらいいなと。

実際、特定の場所でしか開発してない人が多いので、別に分散じゃなくても
あまり変わらないかもしれないけど・・・

と、そんなこんなで、今回は参加者が6人程度と、少し増えて良かったなぁ

後日談として、アンケートとった方がいい、かならずやるべきと言われて
何をアンケートすりゃいいんだと迷っていたり・・・
とりあえず、発表に関しての質問と、次に何を聞きたいですか?ってのぐらいをいれたやつを
作ってみようかなぁ

2010/10/29

WidnowsでGitを使う方法の続き

前回、Gitをcygwinで使う記事を書いたら、みんなのアイドルで有名な

神速さんより、コメントをいただきました。

@riskrisk msysgitのインストールで「Use a True Type font in the console」のチェックを外せばコンソールの文字化けしませんよ。cygwinとの細かい違いはありますが、msysgitでも普通にGitを使う分には大丈夫です。less than a minute ago via TweetDeck

なん・・・だと・・・!

というわけで、試してみた。

まずmsysgitを落としてくる。

場所はこの辺です。Git-xxxx って名前のを落としてきます。
インストーラーなので、普通に実行

んで、インストール

image

注意の通りに、一番下のメニューの、Use a ・・・のチェックをはずす。

で、文字化けるwwwwwwwwwww

image

なんでかなーと考えた結果、そうかGitが作るBashコンソールを
使わなきゃいいのか。

ってことで、普通のコンソールからgitを使ってみる。

これをやるには、セットアップのときに、設定を変える必要がありまして

image

セットアップの途中の、環境変数パスの設定で、
Windowsのコマンドプロンプトから実行できるように設定します。
(真ん中のを選ぶと、環境パスが入る。)

説明を読むと、Cygwinのgitを入れるんじゃないぞ、絶対にだ!
と書いてあるので、とりあえずCygwinは消します。
ちなみに、消し方はこのあたり

んで、cmd.exeからやってみたが、やっぱしなんか変だ。

コミットまでは動いたものの、文字化けを起こし
(コミットログを書いたのがvimだからか、あとでTerapadでも試そう)

git reset --soft HEAD^

っていれると、

More?

とか出てくる。

僕の心は、(´;ω;`)ブワッですが何か?

よし、今日はこれぐらいにしておいてやろう。
あきらめたわけじゃないんだから!

2010/10/18

GitをWindowsで使うには?

ちょこっとしか調べてないけど、WindowsでGitを使うには、Cygwinを使うといいらしい。

msysgit入れてみたけど、コンソールの文字を日本語できなくて・・・
(もしかして、うまいことやればいいんだろうか・・・)

で、結局Cygwinからいじることにした。

ここによると、1.7以降ならいけるとのことなので、公式からCygwinをダウンロード。
今日現在のバージョンは、1.7.7なんですね。

セットアップをダウンロードしたら、基本next連射で。
(すでにCygwinが入ってる人は、そのままsetup.exeを実行すればいいと思う)
途中で、Downloadサイトを選ぶところがあるので

image

ここはどれか選んでnext

もちろん、途中のモジュール選択でgitを探す。

image

左上の検索のところに、gitって入れると、Devel と Python と Utils が引っかかるので
Develのツリーを開く。んで、必要なモジュール

corefile、git bash completion、git-svn(Subversion使わない人は不要)、gitk あたりを入れる。

Skipの部分をクリックすれば、バージョンの値に変わるので、一番新しい奴を。

忘れずに入れるものがもうひとつ

open-ssh

これがないと、ssh-keygen が呼べなくて、鍵が作れなくて・・・もにょもにょもにょ
あとでgithibで動作を確認しますが、そのときに鍵を作るのに必要だったりします。

image

さっきと同様に、sshで検索して
opensshを選択します。

んで、インストール続行。
(依存モジュールをもサクサク入れる。)

Cygwinを起動して、gitを実行してコマンドの一覧が表示されたら、正しくインストールできてる。
git-svn 入れた人は、「git svn help」あたりを実行して、ヘルプがゴニョゴニョでればOK。

入りはしたので、本当に動くか、githubあたりで動作するか確認してみる。
自分のリポジトリを落としてみると・・・

$ git clone http://github.com/risk/risk.git
Cloning into risk...
remote: Counting objects: 96, done.
remote: Compressing objects: 100% (73/73), done.
remote: Total 96 (delta 15), reused 0 (delta 0)
Unpacking objects: 100% (96/96), done.

動いたw

つぎ、更新。

$ git clone git@github.com:risk/risk.git
Cloning into risk...
error: cannot run ssh: No such file or directory
fatal: unable to fork

あ、鍵が無い・・・w
そういえば、どこにかぎ突っ込むんだと思いながら、Honeディレクトリを探してみると

C:\cygwin\home\<アカウント名>

ここみたい

なので、ここに鍵を突っ込むといい。
(僕は鍵を作り直しちゃったので、作る場合はこのあたりを参照のこと)

んで、もう一回。

remote: Counting objects: 96, done.
remote: Compressing objects: 100% (73/73), done.
remote: Total 96 (delta 15), reused 0 (delta 0)
Receiving objects: 100% (96/96), 123.47 KiB | 65 KiB/s, done.
Resolving deltas: 100% (15/15), done.

お、今度はよさそう。

ちょっとだけ一連の操作をやってみたけど、ちゃんと動いているみたい。

設定しておくことといえば、コミットログの編集用TeraPadの設定ぐらいかな。
TeraPadをnextのみインストールしたときは、こんな感じ。

$ git config --global core.editor "/cygdrive/c/Program\\ Files/TeraPad/TeraPad.exe /cu8"

というわけで、一通り動いたよ、よしよし。

余談だけど、msysgit入れると、コンソールのフォントのデフォ値が固定されるあれは、なんなんだろう。
もしかして、アレさえなければmsysgitでいいのかもしれない・・・(こんだけ書いといてなんだけどw)

2010/10/09

第8回 社内勉強会

久しぶりに、会社の勉強会記事を、こっちに。

というのも、8回目の勉強会で、前回のTrac勉強会で失敗した
Wikiマクロの作り方を再演してきました。

今回は、自分しかスピーカーがいなかったので、
時間はあまり気にせず、聴く側の知識を保管しながら話しました。
実際の時間にすると、1時間ぐらいで話しました。
ちなみに、増やした内容は、Wikiはなんぞや とか チケットこうやって使うんだよ~とか

参加人数が少ないこと(3人程度)と、Tracになじみが薄い方もいらっしゃったので
そんな方針で進めてみました。

前回のLTから変えた点は、

  • Tracとは、どういうものなのかを説明した
  • Pythonの説明を、少し多めにした(Python知らない方が多かったので)
  • Wikiマクロを実際に動作させて、実際にどういうことをするのか実演

なかなか興味深く聴いてもらえたので、やってよかったかなと思いました。

ちなみに、余った時間で、ブラウザのカスタマイズとか、GAEの話とかしてたら
そっちのほうが、ずっと興味があったようで、そんなネタのほうが、
実は興味が深い!?とか思いましたw

ちなみに、GAEとTwitterBotの話聴きたいな~ってこともあり、
そろそろ、あの神のように速い方の出番かもしれません。

ファンクラブ会員として、あとでオファーしないとw

2010/10/02

Shibuya.trac 第8回 勉強会 感想 #shibutra

皆様、お疲れ様でした。

自分的なまとめを一通り。ログと感想が混じってるので。
確実に独り言のものは、ピンクにしとこう。

分散環境でのTrac - こんぴろさん(@kompiro)

  • はさみとツールは、つかいよう
  • 距離が離れた環境での開発作業
    • 体験したこと無いので、実感がわかないけど、普通に考えて離れてたら大変だもんなぁ
  • Tracは、マクロとか、Pluginが豊富
    • FullBlogPlugin
      • 入れてみようかな
    • TagsPlugin
      • タグがつけられるようになるツール
    • TracWysiwygPlugin
      • Tracでの視覚的に分かりやすい編集が行える
  • デスクトップのリモートツール

Hudson + AutoIt こかわさん(@Kokawa_Takashi)

  • Hudson
    • 知ってる人、100%
    • 使ってる人、半分以上?
    • やっぱりHudson使ってるひと多いんだ、道理で使いやすいと・・・
  • AutoIt

Scrumの話 かわぐちさん(@kawaguti)

  • scrumの話
    • 共感
    • 透明性
    • 実測駆動
  • TiDD
    • いつもチケット登録しようと思って、だんだんおろそかになるので、そろそろ卒業せねば
  • タスクボード
    • ハレパネがいい
      • A1☆おすすめ
    • ポストイット
      • 強粘着(重要)
    • チケットを色分けして管理する
        • 赤 - 割り込み
        • 緑 - 期限付き
        • 黄 - それ以外
  • 見積もり
    • プランニングポーカー
    • 全員同席
    • 相対規模
    • 近くは詳細で正確(近いものほど、正確に見積もれる)
  • Jim Coplien’s CSM
  • INNOVATION SPRINT 2011

Tracでアジャイル開発 Ryuzeeさん(@ryuzee)

  • プラクティスは、あくまで「アジャイルを助けるためのツール」
  • Tracを「場」にする
    • Tracを公開することで、お客さんとの交流を潤滑に
    • 公開しないことのリスク
      • はい。(´・・)∩
      • まずいことを隠したい → 負のスパイラルに
      • 能力がばれる → かくしてどうする?
      • 上司が嫌がる → しるか
    • プロジェクトの立ち上げ時にやることの例(順番適当)
      • Tracの立ち上げ
      • MLの作成
      • 開発環境の仮想化
        • 最近配れたらいいなぁ~って良く思う。今はLinuxだし要検討
      • SCMの構築
      • Hudsonの構築
      • コーディング規約
      • ビジョンの確認(共有)
      • プロダクトバックログ
      • リリース計画
      • スプリントの期間と回数
      • DONEの定義(タスク)
      • 品質の定義
      • コアアーキテクチャの決定
  • 朝会
  • ふりかえり
  • Tracを使い続ける努力
    • 頻繁にプロジェクトを変えることは、過去の資産から切り離す行為
  • ゴミ箱にしない努力
    • 毎日チケットをみて、更新をすることが重要
    • チケットの棚卸しを定期的
    • チケットの古さは、プロジェクトの健康状態を表す

ライトニングトーク大会

  • LTする人、おおいなー
  • 5分で分かるTrac Pluginの作り方(@sinsoku_listy)
    • プラグイン開発は、変更からやってくといいのかな。楽しそうと思った
    • 資料の見れなかった部分、あとで自分で読んでみよう
  • 引越しのタスクをBTSで管理したときのお話(@ikikko)
    • 一般の人に、某BTSとかチケットとか、使ってもらえちゃうのがまず、すごいと思った。
    • そもそも、引越しをチケット管理しちゃう時点で・・・
  • Tracのソース読んでみたー(@wyukawa)
    • Tracのソース読んだこと無かったので、もう少しpython勉強してから・・・
  • とらっくじら(@Sean_SF)
    • バグ管理とか、課題管理とか、Excelはやめたほうがいい その通りだと思う。ほんとに、もうやめようよ・・・まじで・・・
  • RedmineでもTracLightning(@kaorun55)
    • Redmine + TracLightning で楽チンインストールかぁ
  • すいぎんとう(@itouakihiro)
    • Mercurialを良く知らないので、ちょっと勉強してみようかって気分に。
  • Wikiマクロ3分クッキング@riskrisk

その他

  • 席表、顔をわすれちゃわないうちに更新されていったらうれしいなぁ・・・
    http://www.seatnext.com/v/i4ca5b71bediv
  • 個人的だけど、こかわさんと、集合場所で話し込んだり、席が隣だったりと、いっぱい話せたので、楽しかったw
  • 休憩中に、見積もりの話が少し出たストーリポイントは、あくまで「見積もり」なので、実績とは別物だったりとか
    • 小さすぎるストーリー と 大きいストーリー が混在すると、相対見積もりの最小と最大が
      離れすぎてしまって、細かい作業が 1,1,1,1 みたいになる って話をした。
      アジャイルな見積もりと計画作りによると、小さすぎる作業は、相対見積もりの値に不具合がでると
      あとは、本当に小さくなりすぎてないか、やるタイミングが近づいてきたときに確認するのがいいんだろうか
    • ちゃんと「アジャイルな見積もりと計画作り」をしっかり読まないといけないと実感(覚えてれば、ここに・・って話をできたし)
    • 勉強不足、申し訳ない。
    • 名刺いっぱいつくったけど、ほとんど配ってない
    • 名札自作した。楽しかった

以上、皆様おつかれさまでした。

Shibuya.trac 第8回勉強会 Wikiマクロ3分クッキング #shibutra

まずは焼き土下座から・・・

    r'ニニ7      LTが5分で終わらない。
     fトロ,ロ!___       本当にすまないという気持ちで…
 ハ´ ̄ヘこ/  ハ
/  〉  |少  / |      胸がいっぱいなら…!
\ \    /| |
 ┌—)))——)))‐—┐      どこであれ土下座ができる…!
  ヽ ̄工二二丁 ̄
   〉 ヽ工工/ ;′∬     たとえそれが… 肉焦がし… 骨焼く…
  lヽ三三三∫三三\;'
  h.ヽ三∬三三';.三三\';∫   鉄板の上でもっ………!
  └ヽ ヽ三,;'三三∬三;'三\'"
    ヽ |__|烝烝烝烝烝烝|__|
      lj_」ー————‐U_」

Wikiマクロを作るタイトルで、別の話で時間が潰れ
本編の途中で・・・ orz

というわけで、何よりまずスライドシェアに、
今回の発表スライドをアップロードします。

あと、テンプレのソースコードを。


#!/usr/bin/env python
# -*- coding: utf-8 -*-

from trac.wiki.macros import WikiMacroBase

class TemplateMacro(WikiMacroBase):

# マクロのエントリポイント
def expand_macro(self, formatter, name, args):
arguments = args.split(',')
return main(count=int(arguments[0]))

def main(count):
return ( u'Template ' * count ) + u' end Template'


if __name__ == '__main__':
# マクロテスト用
print main(3)

その他、感想は・・・ またあとで書きます!

2010/09/24

Linux上でBoostをビルドしてみよう

検索でわざわざBoostのビルドを探して飛んでくれたひとがいたのに
みたら、クロスコンパイルしか書いてないとか、ワンステップ飛ばしてるだろ

ってことで、Boostのビルドについて少し書こうと思います。

方法は、そんなに難しくなくて、ステップは3つほど

  1. Boostのダウンロードと展開
  2. bjamを作る(bootsrap.sh)
  3. bjamでboostをインストール

です。

というか、普通のboostでいいなら、Linuxの場合は

apt-get boost

です。

なんで、boostをビルドしなきゃいけないかというと
組込みなどのクロスコンパイルが必要な環境のモジュールを作成する場合

ターゲット上で動作する環境と、ホスト側のエミュレート環境を
できるだけ近づける必要があります。

具体的には、「ホストで使えたのに、ターゲットで動かねぇよ」

って。これが一番困るのです。
実際の話でいくと、そこまで問題は起こらないとは思いますが
減らせるリスクはできるだけ減らしましょうってことで。

ダウンロード

ダウンロードは、boost.org から持ってきます。

クロスコンパイル時は、1.43.0だったので、今回もこれを。
ダウンロードしたら、展開してください

tar zxvf boost_1_43_0.tar.gz

とかでいいと思います。

bjamを作る

展開できたフォルダに移動して、bootstrap.sh を実行します。

作業場所では、いつも話題に上がりますが、
2度目ですが、boostrap ではなく bootstrapですw

cd boost_1_43_0
./bootstrap.sh

といった感じ。

bjamでboostをインストール

bjamの実行最後に、bjamを実行して、モジュールを作ります

sudo ./bjam --without-python --without-mpi threading=multi install

解説ですが、

--without-python は、ターゲットにもpythonいれなかったので。
クロスコンパイルでの開発以外にも、色々作る予定であれば
Pythonも入れていいかと思います。
コンパイルでずっこける場合は、python-dev だっけか(うろおぼえ)が必要だと思います。

apt-get install python-dev

とか、こんな感じで。やり直しても上手くいかないなら --clean(クリーン) -a(リビルド) とか

--without-mpi は指定しなくても勝手に外れますが、メッセージが気になるので。

threading=multi でマルチスレッド対応に。

作成するモジュールなどの細かい設定は、クロスコンパイルの記事
見てもらうと良いと思います。

2010/09/23

Boost date_time で、フォーマット入力と出力

たまたまtwitterで、boostのdate_timeでフォーマット入出力が上手くいかないとの
ことだったので、作ってみた。
環境は
  • g++
  • boost 1.43.0
手順は以下のとおり
  1. ファセットの定義
  2. 入力元 出力先 に使用するストリームの宣言
  3. ldtを宣言(いちおう、元データを設定)
  4. ストリームに、ファセットを設定(localeは、ssのものをそのまま設定)
  5. 時間の文字列を文字列ストリームに設定
  6. 入力用ファセットにフォーマットを指定
  7. 読み込み
  8. 文字列ストリームをクリア
  9. 出力用ファセットにフォーマットを指定
  10. 書き込み
  11. 画面表示

ちなみに1.でファセットをポインタで宣言していますが、

これは、ストリームがファセットを自動で開放するためです。

ちなみに、deleteとかすると Segmentation fault です。

ソースコードは

#include <locale>
#include <iostream>
#include <sstream>
#include <boost/date_time.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/date_time/local_time/local_time.hpp>

int main()
{
// 1. ファセットの定義
boost::local_time::local_time_facet* outputFacet =
new boost::local_time::local_time_facet();
boost::local_time::local_time_input_facet* inputFacet =
new boost::local_time::local_time_input_facet();

// 2. 入力元 出力先 に使用するストリームの宣言
std::stringstream ss;

// 3. 入力元 出力先 に使用するストリームの宣言
boost::local_time::local_date_time ldt =
boost::local_time::local_sec_clock::local_time(
boost::local_time::time_zone_ptr() );

// 4. ストリームに、ファセットを設定(localeは、ssのものをそのまま設定)
ss.imbue( std::locale( ss.getloc(), outputFacet ) );
ss.imbue( std::locale( ss.getloc(), inputFacet ) );

// 5. 時間の文字列を文字列ストリームに設定
ss.str( "Mon, 10 Aug 2009 17:12:34" );
// 6. 入力ファセットにフォーマットを指定
inputFacet->format( "%a, %d %b %Y %H:%M:%S" );
// 7. 読み込み
ss >> ldt;

// 一応デバッグのため、時間をばらして出力
boost::posix_time::ptime pt = ldt.local_time();
boost::gregorian::date d = pt.date();
boost::posix_time::time_duration t = pt.time_of_day();
std::cout << "Year : " << d.year() << std::endl;
std::cout << "Month : " << d.month() << std::endl;
std::cout << "Date : " << d.day() << std::endl;

std::cout << "Hour : " << t.hours() << std::endl;
std::cout << "Minute : " << t.minutes() << std::endl;
std::cout << "Second : " << t.seconds() << std::endl;

// 8. 文字列ストリームをクリア
ss.str( "" );
// 9. 出力用ファセットにフォーマット指定
outputFacet->format( "%a, %d %b %H:%M:%S" );
// 10. 書き込み
ss << ldt;

// 11. 画面表示
std::cout << ss.str() << std::endl;

return 0;
}

2010/09/08

GoogleTest(GoogleMock) のクロスコンパイル

今回は、GoogleTestを実機上で動かしてみようっていう試み。
(すっごい申し訳ないですが、記憶で書きました・・・ この手順やコマンドで、ほんとに動くか試しますが
手順的にはあってるはずなので・・・ 勘弁してください・・・)

なんでそんなことするかって、自分の環境で動くのに、実機にもってたら
実機に持っていったら動かないとか、良くある話ですよね。

それなら、テストが実機上で動けばいいんです。

GoogleTestは、configureを使うことが出来るので、クロスコンパイル設定をして
Makefileを作ってみます。

ダウンロードと展開

持ってくる場所は、この辺から(今回は1.5.0のtar.gzを使います)

んで、展開します。

tar zxvf gtest-1.5.0.tar.gz

とか、そんな感じ

ちなみに、クロスコンパイルすると自動でsharedライブラリはnoになるようです。

実際、テストのライブラリをramdiskに含むと、releaseの環境の場合に、リリースに不必要な
テスト要ライブラリをramdiskから外す手間や、そもそも、テスト環境とリリース環境ののramdiskに
差異が生まれてしまい、テスト自体が無意味になります。
sharedライブラリつくって、起動前にLD_LIBRARYを指定するのもアリだと思いますが
今回は、staticライブラリで動かします。
(どうしてもsharedを使う場合は、--enable-shared=yes を指定すれば出来ると思います(未検証)

今回は、staticリンクで、動かす感じになります。

configure

configure でmakeを作ります。

./configure --prefix=<ライブラリのインストール先> --host=<CPU名>-<実機のOS> CC=<コンパイラ> CXX=<コンパイラ>

です。

prefixについては、別にどこでもいいんですが、そのまま入れると、コンパイルする側の環境を書き換えるので
自分のところで動かなくなる危険があると思われます。

hostの指定は、powerpc(ppcでもOK) とか x86_64 とか。 「-」でつないで、linux って感じです。

CC と CXX は、実際に仕様するクロスコンパイラを指定してください。

make とか インストール

configureが成功したら

make all install

prefixで指定した先の書き込みアクセスに、root権限が必要なら

make all
sudo make install

です。

実際に動かして動作を確認してみる

ライブラリが出来上がったら、実際に動作を確認してみます。

まずはソースコードを作ります。

// ExcecuteTest.cpp
#include<gtest/gtest.h>

class ExecuteTest : public testing::Test {}

TEST_F( ExecuteTest, success )
{
EXPECT_EQ( 1, 2 );
}

今度は、これをコンパイルとリンク

<クロスコンパイラ g++> ExcecuteTest.cpp -I"<prefixで指定したパス/include>" -L"<prefixで指定したパス/lib>" -lpthread -lgtest -lgtest_main -o ExcecuteTest.bin

と、こんな感じ。

出来上がった ExecuteTest.bin を、実機環境に持っていって、動作させて REDを確認

8行目の「EXPECT_EQ( 1, 2 );」を 1, 1 に直して、実行ファイルを作り直して、Greenを確認

問題点と課題

  • 実行結果とか、実行時の情報の取得が難しい
  • CIとの連動(FTPで実現可能?)
  • sharedライブラリで動作させるため、実行ファイルの肥大化

なんて課題があります。いくつか案はあるものの、まだ未実験です・・・

ちなみに、GoogleMockも同様の手順で動かすことが出来ますので必要な方は
読み替えて試してみてください。

2010/09/06

Bogilo の使い心地

とりあえず Blogilo を入れてブログの投稿をすることにしたけど、なかなか使い心地いいなぁ

画像を突っ込むのに、いちいち「ファイル保存」して、「そのファイルを指定して」って
手順があるのがめんどっちいですね。

まぁでも、そんなに困ってないのと、最近はもっぱらクロスコンパイルとか
コンソールネタばっかりなので、そんなに気にしなくても大丈夫か。

画像加工の話でいくと、GIMPをまともに使えないので、そっちが上手につかえたら
多少楽になるのかな。

試しに画像はっつけようとして、GIMPでキャンパスの変更が上手くいかずに挫折とか・・w

使い慣れた環境から移動するのは新鮮だけど、色々大変です

2010/09/04

Linux FireFoxで Backspace で戻れない件

FireFoxをインストールしたのはいいけど、ずっと不思議だった

Backspace で戻れない・・・

調べてみたら、Linux版はWindows版と違って、
Backspaceで戻る仕様じゃないんだそうな。

でも、戻りたいので、設定してみます。

やり方は

configを起動

ブラウザのアドレス欄に、「about:config」って入れて
FireFoxの設定値編集ページを開く

設定値の変更

browser.backspace_action をフィルタに入れて
出てきた値を 0 に設定すると、backspaceで戻れるようになります。

他のショートカットとかぶったりするのかなぁ
まぁでも、かぶったらその時考えよう・・・

Blogiloから、テスト投稿しますよ

Blogilo 入れてみた。

そもそも、メインPCをLinux(Ubuntu 10.04)にしたのが始まりなんだけど、
Linuxにしたら、Windows Live Writer つかってたのに、使えなくなるじゃんw

んで、色々調べてみたら Bilbo 使ってる人が多そうな感じ。

んでまぁ、入れてみました。

入れ方は、Linuxですから Synaptic で Bilbo を検索すればOK

そしたら、Blogiloも一緒にはいったり、KDE関連のモジュールが山ほど入ったり・・・
今後も考え、とりあえず入れてみることに。

んで、起動したら、Driver not loaded・・・ とか出てくるし、立ち上がらないし・・・

調べてみれば、libqt4-sqllite が入ってないからっぽいので、入れてみる。

起動・・・!

動く、動くぞ!

上部メニューのBlogから、自分のBlogを設定して完了。

これからは、Blog投稿はこれにお世話になるのかな。

ちなみに、アンインストールすると、メニューに残るので、
usr/shareあたり(だっけ?)のメニューのショートカットから手動で削る必要がありそうですね。
(メニューの編集には出てこないです。)

んで、使ってみたら、BlogiloにBibloのアップデートがかかる感じなんだろうか。
メニューにBilboって出てくるって書いてあったような気がするけど・・・

2010/08/26

ソースコードをBloggerで。

いままでソースコード書くのが難しくて、思いっきり逃げてたんだけど
よさそうなツール見つけたので、組み込むことにした。

で、実際に埋め込んでみた。

#include <iostream>

int main()
{
std::cout << "hello c++ world in blogger!" << std::endl;
}



なかなか良いかもなぁ。たまにはコード乗せるのもも面白そうだ

2010/08/25

Boost を クロスコンパイルするよ

というわけで、クロスコンパイルの方法を。
環境はLinux(Ubuntu + ターゲットの開発環境)

流れは

  1. ダウンロードと展開
  2. bjamの作成
  3. user-config.jam の書き換え
  4. bjamの実行

です。

ダウンロード

ダウンロードは、boost.org から持ってきます。
今回は、とある事情から1.43.0を使いますが、たぶんどれでも大丈夫(だとおもう)

ダウンロードしたら、展開してください

  • tar zxvf boost_1_43_0.tar.gz

とかでいいと思います。

bjamの作成

展開できたフォルダに移動して、bootstrap.sh を実行します。
作業場所では、いつも話題に上がりますが、
boostrap ではなく bootstrapですw

  • cd boost_1_43_0
  • ./bootstrap.sh

といった感じ。

user-config.jam の書き換え

今回は、クロスコンパイル用の g++ を使うので、そういう感じに書き換えます。
まず、user-config.jam の場所ですが、

<展開したboost>/tools・build/v2/user-config.jam

です。

適当なテキストエディタでファイルを開いて、編集準備を。
といっても、書き方がいろいろ書いてあるので、それに沿って書いていきます。

書式は

  • using msvc : [version] : [c++-compile-command] : [compiler options] ;

今回は、g++ を差し替えるだけなので、gcc のデフォルト設定を上書きする感じ?

  • gcc : 4.2 : <クロスコンパイル環境のパス>g++ ;

こんな記述を追記します。
そのほかにも、いろんな環境の設定が書いてあるので、眺めるのもいいと思います。

ビルドツールのマニュアルは、ここ(Boost.Build V2 User Manual)
クロスコンパイルの設定は、このあたり

bjamの実行

最後に、bjamを実行して、モジュールを作りましょう。
今回は、組み込み環境に突っ込むので、staticライブラリにします。

bjamの設定は、

  • ./bjam –help

とかで確認できます。

今回は、インストールする場所を、ターゲット環境元のファイルがあるところへ

  • sudo ./bjam --prefix="<ターゲット環境>/usr/local" --without-python --without-mpi link=static runtime-link=static threading=multi install

解説ですが、

sudoはインストール先のアクセス権が無いから。
--prefix="<path>" でインストール先を指定
--without-python は、pythonを動かす予定がないのと、ターゲットにもpythonいれないし・・・
--without-mpi は指定しなくても勝手に外れますが、メッセージが気になるので。
link=static でスタティックライブラリ
runtime-link=static でC、C++関連のライブラリもスタティックリンクします
threading=multi でマルチスレッド対応に。
install をつけて、出来あがったバイナリをインストールします。

まとめ

と、これで、出来あがったデータを使って、実行ファイルまで作成できることを
確認しましたが、実機上で動くかは、明日にでも確認できるかなぁ。

自分がよくわかってないことで、ar(アーカイバ?)って、クロスコンパイルのときも
Linuxのgccのやつをそのまま使ったりしてたりするけど、
クロスコンパイルの方のツールにも、専用っぽいやつがあるんだよね。
仕組みとして、ライブラリに変換するだけで、ライブラリのフォーマットは、
Linuxなら同じだから大丈夫とか、そういう理屈なんだろうか。気持ち悪い

動かなかったらまたいろいろ疑わないといけないなぁ

gccのバージョンによって、リンクがコケル。

いやー見事にはまった。

はまった内容は、gccのバージョン と リンク順で、
シンボルの参照が出来なかっただけっていう話。

gccの4.2だと、オブジェクトを先にリンクしないといけなくて
4.4だと、オブジェクトがライブラリよりあとでも大丈夫とか。

イメージだと

この書き方だと 4.2 、4.4 ともにOK
g++ <オブジェクト>.o -lboost_<name> -o output.out

この書き方だと、4.2はダメ 4.4だと通る。
g++ -lboost_<name> <オブジェクト>.o -o output.out

実際、クロスコンパイルしてて、クロスコンパイル用のgccが4.2
Linux上で使ってるのが4.4で違いが出たんだけど、
こういうのって、当たり前のことなんだろうか。
今度、リンク時の参照でこけたら、いろいろ順番入れ替えてみないといけないな。

2010/08/23

[読書] 情熱プログラマー

読みましたよー

プログラマなら読んでおけって、@tosikawaさんとか@kaorun55さんに
薦められて、そりゃあ、読むしかないだろって。

読むのがこんなにへたくそなのに、一週間で読了とか、珍しい。
本当に面白いから、読むといいとおもう。

ちなみに、新人だと難しいとか、少し仕事をしてみてから とか
そんな意見をいくつか聞いたけど(誰もいってなかったりして)
実際に僕は読んでみて、誰が読んでもいいと思う。
ただ、「やってみよう」のところは読み飛ばすことになるのかなぁ
ちょっと残念。といっても僕もほとんど実践できてないので
気にしないけど(いいのかそれで)

僕にとっては、「共感」とか「すみません(さーせんw?)」が、
すごく多い本だったと思う。
でも同時に、「そうかそうするのか」って、もっと前向きに進む後押しをしてくれた本
実際、自分のやってる活動なんて、小さすぎて見えないようなことばかりだけど
それでも、そこからはじめるんだって言ってもらえれば、
そりゃあやる気になるってもんですよ。

ちなみに、別に、自分がいままでやってきたとが、片っ端から
全部間違ってるわけでもないし、実際、本の中でかかれていることを、
どんどんやってきた気がする。
ただ、それがぶっちゃけ人の真似だったり、あの人がああやってたから~とか
そんなことばっかりだったことを、解説してみました みたいな
上手く伝わらないけど・・・

だからこそ、いまこうやって本を読んでみて、それ、やったやった とか
あのとき、あんなこと言ってたけど、それってただの口実(いいわけ?)
だったのか とか。

余談だけど、
むかし、ただただテキストサイトにあこがれて、HTMLをテキストで書いてみて、
画面に文字が出たときは、片っ端から、すげーって自慢してた気がするし
そういうのがモチベーションだったり、周りの人が「おお、すごい」って
ちょっと驚いてくれるだけで、次のやる気につながってたのを思いだした。

それがこれから自分がプログラマっていう創作的な活動をする上で
すっごく大事なんだなって事を再認識した。

好きだからこの仕事してます という。

2010/08/20

Linux Ubuntu ユーザー配下のディレクトリを英語名に。

この間教わったのに、また忘れたので書いておく。

シェルから
LANG=C xdg-user-dirs-gtk-update

です。

シェルとかで自分のディレクトリを移動するときに、日本語入力に変更したりするのとか
そもそも、日本語コード自体、あまり良くないし。

とりあえず、インストールしたらこれ打っておこう。


Powered by ScribeFire.

2010/08/13

Trac と Python2.6 を一緒に入れたら、なんか変だ

ちょっとはまったので、備忘録です。

というかぜんぜん解決してないんだけど

発生した問題は、TracLightning と Python の開発環境を
同一PC内に入れようとしたら、開発環境側の環境パスが
へんちくりんになっちゃたというもの。

どっちを先に入れたかは忘れましたが、たぶんTracLightningが先かな。

何が問題だったかは、PILをインストールしようとして、インストールまでは
うまくいくのに、「import Image」が一切うまくいかないという。

実際に、モジュールをロードしようとするパスをダンプ(sys.pathのダンプ)
してみると、Python 2.6 のコンソールで出力してるのに、全体的に
TracLightning側のパスをさしていている模様。

実際、自分の環境で解決するために、TracLightningをアンインストールしたけど
もっといい解決方法があったのかなって、ちょっと後悔。

2010/06/26

Agile Day 3 #msagile

お疲れ様でした~

すっごい面白かった。話の実際のところとかは、 @kanu_さんプロデュースの
Togetterあたりを参照してもらうとして、自分の感想とか思ったところを。

ここの内容は、自分が思ってることなので、発表していただいた方の意図とは、
ずれていたり、間違えていたりする部分も多数あると思います。
このブログに関する意見、感想等は、このブログに。
(間違えても発表者の方へ行かないようにお願いします)

んで、最初はお礼(?)w
発表していただいた方、運営していただいた方、参加者皆様、
本当にありがとうございました、お疲れ様でした。

海江田さん(@Qooh0)のセッション

Scramって何?って話だったけど、、実際にはScrumはこういうものだぞー
って話じゃなくて、実際にプロジェクトを成功させるためのプロセスというの例として

Scrumを上げただけで、
「本質としてAgileを実現するためには何を重視すべきか」ってお話

大事なのは、ツールは何でも良くて、求めることは「お客様の価値を作ること」
その視点からいったら、Scrumは、ツールのひとつ。
その中でも、Scrumは”意外と”容易に使えるって話でした。
(海江田さんは、自身はScrum信者ってわけじゃないとおっしゃっていました)
自分の知識の中でも、Scrumはフレームワークだよって言葉を思い出す感じ

ツールは使うものであって、ツールを使うことを目的にしないってのは
重要だなーとしみじみ。

開発の”改善”のための「フレームワーク」を提供するのがScrum

自分の現実だと、現在のプロジェクトにScrumを、いまのプロジェクトに
導入中って状況なので、とっても参考になったと思っています。

すべてにおいて、重要だなって思ったのが、

わかりやすい」っていう部分

これって、どんなことでもそうだけど、情報を必要としている人とか
情報を見る人が、簡単に理解できるっていうのが大切だなと。

僕の中では、「禁止したこと」が印象的で

  • スプリント中のスケジュール変更
  • 否定すること

自分で反省しなきゃなって思ったのは、誰か個人の問題だとしても、
その状況になってしまったのは、チームの責任であって、
チームとして、問題を処理しなきゃいけないって部分

どうしても、相手に「なんで?」って当たってしまうことがある自分には
とっても耳の痛い話でした。

否定することで生まれるものは、コミュニケーションを阻害する原因ぐらい

まさしく、と思いました。ごめんなさいごめんなさいごめんなさい

デビット・クーニングさん(@dkeuning)のセッション

組織にAgileをこうやって導入したら、こんな風になったぞーっていう発表?

うまく表現できないのがもどかしく・・・・

業務プロセスがアジャイルになると、何が変わるのか。

それが仕事だけじゃなくて、人の行動の仕方、オフィスの様子、
使っているツール、インテリアまでw

「必要だから」agileを導入する

自分自身、結構 agile って言葉に踊らされてるんじゃないかって気がしてきた。

悪いことではないと思うけど、「なぜAgileを選ぶのか」ってのを
しっかり考えることが必要だと思うセッションでした。

  • 製品を定期的にリリースするサイクルがある -> スプリントとかCIを導入する
  • コミュニケーションが必要 -> 社内レイアウトの変化

目的があってこその導入。これもツールを使うことが目的じゃないってのと
イコールなのかな

上のことをしっかり理解したうえで

実現するのに、面倒や失敗などが発生しやすい部分を、
やりたいことに特化したツールを使えば、すばらしい効果を得ることが出来ると。

あとは、改革は意識的に。
変えるのは、誰かがやってくれるんじゃなくて、自分がやる。
最近よく言われることだけど、変えられるのは自分だけで、
他人は変えることは出来ないってのを思い出す。

ちなみにROI(費用対効果)についての話もあったので、
自分の組織で、適用したときに出る効果とか、将来のイメージに
合致してるかとかの参考になるとも思うので、資料も目を通してみると
かなり参考になると思う。

一番重要なのは、何のためにこういうことを考えていくのか
「カスタマーファースト」「お客様の満足度」

自分が、一番印象に残った一言は 「agileなんだからagileはagileに考える。」

樽田さん、野口さん の UX と 弟子入りゲームのワークショップ

実は、やっている仕事上、UXというものを考える機会てのが少ないんです。

で、今回のコレをやった結果、「あーそーいうことか・・・」と納得してしまいました。

v = ∫(x) が印象的で、自分が作るソフトは自分が一番使いやすいって
そんなことが、コレだけで証明できてるのが。

弟子入りゲームは、実は僕は最初の時点で、まったく理解できてなくて
一緒にやっていただいた方に頼りっきりになってしまいました。
そもそもインタビューって呼ばれるものを、ほとんどやったことがなくてですね(^^;

2回戦は、なんとか頑張っていろいろグジグジ突っ込んでみました。

勝ち負けは良くわかんなかったんですが、気づきはすごく多くて、楽しかったです。

単純に、一番思ったことは、やっぱりいままでは、自分の考えで作ってたなって。
でも、使うのは自分じゃなくて、お客さんだし。
さらにそれでも、やっぱり仕事してると、お客さんは
「ここ、こういう風に変えられないかな~」って言ってくるんだよね。
これって、お客さん自体が、どうしたいのか理解できてないわけで、
それを引き出すことができたら、満足度も、コストも、信頼も、
みんなプラスに向かうなーって。

あとは、UXって言われたときに、UIとか見た目、使いやすさ、デザインとか、
そういうものを創造してたですが、別に見た目に限らず、
「使い勝手」の視点でいくなら、それがプログラムでいうクラスとか
関数ひとつであっても、UXはあるよなぁ と。

無駄な関数を作ってしまう
いらないインタフェースを用意してしまう

なぜ必要か」が作る側の視点から抜けたときに、間違えた方向へ動くんだな

ユーザーの言葉よりも、
お客様の実際の経験から、
最適な解決策を見つけ出すのが

プロフェッショナル

感動です。

LTのコーナー

各セッションの資料は、「あとでTechFieldersに出るだろう」ということで
とりあえず、自重しまーす。

長々と書いていますが、やっぱりこのイベントは参加したほうがいい
そのほうが、ずっと楽しさが伝わると思う。
むしろ、いつも行かない人が行ったほうがいい

楽しいよ、ほんとに。

2010/06/12

第五回 社内勉強会

今回は参加者少なめでしたよ。

発表内容は、

  • 僕のTrac Wikiマクロ入門 - 謝るときは誠意を持って -
  • かおるんの「iPadの使用感」

でした。

まずは自分の発表。

なんでこんな発表をしたかっていうと、最近謝るためだけのWikiマクロを作る機会があって、初めてpythonを触ったので、誰かに伝えたくて・・・w

実際に作ったスクリプトは、マクロで指定された回数分「ホント」を出力して、
最後にごめんなさいをつけるだけの簡単なもです。
僕にとっての「HellowWorld」みたいなものだったので、楽しく作れたので、参加者におすそ分けをと思い・・・

実際このマクロを使うと、たくさん謝っているようで、適当にあやまっているという、
なんとも、「それでいいのか!?」と問いたくなるマクロになってます。

要望は無いと思うので、公開自粛。

内容的には、Windows上でのwikiマクロ開発なので、必要な準備から、
動作確認までを手順を追って話しました。

  • Pythonのインストール
  • setuptoolsのインストール
  • Tracjのインストール
  • pythonスクリプトの作成
  • 動作確認

まででした。

Traclightningでいいじゃないかという話もあったけど、自分の
プライベート込みのマシンに、apatchを立てたくなかったので。

かおるんの発表は、iPadを使ってみた感想や、実際に動かしてみて
「何ができるかな?」っていうのを、ディスカッションしてみました。

iPad、やっぱりおおきいなぁ、重いなぁってのは思ってたけど、
実際に使ってみないと、どんなことができるかな?ってのは、感じられないなと実感

なんか触れば触るほどに、ほしくなる・・・

正直すごいなと思ったのは、iPadのいろんなアプリが、ほかの機能と
しっかりコラボしているところかなと。

ホワイトボードは、画像をとおしてメールで配布できる、スクリーンショットで
写真同様に見ることができるとか。

あとは、なにより、「見た目」がかっこいい。ほんとかっこいい。

ということで、三人ぐらいの参加者だったけど、自分は意外と楽しめましたw

2010/05/01

Subversion で、ツリー構成そのままで必要なところだけ取り出す

Subversionで、必要な部分的だけをチェックアウトしたときに、
サーバー上では違う階層のデータが
ローカル上では同じ階層にあったりっていうのが嫌なので、

TortoiseSVNで、コミットされているツリー構成をそのまま、
必要なところだけをチェックアウトする方法を。

やりかた

リポジトリのルート(必要であれば、その直下のサブディレクトリ)を
チェックアウトする。

コンテキストメニューから

image

を選択して、チェックアウトの画面を表示

image

Checkout Depth を、Only this item (直下のフォルダ(trunkとか
branches)あたりまでほしければ、子フォルダーも含む)を選択する。

OKを押して、ルートがチェックアウトできたら、そのフォルダから
Repo-Browser(リポジトリブラウザ)を表示する

自分必要なフォルダをツリービューで表示、右クリックで
コンテキストメニューを表示、そこから Update item to revision

image

画像は、Quickerだけをチェックアウトしたい場合、Quickerのフォルダをツリービューで表示してUpdate item to revision を表示したところ。

コレを選ぶと、どのリビジョンでダウンロードするのか聞かれるので、
必要な設定でチェックアウト

image

これで、必要フォルダ以下だけを、まとめてチェックアウトすることが出来ます。

2010/04/28

Shinnihonbashi.trac 第六回 勉強会

昨日は日本橋まで、trac(と言う名の別の何か)の勉強会へ行ってきました。

  • @kanu_さん 滝の中でバーンダウン
  • @ryuzeeさん プロジェクトの可視化のお話(Agiloとか)
  • @kompiroさん かんばん と スクラム
  • @kawagutiさん (@kkdさんのbazaar @shibukawaさんのSphinx)

どれもこれも非常に興味深く聞かせていただきました。

バーンダウンチャートは、名前ぐらいしか知らなかったので、
実際の絵と例が見れたのが収穫。
あんな感じで、自分のプロジェクトの進行状況が見えたら、いいなと思うと同時に

いまのプロジェクトで、まともにチケットが運用できていない

わけで、まずはチケットを・・・って毎度同じことを言ってる気がする。

それと、最近自分のやってるプロジェクトだと、
お客さんから、「何を犠牲にしても最優先で実装してほしい」みたいな
要求を受けることがあるので、スプリントって感じよりは、常に変更とか
タスクの順番とかを調整できるかんばんには、とっても魅力を感じました。
(自分がスクラムをしっかりと理解してるわけではないので、
上記のような場合でもうまく回せるのかもしれないですが、勉強不足です)

と、自分の印象に残ったり、気になったところのメモでした。

そういえば、今回はじめてtwitterでつぶやきながら、タイムラインを追いながら
勉強会に参加してみたんですが、話があがった瞬間で参加者の思ってることが、
プレゼンを邪魔せずに聞けるというのは、すごい面白いなと感じました。
また機会があれば、つぶやきながら聞くのもいいなと・・・

2010/04/17

VirtualBox + Kubuntu(Ubuntu) + eclipse で開発環境づくり(1)

最近、こんな環境で開発環境を作ることが増えてきた。
それも、最近の組み込みは、Linuxが多く、Linux上で開発することも増えたため。

開発環境を構築してると、いろいろ躓くところもあったので、まとめておこう。
やっとまとめる時間が出来たんだ・・・

Step1 Linuxの環境のインストール

これに関しては、いつもどおり。開発環境を作るにあたって
気をつけることとして、VirtualBoxはUbuntuをインストールしようとすると
なぜか8GBの仮想ハードディスクをデフォルトで作ろうとします。

8Gの場合、組み込み用開発環境(コンパイラやら、ライブラリやら) を入れて
実機に組み込むKernel とか rootfsなんかを一緒においてしまうと
イントールで4G さらにその他データが積もって・・・ なんてことが起こり、
データ移植とか最悪の場合は、環境作り直しなんてことに。

仮想ハードディスクは、可変サイズ(最初は小さいサイズで、データが増えるごとに
ファイルサイズが増えていく)に出来るので、僕は大体20Gぐらいで作っておく

ついでに僕自身はLinuxでコンソール使うことに弱いので、出来るだけ
GUIで管理したいなーって思いから、アップデートやらは、基本GUI任せで
やっていきます。

というわけで、起動するとアップデートを勝手に見つけてくれるので
適用しておきます。

そのあとは、さっきGUIだと騒いでおいて、いきなりコンソールだけど・・・
VirtualBoxAddionalToolsを入れます。

これで何が出来るかというと、カーソルのシームレス移動とか共有フォルダ、
クリップボードをホストと共有とか、便利な機能が詰まっています。
入れ方は、VirtualBoxメニューから、

「デバイス → GuestAddionalToolsのインストール」

を選択します。ゲストOS側に、CDが挿入されるので、
メディアの場所「/media/cdrom」を参照して、そこにあるスクリプトを実行します。
僕は32bitOSなので

「sudo ./VBoxLinuxAdditions-x86.run」

で、実行します。

インストールが完了したら再起動。

とりあえず、これだけ入れればOSは良いんじゃないかな。

あと、前回の記事にも書いたとおり、半角全角キーで問題がでるので

http://highrisklowreturn.blogspot.com/2010/04/virtualbox-ubuntu910-kubuntu.html

をやっておきます。

開発環境作成はまだまだ続く。

VirtualBox + Ubuntu9.10 とかKubuntu で、日本語入力がチカチカ

してたんですよ。

最初全然理由が分からなくて途方にくれてたんですけど、これが発生すると
入力も出来なくなって、ほんとに困まってました。

で、ずいぶんと探し回った挙句、Google先生がこんな記事を発見してくれました。

http://yushikun.at.webry.info/200906/article_3.html

なんか、半角全角キーが押しっぱなしになる問題があるそうな。

んで、対処方法は、xsetコマンドで半角全角のキーリピートを切るという方法

押しっぱなしでもリピートしなけりゃ一回だけという、なんと斬新な・・・

ちなみに、ほかのキーが押されるとオートリピートが解除されるので
チカチカに陥ってしまったときには、あせらず、

文字が入力できる場所(たとえばコンソール)にフォーカスを移す
半角全角キーを押す、何か文字キーを押す、自分の望んでいる入力モードで
落ち着けば、作業を再開、だめなら、もう一度半角全角キーを・・・

で、上記記事にもありましたが、僕もXsessionに入れて試してみたものの、
効果が無かったです。原因特定はしてません・・・
(もっと後の部分で上書きされるのかなぁ)

んで、セッションの最後に入れ込むことで動作させることにしました。

やり方は、

まず、Xsessionの記述されてるところまで移動します。
cd /etc/X11/Xsession.d

で、そこに自分の処理を追加するわけですが
最後のほうに追加したいので、81あたりに追加することにします。
sudo gedit 81key_autorepeat
これでテキストエディタを開いて
中身に、「xset -r 49」と書き込みます。

コマンドの意味自体はここでも分かるし、簡単に解説してしまえば
-r オプションをつけて、そのあとにキーコードを入れると、
指定されたキーコードの入力オートリピートを無効にしてくれるというもの。
(有効にする場合は、r オプションです xset r 49 で有効に)

あとは再起動したタイミングで、作ったファイルの中身が実行されるようになります。
そのまま使うのであればコンソールからxset -r 49 を実行すればOK

これで、日本語入力のチカチカ現象から開放されます。

これのせいで、ずいぶんと時間を浪費してしまった・・・ (;-;

2010/04/11

VirtualBox ミニツールバーの位置を変更

すごい久しぶりの更新なのは、いろいろ忙しかったから・・・

最近、VirtualBoxがいいねーなんて話をする機会が少し増えた

周りの人いわく、動作が軽いとか

僕が思うのは、VMWareより、ホストPCとの連携が使いやすかったりと。

んで、その中でもうひとつ話題にあがったことがあって、少し調べたら
解決方法があったので、紹介しておく。

タイトルにもあるとおり、ミニツールバーの位置を変更する方法

最初、どこをいじればいいのか不明だったんだけど、
作ったゲストOSの設定画面で変更できるようになっていた

image

位置的には、ここ。(ゲストOSの設定画面を開いて、
一般 → 高度 → ミニツールバー

これをいじると、表示位置が変わるらしい

KDEだと下にあると邪魔だし、GNOMEだと上にあると邪魔なんだよねw

これでまた少し、VirtualBoxが使いやすくなった。

ちなみに、VMWareは変更方法不明。どうやんだろ・・・

2010/02/16

社内勉強会(2/13)

とうとう社内で勉強会を開催しました。

パチパチパチ~

それもことの始まりは、とある社内セミナーで、そのことの復習と
参加できなかった人へのフィードバックをしたいなーって話から
やってみることになりました。

内容は、「朝会 と ふりかえり」
セミナーでネタはもらってたので、簡単なスライドに起こして
15分ぐらいで、お話しました。

内容的には、セミナーの報告と、もともと自分の思ってたこと、
学んだことで分かったこと、実践してみた結果 とか。

スライドは、あまりに時間がなかったため、話が飛んだりしちゃってるのが
悔やまれる・・・
でもまぁ、聞いてる人が少ないのと、社内の人間だったからかな?w
なんとか話すことはできました。

話し合った後には、悪い朝会と良い朝会をロールプレイしてみたり、
実際に実施してる人に、どこら辺が気になるところなの?とか聞いてみたり、
なかなか面白い勉強会だったなぁと。

一応スライド(文字をメイリオ使ってたら、Slideshareで明朝に変換されて、形が崩れまくり。発表と一緒じゃないと、あんまり意味の無い資料だから、まいっかw)

いまはまだ社内オンリーだけど、もっとこうネタを詰め込んで
会社近辺(八王子)で実施できたらいいなぁ。

ただ、何よりも最優先は、これが長く継続することだから
あせらずゆっくりとやっていこうと思います。

アクションは、持続できて、継続可能なものを!

夢は広がるばかりだし、もっと面白くしたいな。

2010/02/09

ThunderBird3 で、メッセージペインにボタンを追加

Thunderbird3になってから、メッセージペインに、返信とか転送ボタンが
ついて、ちょっといじりやすくなったと思ってたんだが

一番使うのは、「全員に返信」なんだなぁ

でも、全員に返信がデフォルトではいってなくて、どうやって設定するのか
疑問に思ってた。

んで、やっと気がついたので、やり方だけ。

image

ここで右クリックすると、ここ専用のカスタマイズがメニューに出るので
そこから、必要なボタンを追加します。

image

こんな感じ。

全員に返信ついたから、少し使いやすくなったかなぁ。

2010/01/28

救急外来にいったので、まとめ。

以下の内容は、僕の個人的な意見であり、内容の判断、実施は自己責任でお願いします。
人の命にかかわる可能性もあることなので、一応前置き。

このたび、うちの娘が夜中に熱が急上昇したので、
救急外来に駆け込みました。

で、いろいろと分からないことがあって、かなりドギマギしたので
ここでまとめておいて、子供のいる方の参考にしていただければと
記事にすることにしました。

で、まずことの経緯から。
うちの娘は現在1歳(もうすぐ1ヶ月)で、毎日暴れまわりつつ
家の中を走り回っています。
で、うまれて3ヶ月ぐらいから、鼻が詰まりやすく、定期的に
鼻水を吸ってもらいに、耳鼻科へ通っています。

火曜日
夕方ぐらいから調子が少し悪そう(機嫌が悪い)だった。
で、夜に発熱して38.7℃の熱でした。
この夜は適度に冷やしつつ、嫁が看病しつつで、朝にはある程度熱が引いていました。

水曜日
とりあえずある程度だったけど、熱が下がっていたので、一安心
かかりつけの医者(小児科が休みだったため)にはいけず、
いつも鼻水を吸ってもらう耳鼻科で見てもらい、お薬を出してもらう。
ただ、その薬が気に入らないらしく、すべて吐き出してしまうので、とりあえず
熱を冷やす(薄着とか、氷枕とか)で体温をさげることに。

夜まではとっても安定していて、機嫌も悪くなく、大丈夫かなと思っていたら
午後10時を過ぎたあたりから、徐々に機嫌が悪くなる。
で、12時時点で寝ることも出来ず、なきっぱなしになり、体温が39.4℃
今思えば、鼻が結構でてたので、もっとしっかり吸い出してあげれば
もうすこしおちついて、熱も下がったのかもしれない

ここから、救急外来までが思いっきりあたふたしたんですが

まず、近くの大きい病院に電話したら、
「小児科の先生いないんで、受け入れられない。
病院の紹介を行ってるサポートダイヤルに電話して」と言われる。
んで、サポートダイヤルに電話したら、呼び出し音はしても電話に人が出ない。
区の病院ガイドみたいなのを以前もらったので、それに書いてある
Webサイトにアクセスするも意味不明な画面で使えない。
ちなみに、その紙に書いてある電話番号が、サポートダイヤルの番号だったので
全体的に、その紙は信用できないという結論に至る。

仕方なく、大きな病院その2へ電話をかけると、
「電話相談は受けていないが、直接きてもらえれば、見ることが出来る」とのこと。
(この病院は、以前検査でお世話になったことがある病院だったので、診察券を持ってた
診察券が無いと、もうすこしゴタゴタするのかもしれない)

我が家には自家用車は、娘のベビーカー以外ないので、タクシー会社の電話番号を調べる
電話をかけると、受け付け用のところにかけなおすように言われる。
受け付けようのところにかけると、タクシーを手配してくれて、その後15分以内には
自宅前までタクシーが来る。(ちなみに呼び出すと、+300円ぐらいとられるよ。)

タクシーに乗って病院へ(到着したのが深夜1:00)
娘さんは、タクシーに揺られるのが気持ち良いのか、夜風がよかったのか
少し機嫌が良くなる。

受付を行うと、救急診療の特定医療費で4200円かかりますとの説明。

病院では、まず「トリアージ」ってところで、看護婦さんの問診を受ける
これは、重病患者を先に治療するなどの、症状の確認と優先順位をきめるためだそうです。
娘さん、問診中にまた機嫌が悪くなって、ぐずりだす。
この時点でも鼻水でてた。ティッシュしかなかったので、拭くだけ。

んで、2時ごろにやっと診察してもらえる。
娘の病状からは、たまにこういう発熱があって、 原因の特定は難しいらしい。
検査として、尿検査で「RS」(だったかな)が原因の熱か確認を進められたので、お願いする
検査は30分程度で結果がでるそうなので、待合室で待つ。
娘は泣きつかれたのか、眠ったり起きたりを繰り返していて、
鼻も掃除してもらえたこともあり、機嫌も回復。

結果の説明をきくと、問題は無いとのこと。
呼吸、心音ともに早いが、熱があるので、それを加味すると問題ないということ。

ポイントとして、熱が高いからといって危ないわけではない
嘔吐、下痢、咳などの症状や、食欲が無い、水分補給が出来ない、
おしっこが出ない(一日3回ぐらい?目安だろうし、個人差もあるだろうけど)
などの症状がある場合は、別に熱が無くても病院へ行ったほうが良いといわれた。
逆に熱があっても、ご飯を食べる、水分補給もしている、機嫌がいい、おしっこもちゃんと出ている
などの場合は、朝まで様子を見て、かかりつけ医へ行っても問題ない

ということらしい。

熱は、体調のバロメーターとして考えるのはかまわないが
それ単体での判断は、あまり意味が無い
という・・・
これは自分の思ったことだから、一概にそうとは言えないんだろうけど
でも、そういうことなんだろうなって理解した。

最後に座薬の熱さましをもらい、家路へ。
この時点で午前3:30

午前4時、家に着くと、娘はおっぱいをのみつつ、寝る。
そもそも帰りのタクシーに乗ってる時点で半分寝てたけど・・・

という流れでした。

心配しすぎってのもあるんだろうけど、こういうの一回ぐらい経験しとかないと
いざというときにやばいなと改めて感じた。
娘には、ずいぶんと負担かけちゃったなと、かなりへこんだり。

そんなことが無いように、今後として

近くのタクシーをお願いできる電話番号を調べておく

事業所とかに電話すると、2度手間だし、相手に迷惑なので(ごめんなさい)
タクシーを呼び出すことの出来る番号を調べておく。
ホームページとかに出てるのかな
あとは、タクシーに乗ったときに、名詞サイズの電話番号書いた紹介があったりするので
もらっておくとか。

救急外来だと結構お金がでていくので財布の中身を確認しておく
医療費 + タクシー代 で7千円ぐらいかかったのかな。
ちょっとしかお金を持ち歩かない人は、いざというときのために、少し出しておかないとね。
保険とかあるひとは、領収書ぐらいはもらっておいたほうがいいのかな。

熱が出たからといって焦らない。落ち着く。
本当にこれは思った。鼻づまりでないていたのだとしたら、
外のつめたい空気を吸わせてあげるとか、鼻を吸ってあげるとか
まだやれることはいっぱいあったのに、泣き声叫び声に押されて、
かなり焦ってたと思う。仕方が無いとしてもある程度落ち着くことは必要

医者にかかるので、保険証、診察券、母子手帳などは、まとめて保管しておく
かかりつけ医の確認とか、予防接種をいつ受けた とか、結構いろんな質問されるので
まとめておくといい。保険証ケースとかあるので、そういうのがいいかな。
100円ショップでも、そういう入れ物売ってるしね。

病気の経過も出来るだけ詳しく説明できると良い
病気の経過も出来るだけ詳しく説明できると良いんじゃないかなと思った。
熱の移り変わりぐらい、ちょっとメモするだけだから簡単だよね。

病院はかなり暑い
小児の場合、かなり室温が高く設定されているため、薄着になれるようにすることと
子供の着替え、オムツの代え、水分補給するための飲み物 などを持っていったほうがいい。
待合室は飲食禁止だけど、水分補給のために飲み物を飲むのは大丈夫といわれたので
自分たちは良いけども、子供の飲み物は持参したほうが良いと思う。
小さい子供用の麦茶パックとかあるので、そういうのを冷蔵庫とかに常備しとくといいと思う。
飲み物パックで冷たいやつなら、熱を冷ますのにも使えたり、いろいろ便利。

救急外来は、急病の人が来るので出来ればいかないほうが・・・
これは、思ったことだけど、やっぱり救急には、救急の人がくるので
行って、ほかの病気もらって帰ってきて なんていうのが怖かった。
現に、結構咳をしてる子供と、同じ部屋で待つことになったので
それだけでも結構危ないのかなと思った。。
出来れば行かないにこしたことは無い。そこらへんの判断が難しいと感じた。

皆様の何かの参考になればと思います。


Powered by ScribeFire.

2010/01/25

パスワードの暗号化(Quicker Update)

ソフトウェアを作るときに、ネットワークに接続するようなやつを作るとき
パスワードをどうやって暗号化しようか、いつも迷う

んで、どうやろうか調べてたら、いいのを見つけた。

Data Protect API を使う方法
これを使うと、Windowsアカウントのパスワードから暗号化してくれるらしい

で、Quickerに実装してみた。

すこしはパスワードが危ないという不安から開放されたかなぁ

ダウンロードはこちら version 1.0.2
上書きアップデートで平気だけど、パスワードの暗号化方式が
変更になったため、パスワードが設定されていない状態で起動します。
起動させてから、パスワードを再設定してください

Powered by ScribeFire.

Quickerのバグフィックス

リリースするの難しいなぁ。
練習がてら、ちょっとしょっぱい部分があったので修正してみました。

修正点は、接続テストを行うと、そのまま設定ウィンドウが閉じてしまうという
なんで気がつかねぇんだと思うようなやつです。
修正時間3分ぐらい?w

http://sourceforge.jp/projects/risk/releases/


毎回ブログ書いてると、どんどん無駄記事が増えそうだし
Twitterだけで通知すればいいかなぁ。
まぁ、大々的に機能追加とかしたら、ブログ書くか・・・

作るより、管理の方がずっと難しいことを改めて確認できた。


Powered by ScribeFire.

C# Quickerを作ってみた

リンク出来てなかったので、ハイパーリンクに修正

--

Twitterでつぶやくのに、いちいちウブラウザを開いてつぶやいてたので
それが面倒で面倒で。

解消するために、ソフトを作ってみました。

その名も「Quicker」

何ができるかというと、
常駐させておけば、ショートカットキーひとつで「つぶやきウィンドウ」が表示されて
作業中でも即座につぶやけるという代物です。

ソフトはこちら(http://sourceforge.jp/projects/risk/downloads/45597/Quicker.zip/)。
ただの実行ファイルの塊なので、たぶん.NET Framework 3.5あたりがないと
動かないと思います。

なんか見つけたり、こうしてほしいとかあったら
メールとかTwitterとかで。

いじょ、とりあえずDog foodを食べよう。

Powered by ScribeFire.

2010/01/23

Tech Fielders AgileDay セミナー 参加してきた

いやー、楽しかった。

今日は、マイクロソフト様主催のセミナー、
「Tech Fielders Agile Day」に参加してきたよ。

相変わらず、こういうセミナーに出ると、興奮覚めやらぬまま
こういう記事を書くんだよなぁ。
おみやげも色々手に入れてきたので、使わせてもらおう。

前回、Rationalの使いやすそうなノートもらったのに、
見事に家に忘れていって、かおるんが使ってるの見て思い出して
あーあー・・・ みたいな。

それと、夕飯のお買い物メモじゃないけど、
ちょっと太めのサインペンを、何本か持っておいた方がいいと感じたので
あとで、文房具屋さんで探してみよう。
ボールペンだと、少し遠めになると、何書いてあるか見えないしねぇ。

さらに、名刺。
今日お知り合いになれた人、本当に申し訳ありません。
名刺をきらしてしまうという、マヌケなことをやらかしまして・・・

で、本題「今日の自分のまとめと感想」を。

まず、長澤さん、三井さん、江端さん、LTのみなさん、素晴らしいセッションを
ありがとうございました。

長澤さんのセッション
「アジリティを向上させるためにマイクロソフトが行ったこと」

このセッションでは、主にMSで行っているアジャイルの取り組みをもとに、
それによって、こんなに違うんだよ!っていうのを聞くことができた。
アジャイル取り入れるだけで、こんなに違うんかっ!ってぐらいのイメージ
いきなりの成果を期待するわけではないけど、やってみる価値がある!って思う

階層構造の話がメインで、おおーって思うことが非常に多かった。
段階ごとにやることが定義されてるのもそうだし、階層構造から
チームを形成して、そこで出た成果を集めて製品へっていうのが
とっても綺麗に感じた。WBSとかでもそうだけど、分割っていうことが
物事を簡単にするための最重要手段ってのを改めて実感。

その話の流れで、TFSって使ったことなかったんだけど、
この話を聞くと、あー、いれてみたいと素直に思ったり。(MPTはあとで調べよう)
まぁでも今はTracベースだし、うーん悩ましい。
TFS2008 Beta2のCDは入手したので、あとで自分で試すか・・・

三井さんのセッション
「開発現場でのムダ取り・改善活動」

ムダを省く話。話を聞いてると、いわれてみればムダが多いと反省する一時間

最近ひとりで作業してることが多くて、思考停止、仕様不足、やる気減衰やら
見事にいわれたことが当てはまったので、実に身に染みる。
ペアプロ、超おすすめ の通り、こないだのTDDBCでかなり感じたので
これもやる機会があるといいな。

話を通して感じたのは、チームを改善する、いい環境で仕事する
モチベーションを維持するか とか、「人」の事を考えるっていう部分
チームが人が、やりやすい環境だったら、そりゃいいものできるよなぁ。
人は言ったことをやるだけの機械ではなくて、自分で考えて、行動できるんだから
それを使わない手はない。
あとは、実績が見えるってのはすごい共感した。
Tracのタイムラインと、チケットの消化度合いを見たら、
「あー俺は仕事してるぜ!」って感じ、あれは気持ちいい。

江端さんのセッション「あなたにとって、アジャイルとはなんですか?」

これに関しては、いつの間にかアジャイルをしている自分を褒めるセッション

おもしろかった。最初はワークショップっていうから、アジャイルっぽく
なんかするのかなって思ってたけど、交流を深めつつ、いつの間にか
アジャイルをやっていたり、江端さんが突然アジャイルしだしたり。

ちなみに、アジャイルってなんですかね。
実際、やってみた結果、それは「アジャイル」でした という結論にくっつくもので
そう言う方向にもっていく手法が、アジャイルソフトウェア開発?

よくわかんねぇっすw

LTについては、アジャイルの勘違いと、TDDと、アジャイル進行中のお話

全部おおーっと思ったけど、時間短いなーって感じが非常に残念。
それこそ、もっと話聞きたいなぁ と思う部分がいっぱいあった。
懇親会でいろいろ話すこともできたので、いいのかなー
個人的には、最後のアジャイル進行中の話が、これから自分たちも
同じようなことをやることになるんだなぁって参考として、
一番共感したと言うか、面白かったと思いました。

というわけで、ここの感想はこんな感じです。
全体を通して、とっても良いセミナーだったし、めちゃくちゃ有意義な時間だった。
江端さんセッションで、自分のもって帰りたいものとして、

「何かをするためのモチベーション」

って書いたこれは、確実に持ち帰れたはず。

残念な部分は、どのセッションも時間短めで、ズバッとまとめた感じだったので
午前中からでもいいから、もっと話聞けたらなぁと思いました。

それから、自分でLTやってみりゃいいじゃんといわれちゃうので、
自分のお仕事にすこしずつ、アジャイルなエッセンスを
注入してみたりするかなと画策中。
組み込みソフトウェア開発 + アジャイルってのを題材にできたらいいな。

それから、自分で作ろうと思ってるソフトも、いけそうだなーって
目星もついたし、やることは多いなぁ。

自分をちょっとがんじがらめにしてる感じがあるけど、これぐらい書いとかないと
ほんとに何もしない自分だから、まぁいいか。

以上、本日はとってもお疲れ様でした。
今日もいろんな人と会えたので、このつながりをもっと広げられたらいいなー

追記
そういえば、今回セッションのいろんなところで、リスクを追跡とか、リスクの軽減とか、自分じゃないのはわかっていても、リスクということばに反応しまくってて、ちょっと恥ずかしかったw