2010年11月29日月曜日

モバブーでIS03ライフをより快適にするよ!

IS03を手に入れた。念願のAndroidデビューである。

しかし、どうもバッテリーに難があるとの情報を聞いたので、快適なIS03ライフを過ごすために秘密兵器を投入することにした。

SANYOの「eneloop mobile booster」通称モバブーである。

今回購入したのは、高容量タイプのKBC-L2BSである。もともと、iPodの充電用にKBC-L2ASを持っていたが、これは残念ながら出力が足りないらしく、IS03の充電ランプが点灯しなかった。



このモデルは付属のアタッチメントが充実している。

下の写真のように、コンセントから充電ができる。


もちろん、PCのUSBからの充電も可能!!




USBコードに付属のアタッチメントをつけると…。


IS03に給電できる!!


当然、USB出力なので、iPadにも給電可能!!!


これで外出先で少々無茶な使い方しても、安心だね!!

2010年11月12日金曜日

11月11日はポッキー&プリッツの日

11月11日は「ポッキー & プリッツの日」だった。

こういう「今日は〇〇の日だから△△を食べよう」的なイベントは当然関連業界によるマーケティングなわけなのだが、僕はこういうのは嫌いじゃない。

そんなわけでオヤツにはちゃんとポッキーを食べたのだが、他にどんな日があっただろうかとちょっと考えてみた。

・土用の丑に鰻を食べる。
・バレンタインデーのチョコレート(関連してホワイトデーも?)
・節分の恵方巻き
・台風の日にコロッケを食べる(2ちゃんねる発祥)

・食べ物ではないけど、サン・ジョルディの日なんてのもある(本を贈るんだって)。

あとは、暦とは関係ないけど、もうじき解禁されるボジョレーヌーボーも、解禁日の0時ちょうどとかにわざわざ飲んだりするよな。そんなに美味しいものでもないんだけど、僕も去年会社の先輩と解禁日当日に飲みに行ったっけ。

こういう「縁起物だから」みたいなノリで、何かを食べたり、飲んだりするっていうのは普段のルーチンとちょっと違う気分になれるから、お祭り的な感覚で心地良いのかもしれない。
あえて乗っかって、「そんなに特別に美味しいもんでもないよねぇ」なんて言いながらワイワイやるのが、楽しいんだな。

2010年11月5日金曜日

KOFに行ったついでに撮った写真いろいろ

今日、KOF(関西オープンフォーラム)に遊びに行って来た。
先日、携帯電話のカメラが壊れてしまったので、万が一KOFで魅力的な被写体があったときにカメラが無いと困る、ということで、我が家にある唯一の携帯電話以外のデジカメ、PENTAX K100を持っていった。

大げさなカメラを持って行くと、今度は「せっかく持ってきたんだから何か撮ろう」と、KOFと全然関係ないものをパシャパシャ撮って遊んでしまった。

そこで、いくつか気に入った写真をご紹介。

↓まずは会場のATC


↓大阪府庁になるかもしれなかったWTC

↓展望台は松本零士の世界が再現されてるそうな

↓「さんふらわあ」 港萌え…

↓ATCの吹き抜けを見上げてみた

↓KOFの会場内で唯一撮った写真

結局会場ではほとんどカメラ使わなかった。

2010年10月31日日曜日

Code Kataって知ってる?

情熱プログラマという本 ( http://amzn.to/d6zjDE ) を読んでいる。

そこにこんなことが書いてあった。

プログラマはしばしば実務の中でスキルを訓練する。
これがミュージシャンだったらどうだろう? 彼らがステージ上で変な音を出しながら練習していたら、観客はどう思う? 練習は、観客のいない密室で、自分の時間を使ってするべきだ。プログラマもそれと同じだ。

なるほど、それはその通りだ。で、この本にプログラミングの訓練の手がかりが紹介されている。
それが「Code Kata ( http://codekata.pragprog.com/ )」 だ。

"Kata"とは、空手の型のこと。
空手の練習は、定められた型を繰り返し反復することで技術を習得していく。
それと同様のコンセプトで、型を訓練し、ソフトウェア開発のスキルを磨きましょう、というものだそうな。

お暇な方は試してみては?

2010年10月29日金曜日

今までよく分かってなかったラムダ式の使い道を考えてみた。

C#3.0から追加された言語仕様に「ラムダ式」というのがある。
どういうものかは、何となく知っていたが、今いちどういう局面で使うのか分からなかった。
(業務アプリでこういう実装がどうしても必要な局面もあんまり無いし)

昨日、『言語設計者たちが考えること』( http://amzn.to/azXdTs ) という本でC#の設計者であるアンダース・ヘルスバーグのインタビューを読んでいて、このあたりの認識に閃きを得た。

そこでラムダ式の使い道について、誰得なエントリーを書いてみる。
まぁ、僕個人の覚書なのでスルーしてもらってもOKです。

内容に関して、「お前そりゃ間違ってるよ」などのツッコミがあれば大歓迎です。
拙いコードですが、お暇な方はお付き合いください。

さて、まずはこんなコードを書いてみる。
static void Main(string[] args)
{
  TokyoOutput();
  OsakaOutput();            
}

private static void TokyoOutput()
{
   int result = 0;
   for (int i = 1; i <= 10; i++)
   {
      result += i;
   }
  Console.WriteLine("計算結果は" + result.ToString() + "ですね。" +
                                 Environment.NewLine);
}

private static void OsakaOutput()
{
    int result = 0;
    for (int i = 1; i <= 10; i++)
    {
        result += i;
    }
    Console.WriteLine("計算結果は" + result.ToString() + "やね。" + 
                                Environment.NewLine);
}
1から10を順に足しこんでいって、それを標準語で出力するメソッドと、大阪弁で出力するメソッド。ご覧の通り、異なるのは最後の結果出力のみで、計算処理は当然まったく同じロジック。 しかし、これはいくらなんでもブサイクすぎる。同じロジックが複数のメソッドに分散しているなんて。ってことで、ちょっと分離してみたらこうなった。
static void Main(string[] args)
{
    TokyoOutput(Calculate());
    OsakaOutput(Calculate());
}

private static int Calculate()
{
    int result = 0;
    for (int i = 1; i <= 10; i++)
    {
        result += i;
    }
    return result;
}

private static void TokyoOutput(int i)
{
   Console.WriteLine("計算結果は" + i.ToString() + "ですね。" + 
                                Environment.NewLine);
}

private static void OsakaOutput(int i)
{
    Console.WriteLine("計算結果は" + i.ToString() + "やね。" + 
                                Environment.NewLine);
}
うーん。なんか周りくどい…。 計算処理(Calculate)からの戻り値を次の出力メソッドに引数で渡すとか、面倒くさくね? ここにはコードを書かないけど、計算部分を抽象クラスにして、出力部分をoverrideするって手もある。しかしこの程度の処理でそこまで大げさにやるのもなんか嫌だ。 そこでラムダ式を使ってみる。
static void Main(string[] args)
{
    Action Tokyo = (int i) => 
                 Console.WriteLine("計算結果は" + i.ToString() +
                                   "ですね。" + Environment.NewLine);
    Action Osaka = (int i) => 
                 Console.WriteLine("計算結果は" + i.ToString() + 
                                   "やね。" + Environment.NewLine);
    Output(Tokyo);
    Output(Osaka);
}

private static void Output(Action outProc)
{
    int result = 0;
    for (int i = 1; i <= 10; i++)
    {
        result += i;
    }
    outProc(result);
}
うん。なんかすっきりした気がする。

ラムダ式を使う局面ってこんな感じでいいのかな?

要するに、関数をパラメータで渡すって事だから、メソッドの中の一部を外から見て任意にしたいって事だよね? うん。なんとなく分かってきた。もうちょっと掘り下げて考えていこうっと。

2010年10月27日水曜日

僕たちが若い人たちに伝えられること

今度、ちょっとしたライトニングトーク大会を皆で企画している。

その中で、会場はある幹事メンバーの母校を使わせてもらえることになった。
最終的にそこを使わせてもらうかはどうかは、これから皆で話しあって決める予定なのだけど。

なんでも担当の職員さんや先生方もノリノリで、エンジニアを志す学生に向けて勉強のために公開してもらえるなら喜んで提供しますよ、というありがたいお話である。

学生さんにオープンにするのは全然問題ないのだが、この件で少し悩んでしまった。

僕らが、エンジニアを目指す学生さんたちに伝えられることなんてあるだろうか……?

IT業界は今、多くの局面において厳しい状況にさらされている。

どういう風に厳しいかは今回の主旨に関係ないのであえて書かないけれど、お世辞にも若い人に向けて「うちらの業界は安泰だから安心して飛び込んで来い」なんて言えない。なんたって自分たちの10年後がどうなっているかすら、不安な状況なんだから。

僕らは、エンジニアを志す若い人たちに、一体何を伝えてあげればいいんだろう…。

でも、あまり難しく考える必要はないのかもしれないな。

確かに厳しい世の中だけど、少なくとも僕らはこうしてイベントなどをやっては仲間内で集まって、ケラケラ笑いながら、遊んだり、学んだり、お互いに影響を受け合ったりして楽しくバカなことしてる。

そういう部分を見せてあげられれば、それでいいんじゃないかな。

そして、若い人に向けてそんなバカで最高にクールなお祭りを見せてあげられる僕らは、なんだかんだいって幸福なんじゃないかな。

2010年10月24日日曜日

totoBIGが当たったよ!

毎回、10口ずつ買っているtotoBIG。
生まれて初めて当選した!!

その模様をお届け。

これが結果画面。
右上にある「当せん照会サービス」をクリック!!

当せん照会画面で照会番号を入力!!
そしてその結果は……………。


見事当せんなり!!!

5等。1,800円!!

10口買ったから差し引き -1,200円。

まあ、損得とかじゃなくて当たったらそれはそれで嬉しいものだ。