最近の今時

あるときからWindowsXPで動くようビルドできなくなった,原因不明ですが解決しました.なんやかんやの末,Visual Studio 2015で空のCLRプロジェクトを作り,既存のコードを充てるようにしたら,動きました.きっと,Visual Studio 2008プロジェクトを2015の形にコンバージョンしたのを起源としていたところが悪さをしていたのかなと.微妙な状態のまま何とか途中まで来れたけど,ここらで我慢の限界に来たとか,そんな感じかなと.そう思うことにします.

最近の今時

Visual Studio 2015で開発しています.非推奨のC++/CLIのフォームアプリケーション.それを今時ながらWindowsXPで動くようにしたい.プラットフォームの指定を「v140」から「v140_xp」にすれば良いそうな.試しにWindowsXPの仮想マシンで動かしたら,確かに動くようになりました.安心してそれを納めていました.これが先週の話.

で,諸々改修したものを再納しました.と,先方のWindowsXP環境で動かなくなったとのこと.ビルドオプションは変えていないのに,どうしてか.先週時点のコードに戻してリビルドし,仮想マシンで動かし…てみようと思ったら,仮想マシンが起動しません.メモリ足りている風なのに足りてないとか言ってきます.謎.思い当たる節,あります.先週末に機械学習しようとしたときのあれやこれの影響じゃないかと.

そこで,NVIDIAなディスプレイ周りをアンインストール.それでも駄目で,Google先生に訊きながら,管理者権限で実行したりしましたが,結局有効だったのはVMWare Workstation Playerの更新ぽ.で,仮想マシンは動くようになりました.で,先週ビルドしたアプリは確かに動いたものの,同じコードをリビルドしたアプリはなぜか動きません.

Google先生に訊いたり,Visual Studioのサービスパックを削ったりしているうちに,普通のビルドもできなくなりました.つーわけで,Visual Studioから入れ替え.で,VC Runtimeのリビジョンを変えたり,Google先生に訊いたり,逆コンパイラで違いを視たり,Google先生に訊いたり,他人の環境でビルドしてもらったりしてます.シンプルなコードでどの辺が問題なのか調べようとしましたが,仮想マシンにアプリを持っていくとウィルス認定されて駆除されるという余計なお世話に苦慮したり,それを解決するために…はぁ.問題が手強いのか,苦手な調査物なだけなのか,未だ戦闘中.

Duplication

たまに,会社のPCのHDDが大回転し,動きが遅くなることがあります.残り容量が3割弱になっているせいで,頻繁にデフラグされていたりするんでしょうか.数箇月前,どこから湧いて出たのか,「使い道がないんだけど要る?」と,2TBのHDDを頂きました.そのうち増設しようかと思って温めていました.

最近,機械学習エンジンのChainerを試用しようと,PythonのSDKや,Visual Studio 2015でコーディングするためのプラグインや,NVIDIAのGPUを操作するCUDAなるものをインストールしました.その過程で,Visual Studioのサービスパックが充てられたり,ディスプレイアダプタが更新されたりしました.その影響でしょうか,ネットワークに繋がりにくくなりました.オンボードのLANポートが逝き気味.言えば出てくるものですね.別のNICを頂いて,それで凌ぎました.

で,2TBのHDD,いつ付けるの? 今でしょ.PCを開けたついでにHDDを増設.しようと思ったのですが,ハーフサイズのPCなので,3.5インチベイは現役のHDDで満員です.残念切腹.

現在の内蔵HDDは1TB.だったら換装するってのもありじゃないかと.言えば出てくるものですね.SATAのHDDのデュプリケータをお借りしました.そして昨夜,Duplicate&Compareを仕掛け,机上をこんな状態にしたまま一晩放置してて良いのかと思いつつ,帰宅.2時間程度の所要時間なので,日中の会議の時間等にやるでも良かったのですが,こんなときに限って丁度良い会議がありませんでした.

今朝,ステータス窓に「Failure」と出ています.詳細ログをUSBメモリに吸い出しつつ,駄目元で2TBでブートしました.ブートできました.ログによると,コピーして余った1TBの部分の照合で失敗してたぽ.そりゃそうよ.最近のWindowsはハードウェア構成が変わるとOSの認証がうまく行かなくなるという話を聞きましたが,そこもクリアできていました.やったね.

そういや自宅のアニメストレージもそろそろ追加しないといけないかもです.そもそも,全部で今一体どんだけあるんでしょうか.調べてみたら,120GB~1.5TBの10本のHDDで,計4.1TBでした.そんなもんですか.700MB/h程度の低画質で録っているので,全部で5857時間,およそ900クール分ですね.

Kindle

会社で購入した電子書籍を会社から借用しているKindleで読み始めました.

今時エンジニアにもかかわらず電子書籍初体験です.型番が「DP75SDI」なので,Kindleの第6世代でPaperwhiteの第2世代っぽい.使い方を多少調べながら使っています.電子ペーパーだから表示の切替時にしか電力を消費しないんだろうなと解ってはいるものの,結局バックライトが点いているので,貧乏性としては気になります.ということで,バックライトをOffにしてみました.返却するときは元に戻しておこう.新しいデバイスを手にしたばかりだからか,個人でも欲しいわこれ.

読んでいる本は『ZERO BUGS シリコンバレープログラマの教え~高品質なコードを書くための78の物語』です.まだ1割程度しか読んでいません.今のところ,「勉強になるわ」より「共感できるわ」「それやってるわ」です.

Microsoft Visual Studio 6.0

18年前のIDEですが先日,久しぶりに触れました.純粋なC言語のコードなので,文法に違いはありません.しかし,最近触れているVisual Studio 2015と比べると,見た目がだいぶ違い,だいぶ懐かしかったです.さらにいうと,久しぶりなのはOSもです.現在はWindows 8.1 UpdateのPCを使っていますが,VS6を動かしたのはWindows XPのPCでした.

小数表現

最近,.NET FrameworkアプリとAirアプリの両者で出力したCSVファイルをExcel上で照合する機会がありました.ところが,微妙な差が出てしまいます.どうやら,有効桁がちょいちょい変わるみたいです.折角調べたので,備忘録としてまとめてみます.バージョンやビルドオプションによって変わってきたりするのかしら?

どの
アプリで
どうすると どうなる
.NET
Framework
桁数無指定で
ファイル出力
有効15桁
(四捨五入)
Air 桁数無指定で
ファイル出力
有効17桁
(四捨五入)
Excel CSVを開く 有効15桁
(切り捨て)
Excel CSVで保存 計10桁
(四捨五入)
どの
アプリで
例えば
0.001234567890123456789
の場合
.NET
Framework
0.00123456789012346
Air 0.0012345678901234568
Excel 0.00123456789012345
Excel 0.001234568

すまほ

昨年はへたこいてしまいましたが,今年こそは更新月の7月,スマホに替えるぜよ.今使っているのはガラケーどころか12年以上前のPHSです.バッテリーが殆んど持ちません.殆んど使わないので実害も殆んどありませんけどね.スマホになったらちょいちょい使うようになるのかしら.

SEのくせにスマホ初心者なので,無難に同じキャリアにしようと思い,いろいろ物色.使うPCならスペックを気にしますが,使ったことない使いたおす予定もないスマホのスペックなんてどうでもいいわ.とにかく安価なので良いのではないかと.となると,MVNOでSIMフリーなスマホが良いかしら.ググッたら楽天モバイルが良いらしい.うん,まだ暫らく情報収集で楽しめそう.

電池

夜,5代目から電話がかかってきました.提案のため,現況が解る資料が欲しいとのこと.明朝にメールする旨,回答しました.

案の定,帰宅は翌日でした.そして案の定,PHSの電源が切れていました.目覚ましアラームを兼ねているので,充電.ついでにPCを起動し,資料を更新してメールしました.そして25時に就寝.夜更かしです.

翌朝5時半,保険の目覚まし時計で置きました.案の定,短時間の充電では4時間半の電源On状態維持に耐えられなかったようです.630mAhと表記されているバッテリー容量の現状がどうなっているのか,計算してみようかしら.

実家へ

夜,高速道で実家へ戻ってきました.PC関連で訊きたいことがあるとのこと.こっちも暇が潰せるので,Win-Winです.

一つは,Excelのシートをコピーすると「名前XXXが既に定義されています」のエラーダイアログが何度も出てくるとのこと.よくあるやつですね.「数式」リボンの「名前の管理」を開いて,「値」列が「#REF!」になっているのを削除して速攻解決ですた.別のブックへのリンクがあって,そのリンク先のブックを移動したりするとこの状態になるような気がします.

一つは,新しい複合機のスキャンデータを取り込めるようにしてほしいとのこと.確かに,スキャナのユーティリティソフトを起動すると,接続できませんのエラーが出ます.「こんなときはエラーメッセージを一言一句変えずに検索するのさ」とハウツーを教えつつ,ヤフーでググり,解決しました.複合機がネットワーク経由で繋がっているにもかかわらず,接続方式がローカル接続設定になっていたのが原因.よかた.

一つは,音声テープをデジタルアーカイブしたいとのこと.ビデオテープをDVDへ移行する作業をしていたら,音声テープも発掘されたってさ.自宅からオーディオコードを持参したので,それでラジカセのヘッドホン端子とPCのマイク端子を繋いでみました.初めは自宅で使っているのと同じ抵抗ありのコード.が,これだと音が拾えませんでした.ま,自宅の場合,PCはLINE入力端子に繋いでますからね.で,次は抵抗なしのコードで試しました.ばっちぐーでした.

行列計算

Excelで計算結果が行列で得られる場合,格納先セル範囲を選び,F2で編集モードにし,Ctrl+Shift+Enterを押すと,各行列成分が各セルに表示されるようになります.以前から重回帰(LINEST関数)や転置行列(TRANSPOSE関数)の際,しばしば使っています.

「{=2*TRANSPOSE(A1:C1)}」にすれば,3要素の行ベクトルの各成分を2倍した列ベクトルが得られます.ってのを踏まえ最近,行列の積算もやってみました.具体的には,マハラノビス距離の計算で使いました.「各要素の平均を引いた行ベクトル」と「分散・共分散行列の逆行列」と「各要素の平均を引いた列ベクトル」を掛け算するところです.今までは各要素を地味に掛けたり足したりしていました.しかし,今回扱うのは7次元だったので,ちまちま書くのしんどいなということで.お陰でサクッと書けました.この辺,もっと活用できるようになりたいものです.