すまほ

昨年はへたこいてしまいましたが,今年こそは更新月の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次元だったので,ちまちま書くのしんどいなということで.お陰でサクッと書けました.この辺,もっと活用できるようになりたいものです.

休職前に気をつけて

Adobe社のCreative Cloud製品を使っていた人が休職し,インストールされていたPCは他の人に引き継がれました.PCには引き継いだ人のドメインアカウントでログインし,たびたびCCも使っていました.が,最近,CCの試用期間が終わります警告が出るようになったとさ.別のアカウントでCCにサインインしているからでしょうか.しかしながら,休職者のアカウントは判りません.他人のアカウントを無理やり引きはがすことってできるの? 詳しい人に訊いてみる予定.とにもかくにも,ちゃんとサインアウトしてから休みに入らないとねという話.普段から自動サインインになっていることもあり,こんなことに気づくなんて至難の業ですぞ.

ややこし

C言語で書いたソースコードを共用し,Android用とiOS用とWindows用の各ライブラリを作っています.作ったライブラリをテストするためのフロントアプリもそれぞれ作っています.今回,リファクタリングを兼ね,開発環境を一部変えました.

実行環境 アセンブリ 開発環境 言語
Android ライブラリ(.so) Visual Studio 2008+cygwin
→Android Studio
C
フロントアプリ(.apk) Eclipse
→Android Studio
Java
iOS ライブラリ(.a) XCode Objective-C
フロントアプリ(.ipa) Flash Builder Action Script
Windows#1 WINAPI型ライブラリ(.dll) Visual Studio 2008
→Visual Studio 2015
C
フロントアプリ(.exe) Flash Builder Action Script
Windows#2 クラスライブラリ(.dll) Visual Studio 2008
→Visual Studio 2015
C++/CLI
フロントアプリ(.exe) Visual Studio 2008
→Visual Studio 2015
C++/CLI

Visual Studioのバージョン変更により,既定の.NET Frameworkが3から4に上がります.それに伴い,.NET Framework 3.5対応だった既存ライブラリの参照に小技が必要になりました.

文字コード由来の警告が出ます.Visual StudioはBOM付きUTF-8に対応していても,XCodeはBOM付きUTF-8に対応していないとかXcode上で編集するとBOMが消えるという噂を聞きました.かといって,BOM無しUTF-8(UTF-8N)だと,Shift-JISだと勘違いした誰かが引っかかってきます.ネットを漁っても,記事が古いかもしれなかったり信憑性が怪しい個人の書き込みだったりします.まだとっちらかったまま.

C言語のlong型のサイズが違います.学生時代の20年くらい前は,「short型は2バイト,long型は4バイト,int型は処理系依存で2バイトか4バイト」となっていたので,int型ではなくlong型を使っていました.それを引きずって,入社初期に書いていた,そして今リファクタリングしようとしているコードには,long型がしばしば登場しています.ところが現在,long型が4バイトなのはVisual Studioだけで,XCodeとAndroid Studioは8バイトになっています.そんなもんだから,途中でlong型ポインタで処理するところがあると,メモリ参照系のエラーが出ます.直すにしても,ソースコードを共用しているので,よくよく考える必要があります.

非常にややこしい.もっとサクッと行けると思っていたのに,まだ戦時中です.

ろんぐめ

Android用のネイティヴライブラリをC言語で書いています.これまでは,Visual Studioのエディタでコーディングした後,cygwinのコマンドラインでビルドしていました.今後はコーディングとビルドをAndroid Studioで行うことになりました.ところが,新環境では同じソースコードでも出力が異なります.そればかりか,途中でプログラムが予期せず中断されることがあります.

この調査が急務だったものの,それ以上の急務が立て込んだり,開発環境がうまく作れなかったりで,かれこれ3箇月ほど経ってしまっていました.ようやく着手でき,そこかしこ調べました.

結果,原因はlong型のサイズでした.コンパイラによって,long型が4バイト整数型として処理されたり,8バイト整数型として処理されたりしてたみたいです.その結果,Javaで書かれたAndroid用フロントアプリから整数型配列をJNIのAPIで変換する際,C言語の受け側をlong型ポインタにしている部分で予期せぬバイトアラインメントになっていた模様.過去にも,iOS用にXcodeでビルドするときにも同様の問題がありました.気をつけなはれや.

やることたくさんあるから現実逃避

必要な情報は出揃っているものの,資料に載せている大量の見本画像が雑すぎるというので,無駄にキレイキレイしてしまいました.サイズがバラバラだったり,縮小しすぎて字が読めなかったり,画像自体が古かったり,文言だけが古かったりを,整える作業.お客様に提示する資料なので,これも大事な仕事だとは思いますが,自己満足が目的になっている感も否めません.

23時頃.終電までの時間が微妙だったので,以前譲り受けたNASを弄ってみました.棚卸で出てきた古いもので,今時160GBじゃ使い物にならないだろうということで,廃棄予定だったものです.定常的に使わない保管データの格納先である外付HDDの空き容量不足のため,新しいストレージを欲していたので,丁度良かったなと.

NASに設定されているIPアドレスが解らなかったので,リセットボタンで初期化しました.すると,見られるようになりました.しかし,アクセス権の設定の問題なのか,新規ファイルを作成することはできるものの,それが開けないという状態.既存のファイルは編集できるものの,数バイトのファイルなのに保存に数秒かかるという状態.NASの設定ソフトはWindows8.1updateで動かせないという状態.うん,廃棄かな.

誰にも伝わらない情報共有

半年前に買ったパンタグラフ式のキーボード.2~3週間に1回程度の頻度でCtrlキーが押されっぱなしになります.物理的にではなく電気的に.

マウスでデスクトップのアイコンをシングルクリックしていくと,複数アイコンが選択できちゃいます.Excelを開いた状態で「N」だけ押すと新規ファイルが開かれちゃうし,「W」だけ押すと閉じます.最初は何が起こっているのか解りませんでした.でも,振る舞いの規則性から,じきに容疑者を割り出せました.

問題は復旧方法です.キーボードのUSBケーブルを抜き差ししてもだめ.PCを一旦スリープ状態にしてもだめ.ググってもだめ.PCの電源を再起動しないとだめです.

2箇月ほど前に復旧方法,見つけました.Shiftキーとその上の英数キーの同時押しでCapsLockになるのよろしく,Ctrlキーとその隣のFnキーを同時に押すです.十中八九これで治ってくれてます.Ctrlキーをロックするこんな裏技があるのか!?と思いきや,正常化してから再びCtrl+Fnキーを押しても,ロックはされません.よく解りませんが,似た症状を抱えているPCの前のあなた,どうぞお試しあれ.

重い

会社で使っているWindows8.1updateのPCが,時々重くなります.裏で何が動いているのかしら.滅多に検索とかしないから,インデックス作成のサービスとか止めたら快調になったりするのかしら.

重いといえば,半年前に自宅のPCを新調し,Excelの番号が16増えてからというもの,日に日に家計簿が重くなりました.自動計算をやめ,F9で手動計算させる設定にしても,案の定改善せず.しばらくしてから原因に気づきました.原因は条件付き書式でした.赤字を赤字,黒字を青字にする条件付き書式です.特定列にだけ適用していたつもりですが,コピペによって適用範囲が細切れになっていたのです.条件付き書式をやめ,既定で用意されている赤字を赤字,黒字を黒字にする書式にしました.以来,快調です.