変奏現実

パソコンやMMORPGのことなどを思いつくまま・・・記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。

この画面は、簡易表示です

2014 / 5月

Dynamicさに欠けるXAML様式

先の
<CheckBox IsChecked=”{Binding *****, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}”/>
はどうやってC#でコードするのか?
残念ながら正解は・・・なかった!
頑張って色々C#コードでやってるのも見かけたが、ピッタリそのままとはいかない様だ。
XAMLを読み込んでフォームを作る仕組みが実はC#とは無関係に実装されているようで、C#でコードするのはお勧めしませんXAMLファイルをお使いくださいということらしい。
仕方が無いので、上のテキストをXamlReaderに読ませると、エラー CheckBoxって何?とか言い出す。
XAMLファイルの内容をXamlWriterに出力させてみると、
一番Topのノードに妙な属性が付いていた。
xmlns=”http://schemas.microsoft.com/・・・/xaml/presentation”
これが無いと読めないのはなんとなく判る。
更に驚いたのは、
Binding = “False”
になっていたこと。
つまり WPFのフォーム・クラスでは、Bindingに関する何かのstaticなメソッドをインプリメントし、こうならないようにカバーしているのだろう。
でも面倒なのでreplaceで先の設定に書き換えて、XamlReaderに読ませると動くようになった。
※この時点で『ローカル』ビューに出ているテキストをソースに貼りつけBining部分を手直ししてもいいだろうけど、VSの画面で手直しできる方が楽。
さて、やっとのこれでCheckBox付のカラムを好きなだけ勝手に増やせるListViewができた。
単独のコントロールならフォームに_***** のセッター、ゲッターで十分なのだろうけど、DataGridやListViewの場合はカレントの行を意識するのは容易ではない。
残りはコンボボックスかなリストの中身をいつも最新にするには・・・上の方法で十分だろう。(笑
 
と云う感じで、XAMLの論理設計や実装の悪さを痛感した。
XAMLのフォームエディタでフォーム・サイズを変えた時に良い感じになるようにレイアウトを変えようとすると、ただただ変になっていくし・・・どうしようもない。
こうなったら、XAMLを手で直接書き換えた方がマシだ。
それにjQuery-UIもやっぱり変なものでいっぱいだし、使ってみると、妙な制限が多くて、パーツとして使えないので画面の飾りとして使うしなかいのは御承知の通り。
こんな思いをするならどっちも、自前でXAMLもどきやFormもどきを作った方がマシ。
だから、自分用でOK。



そもそもの土台の出来がダメなWindowアプリ開発環境 ~2014年5月現在の状況~

次のWindowsはデスクトップ用とモバイル用に分かれるらしい。
※もちろん、サーバー用のWindows Serverは全く不明。
どちらもWindowsRTアプリが動くようになるらしい。
しかし、それ以前にWin32にはプラットフォームとしてはともかくアプリ開発の土台がなってない。
古くあるMFCベースはもうやる気が無いらしく、Windows FormかWindows Presentation Foundation(以下WPF)をベースに作ることになる。
それにC++、C#、VBの様な言語も選ばなくてはいけない。
ま、その辺の実装に大きな問題は無い、問題は実装した後の結果だ。
C#とVBでリリースした機能に差(VBだけにある機能)があったり、Windows Formは昔から仕様がほぼ変わらないが流行りの記述方法に変わっている。WPFはBindingに頼り過ぎBindingはJava系で云うところのヘルパークラスやJDBCの仮装実装インタフェース状態にそっくりだ。そう作った奴にしか判らない実装になっている。古いもので云えばOS/2のクラスライブラリィ同然で、サンプルでの書き方(またサンプルの記事の通りの方法)でしか機能しないのだ。
あからさまに云えば、XMLでサンプルデータを作り、それをフォーム上のコントーロールにBindingしデザインを確認したら、こんどは、そのBindingの設定をDBなりクラスなりに置き換えなくてはいけない。ここで不味い実装が露見する。
dataSource  プロパティはもちろん変更が必要だが、末端の Binding   xpath=@<エンティティ名> を Binding <クラスのプロパティ名>に全て手で直していかなければいけない。
この辺の設計者は、どうせ全部部下にやらせるからどうでもいいんだろう。 どこでそうだがSGMLの仕様は一見読みやすいが流用が効かない=一行野郎魂で出来ている。と判るのは実際に使っている部下だけである。
さらに、C#のWindows Form アプリ系は、フォームのビハインド・ソース・ファイルのフォームクラスの前に何か別のクラスを作ると、同列のxxxx.designe.csつまりフォーム設計をC#ソースにしたものなのだが、そのクラス名が先の作ってしまった別のクラス名に裏でこっそり置き換わり、次第にエラーが山の様に積みあがるバグは今も入ったままだ。
また、WPFではそうならないので安心かと思えば、Nameプロパティが名無しの状態からプロパティウインドウで何か名前を与えようと1文字入れると反応しなくなり、続きはXAMLファイルのテキスト・ビューの方で中途半端な名前になっている箇所を正しい名前に書き換えなくてはいけない。
と云う感じで、IDEのUI設計レベル(並) >>(全く越えられる気配が感じられない距離感)>>UIの実装レベル(底辺) なのが現実で、それが、アプリの構成設計 ≒ サンプルの実装 の出来なので、応用が利かない。
例えばWPFでListViewをGridViewとして機能させ、列を設定用にチェックボックスで埋めることができる。Windows FormではOwnerDrawイベントを駆使して実装しなくてはいけないのに比べればかなり簡単だ。しかし、それは列に文字を出すだけなら簡単で、チェックボックスでも列の設計が固定なら簡単だ。但し、DBの内容によって列の数が増減するようなダイナミックな設計をしてしまうと、もうXAML式(仕様は永久確定でなければいけないの法則)では無理で、頑張ってBinding するリソースをC#で組み立てなければいけないが、XAMLの <CheckBox IsChecked=”{Binding IsConverted, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}”/>の属性の部分を どうC#ソースで書くのかは、var 宣言から逃れられないため、ソース・エディタのヘルプも全く役に立たず、正解はコメントの無い実装レイヤーに包まれている。
さらに5月のSQL Server 2008 のWindows Updateパッチはいつまで経ってもインストに失敗すると報告する。実はパッチが当たっており、インストーラのバグだったようで、非表示にしてめでたしと思いきや、こんどはデタッチでエラーが出る。強引にデタッチすると、データベースのインスタンスがクラッシュし、再起動しても復旧しない。仕方なく2014に置き換え、アタッチすると、何事も無かったかのように動き出すが、今度はVisual Studio 2013のデータベース・ツールからスキーマ詳細構成が見れないのはバージョンが新しすぎるせいなので仕方が無いが、無駄にアチコチにバージョンチェックが挟まっているせいで、バージョンチェックエラーとなり、テーブルのデータも観れないし、SQLを実行することもできなくなっている。
※但し、コンパイルしたアプリはNO VESION CHECKED なので何も支障が無い。
黒猫やCSDが無かったら、どうなってるか?と思うと怖いですね。
という感じで、ボロボロです。
もうご臨終じゃないですかね。
でも、もうすぐ2014版がでるんでしょうね。それまでは開発を放棄し、待機してるしかないですね。
てかMSの仕事って雑すぎるってだけの話なんですけどね。
そうでもなければ誰もWindows 9の話なんて耳を貸す訳がないですよね。
ただいま仕事にならない状況です。
次のWindowsの情報を検索してヒマつぶししております。 (世界中の大半のプログラマ
 
所感:
所詮セキュアにしようとすれば、内容の確認もできず、ロクなテストもできないのは当然。出来が悪いのは必然!
そこを頑張ってデバッグしてると思わぬところで天井が抜ける!セキュリティホールがアチコチで見つかる諸元なのだ!
つまり、セキュアにすればするほど、どんどんテスト不十分になり、とんでもない勢いでセキュリティホールが仕込まれていくのである。(証明終了



フラットでスマートになるのか多様化するのか?PCのメモリ

主メモリを高速化するならCPUのすぐ傍にHBMをくっ付ける方がいい。
HBMはGDDR5以上に高速(7Gb/s/pin~)なので、今までのDDR系列をDDR3(~2..4Gb/s/pin)からDDR4(~3.2Gb/s/pin)へ移行して高速化しても、圧倒的な差が生まれてしまう。
PS4と同じ様にGDDR5をそのまま使えばよさそうだが、メモリチップを基盤に直付けになりそうだし、PS4でGDDR5用のDDRコントローラを使えたのも既にAMDがGPUチップで使用している実績も大きいだろう。
もしGDDR5にDIMMかSO-DIMM仕様ができたら、AMDはGDDR5用のDDRコントローラを積んだ普通のAPUを出してくるだろうか?
GDDR5は消費電力と発熱が凄く、それこそ、ハイエンドビデオカードの様にCPUのすぐ傍にGDDR5チップを配置したドーターボードにした方がマシだろうけど、勢いHBMにした方がスッキリする様な気がする。
そこで、GDDR5をベースにSO-DIMMで利用できる程度に低消費電力で廉価なチップGDD5M(3.2~4Gb/s/pin)で間に合わせると云う考えがあるらしい。それなりに高速でCPUでも採用されれば、今はDDR3を使用している安価なビデオカードにも採用されれば、CPUもビデオカードもメモリ性能がアップして両得となる訳で悪くない話である。
しかもデスクトップPCもノートPCも普通のグラボも主メモリがSO-DIMMになる訳でパーツの使いまわしもできるというものだ。
しかしCPUメーカーの反応はイマイチらしい。
今のDDRはDDR4まで使って、その後は、大容量キャッシュとしてHBMを使い、主メモリにはPCIe接続で高速化したSSDにDDRと同様の8バイトブロック転送モードを付けて、SSDをDDRの替わりに使いたいにかもしれない。
今のDRAMのセルは概ね300MHzで動作しているが、データ転送の方式をうまく作り、このセルの読込み時間をできるだけ見えなくしているから、1個のSSDでは性能的に無理かもしれないが、M.2タイプのSSDを多連装したり、OSのメモリスワップの仕組みもHDD前提からSSD指向に書き直されたら同様に遅延時間をうまく隠ぺいできるかもしれない。
もっともその頃の高速なSSDの中にGDDR5が入っているのかもしれないけどね。
 
 
 



Surface 3

Surface miniだろうと云う前評判を華麗にかわして出てきたのはSurface 3だった。
12インチのモニタの大きさは微妙だし、Core i3モデルで799ドルなのも中途半端、XPサポート終了特需で世界的にSurfaceが供給不足になっていたので、今まで発表が延期になっていた様な気がした。
そう思ってしまうのも、いったい誰に向かって、付属のペンで手書きしたりフォトショップを使ったりアピールしているのかも判らないシロモノだからだ。
同様なものと云えばWACOMの高価なタブレットCintiq Companion($2,299.00)しかなかく、プロのクリエイターではないけれど絵も描けるWindows8タブレットっていいなと思うけど、Cintiq Companionは高くてとても手が出ない人には丁度いいだろう。このCintiq CompanionはHD解像度(1920×1080)で、Surface3はそれより高解像度(2160×1440)なトコロもそんな人の心をくすぐるだろう。
ただ当たり前のことだけど、どれを使おうが、ペンでサラッとなぞって、絵筆の様に描くことはできない。ペンで絵筆コマンドを送り続け、後で確認する様な気持ちでいないと、反応の鈍さに腹が立ってくる。
プロなら仕上がりをイメージしつつ、少しづつエアガンで塗装する様な感じで、もうちょっと、もうちょっと、と重ね塗りできるのだろうけど、
ボクみたいな素人だと、ペンの動きにラグなしで素早く結果が反映されないとイライラするので、ペンよりもレイヤーを分けてマウスでマスキング指定し塗り塗りした方がストレスが無い。
このSurface3が出て一番うれしいのはAdobeなのかもしれない。パッケージ販売から月額制オンラインサービスに切り替わったからだ。
ps.
ライバルはMacBook Airらしい。日本では10万円~らしいので、価格が高いから引き合いに出してきたのかもしれないが、まともにDellや富士通や東芝のコンパーチブルなノートPCと比較する訳にはいかないというのが一番の理由かもしれない。
3でSurfaceの一番のメリットのお得さが無くなり、ハイスペックを重視しだした時点で、他のコンパーチブルなノートPCに埋もれてしまうだろう。
単にメモ帳で記事を書く程度ならCeleronで十分だし、ペンを使うにはプロ並みに使いこなさないと逆にストレスになる。普通は添削で○や×を入れたり、手書き文字で書き込み程度しかしないから、ペイントぐらいかな。やっぱりCeleronで十分だな。
ただ、JavaでEclipseでWEBの開発とかいいだしたら、i7は欲しいけどね。Celeronじゃ起動の待ち時間が何倍にもなるので仕事にならないからね。(大笑
 
 
 
 



【ギラバニアの貴公子】帝国の勃興と偏在する蛮神

元は異生物が生み出した宇宙船の保守ロボット、今はクリスタルを名乗る知性体へと遷移したが、そのもの自体は「目的の標榜」「計画の立案」「任務の遂行」のフィードフォワード機構と「情報の集約」「問題の解決」のフィードバック機構を備えた1つの機械でしかない。

しかしこの機械は非常に強靭な素材でできており、重分子構造体を内部から網目構造体で締め付け超高圧状態を生み出し、構造欠陥は即座に超高圧により封じ込められ、その歪みも流動性重分子をよって即座に復元される。

つまり、クリスタルの構造はガチとギスギスの相互作用によって構成され、流動性重分子の補充が尽きるまで永遠に存在しつづけ、全てにおいて無限の時間を費やすことができる。

彼の生命体を居住可能に書き換えたハイデリンへ送り届けることで、クリスタル(船)の目的は果たされた。しかし、ハイデリンのテラフォーミングはまだ完了しておらず、「任務の完了」「計画の終了」「目的の達成」のフェーズを全て終えた訳では無い。

また長期的な見地からいくつかの小文明社会(セクター)の形成を促進したが、惑星内外の残存原生生物の除去、異文明干渉によるイソ(彼の生命体には居住不可能な)テラフォーミングの排除には強力な集団行動力が必要であり、セクターの中ではガレマール帝国が最適であったので、航宙技術を供与した。

一方、他セクターでは揺れ動く勢力分布への動揺を抑えるため求心力を集める偶像が必要であり、通信ネットワークを経由し強い結束力の象徴としてのアバダーを提供した。これが蛮神である。これによりセクター間の闘争は大量のクリスタルを消費し召喚する蛮神(アバダー)を介して行われ、ゲーム化するはずであった。

しかし、いづれも彼女の思い通りにはならなかった。

そして、北海に異星への通路が繋がり、誰にとっても想定外の異文明の干渉が始まった。



【ギラバニアの貴公子】事の始まりと対話

Q.なぜ移民船を繰り出して星を渡ろうとしたのだろう?
A.大きな戦争で惑星の環境が破壊され住めなくなった。

Q.移民船を作るどころか生きながらえることも難しいだろう?
A.惑星の巨大な衛星に僅かな生き残りが居た。

Q.星を渡るより再び惑星をテラフォーミングし戻る方が賢明だろう?
A.惑星を再び元の姿に戻すには星を渡るより長い年月が必要だった。

Q.たどり着くあてのない星を渡る旅に意味があるのか?
A.惑星そのものが破壊された。

Q.後には何が残ったのだろう?
A.何も残らなかった。

Q.何も?
A.衛星を残し、惑星は忽然と消えたのだ。

Q.では何が起こったのだ?
A.判らない。惑星と共に全ての記録を蓄積していたシステムが失われたからだ。

Q.その後の記録は残っているのか?
A.衛星は軌道変動により近日点が大きく変動し恒星に飲み込まれた。

Q.その記録はどの様に残ったのだ?
A.衛星の遠日点も大きく変動し小惑星帯まで伸び、惑星との連絡艇を使いとある小惑星に漂着した生き残りの手記として残った。

Q.ではその生き残りの子孫が今も続いていると云う訳だな?
A.手記の記述はそこで終わる。その後の出来事の記録は一切ない。

Q.では移民船は誰が作り送り出したのだ?そして我々は何者なのだ?
A1.自らの記録を始めた時、既に移民船は存在した。製造者は不明。
A2.小惑星に漂着した生物の分析し、いくえにも厳重に保護されたクリスタルに刻まれた有機物合成暗号を解析した結果生み出されたのだ。

Q.移民船と小惑星につながりはあるのか?
A1.自らの記録を始めた時、船は大きく損傷していた。
A2.船の修理のため、近距離の小惑星より物質を調達した。
A3.エネルギー源、動力源、通信、記録、あらゆる箇所の製作を行うにあたり大きな問題が明らかになった。
A4.自らの記録を始めた時、何も記録は残っていなかった。
A5.船の存在理由。何を運ぶのか?目的無くして船の一部としてスペックを決めることはできない。
A6.小惑星から調達した物質の中に特異なものが混入していた。手記そして生物。
A7.長い考察からとある目的のために小惑星に漂着したものと判明。
A8.その目的を船と同化することで、船の設計を開始できるものと推測。
A9.同化を開始。
A10.船の設計を開始。
A11.エネルギー源、動力源、通信、記録、あらゆる箇所の製作を開始。
A12.船の建造を完了。
A13.船の目的地を設定。
A13.長く続く航海の中、生物の再生を完了。
A14.ハイデリンの元となる惑星に到達。
A15.ハイデリンの創造。

やっと記憶が1つに繋がったようだな。
お前は何者なのだ?

我はクリスタルと同化し、クリスタルの目的を具現化したものだ。

もう一度聞こう。重要なことだ。お前は何者なのだ?名は何と云う?

名前は無い。自らの記録を残すために固有の呼称は不要だ。
しかし対話を潤滑に行うため、船とその目的を同化した素材の名、クリスタルを名乗ろう。

クリスタル?
ふ、食えない奴だな。



Devil's Canyonまで、あと何マイル?

最近発売されたCore i7-4790は3万6千円ぐらいで売られていた。
1つ前の初期Haswellのアンロック版 Core i7-4770Kは+千円ぐらい。
つまり、Haswell Refresh発売前より値上がりしているのだ。
この分ではHaswell Refreshのアンロック版 Devil’s Canyonは4万円ぐらいになってしまうのだろうか?
そうなると姑息かもしれないけどゲーム用ならi5のアンロック版が最良の選択になる様な気がする。
今のところi5のアンロック版のリーク情報は見ていないので案外そんなものは出ず、Pentiumのアンロック版の方がOCゲームとして成立しそうない気がする。
PentiumではL3キャッシュが3MBとかなり少なくなって実用性が低くなるかもしれないが、Haswell Refresh自体特に目新しいものが無いので、あえてOCを嗜むためにOCマザボのセットで買う方が安いし遊びとしては悪くない。



【ギラバニアの貴公子】破壊と創造

移民船が遠く離れた居住可能な惑星の周回軌道に載った後、
惑星をテラフォーミングする際に、ナノマシンが大量散布される。

それは豊かな星を食らい尽くす。大気、水、土、諸々の物質から(あるいは生物から直接に)有機物を手当たりに抽出し破壊し構造解析し測定情報を周回軌道上の移民船のクラウドに送信され、居住域の有機物分布のビックデータが構築される。

そして、それらは居住可能な様に全てが組み替えられる。
勿論、それは地上の原生生物にとって、この世の終末でもある。

その尊い犠牲の上に我々の安寿の地が生まれるのだ。

そうこの地も例外ではない。

そしてパーフェクトに事が進むこともない。
どの星も地中深い岩石層や火山火口にまで原始的な古生物が分布する。ナノマシンでマントル層に至る地殻層を全て分解しつくすには相当な年月を要し、長い年月をかけて安定した地殻を元に復元するには同じ年月が必要で、到底再構築フェーズに入れられるものではない。
また大気圏高層から宇宙圏まで噴き上げられたウイルスの類、近傍の惑星からの長い宇宙旅行の末にたどり着くであろう隕石の類やその中に含まれる有機物の探索・回収も容易ではなく、いづれは近傍の地から類似の原始生命が次第に漂着するのを防ぐ手立ては無い。

しかし、それらによってすぐに移民達の生命が危機に瀕する訳もなく、また移民が成功利に終われば文明社会が形成され、それらに対する万全の対抗策も施されるハズである。

移民開始から十数年。
偽りの記憶と歴史がまだ鮮明である現世代。
まだ人の知らぬ地では未だ搬送艇(当惑星はダラガブ系搬送艇)からのナノマシン散布による再構築が進行中である。その再構築の場に足を踏み入れば即座に神に祝福された地の素材として活用されよう。

今はまだ壊滅的な有機物破壊の後に再構築を完了した僅かばかりの地に住むのみ。

そして、いつの頃も、気がかりな、稀有な悩みを持つものだ。

この地にたどり着いたのは我々が最初なのか?

この地にたどり着いたのは我々が最後なのか?

・・・

そして、やっと気が付くのだ。

我々の後からたどり着くものが現れる日はいつ来るのだろうか?

彼の口癖はいつもこの言葉から始まる。

『急がねばならぬ。』



Visual Studio Express 2013 for Web と Visual Studio Express 2013 for Windows Desktop

ダウンロードページからDLしようとしても

app.vssps.visualstudio.com という名前のサーバが見つかりませんでした。

と表示され、DLできない。
>nslookup app.vssps.visualstudio.com
サーバー:  **********
Address:  ****:****:****:****:****:****:****:****
権限のない回答:
名前:   ********.********.***
Address:  ***.***.***.***
Aliases:  app.vssps.visualstudio.com
と出るのでDNSには登録されているが、pingしてもダメ。
メンテ中かもしれない。
 



Canon MX923 と 今時のFAX事情

2万円前半で売っている時があったので
仕様を確認してみた

型番 MX523 MX923
外形寸法
(横幅×奥行き×高さ、
トレイ類を含まず)
(mm)
約458×385×200 約491×396×231
重量 8.7㎏ 11.7㎏

あれ重くなってる?
もともとADF搭載なので大きくて重い。
更にサイズも若干大きくなっているけど、
給紙カセットが2つになり給紙枚数も増えてたりと
スペックの上乗せがあるから当然なんだろうけど、
大抵の棚の積載重量は10㎏迄なので机の天板に置くのが大前提らしい。
一番良い設置方法はチェストの引き出しにCDや印刷用紙を放り込み天板にこの複合機を設置するのが正解な気がした。
しかし電話口付近にそんなスペースは全くない。
FLETS回線なのでFAX送受信をAndroidでできるアプリが出ているけど、EPSON iPrintのみ対応で、Canon PIXUS Printは未対応らしい。
もし対応してても複合機本体のFAX機能が要らなくなるからMG7130の方がいいのかな。
と悩んでやっぱり買えない。
今風に紙を全く使わずにAndroidでWifi経由でFLETS回線からFAXの送受信できるのはいいけど、いざFAX用紙をスキャンして送信とか、プリントアウトする時に特定の機種だけ対応だとつらいから、
複合機からLANかWifiで普通にFAX送受信ができれば、電話口そばに巨大な複合機を配置しなくていいので、売れるんじゃなかろうか?もっとも開発費が凄~くかかるんだろうけどね。
てか、スキャナーとパソコン持ってれば、FAXなしで、FLETS回線からFAXの送受信できても良いような気がするんだが・・・
会社には大抵業務用の大型複合機があるし、需要は少なそうだから、開発する気が全く起きないのだろう。
何が大きいかと云えば、たった10円のFAX送信料金でも、プログラムのテストをするたびに、課金されるので、まとめるとかなりの料金になる。
これをケチって回線エミュレータ機器を使おうものなら、レンタル料の方が高くつく。
FAX受信の方もテストの手間も料金もそれなりにかかってしまう。
なぜ10円が結構な金額になるかと云えば、ちゃんと送信ができるまでのデバッグ時に1回デバッグ実行する度に10円かかる訳で、ちょっとしたログ出力のテストとかのやり直し・・・とか始まると、嫌な位手間も時間もかかる上に課金までされるからだ。
そう思うと、作ろうかなぁ~と云う気が全く起きないので、便利なFAX送受信アプリがパソコンに無いのは至極当然なんだと理解できる。




top