インテルRSTとスリープ・休止状態

NUC6i7KYKでせっかくSSD二枚挿しにしたからRAID0で最速構成。

でもスリープの復帰ができない。休止状態からの復帰もできない。ブルースクリーンとか変なピンクスクリーンで、CRITICAL_PROCESS_DIED。どうもRAIDコントローラを見失うらしく当然ページファイルその他も見失ってBSODしかできない様子。

IDEというかメインストレージコントローラまわりのインテル製ドライバって鬼門だわ。430TXのバスマスタドライバとかそのあたりから始まって、AHCIモードとか、さんざん不具合で結局MS純正ドライバが一番安定してるとか。

 

FLAC、ALACを陥落。

iOS11、無劣化圧縮のハイレゾ音源形式FLACに対応!
http://iphone-mania.jp/news-170816/

遅い。遅すぎる。囲い込み以外、何の利点も無いALACを黒歴史として葬り去る時が来た。

マカーらのブログ(笑)で「WAV? FLAC? ( ´_ゝ`プッ。ALACに統一してCD断捨離(`・ω・´キリッ!」みたいな意識高いご意見を見た気がする。そもそも対応してなかったものだし、ない袖は振れないから仕方ないけどね。ALACのサポートがなくなるわけではないが、AppleがALACだからFLACなんかより良いはずとついてきた信者様。今、何思うか。

ズームレンズ広角端の歪

今使っているキヤノンのコンパクトデジカメはiPhoneなんかのスマホなナンチャッテ高画質と比較すると圧倒的にきれいなんだけど、電源オン時にズームが広角端になってるのがいまいち。スマホのカメラも起動時はだいたい広角側になってるので同じ。

このコンデジは広角は35mm換算で24mm相当になってて、広角側で直線のあるものを撮ると結構歪んでる。少しズーム側に動かすとか、後で中央部分をトリミングするとか簡単に対処できるんだけど、撮って出しで掲載したらそれは気になる。コンデジの電源オン時とか、スマホアプリ起動時は最後のズーム比くらい覚えててほしい。

新聞記事(新聞社の記者が撮ってるようなやつ)なんかですら、人物集合写真なんかだと、どうも広角端で撮っているようで端っこの人がぐにょーてなっててなんだかなーとか思う写真もときどき見かける。

ボリューム歪像とは何か
http://www.dxo.com/jp/photography/…

 

 

暇なんで動画でも見る

連休で暇すぎるのでバカ動画、事故・グロ・ドッキリ動画なんかを延々と見て無駄な時間を過ごした。

ユーチューバーはゲームのアイテム課金に100万円使ってみたとかいう動画で無駄なことしてるなとか思ったが、ここ数年で自分も100万円くらいはデジタルアイテム・デジタルガジェットに浪費してる気がした。無駄遣いだったと感じるものをあげると…

Mac18万、iPhone10万、MSDN 15万、Windows OS 10万、Office Mac 4.5万、Offce Pro Plus 10万、ATOK 1万、Android有料アプリ2万、iPhone有料アプリ2万、Windowsストア有料アプリ2万…

すぐに思い出すものだけで75万円以上浪費してて、ここのブログネタ以外では結局いらんわーてっなってるのが多い気がする。広告設定もしてないからwordpressが儲かるだけで特に見返りがあるわけでもなく。

トップなユーチューバーは広告やアフィ収入がっぽがっぽで100万円くらいすぐ回収できるんだからううらやましいのです。

自宅使用プログラム(HUP)でOfficeを使ってみる。

個人なのにMS Office Pro PlusをSA付きで買ってしまったので、SA特典の自宅使用プログラムでOffice Pro Plusを一個買ってみた。

Home Use Program
https://www.microsofthup.com/hupjp/home.aspx?culture=ja-JP

ボリュームライセンスのOfficeをSA付き契約すると自宅使用プログラムを使って格安に1,400円でOfficeを1契約ぶん使うことができる(本当は1,400円などといわずにタダで使わせてほしい)。ケチな会社だとSA無しの場合もあるので、職場がPro Plusを導入してるからといって必ず使えるわけでもないあたりは注意。

買い方は特に難しくは無くて、よくある会員登録のあるオンラインショップと同じ。

  1. VLSCで管理者がユーザ(従業員)にHUPの招待メールを送信。
  2. ユーザが招待メールを受信したら文中のリンクをクリック。(VLSCで指定したドメインに限る。)
  3. もう一度メールが送信されてユーザを確認。二回目のメールの文中にそのユーザ専用のHUPショッピングサイトの入り口がある。
  4. ショッピングカート方式で品物を購入してクレジットカードで決済。
  5. その場でプロダクトキーの提示とインストーラのダウンロードを行う。
  6. 自宅PCでインストール、ライセンス認証。

ユーザ側の操作でメールが二回送られてくるところが若干手間なのと、1~2の手順がGmailやoutlook.comのフリーメールでは完了できなかったので普段使ってないISPの.ne.jpドメインのメールを使った。

WindowsではPro Plus、MacではHome and Businessらしいが、両方いっぺんに買おうとしたらなぜかエラーになって決済が進まなかったので、今回はWindowsのPro Plusだけにした。フレコミでは「職場と自宅で同じ環境だから生産性が上がる」と在宅でのサービス残業を勧めるブラック感満載のキャッチだが、どうもVL版とは少し違うっぽい。HUPで買えるのは次のページでも分かるとおりFPP版(パッケージ版)のPro Plusてことになっている。職場で使うPro PlusはVL版。

自宅使用プログラムで Office をインストールまたはアンインストールする

「Pro Plusはボリュームライセンス専用」てさんざん書かれてるのに。HUPでインストールしたWordでライセンス情報を表示させたら、さらに意味が分からなくなった。

officehup1

クイック実行形式でインストールされたのはいいとして、いきなりライセンス認証が必要とか警告してて、初期状態では隠れている追加ライセンス情報を表示するとPro Plusのライセンスが通っていることが分かる。Proのライセンスは認証ボタンで認証ウィザードが動くのだが当然のように蹴られる始末。

officehup2

時計を進めて6月にすると「ライセンス無し」になった。この状態でもPro Plusのライセンスは保持されてるので制限モードにはならず、通常通り編集や保存の操作ができる。

どちらの画面でも「Officeの更新プログラム」ボタンがあるから、これがVL版では無くてFPP版であることが分かる。次の画面は以前も出したVL版のExcelのライセンス表示。MSIインストールのVL版はWindows Updateで更新するからここには更新ボタンが無い。つまりHUPで買うOfficeはPro PlusだけどFPP版とかいう超レアなアイテムだってことが分かった。

office2016-VL1

で、FPP版のPro Plusでここにある更新ボタンで更新をかけるとPro Plusが消えて通常のProになった?!?! 起動するたびにライセンス認証ウィザードが出て制限モードのカウントダウン始まる orz

な・ん・な・の・こ・れ!!!

いったん削除して元のHUPのPro Plusインストーラを使ったら元の状態には戻ったけど、更新すると認証が外れるとか意味分かんない。このエディションはレア過ぎて検証してないんだろうか。これ生産性が上がるどころかシス管のサポートが増大するだけじゃない?

デジタルリテラシー CBT

この顔で画像検索したら、「Microsoft デジタル リテラシー カリキュラム」が引っかかった。

avator

Microsoft Digital Literacy Curriculum
https://www.microsoft.com/ja-jp/digitalliteracy/default.aspx

て、これ前にエントリに書いたWindowsボリュームライセンスのSAで特典として提供されてるのと同じだ。

lifestyle.jpg

道路でインラインスケートしながら隣にいるタブレットで映画を見る人とスマホでテキストチャットしつつイヤホンで音楽を聴くとかいう素敵なデジタルライフを紹介するよ!

 

Windows Enterprise を Creators Update してみた。

世間ではWindows 10のCreators Updateが解禁されたとかいって一部で騒いでるけど、待ってても一向に入ってこないのでよく確認したら使ってるのがVL版のWindows 10 Enterpriseだった。

手動で更新アシスタントを使ってみても次の表示。Entreprise版は対応してない。管理者に連絡しろって、だから自分が管理者なんだって。「このPCはWindows10を実行できません」っていう表示もおかしい。Anniversary Update(1607)のWindows10で動かしてるし。

cannotupdate

VLSCでのCreators Update提供は5月1日ってことらしい。でも改善されたWSLが結構便利だから、一刻も早く使いたいし、先にMSDNサブスクライバーで公開されたVL版のEnterprise ISOイメージを使って更新をかける。

ja_windows_10_enterprise_version_1703_updated_march_2017_x64_dvd_10204231.iso をダウンロードしてそのままマウント。勝手にインストーラが動くので更新を開始。

cannotupdate2

今度はインストール準備が進んだ。

cannotupdate3

i5ノートで思ってたより時間がかかったが、終了。

cannotupdate4

MSDNを使えない場合は、評価版のWindows 10 Enterpriseで入手できるISOでも更新できる気がするが面倒なので未確認。

EnterpriseがProやHomeと違うのは自動で更新がかからないという点であって、ISOイメージがあればアップグレードはできる。現在はVLSCで1703も公開されてて通常のVL契約だけでMSDNの契約がなくてもISOイメージをゲット可能。

2017年6月上旬追記

もう一台のドメインコントローラ無しのスタンドアロンで使ってるWin10 Entは6月に入ってからWindows Updateをかけたら勝手に1703になった。そこそこ良いスペックなので更新1時間+クリーンアップ1時間ほどだったが、これが企業の「特定用途向けPC」(低スペック低価格PC→安いだけの日常業務用PCに転用)だったら地獄だろう。

よく分かってない人が出社時、無意識に更新開始すると、半日~1日は仕事にならないと思うのでグループポリシーで自動更新にならないようにするとか、事前に夜間に更新するとかしとかないとヤバい。

 

アンワインド セマンティクス って何?

Visual Studio でコマンドプロンプトのCLを使って、最初に受ける洗礼。

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.10.25017\include\xlocale(314):
warning C4530: C++ 例外処理を使っていますが、アンワインド セマンティクスは有効にはなりません。/EHsc を指定してください。

意味が分からない。

ヤフー知恵袋とかで調べてみたが、/EHscつければ解決とかワーニングとおなじこと言ってドヤ顔してるの以外、何言ってるのかぜんぜん分からんし。あんたら最高、天才。

Q:「アンワインドセマンティックス」とはどういう意味ですか?教えてください。→A:メッセージ読めないの?バカなの?  “/EHsc”付ければおk!
http://qa.itmedia.co.jp/qa4559129.html
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10119567590
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1056479490

日本語が理解できる大半の人はcl に /EHscを追加すればいいと分かるし、実際それが正解だけど、じゃあC++例外? アンワインド セマンティックス?  が有効? 何それ、はぁ?? てなるわ。えぴすてーめー様も回答が超小出しでセマンティクスが全然かみ合ってないし。

セマンティクスて何、て調べるとどうもプログラムの上では「中身」とか「内容」とか「意味」ってことらしい。

http://www.itmedia.co.jp/enterprise/0108/20/01082088.html

じゃあ、「アンワインド セマンティクス(unwind semantics)」って何やねん? で調べても最初に出てきたエラーが解決しませんとかいうしょうもない質問にlongjmpするばかりで、肝心なところが出てこない。

※実際のところMSDNで/EHscのオプションの説明を見ると例外処理とデストラクタが呼ばれる呼ばれないの問題であることはすぐに分かるので、最初のヤフー知恵袋の回答はいい線行ってるが、この言い回しでは質問者には分からないでしょうね。ここでは「アンワインド セマンティクス」というキーワード自体が意味不明であることにフォーカスする。

次のコード、最新のIoTデバイス「コタツみかん取得装置デバイス」に組み込まれる予定のMikanオブジェクトはコンストラクタで「自動的にミカンを持ってくる。」、デストラクタで「自動的にミカンを返却する。」が実装されている。現時点でMikanオブジェクトはPeelAndEat(剥いて食す)メソッドを実装していないので持ってきたミカンは必ず返さなければならない。Mikanの返却を忘れた場合、それはリソースリークを意味する。

#include 

int main(void)
{
	class Mikan {
	public:
		Mikan() { puts("Bring Mikan"); }
		~Mikan() { puts("Takeback Mikan"); }
	};

	puts("Start.");

	try {
		Mikan AmaiMikan;	// Mikanの自動インスタンスAmaiMikanを生成
		throw NULL;		// ぬるぽ
	}
	catch(...) {
		puts("Catch.");		// ガッ
	}

	puts("End.");
	return 0;
}

CLのオプション/EHsが有るときと無いときの違いを見てみる。実行環境は最新のVisual Studio 2017。

▼あるとき

C:\>cl /EHs sem.cpp && sem
Microsoft(R) C/C++ Optimizing Compiler Version 19.10.25019 for x64
Copyright (C) Microsoft Corporation.  All rights reserved.

sem.cpp
Microsoft (R) Incremental Linker Version 14.10.25019.0
Copyright (C) Microsoft Corporation.  All rights reserved.

/out:sem.exe
sem.obj
Start.
Bring Mikan	←みかん持ってくる。
Takeback Mikan	←みかん返す。
Catch.		←例外処理中。
End.		←終了。

try文中でMikanオブジェクトのインスタンスAmaiMikanが自動的に生成され、コンストラクタが呼ばれ、その直後に例外をthrowして、tryスコープから外れる、catchのブロックに入る前にAmaiMikanのデストラクタが呼ばれている。当たり前といえば当たり前の動作。

▼ないとき

C:\>cl sem.cpp && sem
Microsoft(R) C/C++ Optimizing Compiler Version 19.10.25019 for x64
Copyright (C) Microsoft Corporation.  All rights reserved.

sem.cpp
sem.cpp(14): warning C4530: C++ 例外処理を使っていますが、アンワインド セマンティクスは有効にはなりません。/EHsc を指定 してください。
Microsoft (R) Incremental Linker Version 14.10.25019.0
Copyright (C) Microsoft Corporation.  All rights reserved.

/out:sem.exe
sem.obj
Start.
Bring Mikan	←みかん持ってくる。
Catch.		←例外処理中。
End.		←終了、みかん返却されていない。

例のワーニングC4530が出ている。今度はtryブロックから出ても、プログラム本体が終了してもAmaiMikanのデストラクタは呼ばれずに終了している。これは期待するtry ~ catchの動作ではない。

この動作では自動変数のAmaiMikan自体はスコープから外れるときにスタックメモリ(スタックフレーム)から削除(フレームのアンワインド)されるが、その処理中にはデストラクタが呼ばれず、クリーンアップを行う処理(=アンワインド セマンティクス)がされない。

最初に書いたとおりセマンティックス=内容てことだったから、「アンワインド セマンティクス」を雑に訳すと「内容を巻き戻す」。さっきのコードの動作が分かると、分かった気がする。オプション/EHがException Handlingの略だってことも分かる。

もうちょっと違う言い方(余計に分かりにくく)すると、

・ビデオテープを再生している途中で、あるところに戻りたいので巻き戻しをする。

  • 巻き戻す内容を見ながら戻りたいところに戻る。
    →セマンティクス(内容的に必要な処理(例えば消去)をしながら)に、アンワインド(巻き戻す)。
    →/EHsオプション有り、普通のC++ try~catch例外処理。
    .
  • 再生時間表示だけを見て、戻りたいところに戻る。
    →セマンティクスな処理をせずに(中身に干渉せずに)、アンワインド。(巻き戻すだけ)
    →/EHsオプション無し、MS独自仕様な例外処理の動作。
    .

CLが/EHオプション無しでこのような動作になるのはおそらく歴史的経緯でCLコマンドの後方互換性(初期のMS-C/C++はC++例外処理が実装されていなかった)によるものだと考えられるので、try~catchでまともな動作をさせたければ単純に言われたとおり/EHscを付けてあげるのが正解。

久しぶりにプログラムの細かい内容になった気がする。こんなことはプログラマでも知らない人がわりといるのに、自分のような非プログラマが知る必要はまず無い。

スタックフレームの理解とかは気が向いたら追記予定。

iPhone8を買うべきか妄想する。

iPhone8 スペック

よくもまあ、真贋不明な情報でもりあがれるね。どうせ発表されたら分かることを。秘密主義の公然リークは、もはや誰もが知るAppleのマーケッティング手法だし。

こんな機能が実装されるそうで。

  • A11プロセッサ
    独自アーキテクチャになるそうでAndroidと比較ができなくなって「それと違うから」で済ませられてハッピー。
  • 曲面画面
    どう考えても周りが映り込み易くなる。そしてガラスフィルムでの保護は終了。GalaxyもLGも出してた。まさに世紀の発明!!
  • 高速充電、ワイヤレス充電
    Qiじゃないっぽいし、たぶん充電ステーションはオプション。標準添付の充電器は低速の1Aのままか。10年前のテクノロジー、世紀の発明!!
  • 薄型になる
    iPhone7で十分指が痛くなる薄さ。
  • ホームボタンが無くなる、指紋センサーが画面に吸収
    iPhone7のホームボタンは、もはや物理ボタンの体をなしてないし。Androidでは当たり前、世紀の発明!!
  • 虹彩認証
    2015年夏モデルにarrowsが付けてたやつ。世紀の発明!!
  • サイズが3種類
    種類が多いのは良いことだ。サードメーカーのケースの値段が少し上がるかも。
  • AR、3D
    レトロSFっぽくてかっこいい。パーソナル分野で3Dはテレビもビデオもスマホもゲームもオワコンだし。2011年夏モデルのこれを思い出す。世紀の発明!!
  • セカンドディスプレイ
    これも懐かし機能。ガラケーにはたいてい付いてたやつ。世紀の発明!!
  • OLEDの超高級モデル
    Galaxyっぽいとか? 世紀の発明!!
  • True Toneディスプレイ
    Night Shiftって発色が黄色くなるだけだったから修正?

いらんな。