時には立ち止まってみるのもいいよ

仕事の合間の息抜き。やってることは仕事と同じ。

Windows8.1 アプリ検索

Windows8.1ネタ。

 

個人的にWindows7のときに重宝していたのが、スタートメニューを押してアプリを検索する機能。

f:id:poiuy56:20140516154655p:plain

 

ここに、"calc" で計算機とか、"mspaint" でペイントとか起動できるので、キーボード派の人は結構使ってるんじゃないかと。

 

ところがWindows8.1はスタートメニューがいないので、当然検索できん!

 

と思っていたら機能自体は「アプリビュー」というところにあった。

スタート画面から下に降りたところの、「すべてのアプリ」が表示される画面の右上。

 

ということで、忘れないようにメモ。

※ 追記:んなことしなくてももっと簡単にできた。→こっち

 

ウインドウズキーで直接「アプリビュー」を開く。

スタートメニューって普通のPCでは要らんよなぁ。。

 

f:id:poiuy56:20140516155013p:plainタスクバーのプロパティを開いて、、

「スタート画面への移動時にアプリビューを自動的に表示する」をチェック。

 

f:id:poiuy56:20140516155056p:plain

「アプリビューからの検索時にアプリだけでなくすべての場所を検索する」と、検索に時間がかかりそうなので自分はチェックを外した。

 

アプリビューが開いたら、Explorerと同じくAlt+Dで検索ウインドウへフォーカスが映るので、あとはご自由に。

 

一発で開けると良いんだけどなぁ。。

なんかソフトを入れたら出来るみたいだけど。そういうのは余り入れたくない。。

 

 

WIndows8.1でエクスペリエンスの点数を知りたい。

前回買ったX240がWindows8.1なんだけど、Win7とかのシステムプロパティにあった「Windows エクスペリエンス インデックス」(WEI)が表示されていないことに気がついた。

 

ちょろっと調べたところ、

  • Windows8.1でWEIの画面は無くなったらしい
  • でも評価を実行するコマンド自体は残ってるらしい

ということで、覚え書きシリーズ。

 

WINSATコマンド

winsat.exeってのが、計測するツールだそうだ。

なんか、ぐぐったら、常識っぽいな。orz

 

いや、オレはまた忘れるから書いておく!

 

コマンドプロンプトを開いて、

C:\WINDOWS\system32> winsat

エラー: このプログラムの実行方法を参照するには -? または -help を使用してください

 

最初からヘルプを出せ。

 

気を取り直して。

C:\WINDOWS\system32> winsat -?

(なんかいっぱい。読む気が失せる。)

 

簡潔にまとめてくれ。

 

仕方なく上の方までスクロールして戻ってみたら、やはり先頭にその答えはあった。

C:\WINDOWS\system32> winsat -?

Windows システム評価ツール

コマンド ライン使用法:

  WINSAT <assessment_name> [switches]

 

評価の名前は指定する必要がありますが、スイッチは省略可能です。

Vista に既に組み込まれている有効な評価には、以下の物があります:

 

  formal  すべての評価を実行します。

これだ。ヘルプについていいたいことはあるが、まぁいい。

実行だ。 

C:\WINDOWS\system32> winsat formal

(計測中。。なんかいっぱいログが出る。)

(読む気は毛頭無い。)

(ん?結果はどこに出るんだ?)

(ログ出力オプションとかいらんのかな。。と今になって気づく。)

  :

合計実行時間 00:02:52.58

おわた。

 

ながーい標準出力を目視するも、スコアがいくつなのかワカラン。。。

 

しょーがないので、読む気の無かったWINSATのヘルプに戻ってみると、いろんな説明文のちょうど真ん中らへんに、

すべての正式な評価では、データ(xmlファイル)が

%WINDIR%\performance\winsat\datastore に保存されます。

って書いてあった。

 

わかりにくいわ!

 

 とにかく。。

 

f:id:poiuy56:20140501201802p:plain

 

 

でた。

  • System 5
  • Memory 7.4
  • Cpu 7.4
  • Graphics 5
  • Gaming 5.2
  • Disk 5.9

グラとHDDが遅いのは予想通り。CPUもうちょっと頑張って欲しかったな。。

 

Win8.1プレインストール機でスコアみたいよーと言う人はお試しを。

 

Thinkpad X240のFnキーってなん?

X240。

買ったった\(^O^)/

 

仕事用なんで、特に楽しいアプリとか無いんだけど、なんか新しい機械ってワクワクするよねー。

 

f:id:poiuy56:20140430120633j:plain

 

CPU: Core i7 4600U

Mem: 8GB

OS: Windows 8.1Pro (x64)

Display: Full HD 10点マルチタッチ

5年使うつもりで奮発しました!(5年は無理かなぁ。。)

 

快適です。が、キーボードが、、、

 ディスプレーの欠けも無かったし、サックリ動いて良い感じ。

キーボードも思ったより打ちやすい。X1 Carbon と迷って、あっちはキーボードの配列が気に入らなかったので止めたんだけど、たぶんこっちで正解だな。

 

ん?

 

Fnキーが効かんな。。。

 

と思ったら、Fnキーロックってのがあるのね。。(ノートPC買うの久しぶりすぎ。。)

 

でもこれ、

  • FnLock ON のとき、F1~F12が使える。EndキーはFn押しながら。
  • FnLock OFFのとき、ボリュームとかの機能キーが使える。Endキーは直でおk。

っていう仕様なんだけど、わかりにくく無いっすか?オレだけ?

 

f:id:poiuy56:20140501192301p:plain

 

昔は、ボリュームとかはFn押しながらF1みたいな感じだったので

  • 「Fnがロックされてる」=「F1だけ押せばミュート」

っていうイメージが(勝手に)あるんだけど、実は逆。

え? 一般常識ですか? そーですか。

 

とりあえずF1~F12だけならFnLockしとけば良い。が、問題はEndキー。

FnLockしてると、「Fn押しながらInsertキー」=Endキーになってるのだよ。

 

Thinkpad使うビジネスマン的には、InsertとEndだったら絶対Endの方が使うでしょーよ!機能キーよりもF1~F12キー使うでしょうよ!なんで逆に組み合わせるかなぁ。。

 

どうやらちょっと前のThinkpad(型番忘れた)では、BIOSメニューで「F1~F12をLegacyタイプにする」っていうスイッチがあって、それを使えばF1~F12をFnなしで使えるようになったらしいが、X240にはそんなメニューはありまへん!!

 

 

はぁ。

 

 

いいです。慣れの問題です。知ってます。

これからじっくり慣れていきます。

 

Raspberry PI から UStream 配信(H.264ハードエンコ)

 

以前のエントリでuserlandなアプリがビルド出来るようになったので、H.264エンコーダを使うraspividを改造して、UStreamに配信してみるお。

 

配信アプリの作成

  • 配信アプリのコマンド(ttraspi)を新規作成。raspividのmain()関数をttraspiから呼び出す仕組み。
  • raspividのソースを改造して、1フレームエンコードする度にコールバック関数を呼ばせる。また、H.264のエンコーダパラメータ初期値を少々いじる必要あり。
  • ttraspi側のコールバックからRTMP配信用のAPI(自作)を呼んで配信させる。

 

キャプチャのサイズとかビットレートとかはraspividのコマンドラインオプションで設定出来るようになっているのでそのまま流用。

 

H.264コーデック

raspividのデフォルトではSPS/PPSが最初の1回しか出ない。

ファイル出力用だとそれで良いんだけど、ストリーミングの場合はI-Pic毎にSPS/PPSを出してやる必要があるので、そこら辺はコールバック側で最初のSPSたちを覚えておいて、I-Pic時に追加するように実装。

 

※ 後で分かったことですが、エンコーダの初期パラメータにフラグを立ててやるとちゃんとGOPごとにSPS/PPSが出るようです。

 

ただ、SPSのパラメータにアスペクト比が入ってなかったり、B-Picを有効にする方法がわからなかったり。。エンコーダ設定ではどうにも変えられなかったのでそこはBCM2835の仕様なのかも。

 

公開

ひっそり公開してみたお。

 

f:id:poiuy56:20140416163513j:plain

 

 

最初デフォルト(1920x1080 30fps)のまま配信しようとしたら全然絵が動かないんでビビった。↑のはVGA(640x480) 30fps 300kbps で配信。

CPU使用率が4%程度!さすがハードエンコですな。

フレームレートも良い感じでスムーズに動いてる。

 

文字レイヤも重ねて配信したいなぁ。。(続くかも)

 

SSLのサーバー証明書をVERIFYする(Windows)

例によって覚え書き。

 

前フリ

Windows上でOpenSSLを使ったクライアントアプリを作ったんだが、サーバーからもらった証明書をOpenSSLでVERIFYすると、X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY ってなエラーが出てしまう。

 

要するにOpenSSLでVERIFYする際にまともな証明書ストアを用意していないのが悪くて、ルート証明書の確認が出来ないよってことらしい。

 

アプローチとしては

  • OpenSSLにWindowsからインポートした証明書ストアを読み込ませる
  • WindowsAPIで証明書のVERIFYをやらせる

のどちらか。前者は準備が面倒だし、おもしろくないので後者を採用。

 

本題

 おもしろくないからっていう理由についてのツッコミはさておき、WindowsのCrypto APIの出番である。これ、めんどいんだよなー。

 

OpenSSLのリファレンスとかMSDNをちょろちょろ見ると、

  1. OpenSSLのSSL_CTX_set_cert_verify_callback()で自前VERIFY関数を登録。
  2. VERIFY関数に渡ってきたX509_STORE_CTXコンテキストを使って、i2d_X509()でサーバー証明書のバイナリデータ(DER)を抽出。
  3. CertCreateCertificateContext()でサーバー証明書を読み込む。
  4. CertGetCertificateChain()でサーバー証明書のチェインを列挙して、
  5. CertVerifyCertificateChainPolicy()でシステムの証明書ストアからVERIFY実行。

という流れ。1番目のi2d_X509()ってのはOpenSSLの関数。初めて使った。。

 

CertなにがしのAPIにいれる構造体がわけわからんのでうんざりしてたんだけど、Googleさんに聞いてみたら、でてきたよ。。→ 「Add peer certificate verification on windows」

 

なるほど。自己署名のはじき方ものってるな。よし。ってことで、完成!

 

Crypto APIはやっぱり面倒だった。

 

というお話でした。おわり。

 

 

raspberry pi 2周年

raspberry pi がリリースされて2周年だそうです。

http://jp.techcrunch.com/2014/03/03/20140301pi-is-two/

 

前々回あたりからuserlandのソースをいじってて、H.264エンコーダのパラメータがやけに質素なのでいじりたくて色々調べてたんですが、vcihq_なにがしまでしか追えなくて困ってたわけです。で、上の記事によると、

 

最初っからソースあらへんやんけ。

 

という事実に。

 

まぁ、上の記事のよればBroadcomからドライバソースが公開されるそうなのでそれがちゃんとRasPiにのってからまた確認するかなーと。

 

 

dqx ばくれつ終了。

ドラクエXです。

 

バージョン1.4アップデートばくれつけんの威力がさがるそうです。

 

重宝してたのに。。

 

ということで、ばくれつ4人組でマリン狩ってきた。

 

f:id:poiuy56:20130515103530j:plain

 

みんな素手w

#素手でマリンは痛そうだとおもうのはじぶんだけだろうか。。

 

パッシブ上げるのに武器買うのもったいないなぁ。どうしようかなぁ。。

とか思う今日この頃。

 

ということで、アップデートまであと1日!

 

 

 

このページでは、株式会社スクウェア・エニックスを代表とする共同著作者が権利を所有する画像を利用しております。当該画像の転載・配布は禁止いたします。
(C)2012 ARMOR PROJECT/BIRD STUDIO/SQUARE ENIX All Rights Reserved.