2010年9月29日水曜日

風邪

久しぶりの投稿です。
というのも、筆者が風邪ひきの最中でして。

昨日、医者にかかったのですが

「胃腸風邪・・・ だと思いますので、薬出しておきますね」

をい、ドクター。と言いかけてしまいました。
症状に一貫性がなかったので気持ちはわかるのですが、ちょっと困りますね。


というわけで、治るまではブログのネタも単調になるかと思われます。
こういうときほど、仕事は色々入ってくる・・・ マーフィーの法則?(ちょっと違いますが)

ひとまずはご報告です。

2010年9月20日月曜日

和烏龍茶に思う

昨日、ルピシアというお茶の専門店が主催するイベントに行ってきました。

グランマルシェ(大きな市場?)というイベントの名が示すように、お茶に限らず周辺(お茶請け、茶道具、食器、香辛料などなど)の商品を扱う専門店が出ていたので色々楽しめました。
名古屋での開催は昨日・今日だったのですが、他の都市での開催がまだ残っているはず…
興味のある方は検索してみてください。


その会場で買い込んで来たお茶の中に、「和烏龍茶」があります。
これ、ルピシアの造語だと思いますが、読んで字の如く、日本産の烏龍茶です。

帰ってから飲んでみたのですが…
味・香り共に発展途上ながらちゃんと烏龍茶の感じがしていました。
出がらしを見た感じだと、日本茶用の葉を烏龍茶の製法で製茶したようでしたので、試行錯誤していけば独特なお茶になるのでは? と期待大です。

日本茶は他のお茶(中国茶・紅茶)と異なり独特なのですが、これだけ色々な類似品がある中で新たなものを作ろうとしているのはすごいですね。
SEは何ができるのやらと考えさせられました。



2010年9月17日金曜日

ベルヌーイ 懐かしい響きですね

JavaとSilverLightを行き来している筆者です。
eclipse使いづらい。

関わっている某MitoLyzerプロジェクトにて、「動圧」と「静圧」という値の計算が気になったのでネットで調べたのが発端でした。
ぐぐる先生に質問すると、即答えがわかりました。
流体力学の基礎「ベルヌーイの定理」における圧力による表現式の要素、というもので・・・
ベルヌーイの定理(ベルヌーイのていり、Bernoulli's principle)は、流れに沿って成り立つエネルギー保存の法則で、流体の挙動を平易に表した式である。ダニエル・ベルヌーイ (Daniel Bernoulli 1700-1782) によって1738年に発表された。

  • 圧力による表現
    •  \frac{1}{2}\rho v^2+\rho g z + p=一定 [Pa
  • 圧力による表現(位置エネルギーの変化が無視できる場合)
    • 左辺第二項が定数になるので
    •  \frac{1}{2}\rho v^2+ p=一定 [Pa]
    • このとき左辺第一項を動圧、第二項を静圧、右辺を総圧(全圧)とよぶ。
  • 仮定
    • 粘性がないこと
    • 定常流れであること
    • 非圧縮性であること


毎度のwilipediaより抜粋です。
v=0だと動圧は0なんですねぇ… というのがわかる程度ですね。
静圧は位置エネルギー無視ならば単なる圧力なのかな?

大したことが分かっていないように見えますが、これだけでも「その項目の値はそれでよいのか?」という疑問に対する目安(?)になります。
流速=0なのに、静圧≠総圧だったらおかしいわけです。

厳密な値がわからずとも、明らかにおかしい結果が出ないようにチェックすることは可能というお話でした。


2010年9月15日水曜日

貴方に積める善行は、母国語【日本語】を正しく使うことです

タイトルが元ネタありに戻った筆者です。
結構きついことを言うキャラのセリフから取ったので、かなりきついタイトルですね。
本文もタイトル並みにきついことを書くつもりですが^^;

ソースは雑誌なのですが、楽天が社内公用語を英語にする、という事をしているようです。
売上ベースで1%程度、海外は6カ国8拠点という海外進出度の現状(早い話が国内で仕事しているレベル)の楽天が、会議と名のつく場の全てで英語の使用を義務付けています。
参加者に必ず外国人がいるか? というと、日本人だけの会議でも英語使用。
社員食堂のメニューの写真が載っていましたが、こちらも全て英語表記(ちょっと気取った店が黒板にメニューなどを書いていますがあんな感じ。「Udon」とか「Tempura」とかあるのが萎えるw)とても見づらいものでした。
採用・昇格などでTOEICの点が必須要件になるなど・・・
現在役職に就いている人は、その役職で求められる英語力を2年以内に身につけることを要求されて、飲み会に行く代わりに英会話教室通いをしているとまで書いてありました。


社内公用語を英語にすることのメリットとはなんでしょうか?
楽天では、グローバルに事業を展開する為に、という事を掲げており、一つの例として「鹿児島の支店での成功事例をフランスの支店で使用する」際の言語障壁をなくすことが出来るというのがありました。
人材面では外国人の採用を積極的に行うことができるとも。

正直なところ、その程度なのですよね。
外国人採用はどうでもいいとして(日本人が外国人に優る/劣るという議論はナンセンス)
例えば、
「沖縄で成功した事例を他の都市で展開する」
なんて事をやって成功するか? というと可能性は低かったりします。
理由は様々ですが、その土地毎の特徴に合わせたカスタマイズが必要なのです。
ましてや国が違えば余計に大変なわけで。
日本人が、日本語で書かれた事例を見て、日本(の他の都市)で展開しても必ず成功するわけではないのに、何処の国の人かわからない人が、英語で書かれた事例を見て、どこかわからないところで展開することをメリットとしてとらえているあたりが楽天的すぎます。楽天だけに?w

文章だけで正しく情報を伝達することがいかに難しいか。
最低でも母国語で正しく情報を伝達できないと、外国語を使っての正しい情報伝達は難しいのではないかと思うのです。

本当の意味でグローバルに仕事を、というならば、母国語をしっかり押さえつつ、事業展開する先の国や地域の言語を習得するべきでしょう。
現地では仕事相手の母国語で話す。社内では基本的に日本語(話をする社員の母国語が日本語なら。異なる場合に初めて英語が選択肢に上る)で話す。
言語とは意思疎通の道具であると割り切るなら、このような方法をとるべきでしょう。
【グローバルな人材=英語で意思疎通できる人材】
なんて考えに縛られたTopに振り回される楽天社員。
こんなことに労力使っているのでは伸びる会社と思えないですね。



2010年9月10日金曜日

SilverLightで困ったこと

このごろ、Java一辺倒の社内でSilverLight(つまりはMS系)の流れが出来始めています。
筆者は何でも屋状態(経験したプロジェクトでの使用言語だけ取っても、VB・VBScript(ASP)・VC・Java・.net系(C#、VB.net)…)なわけで、現在SilverLight+C#のお勉強を進めています。

勉強がてら試作している画面で困ったことがぽろぽろと出てくるのですよね。
一番困ったのが表の扱い。
表はDataGrid(System.Windows.Controls.DataGrid)というクラスを使って実現するのですが、単純な表ならそこらに転がっているサンプルで十分です。
しかし、今回やりたいことが載っているサイトが無くて四苦八苦。
何がやりたかったかと言うと、
『任意の行の背景色を変更したい』
です。
平たく言うと、重要な情報の行だけ強調表示したいってことです。

今回は、珍しく技術系ブログにふさわしい記事として実現方法を書いてみようと思います。


Premise

  • 表のDataGrid名:dataGrid1
  • やりたいこと:強調表示したい行の背景色を赤にする


まずは表の作成ですがこれは
            <data:DataGrid
                AutoGenerateColumns="False" Height="400" HorizontalAlignment="Left" Name="dataGrid1" VerticalAlignment="Top" Width="900" Background="LightYellow" AlternatingRowBackground="Azure" ItemsSource="{Binding}" LoadingRow="dataGrid1_LoadingRow">
                <data:DataGrid.RowBackground>
                    <LinearGradientBrush EndPoint="1,0.5" StartPoint="0,0.5">
                        <GradientStop Color="Azure" Offset="0" />
                        <GradientStop Color="Blue" Offset="1" />
                    </LinearGradientBrush>
                </data:DataGrid.RowBackground>
                <data:DataGrid.Columns>
                    <data:DataGridTemplateColumn Header="タイトル1">
                        <data:DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>
                                <StackPanel>
                                    <TextBlock Text="{Binding Title1_1}"/>
                                    <TextBlock Text="{Binding Title1_2}"/>
                                </StackPanel>
                            </DataTemplate>
                        </data:DataGridTemplateColumn.CellTemplate>
                    </data:DataGridTemplateColumn>
                    <data:DataGridTemplateColumn Header="タイトル2">
                        <data:DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>
                                <TextBlock Text="{Binding Title2_1}"/>
                            </DataTemplate>
                        </data:DataGridTemplateColumn.CellTemplate>
                    </data:DataGridTemplateColumn>
                </data:DataGrid.Columns>
            </data:DataGrid>
見ての通り、極めて単純です。サンプルがそこここに転がっているレベル。
dataGrid名とLoadingRow(行表示時に呼び出されるようなイベント)が重要なので赤字にしてみました。
ちなみに、ItemsSourceやTextBlockのTextにある{Binding...}はC#の方で行追加を行っている部分になります。
まだイマイチBindがわかっていないのですよね。使っているうちにわかるかな^^;

で、LoadingRowの処理(dataGrid1_LoadingRow)がこちら


        private Dictionary rowContainer = new Dictionary();
        private void dataGrid1_LoadingRow(object sender, DataGridRowEventArgs e)
        {
            this.rowContainer[e.Row.GetIndex()] = e.Row;
            if (newsColumnSource[e.Row.GetIndex()].Severity == strSeverity0)
            {
                this.rowContainer[e.Row.GetIndex()].Background = makeSolidColorBrush(255, 255, 0, 0);
            }
        }

処理と一緒に必要な変数(rowContainer)も載せておきました。
rowContainerに表の各行の情報を入れて、rowContainer経由で背景色の変更を行うイメージです。
makeSolidColorBrushは単純にSolidColorBrush(単色の色情報)を作っているだけです。他のやり方で色を指定してもOKですのでスルー。

とりあえず動いたというレベルで、不具合などあったら直してくださいという感じですが(確認はしていますよ、一応)これだけのことでもいろいろ遡って知識を仕入れないと実現できないのが厳しいですね。
MSの言語は1つ2つ概念を理解すると、他のものも大体同じノリでいけるので便利なのですけどね。1つ2つが大変です^^;;


※強調表示をしない行には、元々の色を設定してください。
でないと、協調表示色で表が塗りつぶされます   ナンテコッタイ○| ̄|_
元の色の設定の例です。

this.rowContainer[e.Row.GetIndex()].Background = dataGrid1.Background;

ちなみに、色指定時にRGBをランダムで設定すると・・・ 見づらいですが色が変わって面白いと思います。

2010年9月8日水曜日

政治家の報酬の算出根拠は存在するのか?

何気に堅いタイトルです。
名古屋の市長のスタンドプレー&市議のぬるい発言を日々見せられるとこんなことも考えてしまうわけで。

身近なところで、会社員の報酬の算出根拠を考えてみましょう。
基本的には
( 売上 - 経費 ) / 社員数 = 一人当たり報酬額
になります。
これに、役職などの比重をかけることでそれぞれの報酬になります。
ただし、法律などで最低賃金や不利益変更の制限などのいろいろな制約がありますので単純ではありませんが、ここではこのくらいで。

では、政治家の報酬の算出根拠は?
そもそも政治家とは何か? と考えると、住民の生産物の再配分を効率的に行うことで社会の維持・活性化を行う存在と言えます。
生産物=税金
社会の維持=公共サービス全般
社会の活性化=産業への投資・イベント開催・インフラ整備・知名度向上などなど
成果主義を導入するのであれば、税金の範囲内でどれだけ社会の活性化が出来たか(現状のサービスは維持したままでです)で評価する感じです。ちょっと無理がありますね。

税収と住民の生活レベルに共通する指標の一つとして「年収」があげられますが、これを政治家の報酬の算出根拠にしては? と筆者は考えています。

  • 年収が増えれば税収も増える
  • 年収が増えれば生活レベルも向上し、社会の活性化(いい生活をしたいという動機が活力につながる)が実現できる

と考えると、アリではないかと思うわけです。

さて、現在名古屋市長が「議員報酬の半減(1600万⇒800万)」を叫んでおり、議会側は反発(月20万削減(年240万削減なので1600万⇒1360万)で限界とする)しています。
住民の平均年収ベースで考えるとどうなるでしょうか?
名古屋市の平均年収はこの転職サイトによると424万円。とりあえずこの数字を使うことにします。
本当は、正社員・非正社員の全てを含んだ数字が良いのですが、見つからなかったので^^;
元々の議員報酬は  1600/424=3.77倍
削減後の議員報酬は 1360/424=3.20倍
半減時の議員報酬は  800/424=1.88倍
なんだかんだで3倍もらおうとしている市議、という構図になりますね。
調査費がかかるとか新聞に答えていた市議もいますが、調査費は別途月50万円(1議員あたり)が保障されていますので話になりません。
議員になる為に、会社員なら退職の必要がありますが… このへんは「休職」にすることができる制度の導入で回避可能なわけで、議員報酬が高い理由にはなりません。

感覚的にですが、平均年収の2倍程度ならば納得する人も多いと思うので、「前年度の平均年収の2倍」を議員報酬とするようにすれば良いのではないかと考えます。
市長もわかりやすさと過激さで「半減」と言ったのでしょうが、このような簡単でもいいからロジックを提示すればより支持を得られるのではないかな… 無理かなぁ。
平均年収が上がるように頑張れば自分たちの報酬もあがるという仕組みなんですけどね。

尚、平均年収はその地域のものを使用するのが前提です。
極論すると、沖縄の議会の報酬算出に東京の平均年収を使うとかやっちゃったら意味がないですから。

2010年9月7日火曜日

お米の炭酸飲料

ネタに困ったので小ネタを。

今朝、コンビニで「二代目米作り」という炭酸飲料を発見しました。
当然、即購入したのですが(味は日本酒風味の弱めの炭酸飲料って感じです。米の味を楽しむなら、余計なアルコール臭が無い分、日本酒よりもこっちのほうがいいかもしれないですね)
パッケージのデザインを見てふと気になりました。

発売元(JT)の紹介ページがあるのですが、なんとなく日本酒のビンみたいですよね。
共同開発をした大関のマークも手伝ってぱっと見は日本酒そのもの。

これは間違えて飲んでも問題ないケースなのですが…
ネクターのサワーを子供が間違えて飲んでしまった、とかクレームをつける団体もあるこのご時勢。
パロディなりいい意味のパクリなりを理解できなくなっているのか、それとも理解する余裕がないのか…

国際化も資格取得もスキルアップもいいけれど、こういうネタを理解できないのはどうかと思うのです。