2010/07/31

Option Strict off化はなんとかして欲しいな。

DLR-Dynamic型がC#4.0/VB10 から導入されました。IronPythonやIronRuby との連携が話題になっていて,動的言語連携向けだと思って、あまり調べてませんでした。
それだけではないのですね。既存の資産との相性もよさそうです。
動的メンバ-/メソッドの追加・更新も、トリッキーさがなく実装できるので、スクリプト言語並みに使いやすそうです。
リフレクション経由でメソッドを操作することが多いのですが、それが簡略できます。それだけでも Dynamic型の恩恵は大です。
いままでは、
var bf = BindingFlags.Public | BindingFlags.Instance | BindingFlags.InvokeMethod;
var inst = Activator.CreateInstance(型);
inst.GetType().InvokeMember("メソッド", bf, null, instance, new[] { 引数,,, });
のように記述していましたが、
dynamic inst= Activator.CreateInstance(型);
inst.メソッド();
これでOK。普通のメソッドCallの感覚です。

C#だとインスタンス.xxx の Dot以後の部分は、インテリセンスが働き、アーリーバインドされます。VBでStrict ONだと同様です。
でも、Dynamic型の場合は、存在チェックが動作せず、遅延バインドになります。
この区別はよくできています。

ところが、VBで Dynamic型を使うには、 Option Strict をOffにする必要があります。これが不満。
Linqで使う動的クラスなどでも Strict offにする局面がありました。

厳密な型定義は、潜在バグ回避に有効な手段なので、Strict ONを徹底させています。旧VBの Strict off文化が薄らいできたのに、Off文化が復活するのは嫌。
C#並みにDynamic型のみ遅延バイディング対象にし、Dynamic型以外は、事前バインド必須にすることができなかったのだろうか。
C#ができているのだから方策はあったと思うのだが。

2010/07/29

携帯カメラ1000万画素時代

下手なデジカメより画素数が多い。
レンズ等の要因でデジカメと対比するのは無意味なんですが、「そこまでするか」という感じ。
携帯で写真を撮らない人にとっては、まったく無意味な機能なんです。
カメラなしの携帯はを見つけるほうが難しいし、あっても他の機能も貧弱だったりするので、宝の持ち腐れ状態になります。
一頃の「0円携帯」ができなくなったせいか、高機能携帯が幅をきかせているようです。単機能で安価なものを見つけにくい時代。
フィルムカメラは画素数では表現できないのですが、強いて換算すれば、2000~3000万画素だそうです。
画素数だけで言えば、デジカメはスティールカメラと同格になったと言えるのしょうね。
「デジカメは玩具だ。本物のカメラとは表現力が違う」といわれたようですが、500万画素を超えた製品からは、言っている本人が区別できないようです。
何時の世も、台頭する製品は、旧製品愛好家から非難されます。しかし非難していた人が霧散していくのが世の常です。
・PCが登場したときも、「PCは玩具だ。」
・カセットテープが登場した時も「オープンテープの足元にも及ばない。」
・オートマチック車が登場した時も「車はミッション車が本物だ。」
権威者ほど超え高々に叫んでましたが、牙城が崩れたのは周知の事実。
 古い技術に固執すると取り残されてしまう厳しい現実があるのでしょうね。
デジカメが実用に耐えているし、要件をみたしているので、フィルムカメラは、オープンデッキ同様にマニアの物になるのでしょうね。
量販されないので、ますます高くなるのかも。マミヤ645とかハッセルのように給料数か月分でも買えない....orz;
でも私には、携帯にカメラやテレビは要らないんだがなぁ。

2010/07/28

パソコンショップも厳しいそう

神戸市内の、パソコンショップが消えていく。
数年前にツートップが閉店し、今年4月にドスパラが閉店しました。
残っている、ショップはパソコン工房くらいでしょうか。
ヤマダ電機などの量販店は、ショップ印象が薄く親近感が湧きません。
ソフマップも最近は量販店的になって遠ざかっています。
パソコンショップだと結構無茶な組み合わせを言っても検証してくれるので助かっていました。
閉店されると残念です。
Windows3.1全盛のころ、DOS/Vショップが雨後の竹の子のように彼方此方に出来てましたか、どうなったのでしょうね。
 先日、職場の開発機が不調になり、代替えすることになったので、新調してくれるのかと期待したら、
「数年持てば、良いし、業務開発に支障のない性能で十分」ということで、「中古機」(Pentium4 3.2G?) を調達することになりました。
「えー、いまどきPen4?」と思ったのは内緒です。
でも、使ってみると、結構使えるし、事務アプリの開発には、全然差しさわりがないし、ストレスも感じません。これが結構格安。経理の人は、「開発機は消耗品で十分。クラウドで構築するより、中古機を消耗品購入するほうが安い」とまで言ってました。
妙に納得。
 6コアや、4コア*HyperThreadに目が行きますが、冷静になって考えたら、チト反省。゜
「事務アプリの開発」という分野では、今のPCはオーバースペック状態なのかもしれまんね。
とはいうものの、 4コアでHyper-V を走らせたいな....と思っている私。

2010/07/26

公園のごみ箱

都心部公園の現象かもしれませんが、ごみ箱がない公園が結構あります。
ごみ箱を設置すると、家庭ごみを捨てる人がいるらしいです。
家庭ごみの廃棄は、コンビニや駅でも問題になるほど深刻らしいですね。
住民のモラルが低下したのかどうかは分かりません。一説によると、分別ゴミ方式にしてから増加したらしい。
分別してゴミ出しするのが面倒で、駅に捨てる輩もいるとか。
飲料水の自販機の横には缶やペットボトルのごみ箱を併設していますが、そこに一般ごみを突っ込む輩もいるとか。
 「モラルが低下した」という意見もありますが、ごみの分別という制約が敬遠された結果かも知れません。
ごみ回収が有料化になれば、もっと公共の場所に捨てる人が増えるのは想像できます。
ごみ処分場で適切に自動分別できる仕組みを構築したほうが、よいように思えます。
 「欧米では徹底している」と言われますが、実状は日本と似ていて、ルール違反者に悩んでいるようです。
分別しなくて処理できる仕組みや、ごみ自体を少なくする流通材(トレイや袋類)を検討するのが大事だと思うのです。
以前の市場では、なんでも新聞紙に包んで売買してました。とくに弊害はなかったです。新聞紙に包むスーパーがあってもよさそうな。

2010/07/24

SetCompatibleTextRenderingDefaultとApplication.EnableVisualStyles()

最近は、GDI+自体が話題になりませんが、Winodws(Desktop)アプリを作成するとき、IDEが勝手に生成してくれます。
Program.csの中を覗くと書かれています。
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
「なんのこと」と質問がありました。
おまじないのように扱われることが多いのですか、理由があっての記述です。
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.application.setcompatibletextrenderingdefault.aspx
FrameWork 1.x時代にGDI+が注目され、コントロールのテキスト描画もGDI+で実装されていましだ、パフォーマンスとロケールの問題で不利になり、GDIで描画するために (False) にすることにした経緯があります。

当時のパフォーマンス差を測定したとき、差があったかどうか忘却したので、再度検証してみました。
(*)記憶に残ってないのは、差がなかったからだと思う。



public partial class Form1 : Form
{
string z = "kkkkkkkkkkkk....................kkkkkkkk";
int Max = 20000;
Stopwatch sw = new Stopwatch();
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
sw.Reset();
sw.Start();
for (int i = 0; i < Max; i++)
{
label1.Text = z;
}
sw.Stop();
label2.Text="所要時間["+ sw.ElapsedMilliseconds.ToString() + "]";


}
}

Application.SetCompatibleTextRenderingDefault(false); //GDIモード

Application.SetCompatibleTextRenderingDefault(true); //GDI+モード

で測定したところ、殆ど同じでした。

巷に転がっている情報では「text描画のパフォーマンス向上のため TRUEにする。」となっています。
でも、最近のグラフィック回りが進んだのか、差がでません。なんか説得力に欠けます。
 速度以外にどんな不具合があったのが、資料が見つからないので不明ですが、どんな不具合だったのでしょうね。
これと、同時に生成される、
Application.EnableVisualStyles();
も、「Windows XPスタイルの外観に変更する」ためと説明されてますが、XP自体が過去の物になりつつある昨今では、説明力に欠けます。
「XPスタイルの外観」云々自体に意味がなくなりつつありますし、外してみても差を感じませんでした。
この二つの行は、過去の名残として、おまじない扱いとして残り続けるのでしょうか。

2010/07/23

甲類と乙類

徴兵検査では、甲種合格、乙種合格等があって、甲乙丙..は序列語でした。
通知簿も昔は、甲乙丙でした。
以前の酒には、特級酒、一級酒、二級酒がありした。でも、これは品質ではなく、アルコール度数での分類なので、品質と一致していない実態がありました。とは言うものの、階級的に扱われていました。
現在、焼酎に、甲類、乙類という分類があります。
http://www.glico.co.jp/osake/osake_skind01.htm
 甲類は 連続式蒸留且つアルコール度数36度未満
 乙類は 単式蒸留且つアルコール度数45度以下
の分類です。
 36度未満と、45度以下のように、未満と以下の両方が登場するのが、解せないのです。
 連続式蒸留で度数40度や、単式蒸留で50度の焼酎は当てはまらないの? なと疑問が残る基準です。

さらに加えて、乙類焼酎のみ「本格焼酎」を名乗ることが許されています。
甲類、乙類は等級ではない。と言いますか「本格」と名乗ることで暗に等級を意識させるキャッチコピーに感じます。
 「甲類より劣るものでない」という意味で「本格」を名乗らせているようですが、それが逆に等級を意識させている気がします。
意識の問題でしょうが、序列を意識させない区分名って、見当たらないものですね。

2010/07/22

小さすぎて不便

SDカードはMicroSDカードが主流になりました。MSD専用USBアダプターはコネクター部分だけのサイズになってます。
2Gカード + アダプターでも2k\以内で揃います。
 安価で手軽なんですが、小さすぎて不便です。。MicroSDカード自体に字を書き込む領域がないので、複数枚のカードを使い分けるとき識別できない。
 持ち運ぶとき、小さすぎて、紛失してしまう。何度が紛失しました。
 MicroSDカードにストラップを付けることができないです。コネクタ型のUSBアダプターにストラップを付けるとかさばってしまう。
結局、通常のUSBメモリーを持ち運ぶほうが楽だと思ってます。

携帯などで複数のMSDカードを使い分けている人を見ると、どのように識別しているのか興味津々です。(聞けないけれど)
電卓なども、一時、カード型電卓が流行りましたが実用面から、ある程度の大きさをもったサイズが売れているようです。
携帯電話も技術的には、もっと小さくできるのでしょうが、これ以上小さくすると、ボタンが押せなくなるでしようね、
携帯用のミニ人生ゲームやミニ碁盤もありますが、使用感はよくないです。
MP3フレーやーは多々ありますが、小さい機種はどうも使いにくい。一つのボタンに複数の機能をもたせすぎて、操作順序が理解しきれない。
IPod/IPhoneなどのApple製品はよくできていると思うのですよ。この操作性を生み出す力量の差ってどこからくるのでしょうね。「ユーザーの立場に立て」と言うけでは無理でしょう。経験の蓄積の差なんでしょうか。
Appleアプリは作って地獄、使って天国といわれましたが、最近はどうなんでしょうね。

2010/07/18

ソートは "Order by" なのか

勉強会の懇親会で話題になったのですが、データをソートするアルゴリズムを知らない開発者がいるとか。
「Order byでソートできるのだから、アルゴリズムを知る必要がない」と発言する人もいるとか。
確かに、簡単にソートできるのですがね。
ソートロジックは、バブル、クイックなど多種あります。各種のロジックを知る必要はありませんか、せめてバブルソートは書いて欲しい。ロジックを考えるのは楽しい事なのに。 今時の開発者は実利効果でコーディングするのかなぁ。
 ソート順序が変わっても、カスタムソートで対応できるので、ますますアルゴリズムを知らなくても、作れてしまう。
確かに、アルゴリズムを知らなくても、開発仕事はできる時代です。「知らないから困る事」は起こらないかも知れません。
(視点を変えたら)エンジンの知識やFF/FR/RRの区別がつかなくても、日常の運転に支障はないです。その意味では、知識は不要かも知れません。でも運転のプロではないですよね。
 「開発者はプロでは無くなった」と見るか、「プロでなくても開発できる」とみるか、「プロは開発に直接必要な知識で仕事する」と見るか...その他の見方もできそうです。

仕事に直結しない知識かも知れませんが、技量の基礎力になると思うのです。
でも寂しいなぁ。開発の醍醐味を知らないのは勿体ない。
 と拘っている私は、五月蠅い親父に映るのだろうか。

2010/07/17

開店準備の行動

一般人相手のお店は、朝10:00開店が多いようです。
携帯電話の店も10:00開店が多いようです。仕事の都合で、9:55分頃に、複数社の携帯ショップの前を定期的に通過します。
開店準備で、店員さんが幟旗(下部に水タンクのある固定式)を店前に出しているのですが、ある系列のショップでは、手で抱えるようにして、道路に移動させています。他系列のショップでは、ツンとすました美人系の店員さんが、靴で蹴飛ばしながら移動させています。
(*) 幟旗 このようなモノ: http://www.noboribata.com/?gclid=CJ_Ysvu28KICFQowpAodFE8Rlg

 若い人の目には、違和感ないかもしれませんが、古い私には「悪い行儀」に映ります。店長らしき人もその場に居るようですが「行儀が悪い」とは思っていないのでしょう、黙認してるのか?。
 サービス業は見えにくい箇所の心配りが、勝負を決すると思うのです。 私はそのショップに入る気は無くしました。
プログラムも起こりえないと思われる箇所のエラー対策をキチンとしていると信頼度が高まります。その処理は一度も実行されずに寿命が尽きるかも知れません。発生しないからと判断して、手抜きすると、不思議にそのエラーは発生するのですよね。
逆に、対策をしたエラーは滅多に発生しない。一種の保険ですが、誰かが見ていて事象を操作しているのでしょうね。

上記の店員さんは、2ヶ月経たない間に居なくなっていました。どうなったのでしょうか。

2010/07/14

ホットイチゴ/バナナ

飲料自販機の大抵は、コーヒー・紅茶・ソフトドリンクですが、
紙コップ式の自販機のなかに、屡々珍しいモノがあったりします。イチゴミルク(ホット・アイス)やバナナミルク(ホット・アイス)が見かけたことがあります。バナナは、あるメーカーの社内休憩所で、イチゴは、駅のホームで。
ポタージュやお汁粉は少ないですか、複数箇所で見かけますので、需要があるのでしょう。
喫茶店などでは、品揃えで置くのはわかりますが、紙コップ式の自販機で常設して採算とれるのかなぁ。
疲れているときは、甘ったるいものが欲しくなるので、私は飲みますが....類似の人が多いから設置しているのか。
潜ってみると、本物のバナナ自販機が渋谷にあるそうな。http://www.youtube.com/watch?v=DkRS_zq4oB0
こちらは、バナナ朝食ブームの一環かも。

2010/07/12

グリーン車は旧一等か旧二等か

クハxxxx :1文字目の「ク」は運転台付き車両です。モータ付き車両は「モ」になります「モロxxx」など。
でも...今回テーマにしたいのは、二文字目の「ハ」や「ロ」です。
この「ロ」は「イロハ」の二文字目で、二等を意味します。「ハ」は三文字目で三等を意味します。
現在の乗客を乗せる車両は、「ロ」か「ハ」の二種類です。「ロ」が今のグリーン車に相当し、「ハ」は普通車に相当します。
 三階級制を廃止で1等を廃止した時、、分類記号である「イ」を廃番にしました。
 それが鉄道マニアも含めた常識でした。
最近、出版された鉄道関係の本に、「グリーン車(昔の一等車両)」「普通車(昔の二等車両)」といった記述があります。 3階級あった時は、運賃自体も一等運賃、、二等運賃、三等運賃と同時に、特急料金も、一等特急料金、二等特急料金、など分かれていました。
ややこしくしているのは、1960年~1969年の10年間は、一等を廃止し、二等級制にしました。そのため。
その時の一等車両が今のグリー車だと言うのを「間違い」とは言えません。
しかし、それまでの3等級制の時代が長かったので、「グリーン車は旧二等車両」という表現が自然です。
公式分類でグリーン車を「ロ」で表現しているので、グリーン車を「昔の一等車両」と表現するのは、誤認・誤解を与える表現になります。
 これも、「コード体系(運用・表現)が不整合を起こしている」と思うのです。
初級者向けに書く文なら、注意して表現しないと、誤認されるなぁ....と思った次第。

2010/07/09

2種類の表音文字

平仮名は草書体から派生、片仮名は漢字の一部から派生。このように教わります。
戦前までは、公式文書は、漢字と片仮名の文で書いるのが多いです。学校で習うのも、「サイタサイタ」のように片仮名から学びました。
法律の文が片仮名交じりなので今の人には読みづらいです。「平仮名文字」の読む速度と、「片仮名文字」の読む速度差も大きいです。
 そこで疑問に思うのです。「表音文字(音節文字)」は何故二種類あるのだろう。一種類だけでも、機能は足ります。
片仮名は西暦800年位、平仮名は西暦900年位に作られたようです。100年の開きがあります。
片仮名では不十分な事態や不便な事が出てきたので、新たに作ったのか。
でも、今の感覚で見ると、既に存在する「片仮名」と同類の表音文字である「平仮名」を創出する価値が見えない。
「現行の表現形式(片仮名)」が不便なので、「新表現形式(平仮名)」を作ったのだったら、現行は破棄するのが自然。片仮名が消滅して、平仮名が残るのが自然だと思うのてず。
でも、両方残っています。不便なので創出したのではなさそうですね。

コンピュータ言語が、年々増えていくのと同じで、適用場面が異なったのだろうか。日本以外で、複数の表音文字を持っているのはあるのだろうか。不思議だ。

2010/07/07

相撲..国技..騒動?

昨今の相撲問題..ニュース番組が「国技」と連呼するのが気になって。
「国技」という用語に定義がなく、一般的に、伝統文化的に浸透しているモノを称したり、国民の間に人気のあるモノを称したりします。
相撲に関しては、違うようで、両国に相撲館を造ったとき、「国技館」と命名したことに由来するようです。言ってみれば、「自称国技」ですね。
それをマスコミが「国技」と連呼するので、「日本古来の由緒ある国技」と認識する人が出てくるのでしょうね。
 「相撲協会」が公益法人で、「大阪プロレス」が営利団体というもの、根拠が不明確。
相撲は単純格闘技でなく、神事の面があるので、他のスポーツ協会と同等にするのは、無理があると思うのです。
勝負時間より、前の儀式が長いというのも他にはないでしょう。
心技体が揃うのが理想でしょうが、強い事が主題の外人力士を導入した時点で文化が変わるのは不可避でしょう。
神事性とスポーツの公正平等性が共存するのか相反するのかは判りません。
しかし、古来からの興業文化の根っこには、アウトロー性が匂うでしょう。それを知った上で文科省が公益法人に指定し、放置していたとも見えます。
今回の騒動。報道する側も知っていながら、初めて知ったように報道しているように見えるのです。
出来レース感がして、スッキリしない騒動です。

2010/07/06

一次電池と二次電池

単純な違いは、充電可能な電池と、充電してはいけない電池です。
構造上、充電と放電か繰り返し可能な電池を二次電池といいます。
マンガン電池やアルカリ電池は充電ができません。
 一次電池の充電行為は、危険と教わりました。(何故危険なのかは亡失しましたが。)
最近、「マンガン、アルカリ電池に充電できる機械」なるものが市販されています。
個人的には、眉唾視していますし、可逆反応できないはずなので、使い切った電池が復元できるとは思えません。
でも、堂々と売られているのをみると、販売店やCMの信頼度ってどうなの...と思います。
以前書きましたが、マイナスオゾン生成機(名称を書くと語弊がありますが)など、効果の測定できないものを、効果があると書くのは疑問に思います。

二次電池は、充電頻度や回数で寿命が大きく変わるのは、携帯の影響で多くの人に浸透したようてす。
一次電池を使い捨てするより、二次電池で充電するほうがエコなのかどうかは資料がないので判りませんが、一次電池のほうが長く使えています。
なので、私のMPプレーヤーは一次電池式を使っています。(強引な結論ごめん)。

2010/07/03

4原色テレビ

色(光)はRGBの配合で決まります。(透過度を考慮してaRGBとすることもありますが)
CRTもRGBをベースに作られいます。
S信号やコンポジット信号など実装手段は幾つかありますが、原理は同じです。
テレビは映像信号と走査線の組み合わせで、RGB要素をONして再生します。
 シャープが4原色テレビを投入してきました。RGBに加えて、黄色が要素として加わるようです。RGBYとでも言うのですかね。
YはBの補色の関係なので、同列に扱うという発想はコロンブスの卵。
黄色や金色の発色が鮮やかになると言われてます。R+Gの黄色と Yとどのような違いがあるのでしょう。
金色や銀色は、波長があるのでなく、金属の光沢に依存する色なのでRGBから生成するのは厳しいと思っています。
それが、「黄の原色を加えることで可能になった」というのが不思議。
さらに不思議なのは、金色など、従来方式だと表現できなかった色の再生。
従来のTVの再生は、走査線等のRGB信号に帰着するのに、特定の領域が金色だという情報をどこから取得するのだろう。
デジタル情報として埋め込まれているのなら、4原色対応ソフトになるので、それはないだろう。
RGBY4原色方式が普及すると、 アプリで遣われている 32万色COLORの RGBの世界は変わるのだろうか。

2010/07/01

歩と步

正字が「步」、俗字が「歩」とされます。
新字体は「歩」で一般使用されます。新字体のほうが画数が増えてます。
一説によれば、字体のバランスが新字体のほうが良いからだとか。
漢字の正字というのは、いたって俗物っほくて、文部科学省(旧文部省)が発表した、「字体表」に基づいているかどうかで決まるようです。
「字体表」を印刷したときのフォント字体にも影響されるので、恣意的な部分が残ります。
文科省の意志次第で、字の画数が変化する訳ですよね(?)
戸籍登録の漢字がその人の本字と言われても、使用制限で使えない字があります。俗名で使いたい字を使っている人もいます。
その場合も含めて、姓名判断などに用いる画数の根拠って何よ...ということになりませんかね。
血液判断的な遊びの話題程度ならいいですが、真剣になられると対処に困ります。