布団が俺を呼んでいる

丘山大一のぶろぐ

一年間 Windows 10 Mobile 使ってみて

現在使っているNuans Neo が届いたのが2016/02/06。
一年を超えましたので、ここらで感想なんぞを。


信頼性

初めの数か月は不安定でしたが、ここ最近は安定しています。
Update速度もずっと調べていますが、Update内容自体が少ない安定していますね。
セキュリティという側面から考えると、WIndows側で担保しているので、基本的にには安心(らしい)。
そもそも絶対ユーザ数が少ないので狙われないという安心感もありますw


アプリについて

あちこちで言われていますが、「基本で使うもの」以外は少ないですね。
日本語でなくてもよければそれなりに見つかるのですが。

私はスマホゲームをほぼしないのでゲームについては分かりません。
困るのは各社が出している「割引クーポン発行」やAmazon関係が無いことですね。
※Amazon関係はあるにはあるが日本では動作しない? 模様。

逆に、MS製のアプリは総じて優秀な印象。
デスクトップ版の「ニュース」は使いにくいという印象を持つひとが多いと思いますが、
Mobile版を使うと印象が変わると思います。
「同じものが別のデバイスでも動く」というのは使い勝手から言っても便利です。


Continumについて

普段使いするもではありませんが、現在大活躍しています。
というのも、本業の方でアッパーな方々が急にセキュリティ(笑)に目覚めてしまって「インターネット禁止!フリーツール禁止! 怪しいものがあったら兎に角フォーマット! おまえらはoffice だけ使っていればいいんだよ!」という方針になり、業務使用PCではMSの公式ドキュメントすら見られません。ちょっと変な接続ログが出るとお偉いさんが飛んできます。
そんな時、活躍するのはContinum。
社内環境に接続することなく、モニタを使ってネット接続できます。
外見もパッと見はWindows 10 なので業務をしているように見えます。完璧。


どんな人がWindows 10 Mobile を使うべきか

普段はWIndows PC中心で、スマホをサブとして使う人。
Continum を利用する人。
ガジェット好きな人。


今後

サブ・開発用としてAndroidやiOSを調達することはあるかもしれませんが、今後もWin10 Mobileユーザでいく積りです。
また、ここで区切りとして、今後はブログ上の表記をWIndows Phone から WIndows Mobile ないしは WIndows 10 Mobile に統一しようと思います。


FREETEL KATANA01 ブラック/Windows10

新品価格
¥6,050から
(2017/4/7 21:09時点)

技術書典2に参加します

日時:2017/04/09 (日)
サークル:でがらし会
で参加いたします。

お品書き

  • C91で頒布した「でがらしBOOK」
  • 今回用のコピー本「でがらしBOOK mini」
の二本立てになる予定です。
ただ今ポチポチと作っております。
値段は未定ですが、
  • でがらしBOOK……300円
  • でがらしBOOK mini……100円
くらいかなあ、と思います。未定は未定。

よろしければお手に取ってくださいませ。



OSK ブラックゴールド麦茶 400g

新品価格
¥294から
(2017/3/27 23:38時点)

サポート業務で「ありがとう」と言われてしまって反省する巻

プログラマ・エンジニアが外部から言われる「ありがとう」は嬉しいけど危険だって誰かが言ってた。


サポート業務にて

プログラマなので、主業務は電話です(アレ?)。
そんなわけで、その日も電話で、作っているアプリケーションについて質問に回答していました。
内容としては「なんでこんな表示になるの?」というもの。
ソコソコ複雑な内容だったため、定時以後、残業してポチポチと回答資料を作成しておりました。

そんでもって翌日。

「~ありがとうございました!感動して涙が出そうです。」
というメールを受け取りました。
おお、頑張った甲斐があったね!


違うぞ、頑張った結果じゃないぞこれは

いや、この「ありがとう」をそのまま受け取ってはいけない。
そもそも、回答資料が必要なくらい、分かりにくい表示になっていたのがいけなかった。
最初から分かりやすい表示になっていれば、問い合わせすらなかったはず。
問い合わせがきてしまったという事実は、ユーザの視点に立てていない、独りよがりの設計になっていた可能性があることを示している。
ここを間違えてはいけない。
プログラマ・エンジニアがサポートで受け取る「ありがとう」は「嬉しい」「悔しい」が両立する不思議な言葉。


感謝の言葉は嬉しいけれど、欲しいけれど

「ありがとう と言われるような仕事がしたい」ですが、
「ありがとう と言われる機会の回数は減らしたい」ですね。
でも、プログラマ・エンジニアは日ごろ 感謝される/褒められることが少ないので、「サポート業務でも ありがとう を言ってあげて!」とも言いたい。複雑。

でも、罵詈雑言は勘弁な!



「ありがとう」と言われる会社の心動かす物語

新品価格
¥1,620から
(2017/3/21 22:21時点)

Windows Phone (Windows Mobile) Windows Update 後の再起動ににかかる時間(10.0.14393.953)

定時過ぎに電話をかけてきて、残業を強制するスタイル、いいと思います(憤怒)。
とまあ仕事のグチはさておき。

今回はこんな感じ

アップデートファイルのダウンロードや更新自体は済。再起動にかかる時間だけです。
合計16分程度で更新が完了しました(歯車云々の時間は省略)。

状況によって時間は大きく前後すると予想されますので、目安の一つとして。


バージョン

端末はNuAns Neoです。
本日時点の各バージョンは、
バージョン:1607
OSビルド:10.0.14393.953
ファームウェアリビジョン番号:1028.020.001.95
ハードウェアリビジョン番号:1.0
無線ハードウェアバージョン:1.0
チップSOCバージョン:8952

ファームウェアが気が付かないうちに上がっている。いつ上がったんだろう?



mouse SimフリーWindowsPhone (Simフリー/Windows10 Mobile/Office Mobile/大画面 6型フルHD/3GBメモリ/保護シート付) MADOSMA Q601

新品価格
¥20,438から
(2017/3/15 21:51時点)

Delphi でXMLファイルを作成しようとしてハマる

ね、ハマるでしょ?


環境

いつも通り、サポート切れのXE5。


基本構文

xmlファイルを新規作成します。

var
  XML : TXMLDocument;
  RootNode, ChildNode : IXMLNode;
begin
  XML := TXMLDocument.Create(nil);
  XML.Active := True;
  RootNode := XML.AddChild('Root');
  ChildNode := RootNode.AddChild('Child');
  ChildNode.Text := 'ガキ';
  XML.SaveToFile('D:\Doc.xml');
  XML.Active := False;
  FreeAndNil(FResultXML);
end;


ここでハマったよその1 別スレッドで上記を操作

こんなエラーが出ました。
「DOMException Microsoft MSXML がインストールされていません」
Microsoft MSXMLはTXMLDocumentでデフォルトで使用するものです。
当初、このエラーを素直に読み取ったので、
「あれ、コンポーネント配置してない(IDEのポトペタで作ってない)から、デフォルト値がうまく読み込めてないのかな?」
などと思い、
  XML.DOMVendor := MSXML_DOM;
を追記しました。
が、それでもエラーが解消されません。
「ということは、ポトペタ配置と他にもプロパティが違う場所があるのか、おまじないが必要なのか」
と探すも、それらしいものが見つからず。


結論:仕様です

下記の「エラーハンドリングおかしくね?」というページを発見。
さらにこんなページたちも。


原因と解決策

・エラーメッセージが微妙に意図しているところと違う。
・GUI経由、つまりはVCLフォームを表示しているメインスレッドならCOMは普通に呼び出せるが、
 別スレッドの場合はCoInitialize 、CoUninitialize を呼び出してやらなくてはならない。



ここでハマったよその2 TXMLDocumentインスタンスが勝手に破棄される

実際にプログラミングしたのは、上記基本構文よりもちょっとだけ複雑で、
Nodeを作るところ・そのためのデータをとってくるところや、SaveToFileするクラスは別に作っています。
そんなこんなで、SaveToFileしようとすると、「Activeでないよ」というエラーが発生するように。
あれ?
もしかして勝手にクローズしちゃうのかな?
と思って直前でActiveを活性化させても同じ。
なんでやねん、と思って追ってみるとTXMLDocumentインスタンスが死んでいる……
ウソみたいだろ、Freeしてないのに解放されているんだぜ。


結論:仕様です

「作成時に Owner が設定されていない TXMLDocument は、インターフェイス オブジェクトと同様の動作をします。 つまり、そのインターフェイスに対する参照がすべて解放されると、TXMLDocument インスタンスは自動的に解放されます。」
なんでそんな動作なんだよ(怒)
「インターフェイス オブジェクトと同様の動作」なんてさせるくらいなら最初からインターフェースで返せよ!分からんだろうが!


解決策

というわけで、Owner を設定してやれば解決します。
適当なTComponentインスタンスを生成してCreateの引数に渡してやりましょう。


総括:今回ハマったところを全部のせるとこんな感じ。


var
  XML : TXMLDocument;
  RootNode, ChildNode : IXMLNode;
  OwnerComponent : TComponent;
begin
  CoInitialize(nil);
  XML := TXMLDocument.Create(OwnerComponent);
  XML.Active := True;
  RootNode := XML.AddChild('Root');
  ChildNode := RootNode.AddChild('Child');
  ChildNode.Text := 'ガキ';
  XML.SaveToFile('D:\Doc.xml');
  XML.Active := False;
  FreeAndNil(FResultXML);
  FreeAndNil(OwnerComponent);
  CoUninitialize;
end;



NuAns NEO 新製品発表に絶望した。

NuAns NEOといえば、国内で初めてContinuum対応したWindows 10 Mobile。
その新製品の発表が、20日行われました。
それでは、見てみましょう。
NuAns NEO [Reloaded] 登場です!

------------------------------------
NuAns NEO [Reloaded]
[Android]
------------------------------------

ん?(目をこする)
んん?(目をこする)
んんん?(目をこする)


_人人人人人_
> Android <
 ̄Y^Y^Y^Y ̄


…………………………………………………………………………………
………………………………………………………………………
…………………………………………………………
…………………………………………

絶望した。
今日は仕事しないで帰ろう(←20日の感想)


ちょろっと他のサイトを覗いてみましょう

>「NuAns NEO」を購入したいと思っている人の95%がAndroidを求めていた」
え、そんなん発売する前から分かっていたじゃん……
それを理解して、ニッチな市場に踏み出したんじゃないの……??
市場が大きいが、強豪・競合ひしめくAndroid業界ではなく、
WIndows に手を出したのはニッチなのを理解してじゃないの……??

こっちでも寂しげな感じが。


企業の活動としては理解するけどね

実際、Windows 10 Mobile では稼げないので、利潤の追求ならAndroid 端末を出すべきではあります。
そこは理解できます、します。
でもNuAns NEOを買ったユーザはWIndows だから買ったのであって、
Android を望んでいるユーザ=購入ユーザだとは思えないけどなあ……
でもスペックいいな、ちょっと欲しい


過去を振り返って生きたい方はこちらからどうぞ。


PowerShell Windows イベントログの最大値変更

電気屋でひっそりと展開されるWindows 10 Moibleコーナーで遊んでいたら、Windows 10 Moible を片手に遊び始める人がもう一人来て、驚きを隠せなかった丘山です。
町中でWindows 10 Moible持っている人、自分以外に初めて見た……
シェア0.5%未満だったと思いますが、つまりは数百人に一人くらいはいる計算なので、探せばそれなりに会えるのでしょうが。

と、それはともかく、久々のPowerShell ネタ。

Windowsログ(イベントビューアーで見れるヤツ)のログ最大値変更

例:イベントビューアー - セキュリティを右クリック - プロパティ - 最大ログサイズ の変更。

(※Powershell を管理者で実行して)
Limit-Eventlog -LogName Security -MaximumSize 20096KB

変更後の確認は、
Get-EventLog -List
から。

今回はこれだけ!


うごかして学ぶWindows PowerShell

勉強会にてHololens

やり方が悪かったな、と反省したのでそのあたりをば。


会の内容

・毎回、各自発表時間を割り当てられるが、今回は最後に発表することにし、残り時間全てをHololens 体験会にした。
・1時間ちょっとしかないので、だらだらと説明していると肝心の操作がやれない! ということでほぼ説明せずいきなりチャレンジしてもらった。


結果どうなったか

・「表示されている映像が上にいくんだけど!?」→ヘッドセットの位置の問題
・「エアタップできない」→「指を押す」ではなく、「指を倒す」ジェスチャーが正解
・「クリッカー動かない!」→やっべー、クリッカー充電切れてるーw


説明すべきだったこと

・ヘッドセットの位置決めこそ最重要。Hololens は見た目よりも視野が狭いため、視野を決定するヘッドセットの位置を適切に設定できるかどうかで使いやすさが変わる
・エアタップはクセがある。コツは、「センサーが認識できる位置」は「顔の前」であること、指を大きく動かすジェスチャーをすること
・hololens は部屋をスキャンして部屋の形を正しく覚えないとうまく動かないことがある。
(事前に学習させておけばよかった)

まずもって、説明時間をとるべきだった。

でも盛り上がったよ!

UWPアプリをいくつか動かして、roboraidをプレイしてもらっただけなのですが、「すげー、すげー!」という声が聴けました。
やはりrobraid は神。あちこちでDEMOされてる=実績があるだけあります。これが一番凄さが伝わる感じ。

何にせよ、VRもMRも、体験しないと凄さも弱みも伝わらないので、ぜひ皆さんポチってください!



ハードコピー

あんまり更新しないのもなんですので、ちょっとしたことを書いてお茶を濁す。
軽くググッた結果をメモしただけとも。

(大ざっぱに)ハードコピーとは

コンピュータの画面を、そのまま紙等に出力し、永続媒体として記録したもの。
らしい。


(大ざっぱに)スクリーンショットとは

コンピュータの画面や、カメラで撮った画像ファイルをディスク上に保存すること。
らしい。


業務では

全部まとめてハードコピーと言ってしまっていたが、これからはちょっと言いわけてみよう。


Canon プリンター インクジェット 複合機 PIXUS MG3630 BK ブラック

新品価格
¥7,080から
(2017/2/8 08:06時点)

Hololens

遅ればせながらご報告。
MSストアから、Hololens 届きました!
本業でトラブルが続いていたのでいまだに全然弄れていませんけど!


外観について


絶対他でも(多分)言われていると思うのですが、入れ物はまごうことなき「湯たんぽ」




電源

充電はUSB経由。
結構電力いるだろう、と思っていたからUSB経由はちょっと意外。
USBをつなげっぱなしにして装着すれば攻殻機動隊ぽく見える……いや見えないなw


実際につけてみる

わかってはいましたがちょっと重い。


初期設定

Hololens には付属の説明書がついており、そこには日本語の記載もあります。
なんだ、前情報だとサポートは英語だけって言ってたけど、日本語もあるじゃん。
これなら楽勝だね!

と、見事に騙されました

電源ポチーの後の設定、英語音声ONLYじゃないですかー!
英語聞かないと次に何やるのかも分からないじゃないですかー!

Hololensでは音声操作もサポートしています。とありますが、どっちかというと必須の模様。
「音声認識もできる」というより、「音声操作しないといけない」という手順もあります。
初期設定中、次の設定項目に進む時は「NEXT」と「言わなければ」なりません。

一人暮らしへの部屋。
夜中にヘッドセット被って。
「ねくすと」「ねくしゅと」「ねきゅすと」
とつぶやき続ける私。

……メッチャ怪しいですね!



というわけで、雑なHololens 紹介でした!
詳細は他の方々からどうぞ!(投げっぱなし)

購入はコチラから。