リサーチ

次のパソコンのマザボ

次のパソコンのマザーボードを何にするか検討中。

メーカーASUSASUSASRockMSI
型番ROG Strix X570-F GamingTUF GAMING X570-PLUSB450 Steel LegendB450 TOMAHAWK MAX
価格34,000 円
24,000 円
13,000 円
14,000 円
チップセットX570
X570B450B450
メモリクロック4400~21334400~21333200~21334133~2667
VRM フェーズ12+212+24+2
M.2PCIE 4.0 x4PCIE 4.0 x4PCIE 3.0 x4
PCIE 3.0 x4

巷で評判の良いマザボと、いくつかの BTO ショップ推奨のマザボを比較。

ROG Strix X570-F Gaming

ROG Strix は Wi-Fi やカスタマイズオプション満載のシリーズとのこと。オーバースペックな気がする。チップセットファンも気になる。
VRM 周りは下位とシリーズと同レベルらしい。AGESA 1.0.0.3 ABB でも WHEA が発生するという話もある。

TUF GAMING X570-PLUS

TUF GAMING は耐久性重視のシリーズとのこと。高耐久の安心感は欲しい。価格も許容範囲。チップセットファンは気になる。
スリープ後にクロックが下がらなくなる事象が発生する環境があるらしい。

B450 Steel Legend

公式に DDR4-3200 をサポートしており、実例もあるマザボ。X570 と比べるとスペックは見劣りするが、これで十分な気もする。
しかし消費電力は他の B450 と比較して高いらしい。
MicroATX の B450M は、チップセットヒートシンクが無くなり、拡張スロットとストレージスロットが減る。

B450 TOMAHAWK MAX

B450 の中でも Zen2 に合わせてきたマザボということで安心感があるが、いかんせん情報が少ない。


お見積もり。いくつかの BTO ショップで見積もってみた。データ SSD は無しにしているので、これにプラス 56,000 円くらいかかる。OS も付けるならさらにプラス 20,000 円くらい。

サイコム

使いやすいウェブサイト。やや文字が小さい。

145,810 円……Ryzen 3000 シリーズのページにある B450 チップセットのスタンダードモデル(Radiant VX2800B450A)をカスタマイズ。MicroATX の Steel Legend。メモリ DDR4-3200、2 万円引き。ケース品切れ中。電源は Antec NeoECO 650W GOLD。

146,030 円……Ryzen 3000 シリーズのページにある X570 チップセットのスタンダードモデル(Radiant GZ2800X570A)をカスタマイズ。ATX の Steel Legend。メモリ DDR4-3200、2 万円引き。電源は Antec NeoECO 650W GOLD。

159,180 円……Ryzen 3000 シリーズのページにある B450 チップセットの静音 PC(Silent-Master Pro B450A II)をカスタマイズ。ATX の Steel Legend。メモリ DDR4-3200、2 万円引き。電源は Antec NeoECO 650W GOLD。

パソコンショップ SEVEN

172,244 円……CPU 別の Ryzen 3700X から、ZEFT R7K02 の OS 無しモデルをカスタマイズ。キャンペーン 15,000 円引き。ATX の Steel Legend。メモリは DDR4-3200 が品切れで 2400。電源は Antec NeoECO 650W GOLD。Blu-ray は BH16NS58。

見やすいウェブサイト。オプションが全て全開のためやたら縦に長くスクロールが大変。

VSPEC

191,860 円……特集コーナー AMD Ryzen 対応モデルから第 3 世代 Ryzen スタンダードをカスタマイズ(AMD ハイエンドモデルから行くと第 2 世代になってしまうので注意)。SL が選べず TUF GAMING X570-PLUS。メモリは DDR4-2666。

PC ワンズ

137,159 円……フルカスタマイズ PC のメニューから BTO できる。ATX の Steel Legend。メモリは DDR4-3200。電源は NeoECO 550W。

パーツを 1 つ 1 つ指定していくのが大変なだけではなく、ブラウザを閉じるとカートの中身が失われてしまうという恐ろ仕様。心折れそう(最初折れた)。




次のパソコンを軽くイメージ その 3(2019 年 7 月)

Ryzen 3000 シリーズが発売されたので、その 2 から修正。

本体


パーツ型番想定価格(税込み)
名称次期メインマシンイメージ その 3(2019 年 7 月)
202,000 円
~252,000 円
マザーボード未選定
11,000 円
CPUAMD Ryzen 3700X
※8 コア 16 スレッド、定格クロック 3.6GHz(ブースト 4.4GHz)、TDP 65W、7nm プロセス
43,000 円
CPU クーラーCPU 付属品
0 円
セラミックグリスCPU 付属品0 円
メモリ32 GB
※DDR4-3200(PC4-25600)DIMM 16GB×2
25,000 円
システム SSDWestern Digital WD Black SN750 NVMe WDS500G3XHC
※500GB、PCIe Gen3 x4、M.2 2280
【または】
Intel Optane SSD 905P 380GB M.2
※380GB、PCIe Gen3 x4、M.2 22110
17,000 円
【または】
67,000 円
データ SSD4TB
※SATA 2TB×2
56,000 円
マウンタSSD 付属品0 円
光学ドライブ
(Blu-ray)
LG BH14NS58
8,000 円
ビデオカードPalit NE51650S06G1-1170F
※GeForce GTX1650 STORMX OC 4GB、TDP 75W、12nm プロセス
17,000 円
LANオンボード
- 円
ケース未選定
15,000 円
電源500W
10,000 円

CPU は Ryzen 3000 シリーズが発売となったので、8 コアの 3700X をチョイス。8 コア APU を希望していたが、残念ながら発売に至らなかったので、グラボは別途とする。APU の i9-9900K という選択肢もあるが、3 年停滞しているインテルはどうもねぇ、という気分的な問題。

PCIe Gen4 を使う予定はないので、マザーボードは X570 でなくて良い。価格は仮置きで ASRock B450M Steel Legend の価格にしている。

メモリは現行パソコンと同様の 32GB で据え置き。

システム用 SSD は安価に NVMe で済ませる気がしている。Optane SSD の新しいのがもし出ればそちらもよいかもしれないが……。

データ SSD は本当は 4TB×1 が良いが、まだ高いので、2TB×2 で妥協。

Blu-ray ドライブは適当なので良い。

ビデオカードは、Ryzen APU よりはマシな程度で、かつ、消費電力がなるべく小さめということで、補助電源不要の TDP 75W クラス。


周辺機器

サウンドカードを更新。
パーツ型番想定価格(税込み)
RAID ユニットWestern Digital My Book Duo WDBLWE0080JCH-JESN(流用)
※8TB、RAID 1 の運用で実効 4TB
※USB 3.0 接続
0 円
サウンドカードCreative Sound BlasterX G5(流用)
※USB 接続
0 円
スピーカーONKYO WAVIO GX-70HD(流用)
0 円
オーディオレシーバーONKYO WR-BT300(流用)
※Bluetooth で音声を受信してスピーカーに流す
0 円
ディスプレイ21.5 インチワイド液晶、IO DATA LCD-MF223XS(流用)
※HDMI 接続
0 円
ゲームコントローラーLogicool F310r(流用)0 円





M.2 SSD (NVMe) 512GB メモ

次期パソコンの C ドライブ用ストレージ、Optane がいいなと思っていたけど、NVMe SSD でもまぁいいかもと思い始めたので、512GB クラスのカタログスペックを整理。価格は相場月報 6 月号の平均価格。

ssd

現行マシンの C ドライブは 6 年間で 40TB 近くの書込になっていて、次期マシンは RAM ディスクを使わないことや動画出力が多そうなことを考えると、10 倍の 400TBW くらい欲しいけど、一覧を見ると 300TBW で妥協するほうがいいのかもしれない。

体感速度に影響するであろうランダムリードと、動画出力用にシーケンシャルライトが速いのがいいなと思うと、WD、SanDisk、ADATA の順に有力。ADATA だけずいぶん安い。

Western Digital WD Black SN750 NVMe WDS500G3XHC……ヒートシンク無し版(型番末尾 X0C)もあるので注意。1TB 版のレビュー記事

SanDisk Extreme Pro M.2 NVMe 3D SSD SDSSDXPM2-500G-J25……レビュー記事

ADATA XPG SX8200 Pro ASX8200PNP-512GT-C……レビュー記事



PetitKara のストレージ認識状況メモ

PetitKara にいくつか USB メモリや HDD を繋げた際の挙動をまとめてメモ。記憶を頼りにしている部分もあり、もしかしたら間違っている部分もあるかもしれない。

使用した PetitKara のバージョンは 1.4.19 で、WAN 側はインターネットに接続していない。

相性の悪い USB メモリ

transcendUSB メモリ A(JetFlash Transcend 2GB、NTFS、動画ファイルなし)を本体に直接挿して起動したところ、Debian のデスクトップまでは起動するが、PetitKara が起動しない。

Debian は USB メモリ A を認識していて、デスクトップに USB メモリ A のアイコンが表示されていた。

動画情報更新で読めない HDD

PetitKara が起動した状態で HDD E(Western Digital My Passport 4TB、青色、NTFS、動画ファイル 4 万個)を本体に直接挿し、動画情報更新をしたところ、10 分以上経っても動画情報更新が終わらない。HDD のアクセスランプが点滅しておらず、HDD にアクセスしている気配が無い。

セルフパワー型ハブ(Anker 10-Port USB 3.0 Hub)に HDD E を挿して動画情報更新をしても終わらない。なお、以降はすべてハブ経由の接続。

guruguru2動画情報更新を中断し、ログインして動画を検索すると、ぐるぐるアイコンから先に進まない。

HDD F(4TB、黒色)についても同様で、起動後の動画情報更新で認識してくれない。

動画情報更新可能な USB メモリ

sonyUSB メモリ B(SONY Storage Media 32GB、NTFS、動画ファイル 250 曲)は、PetitKara 起動後に挿して動画情報更新をしたら認識してくれた。

ストレージ 5 本挿し

storage5a起動後の動画情報更新ではなく、起動時に挿しておくと認識してくれることに気がついた。

USB メモリ B、USB メモリ C(水色)、HDD E、HDD F、HDD G(Buffalo HD-PNFU3、1TB、黄色、動画ファイル 1.3 万個)の 5 つを接続した状態で起動すると、Debian のデスクトップにすべてのストレージのアイコンが表示された。

41709aPetitKara でも基本的には認識されたが、HDD E については認識してくれなかった。検索結果は 42,000 件ほど。

この状態でしばらく運用していたところ、2 回ほど、曲が途中で終了してしまう状況が発生した。

Debian では認識されているが PetitKara からは認識されていない HDD E が何らか影響しているのかと思い、HDD E を外してみた。本来は外した後で動画情報更新を行うべきであるが、動画情報更新はうまくいかないことが分かっているので、動画情報更新はしていない。

notfoundすると、今まで使えていた USB メモリ B の中の動画について、検索結果には引き続き出てくるものの、リクエストしようとすると「動画が見つかりません」というエラーとなった。

USB メモリ B の中には、HDD E と同じファイルの一部が入っている形になっており、ファイル名だけで見れば HDD E と重複しているが、それが何か関係しているのであろうか。

別の組み合わせでストレージ 5 本挿し

USB メモリ B、HDD E、HDD F、HDD G、HDD H(Western Digital My Passport 4TB、黄色)の 5 つのストレージを起動時から接続しておいたところ、先ほど認識されなかった HDD E も含めて 5 つすべてのストレージが認識されたのではないかと思うが、ファイル数が多すぎて今ひとつ自信が無い。HDD E のパスをキーワードにして検索した結果の数から見て、HDD E はたぶん認識されたと思う。

100kキーワードを空にした場合、検索結果が省略されてしまっているが、10 万件ということだと思う。

5087検索結果ページ数は 5087 ページ。





Factory Town 計算ブロックでマインカートを制御する

生産物流箱庭ゲーム「Factory Town」において、マインカート(鉄道)は直進しかできない猪突猛進型のユニットですが、計算ブロックを使うことで、マインカートに様々な振る舞いをさせられるようになります。

以下の記事の内容は把握済みである前提でまとめています。

なお、Factory Town Ver 0.108m 時点(Windows 版)での情報です。画像はクリックすると拡大します。

やりたいこと

マインカートの積み荷によって、行き先を分岐させたいと思います。また、積み荷を降ろして空になったマインカートに対しては、1 台ごとに別の荷物を積むようにします。

whole2全体像が右の写真です。

カートは青白い矢印の向きに時計回りに走るものとします。

①のサイロには木材があり、②の井戸からは水が出てきます。従って、カートは木材か水のどちらかを積んだ状態で、(B) の分岐点に来ます。

木材を積んだカートは (B) を上方向に、水を積んだカートは (B) を右方向に進むようにします。

これにより、③の倉庫には木材だけが、④の倉庫には水だけが溜まっていきます。同じ線路を使用していても、積み荷の振り分けが可能となります。

積み荷を倉庫で降ろして空になったカートは、(A) の分岐点に来ます。

(A) では、上方向と右方向を交互に進ませます。これにより、1 台目のカートが木材を積んだら、2 台目のカートは水を積む、というように、2 種類の積み荷を運ぶことができます。

(補足)積み荷の振り分けは、計算ブロックを使わずとも、ソーターやプッシャーでマインカートを押し出すことにより行えます。本記事は計算ブロックの勉強用としてご覧ください。

施設の配置

fusetsu右の写真のように、施設やレールとバリアゲートを配置します。時間を止めた方がやりやすいです。

バリアゲートは物流ブロックの中にあり、設置時は「オフ」になっていて遮断機がおりた状態で通行できませんが、「オン」にすると遮断機が上がって通行できるようになるというブロックです。

サイロと井戸のレールストップは出力、倉庫のレールストップは入力に設定します。

レールの敷設についてですが、(1)-(2)-(3) の分岐部分は、(1)-(2) を先に敷いてから最後に (3) をつなぐようにします。詳しくは、マインカートの記事の「単線運用」節を参考にしてください。

同様に、(1)-(4)-(5) は (4)-(5) が先、(5)-(6)-(7) は (5)-(6) が先、(7)-(8)-(9) は (7)-(9) が先です。

カートは適当な台数(私は 3 台にしました)を、時計回りに走るように配置します。手動でバリアゲートをオンオフして、それぞれの場合でカートが詰まらずに走れるか確認すると良いと思います。

計算ブロックの配置と設定(右側の分岐)

bunki1右側の分岐(積み荷の種類による分岐)の制御を行う計算ブロックの説明から先にします。(5) から来たカートが (6) か (7) かのどちらかに進む分岐です。

カートの積み荷による分岐を行うには、計算ブロックであるエージェントトリガーを使います。エージェントトリガーは、通過したアイテムによってオンオフを出力するブロックです。

エージェントトリガーを分岐点に上乗せして配置します。簡単のために分岐点に重ねていますが、重ねたくない場合は他の場所に配置しても構いません。ただし、他の場所に配置した場合は、オフセット指定で分岐点を必ず指定して下さい。

エージェントトリガーのアイテムフィルタを「水」にします。

bunki2最後に、オンオフをバリアゲートに伝送するために、エージェントトリガーとバリアゲートをリンクします。エージェントトリガーが送信元(左クリック)、バリアゲートが受け取り先(右クリック)です。

ここまでの設定により、「エージェントトリガーを通過したアイテムが水の場合はオン、そうでないならオフ」という設定がバリアゲートに送られます。バリアゲートはオンの時は通行可能となりますから、結果として、水を積んでいる場合に通行可能となります。カートは直進と左折のどちらもできる分岐に来た場合は直進しますので、直進して (7) の右方向に進みます。

一方で、水を積んでいない場合(木を積んでいるか、または空の場合)はエージェントトリガーがオフになります。バリアゲートはオフの時は通行不可ですから、カートは左折せざるを得ず、(6) の方向に進みます。

結果として、木は上の倉庫に、水は下の倉庫に入ります。

計算ブロックの配置と設定(左側の分岐)

次に左側の分岐(交互に振り分け)の制御を行う計算ブロックの説明をします。(2) から来たカートが (1) か (3) かのどちらかに進む分岐です。

bunki3再びエージェントトリガーを使います。エージェントトリガーを分岐に重ねて下さい(オフセットをしていする場合はどこでも構いません)。

さらに、トグルを付近の適当な場所に設置します。

計算ブロックの設定ですが、左側の分岐では、エージェントトリガーのアイテムフィルタは無しのままにしておきます。こうすると、エージェントトリガーと何かが通過したときに常に信号が発生するようになります。

そして、エージェントトリガーからトグルへ信号を伝送するためにリンクします(エージェントトリガーが送信元、トグルが受け取り先)。

トグルは、何らかの信号が届くたびに、オンとオフが切り替わります。つまり、エージェントトリガーをトロッコが通過する度に、交互にオンとオフになります。

トグルの設定をバリアゲートへ伝送するために、トグルからバリアゲートへリンクします(トグルが送信元、バリアゲートが受け取り先)。

交互にオンオフが送られてくるので、バリアゲートは開いたり閉じたりを繰り返します。

動作結果

ゲーム時間を再開すると、カートが走り出します。

カートが動く様子を動画にしましたので、以下の動画を参照してください。



mokuzai上側の倉庫を見ると、木材だけが溜まっていくのが分かります。

mizu逆に、下側の倉庫を見ると、水だけが溜まっていくのが分かります。

以上により、マインカートを制御して積み荷を振り分けることができました。

単に積み荷の振り分けということでいえば、計算ブロックに限らずやり方はいくつもあり、先の補足に記したようにソーターなどでも実現可能です。

しかし、計算ブロックでマインカートの制御ができるようになることで、いろいろな夢が広がっていくのではないでしょうか。

Factory Town 計算ブロックで在庫数に応じた発送制御

生産物流箱庭ゲーム「Factory Town」における計算ブロックの使い方を整理しておきます。前回はごく基礎的な操作方法のまとめでしたが、今回は実用のイメージが湧くかと思います。

なお、Factory Town Ver 0.108m 時点(Windows 版)での情報です。画像はクリックすると拡大します。

やりたいこと

牧場が肥料を生産してベルトコンベアで流してそれを農場が受け取っている場合、農場であまり肥料が消費されないと、肥料が余ってしまってベルトコンベアが渋滞してしまいます。

ベルトコンベアが渋滞しないようにする方法はいくつかありますが、そのうちの 1 つが、「農場の入力用ストレージにある程度肥料が溜まってきたら、牧場側は肥料を送らないようにする」です。これは計算ブロックで実現できます。

kansei今回は例として牧場と農場の代わりに、「井戸が生産した水をサイロで受け取る」場合を考えてみます。

サイロに溜まっている水が 10 個未満の場合のみ、井戸はベルトコンベアに水を放出します。サイロに溜まっている水が 10 個以上になったら、井戸は放出をやめます。

余談ですが、今回もマインカートの時も井戸とサイロを例にしているのは、単に供給が楽というだけで、深い意味はありません。

施設の配置

shisetsu右の写真のように施設を配置します。時間を止めた方がやりやすいです。

井戸とサイロをベルトコンベアで結んでいます。井戸からはグラバーで水を引き出し、サイロへはプッシャーで水を押し込みます。サイロの向きはベルトコンベアに向かないようにして下さい。

計算ブロックの配置

isまず、サイロに溜まっている水の数を計測するセンサーの役割を果たす計算ブロックを配置します。

建設メニューの計算ブロックの中に、その名も「インベントリセンサー」というセンサーブロックがありますので、それを配置します。

math次に、水の数が「10 個未満かどうか」を判定する役割を果たす計算ブロックを配置します。

建設メニューの計算ブロックの中に「数学ブロック」という名前のブロックがあるので、それを配置します。ちなみに、数学というほど仰々しいものではありません。ごく簡単に数字を扱うだけのブロックです。

haichi前回も触れたように計算ブロックの位置はどこでも構いません(問題なく動きます)が、個人的には、インベントリセンサーを左、数学ブロックを右に配置すると、条件が読みやすくて好きです。

これで役者が出そろいました。

インベントリセンサーで読み取った「サイロにある水の数」という状況を入力として、数学ブロックで「10 個未満かどうか」という判断をしたうえで、井戸のグラバーのオンオフを切り替えるという出力を行います。

計算ブロックの設定

is2インベントリセンサーをクリックし、右上に出てくる小窓のオフセットの所をクリックすると、黄色い線が出てきます。

これは、インベントリセンサーが「どこの」在庫の数を調べるかを指定するものです。

is3今回はサイロにある水の数を調べたいので、サイロで「右」クリックします(左クリックではないので注意)。

is4正しく設定できると、再度インベントリセンサーをクリックして選択した際、黄色い線がサイロに向かって伸び、また、オフセットに値が入っています。

アイテムフィルタも設定して明示的に測定対象を指定することも可能ですが、今回は設定しなくても構いません。

link4次に、センサーの結果を数学ブロックに伝達したいので、センサーと数学ブロックをリンクします。センサーが送信元、数学ブロックが受け取り先なので、インベントリセンサーで左クリックし、数学ブロックで右クリックです(詳しいリンクのやり方は前回を参照して下さい)。

link5正しく設定できると、再度インベントリセンサーをクリックして選択した際、数学ブロックへの白い線が増えています(根本が太いほうがインベントリセンサー)。

math3続いて数学ブロックの設定です。数学ブロックをクリックし、右上の小窓から数学関数のところをクリックします。

数学関数ウィンドウが開き、数学ブロックで行う処理の種類を選べます。今回は「10 個未満かどうか」を判定したいので、「未満」を選びます。

math5続いて、右上の小窓から設定値のところをクリックします。

数ウィンドウが開くので、10 を入力します。

math6設定を終えると、数学ブロックの表示が「<10」というようになっています。

今回の設定が表す意味は、「送信元の数値が 10 未満かどうか」ということになります。先ほどのリンクによりサイロの水の数が送信元になっていますので、「サイロの水の数が 10 未満かどうか」を判定できることになります。

条件を満たせば数学ブロックの出力はオン、満たさなければオフになりますので、「サイロの水の数が 10 未満の場合だけオン」が出力されます。

link6その結果を井戸のグラバーに伝える必要があるので、数学ブロックとグラバーをリンクします。数学ブロックが送信元(左クリック)、グラバーが受け取り先(右クリック)です。

以上により、センサーブロックで測定した「サイロにある水の数」を、数学ブロックで「10 個未満かどうか」判定し、結果を井戸のグラバーに送る、という一連の流れが完成しました。

動作結果

res1ゲーム時間を再開すると、井戸から水が流れていきます。

最初はサイロにある水の数はゼロ、つまり 10 個みまんなので、判定結果はオンであり、グラバーが有効な状態になっています。

res2やがて、井戸から流れてきた水がサイロに入っていきます。

水が入る度に数学ブロックで 10 個未満かを判定し、結果をグラバーに送るので、伝達を示す青い線が一定間隔で表示されます。

10 個未満の場合は結果は「オン」のままなので、引き続き水は流れていきます。

res3サイロの水が 10 個溜まったところで、判定結果が「オフ」に変わります。それがグラバーに伝わると、グラバーがオフになって赤く表示が変わります。

以降、水が止まります。

res4なお、サイロにある在庫を手動でゼロに戻すと、再び水が流れるようになります。

以上により、サイロの在庫数に応じた、井戸からの発送調整が実現できました。発送をやめてもベルトコンベアに流れている分があるため、多少のタイムラグがあるので、実際にはこのあたりを工夫する必要が出てくる場合もあるかもしれません。


Factory Town 計算ブロックの一番簡単な使い方

生産物流箱庭ゲーム「Factory Town」における計算ブロックの使い方を整理しておきます。

なお、Factory Town Ver 0.108m 時点(Windows 版)での情報です。画像はクリックすると拡大します。

計算ブロックとは

計算ブロック(Computation blocks)は、物流の状況に応じた調整(アクション)を自動的に行うためのブロックです。「農場で使う肥料は十分にあるから、牧場からの肥料発送をやめよう」とか、「普通は直進しかしないマインカートを状況に応じて分岐させよう」などということができるようになります。

現在の状況という「入力」を元に、必要に応じて「判断」を行い、アクションという「出力」を行う。これを実現するのが計算ブロックです。入力も出力も原則として「オン/オフ」で表現されるので、一般的に論理回路と呼ばれます。Minecraft では Redstone 回路と呼ばれて人気ですが、Factory Town の計算ブロックは
  • 基本的な機能が 1 ブロックにまとめられている
  • 配線が簡単(配線のためのブロックスペースが不要)
という特徴があり、Minecraft よりも回路を組む敷居は低いのではないかと思います。

シンプルな入出力を行う

switch1一番シンプルに計算ブロックを使ってみます。

スイッチ(右の写真の左側のブロック)とランプ(右側のブロック)が 1 つずつで、スイッチを押すと、ランプが光ったり消えたりする、という簡単なものです。

toggleスイッチは「トグル」という名前のブロックになります。建設メニューの計算ブロックでトグルを選択して配置します。

lampランプは「論理ランプ」という名前のブロックです。同じく建設メニューの計算ブロックから選択して配置します。

スイッチとランプの位置関係は適当で構いません。

さて、2 つのブロックを配置しただけでは連動しないので、連動するようにリンクを張ります(配線します)。

linkトグルを左クリックして選択状態にしてから、マウスカーソルを論理ランプの上に持って行くと、「論理リンクを追加」という表示が出ます。この状態で「右」クリックすると、リンクが張られます。

必ず、トグル(入力元)で左クリック→論理ランプ(出力先)で右クリック、の順番です。

link2リンクが張られると、改めてトグルを選択した際に、トグルと論理ランプが白いカーブで結ばれている表示になります。入力元であるトグルの方が太い線になっています。

補足ですが、リンクを張ってあればきちんと動作するので、ブロック同士の位置関係はどんなものでも構いません。逆に、隣同士に配置したとしても自動でリンクが張られるということはありません。

さて、トグルをマウスで選択しマウスカーソルがトグル上にある状態で、Enter キーを押すと、トグルのマークが赤い禁止マークから緑のチェックマークに変化します。

link3同時に、カチッと音をたてながら青いビームが論理ランプに飛び、変化が論理ランプに伝わり、論理ランプが青く光ります。

Enter キーを押す度にトグルの表示が変わり、併せて論理ランプの表示も変わります。

なお、Enter キーを押すまでにマウスカーソルがずれてしまうと、トグルのオンオフは切り替わるのに論理ランプの表示は変わらなくなってしまうので注意して下さい。また、Enter キーはテンキーの Enter キーではなく大きい方の Enter キーを使って下さい。

migishitaさらに言うと、トグルを選択すると画面右下にトグルのオンオフを切り替える小窓が表示されますが、この小窓でマウスを使ってオンオフを切り替えると論理ランプの表示は変わらないので注意して下さい。

バージョンアップするに従ってこの辺りは改善されるとは思いますが、現状ではトグルの扱いに注意が必要です。

とはいえ、実際には手動でトグルをいじることはないので、実用上はあまり問題にはならないかと思います。

以上が、1 入力 1 出力という一番シンプルな計算ブロックの使い方となります。「入力のオン/オフに応じて出力がオン/オフ」されました。これを発展させていくと、実用的な使い方ができるようになります。

Factory Town マインカートの基本的な使い方

run生産物流箱庭ゲーム「Factory Town」において、高速輸送ツールであるマインカート(Minecart:鉄道のイメージ)の使い方が最初分からなくて困ったので整理しておきます。

なお、Factory Town Ver 0.108m 時点(Windows 版)での情報です。画像はクリックすると拡大します。

環状線が基本


マインカート(電車というかトロッコ?)はひたすら前に進むのみで、折り返しという機能はありません。手動で進行方向の反転は可能ですが、自動運転が基本ですので、前進のみを前提に線路(レール)を敷設する必要があります。

これにより、レールの形態としては環状線が基本となります。

レールの敷設


reru建設メニューの通路からレールを選びます。

環状にレールを敷設します。

reru2また、今回は例として「井戸からサイロに水を運ぶ」こととしますので、レールに隣接するように井戸とサイロを配置しました。

サイロを配置すると、向きによっては矢印が表示されますが、これは「レールストップ」です。次で説明します。

レールストップの設置

駅に相当するのがレールストップです。

stop建設メニューの物流ブロックからレールストップを選びます。

stop2井戸から出る方向になるようにレールストップを設置します。

stop3設置したレールストップをクリックすると、右上の小窓にアクセスタイプが表示されるのでクリックすると、アクセスタイプを設定するウィンドウが表示されます。

井戸の水をトロッコに積み込みたい(井戸からトロッコへ出力)ので、井戸のレールストップのアクセスタイプを出力に設定します。

stop4一方、サイロのレールストップでは、トロッコに積んである水を格納したい(トロッコからサイロへの入力)ので、サイロのレールストップのアクセスタイプは入力に設定します。矢印の向きがサイロを向くようにします。

マインカートの配置

kato1建設メニューのワーカーからマインカートを選びます。

kato2レールの上にマインカートを配置します。配置したマインカートを選択して R キーを押すと、マインカートの進行方向を指定できます。

kato3マインカートを走らせると、井戸の前を通る際に自動的に水を積み込みます。

井戸の生産が最大で 10 のため、マインカートにも 10 個しか積まれませんが、マインカートの積載量は最大 20 個です。

サイロの前を通ると、自動的に水を降ろします。

環状線なのでひたすらマインカートがぐるぐる周り、井戸からサイロに水を移します。

単線運用

tansen1輸送効率の面からも環状線が有用ですが、そうは言っても単線で運用したい場合(序盤でレール資源が少ない場合や、景観上の好みなど)は、線路の終端を右の写真のようにすることで折り返し運転が可能となります。マインカートは矢印のように進みます。

tansen2レールの敷設手順としては、まず、交差部分以外の線路を先に敷設しておきます。

tansen3次に、右の写真の①から②に向かってレールを敷設します。右の写真は、②までレールを敷設した段階のものです。

最後に、③から①に向かってレールを敷設すれば完成です。本節の最初の写真のような敷設になるはずです。

ng2参考までに、ダメな例を右に。

①と③を最初に結んでしまうと、交差点部分があたかも十字路のようであるかのようになり、②から進んできたマインカートが直進しようとして詰まってしまいます。

tansen4なお、コンパクトにレールを敷設すると、4 マスで折り返し運転が可能となります。

ラズパイ用ケース「JBM-009」の開け方・閉め方

ラズパイとその追加音源ボードを収めるためのケース「JBM-009」を購入したのだが、組み立て方のマニュアルが無かったので、ここに整理しておく。

パーツ

  • Raspberry Pi 3 Model B Plusラズパイ本体:Raspberry Pi 3 Model B+(element14 版)
  • DAC HAT JBM-001追加音源ボード:JustBoom DAC HAT JBM-001

  • DAC HAT Case JBM-009ケース:JustBoom DAC HAT Case JBM-009

ケースの開け方

  1. 開け方1右の写真の青丸部分をケースの内側方面に向かって押すと内部のかみ合わせが緩くなるので、押しながら上に向かってスライドさせるようにする。
  2. 開け方2右の写真のような感じで開く。
  3. 開け方3横から見ると右のような感じ。
  4. Openフタを外した後、側面の 2 枚のパネルを上にスライドさせて外す。

ケースの閉め方

  1. Onラズパイ本体の上に追加音源ボードを載せる(メインのコネクタで接続する)。
  2. gomケース底面に 4 つのゴム足を取り付ける。……べきなのだが、うまくゴム足がハマらない(貫通しない)ので諦めた。ちなみに、ゴム足の広い方がケースの内側だと思う。
  3. sideケースの側面パネル 2 枚を、ボード群に取り付ける。
  4. side2片側の側面パネルは上下が分かりづらいので注意する。小さな 4 つの穴が横に並んでいるほうが下。側面パネル内側にある横方向の溝と、ボード群が合うようにする。
  5. syunoケースの上方向から、ボード群+側面パネル群を、下方向にスライドさせるようにして、ケースに入れる。入れている途中はラズパイ本体のコネクタ類がケースに干渉するので、ケースを内側から外側へ押すようにして歪めて広げながら入れるしかないと思う。ケースにもコネクタにも負荷がかかるので、正直あまりケースへの出し入れはしたくない。
  6. Close1ケースのフタを閉める。当然ながら、この状態ではコネクタとケースの干渉は無い。
  7. Close2LAN 側は右の写真のような感じ。

補足

microsdケースを閉めた状態でもラズパイ本体から MicroSD カードの抜き差しができる。

microsd2ケースを裏返した状態(ケースのロゴが下の状態)で、MicroSD の表面が見える向きで挿す。

※より良いケース開け閉めの方法をご存じの方は教えてください。




LINQ to SQLite で共通カラム部分をジェネリックで運用する

LINQ to SQLite を使っている中で、複数のテーブルに共通するカラム(列)がある場合、ヘルパー関数などをそれぞれのテーブルごとに手書きするのは大変だしメンテナンス性も悪い。ひとまとめにできないだろうか、というのを試行錯誤した結果、インターフェース+ジェネリックでいけることが分かったので整理しておく。

なお、LINQ to SQLite の基本的な事柄については「C# で SQLite を便利に使うサンプルコード(LINQ to SQLite)」を参照。

テーブル構造

フルーツの一覧を格納するフルーツテーブルと、肉の一覧を格納する肉テーブルがあるとする。フルーツテーブルと肉テーブルそれぞれのカラムのうち、ID と名前については両者共にカラムがあるものとする。

この場合、テーブル構造を定義するクラスは以下のようにする。

まず、共通カラム部分をインターフェースとしてまとめる。
public interface IFoodData
{
    // ID
    Int32 Id { get; set; }

    // 名前
    String Name { get; set; }
}

そのうえで、テーブル構造を定義するクラスにインターフェースを実装するようにする。例えばフルーツテーブルなら
[Table(Name = "t_fruit")]
public class TFruitData : IFoodData
{
    // --------------------------------------------------------------------
    // IFoodData 実装
    // --------------------------------------------------------------------

    // ID
    [Column(Name = "fruit_id", DbType = LinqUtils.DB_TYPE_INT32, CanBeNull = false, IsPrimaryKey = true)]
    public Int32 Id { get; set; }

    // 名前
    [Column(Name = "fruit_name", DbType = LinqUtils.DB_TYPE_STRING, CanBeNull = false)]
    public String Name { get; set; }

    // --------------------------------------------------------------------
    // TFruitData 独自項目
    // --------------------------------------------------------------------

    // 色
    [Column(Name = "fruit_color", DbType = LinqUtils.DB_TYPE_STRING, CanBeNull = true)]
    public String Color { get; set; }
}

のようにする。

共通カラムの操作

フルーツテーブルと肉テーブルに共通するカラム(ID、名前)について、操作をジェネリックでまとめることができる。例えば、名前でレコードを検索・表示する関数は以下のようになる。
private void QueryFoodByName<T>(String oKeyword) where T : class, IFoodData
{
    Console.WriteLine(LinqUtils.TableName(typeof(T)) + " 内で名前に「" + oKeyword + "」を含むレコードを検索");
    using (SQLiteConnection aConnection = CreateDatabaseConnection(DB_NAME_GENERIC))
    using (DataContext aContext = new DataContext(aConnection))
    {
        Table<T> aTableTest = aContext.GetTable<T>();
        IQueryable<T> aQueryResult =
                from x in aTableTest
                where x.Name.Contains(oKeyword)
                select x;
        Console.WriteLine("検索結果:" + aQueryResult.Count() + " 件");
        foreach (T aRecord in aQueryResult)
        {
            Console.WriteLine(aRecord.Name);
        }
    }
}

関数を呼びだす際は、
QueryFoodByName<TFruitData>("hoge");
QueryFoodByName<TMeatData>("fuga");

のようにする。

以上により、テーブル名が異なる複数のテーブルに共通するカラムの操作を、1 つのコードにまとめることができた。

継承でやってはどうか?

テーブル構造を定義するクラスを、インターフェースではなく継承で作るのはどうだろうか。

つまり、IFoodData をインターフェースではなく通常のクラスとして宣言してそれを基底クラスとし、TFruitData や TMeatData をそこから派生させる形にする。

しかし残念ながらそれはうまくいかなかった。

データベース内にテーブルを作成する段階で、「型 'TestLinqToSqlite.IFoodData' のデータ メンバー 'Int32 Id' は型 'TFruitData' のマッピングの一部ではありません。メンバーは継承階層のルートより上のメンバーですか?」というようなエラーが発生してしまう。

サンプルコード

以上をまとめたものを、サンプルコードとして公開する。

サンプルコードアプリの使い方

  • TestLinqToSqlite_Genericジェネリックの「DB 作成」ボタンをクリックすると、フルーツテーブルと肉テーブルを持つデータベースが作成される。
  • 「検索」ボタンをクリックすると、フルーツテーブルと肉テーブルそれぞれから検索が行われ、結果がコンソールに表示される。なお、検索はジェネリックを使用した 1 つのコードで行われている。
なお、サンプルコードアプリには基本操作の欄もあるが、こちらについては「C# で SQLite を便利に使うサンプルコード(LINQ to SQLite)」を参照。

参考資料

更新履歴

  • 2019/04/09 初版。






















次のパソコンを軽くイメージ その 2(2019 年)

この前イメージした次のパソコンを少し修正。

ストレージの考え方を修正。前回は作業用ディスクとして RAM ディスクを用いることを前提にメモリを増やしたが、今回は RAM ディスクを廃して Optane SSD とする方針に変更。

というのも、作業用ディスクに無圧縮 AVI を出力することを想定した場合、フル HD、60 fps だと音声込みで 1 分当たり 21 GB 必要となり、6 分の動画で 126 GBも必要となってしまう。メモリでは賄いきれないため、速度と耐久性を兼ね備えた Optane SSD を選択。

Optane の容量は、以前に調査した C ドライブ必要量 100 GB に加えて、動画出力 126 GB となると、最低でも 250 GB は必要。

Optane は速度の速い 905P シリーズが良いが、低容量は U.2 接続しかないので(U.2 → M.2 変換はそこがボトルネックになると嫌なので避ける)、速度のやや遅い 900P シリーズで妥協する。

また、一応 Blu-ray も付けることとした。

というあたりを、BTO で見積もってみた。さすがに Optane は選べなかったので、別途購入ということにする。

サイコム:Radiant GZ2800Z390 基本部分 144,960 円(送料別)

V-SPEC:第 8/9 世代 ATX スタンダード 基本部分 165,090 円(送料別)


本体

詳細はサイコムベース。
パーツ型番想定価格(税込み)
名称次期メインマシンイメージ その 2(2019 年)
304,960 円
基本部分サイコム Radiant GZ2800Z390
144,960 円
マザーボードASRock Z390 Pro4
- 円
CPUIntel Core i9-9900K- 円
CPU クーラーCoolerMaster Hyper 212EVO
- 円
セラミックグリスCPU 付属品- 円
メモリ16 GB- 円
SSDOptane SSD 900P 480 GB HHHL
80,000 円
SSDSATA 4TB
80,000 円
マウンタSSD 付属品0 円
光学ドライブ
(Blu-ray)
LG BH14NS58
- 円
ビデオカードオンボード
- 円
LANオンボード
- 円
ケースFractal Design CORE 2550S Black- 円
電源SilverStone SST-ET550-B(80PLUS Bronze)
- 円

周辺機器

周辺機器は前回から変更無し。
パーツ型番想定価格(税込み)
RAID ユニットWestern Digital My Book Duo WDBLWE0080JCH-JESN(流用)
※8TB、RAID 1 の運用で実効 4TB
※USB 3.0 接続
0 円
サウンドカードCreative Sound Blaster Digital Music Premium HD (SB-DM-PHD)(流用)
※USB 接続
0 円
スピーカーONKYO WAVIO GX-70HD(流用)
0 円
オーディオレシーバーONKYO WR-BT300(流用)
※Bluetooth で音声を受信してスピーカーに流す
0 円
ディスプレイ21.5 インチワイド液晶、IO DATA LCD-MF223XS(流用)
※HDMI 接続
0 円
ゲームコントローラーLogicool F310r(流用)0 円





Intel Optane SSD メモ

インテルの Optane SSD のメモ。

Optane SSD は通常の NAND NVMe SSD と比べて、ベンチマーク上の速度は
  • ランダムリード:6~7 倍高速
  • ランダムライト:1.2~2 倍高速
  • シーケンシャルリード:やや遅い
  • シーケンシャルライト:1.5 倍高速
となっているが、実用上はそんなに変わらないらしい。

耐久性としては TBW が 8.76 PB と、NAND の優に 10 倍以上はある。

ラインナップは 2017 Q4 発売の 900P シリーズと 2018 年 Q2 発売の 905P シリーズ。905P のほうが多少高速かつ省電力。インターフェースはいずれも PCIe NVMe 3.0 x4 だが、フォームファクターはシリーズと容量によって異なる。
  • 905P:960 GB(HHHL / 17 万円)、480 GB(U.2 / 8 万円)
  • 900P:480 GB(HHHL / 8 万円)、280 GB(HHHL or U.2 / 5 万円)
【参考リンク】

C ドライブ容量メモ

DriveC今使っている C ドライブの容量メモ。
  • OS:23 GB
  • アプリ系:37 GB(18 GB + 18 GB + 1 GB)
  • 設定系:32 GB(25 GB + 7 GB)
  • 単独ファイル:7 GB(ページファイル)
ここまでで 99 GB。その他の主な物は、
  • イメージ:239 GB
  • 動画出力:80 GB
  • 単独ファイル:33 GB(ハイバネ、RAM ディスク初期化)
調べてて今更気付いたけど、ハイバネーションは不要なので無効にしておいた。管理者権限のコマンドプロンプトで、
powercfg /h off
とする。

これで hiberfil.sys 13 GB が消えた。

ニコカラメーカーでプレビュー・動画出力ができない場合の対処法

お使いのパソコン環境によっては、ニコカラメーカーのプレビュータブでプレビューができなかったり、動画出力ができないケースが発生する場合があります。

プレビュー・動画出力には DirectX の仕組みを使用しており、詳細は DirectX にお任せしているため、うまく動作しない原因もニコカラメーカー側では分からないのですが、少しでもうまく動く可能性を上げるための方法を以下にまとめました。プレビュー・動画出力がうまく行かない場合にお試し下さい。


ニコカラメーカーのインストール場所

ニコカラメーカーをインストールする際、以下のフォルダーを「避けて」インストールして下さい。
  • C:\Program Files
  • C:\Program Files (x86)
これらのフォルダーには Virtual Store と呼ばれる特殊な機能が備わっており、予期せぬ結果となる恐れがあります。

もしこれらのフォルダーにニコカラメーカーがインストールされている場合は、別の場所に再インストールして下さい。

例えば、
  • C:\MyApp
というようなフォルダーを自分で作成し、そのフォルダーの中にニコカラメーカーのフォルダーを入れると良いでしょう。ニコカラメーカーの実行ファイルのフルパスは以下のようになります。
  • C:\MyApp\NicoKaraMaker\NicoKaraMaker.exe

DirectShow フィルターの再インストール

DirectShow フィルター(動画コーデック)を再インストールすることで解決する場合があります。以下を参考にして、K-Lite Codec Pack(Full 版)をインストールしてみて下さい。

DownloadFull
K-Lite Codec Pack ダウンロードページの中程にある「Download Full」をクリックします。

Mirror1Full 版ダウンロードページの上の方にある「Mirror 1」をクリックし、ファイルをダウンロードします。ダウンロードが遅い場合は Mirror 2 からダウンロードしても構いません。

ダウンロードしたファイルは、ファイル名が「K-Lite_Codec_Pack_1460_Full.exe」のようになっているはずです(数字はバージョンによって変わります)。ファイル名が違う場合は広告のファイルをダウンロードしている可能性がありますので再度確認して下さい。

ダウンロードした K-Lite_Codec_Pack_1460_Full.exe をダブルクリックしてインストールを開始します。旧バージョンや他のコーデックのアンインストールが指示された場合はアンインストールして下さい。

Normalインストールモードを「Normal」のままにしておきます。

設定をデフォルトのままにして、次々と「Next」ボタンをクリックします。

Install最後に「Install」ボタンをクリックすると、コーデックがインストールされます。

DirectShow フィルター設定の確認

スタートメニューから「Codec Tweak Tool」を起動します。

Tweak「DirectShow (x86)」ボタンをクリックします。64 bit Windows をお使いの場合でも、(x64) ではなく (x86) をクリックして下さい。
Manage「ENABLED FILTERS」の中に「LAV Video Decoder」と「LAV Splitter」が入っていることを確認します。入っていれば問題ないので、そのまま Close ボタンをクリックしてウィンドウを閉じます。

もしも「DISABLED FILTERS」の中に「LAV Video Decoder」「LAV Splitter」が入っている場合は、「LAV Video Decoder」「LAV Splitter」のチェックを入れてから Apply ボタンをクリックします。すると「LAV Video Decoder」「LAV Splitter」が「ENABLED FILTERS」に移動しますので、Close ボタンをクリックしてウィンドウを閉じます。
Codec Tweak Tool のメインウィンドウに戻ったら、Exit ボタンをクリックして終了します。

元動画を無圧縮 AVI にする

素材となる元動画(ニコカラメーカーの素材タブで指定する動画)の形式が mp4 や圧縮された AVI 形式の場合は、元動画を無圧縮 AVI 形式(RGB24)に変換します。

変換には、市販ソフト・フリーソフト等をご利用下さい。

動画と歌詞以外のファイルが無いことの確認

素材となる元動画と同じフォルダに、ファイル名が同じで拡張子のみが違うファイルがあると、元動画の読み込みに悪影響を及ぼす場合があります。そのようなファイルは削除するか、別の場所に移動して下さい。

例)元動画が Test.avi で歌詞ファイルが Test.lrc の場合、Test.avs が同じフォルダに存在すると NG

管理者権限での起動

ニコカラメーカーを管理者権限で起動します。

Adminエクスプローラーで NicoKaraMaker.exe を右クリックし、「管理者として実行」をクリックすることで、ニコカラメーカーを管理者権限で起動することができます。

ブースターの無効化

プレビュー処理を高速化するブースターを無効にすると、動画が読み込めるようになる場合があります。

ニコカラメーカーのメニューから[ツール→設定]をクリックし、「ブースターを使用する」のチェックを外して OK ボタンをクリックします。その後、プレビュータブを再度開いてください。

特定のエラーメッセージごとの対処法

プレビュー・動画出力時に、以下のようなエラーメッセージが出力される場合は、エラーメッセージごとに対処法がありますので、リンク先の情報に従って対処して下さい。

知見募集中

他の方法でうまく動くようになった場合は、情報をコメントでお寄せ下さい。お待ちしております。



次のパソコンを軽くイメージ

現在使っているメインマシンも悪くはないのだが、6 年物になって古さが出てきたのと、SSD の書き込み容量が 32TB に達しているのが不安になってきたので、そろそろ次のパソコンを考えてみた。半年~1 年後くらいに買い換え?

一番強化したいのは CPU。現在は 4 コア 8 スレッドだが、これを 8 コア 16 スレッドに倍増したい。最新の命令セットへの対応や動画支援も。また、省電力化のために GPU は内蔵にしたい。

現行のラインナップで現実的なのは Core i9 9900K(66,000 円)くらい。Ryzen 3700G とか 45,000 円くらいで出ないかなぁ。

次に強化したいのは SSD。現在は OS+アプリ用に 512GB を使っているが、さらにデータ用も SSD にしたい。512GB + 4TB。インターフェースは SATA でいいかな。512GB のほうは家に転がっている 1TB を代わりに流用するとして、4TB はそもそもまともなラインナップがまだ無い。出てきたとしても 8 万円くらいかかりそう。

その次に強化したいのはメモリ。現在は 32GB だが、これを 64GB に倍増したい。現在は 8 万円だが、1 年後にはだいぶ下がることが期待される。7 万円くらい?

あとは、ケースの前面から USB 3 を出すくらいかな。ケースって 1 万円くらい?

マザーボードは特にこだわりはなし。2 万円くらい?

電源は、外付け GPU を積まないので容量は少なくていいが、品質はそこそこしっかりしたのがいい。1 万円くらい?

……というのを整理すると以下のような感じ。自作するなら 25 万円。メンドイから BTO にしようかなとか思うと 30 万円くらい?

本体

パーツ型番想定価格(税込み)
名称次期メインマシンイメージ25,6000 円
マザーボード適当20,000 円
CPU8 コア 16 スレッド66,000 円
CPU クーラーCPU 付属品
0 円
セラミックグリスCPU 付属品0 円
メモリ64GB70,000 円
SSD1TB(流用)+4TB
80,000 円
マウンタSSD 付属品0 円
光学ドライブ
(DVD スーパーマルチ)
アイ・オー・データ機器 DVR-SN24GE(流用)
0 円
ビデオカードオンボード
0 円
LANオンボード
0 円
ケースUSB 3 対応10,000 円
電源適当
10,000 円

周辺機器

パーツ型番想定価格(税込み)
RAID ユニットWestern Digital My Book Duo WDBLWE0080JCH-JESN(流用)
※8TB、RAID 1 の運用で実効 4TB
※USB 3.0 接続
0 円
サウンドカードCreative Sound Blaster Digital Music Premium HD (SB-DM-PHD)(流用)
※USB 接続
0 円
スピーカーONKYO WAVIO GX-70HD(流用)
0 円
オーディオレシーバーONKYO WR-BT300(流用)
※Bluetooth で音声を受信してスピーカーに流す
0 円
ディスプレイ21.5 インチワイド液晶、IO DATA LCD-MF223XS(流用)
※HDMI 接続
0 円
ゲームコントローラーLogicool F310r(流用)0 円



UiPath メモ

RPA ツール「UiPath」自分用メモ。

インストール先は強制的に「C:\Users\ユーザー名\AppData\Local\UiPath」。
UiPath Studio がプロジェクト編集用、UiPath Robot がプロジェクト実行用。

Excel を使えるようにする:2018.4.0 ではデフォルトで使用可能。

HTML フォームでユーザーからの入力を受け取る:カスタム入力(Custom Input) ※指定する html ファイルのフルパスに日本語が含まれていると動作しない


Haiku R1/beta1 を LAVIE Hybrid ZERO で動かす

BeOS の後継となる Haiku は、2012 年 11 月に R1/Alpha4 がリリースされて以来、節目となるリリースが来ないままだったが、ようやく R1/beta1 がリリースされたので、早速動かしてみた。

せっかくなので実機で動かそうと、NEC の LAVIE Hybrid ZERO で試してみた。

まずはメインのデスクトップマシンでイメージ作り。

ダウンロードサイトで 64bit 版をダウンロード。
Etcher
公式手順に従い、解凍後のイメージを Etcher で USB メモリに書き込む。昔は DD for Windows とかで書き込んだ記憶があるが、モダンになった感じ。書き込み先の USB メモリはパーティションが切られていたが、問題なく上書きできた(もちろん全パーティションが無くなるので書き込み先の選択は慎重に)。

できあがった USB メモリを LAVIE に挿して LAVIE を起動したが、そのままでは Windows 10 が起動してしまう。

optionShift を押しながら Windows 10 を再起動すると、UEFI メニューに入れる。セキュアブートを OFF にし、起動ドライブを USB メモリに指定。

boot設定を保存して起動すると、USB メモリから Haiku が起動する。

welcomeようこそ画面が表示されるので、左側の言語リストの一番下にある日本語を選択し、「デスクトップを起動」をクリックすると、PC に Haiku をインストールせずにライブ CD(というかライブ USB)で Haiku が起動する。

残念ながら画面タッチは有効にならなかったので、マウスパットで操作する。

デスクトップ付属のアプリをいろいろ起動してみた様子が右の画面。

とても残念なお知らせは、Wi-Fi が使えないこと。ここの「Offline download of binary firmware files.」参照して、Windows 上でバッチファイルを実行したが、エラーが出てうまく wget が動かない。バッチファイルを書き換えて wget に --no-check-certificate オプションを付けてみたり、wl_apsta-3.130.20.0 がもう無いので代わりに wl_apsta-3.130.20.0.o をダウンロードしてリネームしたり、2 つの byteswap.h を手動でダウンロードして zip に追加したりしてなんとか zip を作ってみたものの、Haiku 上で zip を /boot に解凍して install-wifi-firmware.sh を実行するとコンパイルに失敗しているようなエラーとなり、お手上げ。

まだβ版なので過度な期待は禁物なのは分かっているが、やはりネットワークは使えるようになって欲しいところ。

また、データ交換用に 2 つめの USB メモリを挿すと、マウント・アンマウントが不安定で、うまくアクセスできない USB メモリがあった。まったく反応しない USB メモリがあったり、デスクトップ右クリックのポップアップメニューがフリーズして Tracker を殺しても復活しなかったり。

動画再生良いお知らせは、サウンドカードがちゃんと使えて、動画も音声付きで再生されたこと。

今後のバージョンアップがどうなっていくか、見守っていきたい。

デスクトップ向け Ryzen APU まとめ

デスクトップ向けの AMD Ryzen APU のラインナップを整理してみた。

RyzenAPU


PRO はビジネス向けとされていてセキュリティー機能などが強化されているが、基本スペックはノーマルと同じ。

モデルの末尾に E が付くのが省エネタイプで、クロックが下がる代わりに TDP も下がっている。

H.264 / H.265 再生負荷メモ(Core i7-3770S)

H.264 でエンコードされた動画と、H.265 でエンコードされた動画をそれぞれ再生した時の、CPU / GPU 負荷がどれくらいか、のメモその 2。

再生環境はメインマシンで、CPU は Intel Core i7-3770S(4 コア 8 スレッド)、GPU は RADEON HD 5570(UVD 2.2 搭載)。H.264 のデコードは GPU のハードウェア支援があるが、H.265 は支援がない。

Full HD のモニターを接続して動画を再生した時の負荷を計測(GPU 負荷は計測不可)。動画プレーヤーは MPC-HC。結果は以下。

Decode_i73770S


意外なことに、Full HD サイズまでは H.264 と H.265 の負荷に差が無い。4K2K では差が出ている。

もしかしたら、H.264 の GPU 支援は効いていないのかもしれない。4 スレッドの i7-7500U で H.264 Full HD の負荷が 7% だったのに対し、8 スレッドの i7-3770S の負荷が 9% なのは不自然に思える。GPU 支援が効かずに CPU で処理しているから負荷が高いのではないか。

CPU パワーごり押しだとしても、旧世代の i7 でも、H.264 も H.265 も問題なく再生できている。

【追記】
VLC プレーヤーで再生したところ、H.265 は H.264 の 1.5 倍くらいの再生負荷となった。MPC が利用している H.265 デコーダーが優秀ということなのか?

H.264 / H.265 再生負荷メモ(Core i7-7500U)

H.264 でエンコードされた動画と、H.265 でエンコードされた動画をそれぞれ再生した時の、CPU / GPU 負荷がどれくらいか、のメモ。

再生環境は NEC LAVIE Hybrid ZERO で、CPU は Intel Core i7-7500U(2 コア 4 スレッド)、GPU は内蔵の Intel HD グラフィックス 620(QSV 6 搭載)。H.264 / H.265 のデコードは GPU のハードウェア支援がある。

セカンドディスプレイに Full HD のモニターを接続し、セカンドディスプレイで動画を再生した時の負荷を計測。動画プレーヤーは MPC-BE。結果は以下。

Decode


第 7 世代の Core プロセッサーでは、CPU 負荷・GPU 負荷ともに、H.264 と H.265 でほとんど差が無いようだ。

以下に、CPU 負荷の推移のグラフを貼っておく。赤線部分が動画を再生している時の負荷。

H264_HDH.264 / HD

H264_FHDH.264 / Full HD (30 fps)

H264_FHD_60H.264 / Full HD (60 fps)

H264_4KH.264 / 4K2K

H265_SDH.265 / 640 x 360

H265_HDH.265 / HD

H265_FHDH.265 / Full HD

H265_4KH.265 / 4K2K



AQUOS PAD 壊れてなかった

SHARP AQUOS PAD(タブレット)が壊れたと思ってスマホを買ったが、実は壊れてなかったことが判明。

症状としては arrows M02/RM02 と同じで、原因は Google Play 開発者サービスの不具合だった。AQUOS PAD (SH-05G) のAndroid バージョンは 5.0.2 で、当時の Google Play 開発者サービスのバージョンは 12.8.72 なので、不具合の影響を受けた。

GooglePlay現在は Google Play 開発者サービスがバージョンアップされて 12.8.74 になったので、最新の Google Play 開発者サービスをインストールすることにより症状が治った。

Google Play 本体が起動しない症状の中で、Google Play 開発者サービスのバージョンアップのやり方も先の記事に記載があったが、残念ながら AQUOS PAD はその方法ではバージョンアップできなかった。端末を探す機能を OFF にしようとしてもできなかったのだ。

仕方が無いので、AQUOS PAD を再度初期化。これにより最新の Google Play 開発者サービスがインストールされ、問題解決。

また、たまにしか使わないので最初気付かなかったが、FREETEL Priori 3S も同様の症状に陥っていた。こちらは Android バージョン 5.1。

やはり端末を探す機能が OFF にできず、そのままでは Google Play 開発者サービスをアップデートできなかったので、AQUOS PAD から Google Play 開発者サービスの apk を移すことにより、Priori もバージョンアップ完了し、症状が治った。

というわけで、結果論としては、新しいスマホを買う必要はなかったが……。結構気に入ったしまぁいいか。



Visual Studio の GitHub で SSL 証明書エラー

GitHub Extension for Visual Studio で GitHub にプッシュしようとしたところ、
unable to access 'https://github.com/ ...': SSL certificate problem: self signed certificate in certificate chain
というエラーが出てプッシュできなくなっていた(今まではできていた)。

類似の事例における暫定対処法はネット各所に記載がある。Visual Studio での場合は、プロジェクトフォルダー配下の .git フォルダー内にある config ファイルの末尾に、

[http]
 sslVerify = false
を追加すればひとまずプッシュできるようになる。

ただ気になるのは、GitHub Extension for Visual Studio なんてものすごいユーザー数がいるだろうに、最近 Visual Studio でこのエラーになっている人が見当たらなかった。

もしかしてうちだけ?


現金不要! 飲み会費用をスマホアプリ「Kyash」で簡単に集金する方法

飲み会などの幹事が「割り勘」費用をみんなから現金で集めるのはかなり気を使う作業ですが、個人間支払いアプリ「Kyash」を使えばスマホで簡単に集金できます。現金を扱わない(支払う側はクレカで払う)ことによる様々なメリットが享受できます。

なお、クレカ番号は幹事には伝わらないので安心です。

幹事側のメリット

  • 釣り銭のやり取りが不要になる
  • やたら小銭が貯まる、という事態を避けられる
  • 「払った」「払ってない」のもめ事から解放される(もらった人が一覧される)
  • みんなが Kyash で払うとスピーディーに集金が完了する

支払う側のメリット

  • クレジットカードのポイントが貯まる
  • 「1 万円札しかないからガムでも買ってくずそう」という必要が無くなる
  • 「払った」「払ってない」のもめ事から解放される(送金履歴が残る)
  • みんなが Kyash で払うと待ち時間が短くなる
  • お小遣い制のパパにも優しいかもしれない

準備

kyash幹事側・支払い側ともに、最初の一回は Kyash アプリのインストール・設定が必要となります。

しかし、類似のサービスでは必要となる身分確認が Kyash は不要なので、お手軽さは随一だと思います。

なお、うたい文句ではアプリ不要のように言っていますが、少なくとも私が試した限りでは、実際には「アプリが必要です」と表示されました。

以下の手順で、Kyash アプリのインストール・設定を行います。
  1. Google Play / App Store で Kyash アプリを検索・インストールします。
  2. 会員登録アプリを起動して「Facebook で始める」「メールアドレスで始める」のいずれかを選び、会員情報を登録します。姓名両方を入力する必要があるようです。
  3. クレジットカードの情報も登録します。支払時は、登録したクレジットカードから引き落とされます。
  4. 安全のために、アカウント→セキュリティでパスコードを設定しておくと良いでしょう(設定しなくても集金・支払いは可能)。
さらに QR コードアプリを入れておくと、集金がラクになります。幹事側は、QR コード生成機能を併せ持つアプリが良いです。私は、QR コードスキャナーを使っていますが、同等の機能を持っていればどのアプリでも構いません。

集金手順

集金相手を選ぶ方法はいくつかありますが、飲み会の会費徴収のように「複数人から同じ金額を集金する」場合は、請求リンクを使う方法が一番簡単だと思います。
  1. Kyash アプリを起動し、ホーム画面右下の「+」(プラス)マークをタップし、続いて「請求」をタップします。
  2. 相手を選ぶ「相手を選ぶ」をタップします。
  3. 相手を選ぶ2「請求リンクを作成」をタップします。
  4. 画面が戻り、「相手を選ぶ」が「請求リンクを送る」に変化します。
  5. 電卓「¥0」をタップし、1 人当たりの集金金額を入力します。電卓になっているので、総額と人数の割り算もこの画面で行えます。
  6. メッセージ入力必要に応じてメッセージを入力してから、「確認画面へ」をタップします。
  7. 確認画面集金内容を確認し、「リンクを作成」をタップします。
  8. sharehttps://kyash.me/payments/ で始まる URL が作成されます。この URL をメール・SNS の DM 等、何らかの手段で相手に送ります。その場にいる複数人に手早く送るには QR コードがラクだと思いますので、ここでは QR コードの方法を説明します。
  9. アプリ選択「その他の方法」をタップして、アプリ選択画面で QR コードアプリを選択します。
  10. QRコード請求 URL が QR コードとして表示されるので、支払ってもらうみなさんに QR コードを読み込んでもらいます。

支払い手順

  1. 幹事から請求リンクを受け取ります。QR コードの場合は、QR コードアプリで QR コードを読み込みます。
  2. ブラウザ請求リンクをタップすると、ブラウザに請求内容が表示されますので、内容を確認の上、「Kyash アプリで支払う」をタップします。
  3. Kyash アプリが起動するので、画面の指示に従ってスワイプすることで、支払いが完了します。

補足

幹事側は、集金した金額をオンラインショッピングのクレジットカード払いなどで使うことができます。また、他の飲み会で支払う側になった時は、集金した金額の中から支払うことができます。

現金として引き出すことはできません。

シェア画面(請求リンクの URL が表示される画面)に最初から QR コードを表示しておいてくれるといいんだけどな……。

リンク



LINQ で SQLite warning (284)

C# の LINQ to SQLite を使って作ったアプリを動かしていると、
SQLite warning (284): automatic index on sqlite_sq_C473B20(program_id)
という警告が Visual Studio の出力画面に表示された。

program_id 列に自動的にインデックスを張ったよ、という警告だが、手動で program_id にインデックスを張っているにも関わらず警告が出る。というよりテーブル名が sqlite_sq_C473B20 というような名前なので、何らかの一時テーブルっぽい。

ネットを探してもこれという解決策が見つからなかったが、LINQ で左外部結合(LEFT OUTER JOIN)をしているのが悪さをしているのかもしれない。

LINQ to SQLite で左外部結合をする際は、
var aQueryResult =
from s in aTableSong
from p in aTableProgram.Where(x => x.Id == s.ProgramId).DefaultIfEmpty()
where s.Name == "hoge"
select new
{
s,
p
};
もしくは
var aQueryResult =
from s in aTableSong
join pp in aTableProgram on s.ProgramId equals pp.Id into gj
from p in gj.DefaultIfEmpty()
where s.Name == "hoge"
select new
{
s,
p
};
のように記述しているが、LINQ を使わずに
oCmd.CommandText = "SELECT * FROM t_song LEFT OUTER JOIN t_program ON t_song.program_id = t_program.program_id"
+ " WHERE t_song.song_name = 'hoge'";
のような古来の記述にして ExecuteReader() したところ、警告が出なくなった。

自動でインデックスを張る作業が重いのか、警告メッセージを表示する作業が重いのか、修正前のコードは実行速度もすこぶる遅い。

該当部分だけできちんと測定したわけではないが、全体の実行処理速度は、修正前で 6 分かかっていたものが、修正後は数秒で完了するようになった。

ひとまずは解決したが、できれば LINQ で記述したい……。

LINQ での解決策をご存じの方がいらっしゃいましたらご教示下さい。


新しいタブレットが欲しいが……

今使っているタブレット、SHARP AQUOS PAD SH-05G は 2016 年 1 月頃に購入したので、そろそろ 2 年になる。

新しいタブレットを購入しても良い時期かなと思って、どんなのがあるか見てみたのだが……。

7 インチタブレット、もしくは、6 インチ後半のスマホで LTE が使えるスペック高めなものが、そもそもあまりラインナップが無い。人気無くなったんだねぇ。ガラケーとの 2 台持ち組としては、大きい画面が嬉しいんだけど。

7インチタブレット





改めて AQUOS PAD のコンパクトさがわかる。7 インチなのに、6.8 インチ機よりも高さが 1cm ほど低い。さすがに幅は大きいが、重量も軽い。

なので、買い換えても、あまり進化した感が無い。この中なら、ZenFone 3 Ultra がメモリ 4GB なので、性能的にはアップしそうではあるが……。

うーんイマイチ。

別件で、ルーター代わりにたまに使っている FREETEL Priori3S LTE(FTJ152B)、使用頻度はまれなのに、電源ボタンが死にかけて反応がすこぶる悪い。安かろう悪かろうを地で行く感じで、こちらもそろそろ買い換えなくては……。

マシンスペックまとめ(モバイルマシン:LAVIE Hybrid ZERO)

lavie新しく購入したモバイルノート PC「LAVIE Hybrid ZERO」のスペックを整理。

購入価格は 219,770 円。

パーツ型番
名称NEC LAVIE Hybrid ZERO カタログモデル
(PC-HZ750GAG)
ディスプレイ13.3 型ワイド LED IPS液晶(タッチパネル対応)、1920 x 1080(フル HD)
CPU
Intel Core i7-7500U (Kaby Lake)
※物理 2 コア、HT 有り(論理 4 コア)、実クロック 2.70 GHz(Turbo Boost 3.50 GHz)、TDP 15W、14nm プロセス
メモリ
8GB
(LPDDR3 SDRAM)
ビデオカード
オンボード
(Intel HD グラフィックス 620)
サウンドカード
オンボード
有線 LAN
なし
無線 LAN
IEEE802.11ac/a/b/g/n 準拠(最大 867 Mbps)、Wi-Fi Direct 準拠、Bluetooth Smart Ready 準拠
WAN
なし
SSD
256 GB
バッテリー
約 10.0 時間駆動
質量
本体 831g + AC アダプタ 192g = 1,023g

ノートパソコンはこれまで Let's note を使っていて、6 年前に購入したパソコンにも関わらず、通常使う分には全く問題がなかった。しかし、HDMI で外部ディスプレイ出力する際、フル HD 60 fps などの重い動画を再生できないことが判明(恐らく内蔵 GPU が弱い)。そこで新しいのを買うことにしたのだが、条件としては、
  • 液晶は 13.3 インチ程度まで(大きすぎると持ち運びづらい)
  • 本体重量は 1kg 以下が望ましい(重いと持ち運びづらい)
  • メモリは 8GB 欲しい
  • HDMI ポート必須
  • USB 3.0 / 3.1 ポート必須
  • タッチパネル対応が望ましい
で、ヨドバシとビックを眺めてみた。店頭に並んでいる分だけしかチェックしなかったので、色々と漏れはあるのだが、
  • 東芝 dynabook:薄くてスタイリッシュで良い感じなのだが、軒並み HDMI が無かった(今 Web 見たら、USB ポートにアダプタ付けて HDMI 出力できるらしい)
  • SONY VAIO:メモリが 4GB しかなかった
  • ASUS:メモリが 4GB しかなかった、タッチパネル非対応
  • LG:全体的に安価なのが魅力的だったが、13.3 型は HDMI が無かった(大きいのには HDMI があったが)、タッチパネル非対応

LAVIE と最後まで迷ったのは、Panasonic Let's note。コンパクトな RZ が店頭にあれば買ってたかもしれないが、残念ながら品切れだった。タブレットになる XZ は、タブレットにならなくていいんだけどというのと、価格が少しだけ LAVIE より高かったことを考え、総合的には LAVIE かな、となった。



Windows 10 で日本語入力が突然不可能になるのは Firefox が原因か?

PC を使っている際、突然、日本語入力ができなくなることがある。

IME のアイコン上は日本語入力モードになっているにもかかわらず、実際には直接入力になってしまう。

特定のアプリケーションのみで入力できなくなるのではなく、アプリケーションにはよらない。

IME は普段は ATOK を使っているが、MS-IME に切り替えても、やはり入力できないままである。

一旦キーボードの USB を抜いて、再度 USB を挿しても、入力できないままである。

ところが、起動している Firefox(50.1.0)を終了させると、日本語入力が可能となった。

Firefox が何らかの影響を及ぼしていそうな感じがする。

ちなみに OS は Windows 10 Pro 64 ビット。

CORE SERVER / バリューサーバー / XREA 比較メモ

同じ GMO グループで提供しているレンタルサーバーで、価格帯も似ていて、違いがよく分からなかったので、比較メモを整理してみた。

CORE SERVER
CORE-MINI
バリューサーバー
エコ
XREA
Plus
初期費用無料1,000 円無料
月額(12 ヶ月契約時)198 円167 円191 円
ディスク容量
60GB
50GB
10GB
転送量上限(月)
100GB
150GB
90GB
CRON ジョブ



MySQL
10
1
5
マルチ・サブドメイン
50
25
40
共有 SSL



商用利用
不明


再販


×

XREA Plus が 1 番の項目は無いので、XREA Plus は選ばない方が良いのかと思う。

CORE とバリューを比較すると、価格面では、初期費用を考えると CORE の方がお得。その他もだいたい CORE の方が優れている。

というわけで、ほとんどの場合は CORE を選ぶ方が良さそう。

耀脈の効果・発動条件を検証(暁の軌跡)

対スコット戦英雄伝説暁の軌跡のクオーツとして登場する「耀脈」(おそらく読み方は「ようみゃく」)。敵の落とす地・水・火・風属性のセピスが属性ごとに 3 個増えるというありがたいクオーツだが、詳しい効果というか、発動条件というかが分からなかったので、検証してみた。

主に知りたかったのは、
  • 控え(編成の 5 人目~8 人目)キャラが耀脈を持っていていも効果は出るのか
  • 複数人が耀脈を持っていると効果が重複するのか

の 2 点だったのだが、意外な結果になった。

検証に使用したバトルフィールドは、戦闘訓練序章「先輩遊撃士の特訓 (1)」のバトル 24。敵が 1 体(スコット)のみ登場するので、検証しやすかったため。

耀脈なしの場合

耀脈なしまずは、耀脈がない状態の結果を確認。誰にも耀脈を付けずに、バトル 24 を 7 回戦った。

結果は右の図の通り(耀脈の影響を受けない時・空・幻は省略)。

セピスゲット得られるセピスの数が一定ではないことがわかる。得られる数は 0~3 のようだが、飛行船の支援で増えている可能性はある。

耀脈あり(耀脈持ちが倒す)の場合

リースに耀脈次に、耀脈の効果がきちんと出ると思われるパターン、「耀脈を持ったキャラが、敵にとどめを刺す」場合の結果を確認。

先頭キャラのリースに「耀脈 1+5」(確率 45% で 3 個増加)を持たせ、リースがトドメを刺すようにして 7 回戦った。

耀脈ありA結果は右の図の通り。

5~7  回目の試行では、耀脈なしではありえなかった 4 個以上のセピスが落ちており、耀脈の効果が出ているとみて良い。

耀脈の説明文「属性ごとに 3 個増える」の解釈だが、耀脈の効果が発動した場合に
  • 問答無用で 3 個増える
  • 敵が落とすセピスが 3 個増える(1 個落とすと 4 個になるが、0 個なら 0 個のまま)
の 2 パターンのうちどちらなのだろう、と疑問に思っていたが、結果を見る限りでは「問答無用で 3 個増える」ようだ(0 個セピスがないため)。

耀脈が発動したのかどうか微妙なのが、1 回目の結果だ。耀脈無しでも 3 個のセピスを落とすことはあるため、耀脈が発動せずにたまたますべてのセピスが 3 個おちたのか、それとも、元々 0 個のセピスだったのに耀脈が発動して 3 個になったのか、どちらの可能性もある。

とはいえ、耀脈無しのセピスの落ち方から見て、元々 0 個のセピスだったものが耀脈の効果で 3 個になった可能性の方が高そうなので、ここでは、耀脈発動扱いとする。

以上により、7 回中 4 回耀脈が発動した。スペック通りの 45% の発動確率ならば、7 回中 3~4 回発動となるので、スペック通りの発動といえる。

耀脈あり(耀脈持ち以外が倒す)の場合

次に、パーティーに耀脈持ちを組み込むが、耀脈持ち以外が敵にトドメを刺した場合の結果を確認した。

先頭キャラのリースに「耀脈 1+5」を持たせた上で、リースはトドメを刺さず、他のシェラザード・エンネア・クロエのいずれかがトドメを刺すようにして、7 回戦った。

耀脈ありB結果は右の通り。

驚きである。1 回も耀脈が発動していない。

つまり、耀脈を発動させるためには、耀脈持ちのキャラが敵にトドメを刺す必要があるということだ。

理論上、1.5% 程度の確率((1-0.45)^7)で、「耀脈持ち以外がトドメを刺しても効果が発動する仕様だけど、運悪くたまたま発動しなかった」だけであったとも考えられるが、それよりは、耀脈持ち以外がトドメを刺しても発動しないと考える方が妥当だろう。

まとめ

今回の検証の結果、以下の結論とする。
  • 耀脈を持っているキャラが敵にトドメを刺した場合のみ、所定の確率で耀脈の効果が発動する
また、当初知りたかった事柄についても、自動的に導き出される。
  • 控えのキャラが耀脈を持っていても効果は無い(途中で交代してトドメを刺す場合を除く)
  • 複数人が耀脈を持っていても効果は重複しない(トドメを刺せるキャラが増えるというメリットはある)
なお、今回の検証は 2016/09/20 に行ったものなので、今後の仕様変更等で変わる可能性はある。

願わくば、パーティーの誰かが耀脈を持っていれば、耀脈の効果が発動するように仕様変更されて欲しい……。

Windows 10 で Visual Studio が動かない

Windows 10 に Visual Studio 2015 Community をインストールしたところ、何度やってもうまく動かないので、症状を整理しておく。

PC 環境はこちらの通りで、OS を Windows 7 Professional から Windows 10 Pro にアップグレードし、その際、クリーンインストールしている。

第 1 回インストール

LP初回は、Windows 10 インストール後、もろもろ必要なソフトをインストールした後に、VS 2015 をインストール。当時はまだ VS 2015 Update 2 の時だった。

英語版をインストールが無事に完了し、引き続いて Language Pack をインストールしたところ、Language Pack のインストールが終了しないという事態に。中止することもできず、強制終了させても、再起動すると再びインストールが始まって終了しないの繰り返しなので、やむなく Windows 10 を再インストールすることに。

第 2 回インストール

Windows 10 再インストール後、同じ手順を繰り返したが、やはり Language Pack のインストールがうまくいかない。

システムの回復で、Language Pack をインストールする前の状態に戻し、VS 2015 Update 2 を英語の状態で運用する羽目になった。

第 3 回インストール

時は進み、VS 2015 Update 3 が登場。

ここで再び、VS 2015 の英語版と Language Pack のインストールを試みた。

しかしやはり、Language Pack のインストールが完了しない。

第 4 回インストール

ここで、vs_community_JPN.exe(最初から日本語版)があることに気付く。

記憶が曖昧だが、VS 2015 英語版がインストールされている状態で日本語版をインストールしてみたところ、インストールが上手くいかず、では英語版をアンインストールしようとしたら、アンインストールもうまくいかず、だったと思う。

仕方が無いので Windows 10 をまた再インストールし、何はともあれ最初にと、他のソフトを入れる前にいの一番で VS 2015 日本語版をインストール。

するとインストールが無事に完了し、めでたしめでたし。

Splash……と思いきや、起動してみると、スプラッシュスクリーンの状態から進まない。

試しに、2 つ目のインスタンスを起動してみたところ、今度は普通に起動した。

2 回起動すれば良いなら、それで我慢するか、とも思ったが、よく見ると、1 つ目のインスタンスが CPU 1 つをフルロードにしている。しかも、2 つ目以降のインスタンスは、終了させるとゾンビになってやはり CPU をフルロードにしてしまう。

これでは実用にならない。

第 5 回インストール

実環境はあきらめて、仮想環境の Windows 10 に Visual Studio 日本語版を入れてみた。

するとすんなりインストール&起動できた。

仕方なく、今はこれで使っているが、やはり仮想環境での VS はかなりストレスである。

第 4 回その後

VSIXAutoUpdateいつの間にか、VS が 1 つ目のインスタンスから起動するようになっていた。

とはいえ、終了後にゾンビ化して CPU を食うのは相変わらず。

また、VS を起動しなくても、VSIXAutoUpdate.exe が CPU 1 つ分を消費している。




唄詠での moresampler の使い方

UTAU 音源自動トークツール「唄詠」で、音声合成エンジンに moresampler を使う方法のまとめです。唄詠 Ver 7.24、moresampler 0.7.0 にて確認しています。

moresampler をダウンロード・解凍します。

moresampler を解凍すると含まれている「moreconfig.txt」をメモ帳などで開き、「Output settings」のところを「resampler-compatibility on」に修正します(デフォルトでは off になっている)。
# === Output settings ===
output-sampling-rate 44100
output-bit-depth 16
resampler-compatibility on

唄詠を起動し(管理者権限で起動することを推奨します)、「新規登録」ボタンをクリック。

音源の新規登録音源の新規登録ウィンドウが開きますので、oto.ini に好きな音源の oto.ini を指定します。

続いて、調声プラグイン(やまなみ)の「設定」ボタンをクリック。

やまなみやまなみの設定ウィンドウが開きますので、「wavtool の場所」では、UTAU に付属している wavtool.exe を指定します。

「resampler の場所」では、先ほど解凍したファイルに含まれている moresampler.exe を指定します。

「試聴」ボタンをクリックすると、moresampler で合成された音声を聞くことができます。

「OK」ボタンをクリックして、音源を登録すれば完了です。

唄詠と moresampler を使った HANASU の例を以下に挙げます。

なお、音声合成エンジンを moresampler にすると、本家 UTAU での合成ではなくなります。UTAU 音源の利用規約に「本家 UTAU でのみ使用可」のような制限がある場合は moresampler は使えませんので、個々の UTAU 音源の利用規約を確認してお使いください。

黒ウィズのバッテリー持ちメモ

黒猫のウィズをやっていると、バッテリーががんがん減っていくが、何時間連続プレイできそうか、ざっくりと計算したメモ。

新型 AQUOS PAD(SH-05G)

黒猫のウィズ_SH05G右のバッテリーグラフで、一番右の傾斜の急なところが、黒ウィズをやっているところ。

傾斜を測定すると、横 146 ピクセル進んで縦 381 ピクセル下がっている。

縦軸の 100% は 1,229 ピクセルなので、単純に比率計算(146:381=x:1229)すると、バッテリーを 100% 消費するのに横軸は 471 ピクセル進むことになる。

横軸は 1 時間当たり 80 ピクセルなので、471 ピクセルは 5 時間 53 分。

というわけで、6 時間弱バッテリーが持ちそう。

旧型 AQUOS PAD(SH-08E)

黒猫のウィズ_SH08E右のバッテリーグラフで、一番右に近い傾斜の急なところが、黒ウィズをやっているところ。

傾斜を測定すると、横 140 ピクセル進んで縦 512 ピクセル下がっている。

縦軸の 100% は 1,188 ピクセルなので、単純に比率計算(140:512=x:1188)すると、バッテリーを 100% 消費するのに横軸は 325 ピクセル進むことになる。

横軸は 1 時間当たり 90 ピクセルなので、325 ピクセルは 3 時間 36 分。

というわけで、3 時間半程度バッテリーが持ちそう。

旧型はもう 2 年くらい使っていて、だいぶバッテリーもへばっているから少ないのだろう。

それ以前に黒ウィズがバッテリー食い過ぎなのではあるが。

AQUOS PAD(SH-05G)使用感メモ

AntutuNTT docomo 2015 夏モデルの 7 インチタブレット「AQUOS PAD」(SH-05G、シャープ製)について、格安 MVNO SIM(IIJmio)で 1 ヶ月半程度使った感想を。

全体的な使い勝手としては、軽くて薄くてコンパクト、電池も長持ちというところで、満足感は非常に高い。今までに使った 7 インチタブレットとしては Nexus 7(2012)と旧型 AQUOS PAD(SH-08E)があるが、今回の AQUOS PAD が一番良い。

AnTuTu スコアは電源接続時で 43,528 と、今時のスマホ類の中では高いわけではないだろう。

性能面は実用十分ではあるものの、バッテリー動作時は、3D 系がちょっと引っかかる動きをすることがある。自分が使っている 3D 描画は黒猫のウィズくらいなので、ちょっと動作が引っかかっても全く問題ないが……。

バッテリー何も操作をせずに放置した状態での、バッテリーの減り具合は右のような感じ。

Android 5 はバッテリー駆動時間が表示されないが、グラフ上、13:00~21:00 のおよそ 8 時間で、バッテリーは 1% しか減っていない。1 時間当たり 0.1~0.2% 程度の消費。

単純計算で、1 日 3% バッテリーが減ると 33 日間バッテリーが持つことになり、かなりの長寿命タブレットと言える。

なお、メールと連絡先以外の Google アカウント同期は OFF にしてあり、docomo のプリインストールアプリも多くをアンインストールまたは無効化してある。

SH-05G は MVNO SIM でもテザリングができる貴重な機種だが、テザリングの性能については不満あり。テザリングされてつながったほうの端末(子機側)でパケ詰まりのような症状が発生する。ブラウザ(Chrome)でのインターネット閲覧も微妙な感じだが、特に黒猫のウィズの通信がひどく、かなり通信時間がかかったり、頻繁にタイムアウトしたりする。テザリング性能については改善を望みたい。

その他、ハードウェア面では、クレードルでの充電ができないのは残念。旧型 AQUOS PAD はクレードルに挿せば充電できたので、USB ケーブルをさすよりも手軽だった。

というわけで、不満ゼロというわけにはいかないが、軽くて長持ちという基礎部分が非常に良いので、5 段階評価でいえば文句なく最高値 5 のレベル。

AQUOS PAD で MVNO テザリングできた

SH05GNTT docomo 2015 夏モデルの 7 インチタブレット「AQUOS PAD」(SH-05G、シャープ製)を入手。

AQUOS PAD のスペックは公式サイトに記載があるが、主なものは、
  • ディスプレイ:7.0 インチ IGZO(1200×1920)
  • CPU:Snapdragon 810(MSM8994)オクタコア(2GHz×4+1.5GHz×4)
  • メモリ:2GB
  • ストレージ:32GB
  • 重量:216g
  • 防水・防塵

テザリングの様子docomo のタブレット・スマホは、格安 SIM だとテザリングできないものがほとんどだが、AQUOS PAD(SH-05G)は格安 SIM(IIJmio)でテザリングができた。

右の写真は、AQUOS PAD(左側)をルーター側としてテザリングし、Wi-Fi 接続しかできない Nexus7-2012(右側)でインターネットアクセスしている様子。

手順は以下。写真類はクリックで拡大する。

手順

  1. WiFiテザリングを設定AQUOS:[Android 設定→無線とネットワーク→もっと見る→テザリング→Wi-Fi テザリングを設定]で、あらかじめルーターとしての設定を行っておく。ネットワーク名とパスワードを好きに設定する。
  2. APNAQUOS:[Android 設定→無線とネットワーク→もっと見る→モバイルネットワーク→アクセスポイント名]で、APN が MVNO(IIJmio)になっていることを確認する。
  3. テザリングONAQUOS:画面上部のドロワーで Wi-Fi テザリングを ON にする。この時、(テザリングではないほうの)Wi-Fi は OFF になるが気にしなくて良い。
  4. Nexus7:[Android 設定→無線とネットワーク→Wi-Fi]で、手順 1 で設定したネットワーク名を探し、接続する。

テザリング中以上で、テザリングにより、Nexus7 でインターネットにアクセスできるようになった。

もちろん、引き続き AQUOS もインターネットにアクセスできる。右の写真で、左上の渦巻きがテザリング中であることを示している。

接続中Nexus7 が AQUOS に接続すると、AQUOS 側のドロワーの表示が「Wi-Fi テザリングが有効です:1 台接続中」となる。

テザリング中のモバイルネットワークテザリング中は、AQOUS の[Android 設定→無線とネットワーク→もっと見る→モバイルネットワーク]で、「アクセスポイント名」がグレーアウトされて変更できないようになっている。

なお、一度、AQUOS のインターネットアクセスができなくなってしまったことがあった(Nexus7 もダメ)。この時は、APN 設定が sp モードに変更されていた。APN を IIJmio に戻すことで解決した。

余談だが、旧型の AQUOS PAD(SH-08E)は MVNO でのテザリングができない。

おすすめプログラミング言語を考える(UTAU プログラマー向け)

「UTAU プラグインを作ろうと思うんだけど、プログラミング言語は何が良いんだろう?」

このようなお悩みをたまに見かけますので、今回はそれを考えてみます。

ちなみに、UTAU 以外で既に十分なプログラミング経験のある方は、普段お使いの言語で作れば問題ありません。プラグインの仕様や、各言語での実装例(半音上げプラグイン大会のエントリーなど)を見れば、あっという間に作れるでしょう。

ここでは、あまりプログラミング経験のない方のために考えることにします。

言語選びのポイントは以下です。
  • 世間で人気の言語であること
  • GUI が作りやすいこと
  • プラグイン利用者側の追加ソフトインストールが不要であること
各項目について、次節以降で詳しく見ていきます。

世間で人気の言語であること

夢も希望もない話かもしれませんが、初心者であるほど、長いものに巻かれるほうが無難です。

世間で人気の言語(利用者が多い言語)であれば、入門書や入門サイトも数多く存在しますし、ハウツーやトラブル対策の情報も豊富です。あなたがトラブルに見舞われたとして、人気の言語ならば、他にも多くの人が似たような経験をしているはずなので、すぐに対応策を探せるでしょう。

逆に、マイナー言語の場合、そもそも開発環境自体のバグが残っていたりすることもあり、余計なトラブルに巻き込まれかねません。

TOIBE_201601人気の言語は、TOIBE が定期的に測定しています。クローズドソースも含め、世界で使われている言語を推定しているランキングです。古めの言語の順位が上がってしまう傾向にありますが、十分参考になります。2016 年 1 月のランキングでは、以下の順位です。
  1. Java
  2. C
  3. C++
  4. C#
  5. Python
  6. PHP
  7. Visual Basic .NET
  8. JavaScript
  9. アセンブラ
  10. Ruby
Java は最近ずっと 1 位をキープしています。パソコンの世界だけ見ると Java で作られたアプリはそこまで多く感じられませんが、スマホ(Android)アプリは Java がメインであり、スマホ開発が盛んになっていることの現れでしょう。

C と C++ は順当に高ランキングを獲得していますね。歴史の長い言語なので、直近の勢いという意味ではそれほどではありませんが、しっかりしたライブラリなどの多くは C/C++ ですし、普段使っているようなパソコンソフトだけではなく、裏方(ドライバ、ライブラリ、ファームウェア等)としても様々な場面で使われています。

4 位の C# はメジャー言語の中では後発組です。短期間でランキング上位にのしあがったのは、マイクロソフトの影響力が大きいです。とはいえマイクロソフトの影響力 があるのはパソコンの世界の話で、スマホではあまり影響力はありません。スマホ全盛の時代に高ランキングを獲得しているのは、C# そのものの良さがあるからでしょう。

5 位の Python は、日本ではそこまでメジャーではありません。プロの求人ランキング(横軸)を見ても、マイナー言語と同等の求人件数しかありません。しかし、世界に目を向ければ、Google 先生が Python 押しであることが大きな追い風となり、ホットな言語と言えます。

6~10 位は、アセンブラを除いてお手軽系の言語が並んでいます。

これら 10 言語をおすすめ言語候補として、以降でさらに絞り込んでいきましょう。

GUI が作りやすいこと

ほとんどの UTAU プラグインには GUI(ウィンドウやボタンなどの画面)が必要になってきます。GUI を簡単に作れるかどうかは、生産性に大きく影響します。

言語ランキング 1 位の Java は初期の頃から GUI に力を入れてきており、GUI は作りやすいと言えるでしょう。私自身は Java での GUI 開発経験はありませんが、例えば Java の統合開発環境として使える Eclipse であれば、RAD ツール(GUI をドラッグアンドドロップで簡単に設計できるツール)の Swing Designer が標準搭載されているようです。

言語ランキング 2 位の C での GUI 開発は地獄です。仕事でやむを得ずというのならともかく、UTAU プラグインの GUI を作るために C を用いるのは正気の沙汰ではありません。

言語ランキング 3 位の C++ での GUI 開発は微妙です。

C++ 開発環境の鉄板である Visual Studio において、GUI 開発は以前よりはマシになりました。RAD ツール付きの Visual Studio が無償で利用できるようになったためです。しかし、付属の C++ ライブラリの使い勝手は悪く、慣れるまでにかなりの時間を要するでしょう。

別の C++ 開発環境として C++Builder が挙げられます。優秀な RAD ツールで、効率的に GUI 開発が行えます。しかし、価格が高いこと、バグが多くサポート力も弱いこと(昔のセキュリティーホールが放置されたままになってたります)、(言語としてではなく)ツールとしてのユーザー数が少ないことから、おすすめはできません。

言語ランキング 4 位の C# および 7 位の Visual Basic .NET(以降 VB.NET)は GUI の開発がやりやすくなっています。開発環境は C++ の時と同じく Visual Studio ですが、使い勝手は大きく異なります。C#・VB.NET の場合は GUI が作りやすいように整備されており、また、付属のライブラリ(.NET)も扱いやすいです。

言語ランキング 5 位の Python は、標準では GUI の開発は大変です。RAD ツールとしては Monkey Studio が利用できるようですが、日本語の情報がほとんどありません。しかし、IronPython という、.NET と組み合わせたバージョンの Python は、GUI を開発しやすくなっています。ただし、日本語の情報はあまり多くないようですので、プログラミングに不慣れな人が挑戦しようとすると困難が待ち受けるでしょう。

言語ランキング 6 位の PHP と 8 位の JavaScript はウェブ専用のプログラミング言語なので、今回は除外します。

言語ランキング 9 位のアセンブラでの GUI の開発は……理論上は可能ですね。しかし現実は無理でしょう。

言語ランキング 10 位の Ruby での GUI 開発は、Python と似たような状況です。標準では GUI は作りづらいものの、.NET と組み合わせた IronRuby があります。ただし、IronRuby の開発は止まっており、Python よりも状況は悪いです。

以上により、人気の言語でかつ、標準で GUI 開発を行いやすいのは、Java、C#、VB.NET であることがわかりました。

プラグイン利用者側の追加ソフトインストールが不要であること

UTAU プラグインを使うために、プラグイン以外にも別途あれもこれもソフトをインストールしてください、だと、プラグイン利用者としては不便ですし、インストール作業を面倒くさがってプラグインの利用を諦めてしまうことも多いでしょう。

まず Java ですが、実行ファイルを生成することはできず、別途、JRE(Java Runtime Environment)と呼ばれる追加ソフトが必要となります。残念。

とはいえ、ウェブブラウザのプラグインをインストールする際に一緒に JRE を入れている利用者もいますので、減点要素はそこまで大きくありません。

C#、VB.NET は実行ファイルを生成できます。別途 .NET Framework という追加ソフトが必要となるのですが、Windows に初めからインストールされていたり、あるいはすでに別のソフトを使う際に利用者が自分でインストールしていたりと、たいていの場合はインストールされていることでしょう。とはいえ、.NET Framework のバージョン違いによってインストールが必要になることもあり、減点要素はゼロではありません。

以上により、これまで絞り込んだ言語の中で、この項目を完璧に満たせる言語はありません。

総合評価

ここまでで、有力候補は Java、C#、VB.NET の 3 つに絞られました。この 3 つに順位を付ける場合、私は以下のようにします。
  1. C#
  2. VB.NET
  3. Java
Java は実行ファイルを生成できないので 3 位。実際に UTAU プラグインを配布する際に、一手間必要になってきます。それとは別に、Java は起動が遅いので(一度起動してしまえば早いのですが)、プラグイン利用者がちょっとイライラするかもしれません。

C# と VB.NET を比較すると、機能としては同等なのですが、C# の方が簡潔にプログラムを記述できます。また、よく言われることとして、VB プログラマーの質が低いというのがあります。VB で開発していると、ネットの「知恵」が実は微妙な情報で、それを信じてドツボにハマる、というリスクがあります。

以上により、UTAU プラグインをこれから開発するなら、最もオススメのプログラミング言語は「C#」という判断にいたします。

懸念事項としては、「プログラミング経験の少ない人が C# にチャレンジするのはハードルが高くないか」という問題です。順当に C やあるいは軽量系スクリプト言語の方が習得しやすいかもしれません。とはいえ、UTAU プラグインを作るのが目的であれば、それらの言語では目的を達成するのが困難というのがこれまでの流れです。

これから C# を勉強しはじめる場合、きちんとした書籍を購入して、体系的に C# を理解するのが結局は一番近道だと思います。C# に限りませんが、プログラミングの概念をきちんと理解するのはなかなか大変で、ウェブの Tips をつまみ食いした程度ではその場しのぎの知識しか手に入りません。

とはいえ、まず少し作ってみたいんだ、という場合は、
はいかがでしょうか。GUI アプリを C# で実際に作ってみることができます。また、
の C# の実例(エントリー 3、15、22、27(GUI))も参考になるかと思います。C# 言語の詳細については、プログラミングの基礎的な知識を前提としていますが、

がオンラインの情報としてはまとまっていると思います。


余談

今回は C# 押しということになりました。確かに C# は素晴らしい言語です。
  • 他の言語の良いところを取り入れていて使いやすい
  • GUI・ネットワーク・同期プログラミングなど周辺のライブラリも充実かつ整理されている
  • Visual Studio の支援機能がずば抜けて強力(他の環境を使う気になれないくらい)
しかし、つまるところプログラミング言語なんて何でも良いというのもまた一理あるところです。

最初にメジャー言語で絞り込みましたが、情報収集にもっと労力を注ぎ、不足するところは自分で考えることにすれば、マイナー言語でもいいわけです。例えば Lazarus は無料で GUI を簡単に構築できます。Lazarus に限定するとユーザー数は多くありませんが、Lazarus は言語としては Object Pascal でありそこそこの順位にいますから、悪くない選択肢かもしれません。

今回 1 位と 2 位の C# と VB.NET を比較した場合、VB.NET の良いところは一つも無いと言っても過言ではありませんが、C# と 3 位の Java を比較した場合、UTAU プラグイン以外にも目を向ければ、Java のいいところもたくさんあります。将来 Android アプリも作りたい、ということであれば、その準備を兼ねて Java を選択する、ということも考えられます(逆に Android アプリを C# で作る方法もありますが)。

世界の潮流で言えば、Python は「来てる」言語です。Google のクラウドサービスで何かしようとしたら Python は有力でしょう。その意味では、IronPython も挑戦しがいがあるかもしれません。

C# ももちろんですが、他の言語にも是非目を向けてみてください。

Windows Phone(Windows 10 Mobile スマホ)12 機種比較

Windows 10 Mobile を搭載した Windows Phone がついに発売された。

発売済み、および発売予定の 12 機種について、現時点で判明している部分を整理して比較表にまとめてみた。Microsoft 謹製の Windows Phone は日本では発売されないとのことなので、グレーアウトし除外している。

下の表は、クリックすると拡大する。

WindowsPhone比較

EveryPhone(ヤマダ電機)

everyphone 突如登場し、日本での Windows Phone 発売第一号の座をさらった。

HD ディスプレイ、メモリ 2GB、ストレージ 32GB を備える。全体的なスペックはミドルレンジながら、直近で発売される Windows Phone の中では最も高スペックな機種。その代わり、約 43,000 円(税込)と価格も一番高い。

KATANA 01/02(FREETEL)

発売第二号は、katana02FREETEL の KATANA 01。

驚くべきはその価格。当初は 2 万円程度が見込まれていたが、一気に値下げし、14,000 円に。この価格で買えるスマホは、Android 機でもそうそう無いのではないだろうか。

スペックは、CPU が Snapdragon 210、メモリ 1GB、ストレージ 8GB。ディスプレイは 4.5 インチ 854×480 ピクセル。ローエンドであるが、実用に耐えるレベルで動作するようである。

KATANA 01 はすでに発売されたが、上位機種の KATANA 02 は来年 1 月発売予定。HD ディスプレイと 2GB メモリ、ストレージ 16GB と、ミドルレンジの性能になるようである。

MADOSMA Q501A/Q501AO(マウスコンピューター)

既存の(Windows 8.1 の)Windows Phone を Windows 10 に進化させたもの。

スペック的には、メモリやストレージがローエンド、CPU やディスプレイはミドルレンジな感じだ。

Q501A が通常モデル、Q501AO は Office 365 付属モデル。

Q501A/AO よりも大きなサイズのスマホも登場するという話であるが、こちらについては詳細情報が無い。

Diginnos Mobile DG-W10M(サードウェーブデジノス)

ドスパラの DG-W10M は、クアッドコア CPU 搭載。CPU 型番は不明ながらも、プレスリリースに「お求めになりやすい価格」と書かれていることから、ハイクラスの CPU ではなさそう。価格を 2~3 万円程度に抑えるつもりなのだろう。

LTE のサポート状況も上々。docomo のトリプルバンドをサポートしているので、docomo 系 MVNO の SIM を使えば、全国どこでも繋がりやすい(docomo のバンドについてはこちらの記事を参照)。

Liquid M330/M320(日本エイサー)

日本エイサー の Liquid M330/M320 は、CPU 型番が明確になっている。MSM 8909 と 8209 の違いがよく分からないが、統合モデムが LTE か 3G かというだけで、CPU コアは一緒かもしれない。

M330 の価格はユーロベースを単純に為替換算しているが、日本での正式価格は不明だ。

Jade Primo(日本エイサー)

日本エイサーのハイエンドモデル。フル HD ディスプレイとヘキサコア CPU を搭載。その他もハイスペックだが、まだ不明な点も多い。

NuAns NEO(トリニティ)

デザイン性の高いスマホ。

まだ市場に出回っていない新 CPU「Snapdragon 617」(8 コア)を搭載する予定。まだ不明な点も多いが、ミドルレンジ~ハイエンドの性能になりそうだ。

WPJ40-10(geanee)

wpj40-10_img_00_p geanee の WPJ40-10 は、判明している中では最もディスプレイのサイズがコンパクト。スペックも全体的に低めなので、買いやすい価格になるのではないだろうか。

VAIO

VAIO については情報が全くない。機種名すら不明。ハイスペックな機種を出してきたりすると面白いのだが。

(番外)Lumia 550/950/950XL

Lumia-950-XL-hero-jpg 日本では発売されない Lumia シリーズについても一応。

Lumia 950 と 950XL は 2560×1460 ピクセルのディスプレイを備えるハイスペックスマホ。明示的には記載されていないものの、下位の 550 が LTE をサポートしていることから考えても、当然 LTE はサポートであろう。

最上位の 950XL が搭載する CPU は Snapdragon 810 で、発熱に問題のある CPU だが、水冷で対応するとのことなので、発熱問題もクリアしてくる可能性がある。


参考リンク

エクセルワンポイント Tips:ファイル名から日付を読み取る(関数で)

Microsoft Excel で資料を作る際、ファイル名に日付を入れている人は多いと思う。
仕様書_2015_11_28.xlsx
提案資料_20151128.xlsx

修正を行った際に別の日付のファイルが作成されることになるので、過去の資料も見ることができて便利だ。

せっかくファイル名に日付が入っているのであれば、エクセルのセルにも「更新日:2015/11/28」のようにその日付を表示したくなる。

エクセルの関数には、「最終更新日」を取得する関数が無い。「現在時刻(本日)」を取得する Now 関数や、マクロで最終更新日を取得する方法はあるが、ファイル名に日付を入れていれば、関数だけで更新日を取得できる。

yyyy_mm_dd 形式の場合

売上「売上_2015_09_01.xlsx」のように、yyyy_mm_dd 形式でファイル名を付けている場合は、セルに以下の式を入力すれば良い。

=REPLACE(REPLACE(MID(CELL("filename"),FIND(";",SUBSTITUTE(CELL("filename"),"_20",";",(LEN(CELL("filename"))-LEN(SUBSTITUTE(CELL("filename"),"_20","")))/LEN("_20")))+1, 10), 5, 1, "/"), 8, 1, "/")

右の写真のように、セルに日付が入る。

yyyymmdd 形式の場合

稼働率「稼働率_20151001.xlsx」のように、yyyymmdd 形式でファイル名を付けている場合は、セルに以下の式を入力すれば良い。

=TEXT(VALUE(MID(CELL("filename"),FIND(";",SUBSTITUTE(CELL("filename"),"_20",";",(LEN(CELL("filename"))-LEN(SUBSTITUTE(CELL("filename"),"_20","")))/LEN("_20")))+1, 8)), "0!/00!/00")

右の写真のように、セルに日付が入る。

注意点

日付の検索の目印として、年の先頭のアンダースコアを使用しているので、_2015 というように、ファイル名を付ける際、アンダースコアを忘れてはいけない。月および日は必ず 2 桁にする。8 月なら 08。

また、本関数が使えるのは 2099 年までである。





UTAU の文字コードを整理

定期的に UTAU の文字コード周りで問題が出る感があるので、備忘を兼ねて、分かる範囲でまとめておく。

Windows 版 UTAU

UTAUustWindows 版の UTAU が読み書きするファイルの文字コードは、すべてが Shift-JIS。
  • ust
  • oto.ini
  • prefix.map
  • character.txt
  • setting.ini
  • 音声合成時のバッチファイル
Shift-JIS は、Windows が伝統的に使用してきた文字コードだ。

Shift-JIS では、半角文字(半角カナ含む)は 1 バイト、全角文字は 2 バイトで表現される。例えば、「ABあ愛」は 1+1+2+2=6 バイトとなる。

Windows 版 UTAU の内部コード(メニュー・ダイアログ関連)

UTAUダイアログ※通常のユーザーはここを読み飛ばして構わない

UTAU のメニューバーやダイアログなどのリソース関連文字列は、UTAU.exe 内に Shift-JIS として埋め込まれているようだ(Ver 0.4.18 zip 版)。
  • ファイル→名前をつけて保存
  • プロジェクトの設定ダイアログ→プロジェクト名
なお、ダイアログが文字化けする場合は、末尾の参考リンクが解決策になるかもしれない。

Windows 版 UTAU の内部コード(メニュー・ダイアログ以外)

UTAU変更確認※通常のユーザーはここを読み飛ばして構わない

リソース関連以外については、UTAU.exe 内部コードは Unicode(UTF-16-LE)のようだ(Ver 0.4.18 zip 版)。例えば、「プロジェクトは変更されています。変更を保存しますか?」などのメッセージボックスで表示される文字列。

また、このことから、UTAU 実行中にメモリ上に格納される文字列も UTF-16-LE で格納されているものと思われる。

UTF-16 は、すべての文字を 2 バイトで表現する(ホントはすべてじゃないけど細かいことは気にしない)。半角文字も 2 バイトだ。なので、「ABあ愛」は 2+2+2+2=8 バイトとなる。

UTF-16 にも 2 種類あり、通常「Unicode 表」として表記されているのは UTF-16-BE(ビッグエンディアン)。で、UTF-16-BE の 1 バイト目と 2 バイト目を入れ替えたのが UTF-16-LE(リトルエンディアン)。例えば全角カタカナの「プ」は、ユニコード表(16 進数)では 30 D7 の 2 バイトで表されるが、UTAU.exe 内では逆順となり、D7 30 の 2 バイトで表される。

逆になるのは非常に分かりづらいが、これは UTAU の問題ではなく、Intel CPU の伝統なので受け入れるしかない。

UTF16とSJISUTF-16-LE は Shift-JIS との互換性は一切なく、両者で同じ文字コードをを使っている文字は無い。

しかし、バイト列レベルで見ると、半角英数については類似性があり、Shift-JIS のコードにゼロを付加した物が UTF-16-LE となる。例えば「ABC」は Shift-JIS だと 16 進数で 41 42 43 の 3 バイトとなるが、UTF-16-LE だと 41 00 42 00 43 00 の 6 バイトとなる。このため、半角英数を UTF-16-LE で保存して、Shift-JIS だと思って開くと、間延びしたように表示される(右の図をクリックして確認してほしい)。

また、プログラミングの視点で見ると、0x00 を文字列の終端と見なす C 言語などでは、何も考えずに UTF-16-LE の文字列を読み込むと、途中に出現する 0x00 のせいで、文字列が途切れてしまうことがあり、注意が必要となる。

Mac 版 UTAU(UTAU-Synth)

UTAU-Synth はよくわからないが、どうやら、oto.ini と prefix.map は UTF-8、それ以外のファイルは Shift-JIS で出力するようになっている模様。

oto.ini と prefix.map が用いる UTF-8 では、半角英数は 1 バイト、日本語はたいてい 3 バイトとなる。半角カナも 3 バイト。例えば、「ABあ愛」は 1+1+3+3=8 バイトとなる。

UTF-8 と Shift-JIS は、半角英数は同じコードを使っている。つまり、半角英数だけのファイルなら、UTF-8 として扱う UTAU-Synth でも、Shift-JIS として扱う UTAU でも、問題なく開ける。

oto.ini / prefix.map 以外は UTAU-Synth も Shift-JIS なので、UTAU とファイルを共用できることになる。ただし、Windows の Shift-JIS と Mac の Shift-JIS は方言のようなものが多少異なり、一部の文字に互換性が無い。通常使う範囲ではあまり問題にならないが、記号類は避けた方が良いだろう。

おまけ知識

※通常のユーザーはここを読み飛ばして構わない

この記事でも混同して使っているが、厳密には、文字コードを考える時には、「キャラクターセット」と「エンコーディング」の 2 つに分けて考える必要がある。

キャラクターセットは、「どんな文字を取り扱うか(文字集合)」で、例えば欧米ならアルファベットだけでいいよ、とか、日本なら漢字も入れたいね、という話になる。

エンコーディングは、キャラクターセットで扱う文字を、具体的にどんなバイト列で表現するかを決める。

Shift-JIS の場合は、キャラクターセットとエンコーディングがセットになっている感じなので、キャラクターセットやエンコーディングを意識しなくて良い。

UTF-16-LE と UTF-8 は両方とも、キャラクターセットとしては世界中の文字を扱う Unicode で同じある。同じ文字を、どのようにバイト列にするかの規則(エンコーディング)が違うにすぎない。

UTF-16-LE は「すべて 2 バイト」という処理しやすい規則になっている。一方 UTF-8 は、半角英数という最もよく使われる文字を 1 バイトにして、容量の節約を図っている。同じキャラクターセットを表現するにしても、用途によって適したエンコーディングが変わる、という話である。

参考リンク

今回の話、自分も全部をきちんと理解しているわけではないので、各自ググっていただきたい。誤りや追加情報があったら教えて下さい。


Windows Phone(Windows 10 Mobiel スマホ)13 機種比較

※更新記事を公開しました→Windows Phone(Windows 10 Mobile スマホ)12 機種比較

Windows 10 for phones and tablets や Windows Mobile 10 などとよばれていたモバイル用 Windows 10 の名称が「Windows 10 Mobile」となり、2015 年後半に提供開始される見込みとなった。

それにあわせ、続々と Windows 10 Phone が発表になっている(把握している限りでは 13 機種)。現時点で詳細な情報は少ないが、判明している部分を整理して比較表にまとめてみた。下の表は、クリックすると拡大する。

WindowsPhone13機種比較

開示されている情報の範囲では、お手頃価格のエントリー~ミドルレンジ製品が多そうだ。

Diginnos Mobile DG-W10M

ドスパラの DG-W10M は、クアッドコア CPU 搭載。CPU 型番は不明ながらも、プレスリリースに「お求めになりやすい価格」と書かれていることから、ハイクラスの CPU ではなさそう。価格を 2~3 万円程度に抑えるつもりなのだろう。

LTE のサポート状況も上々。docomo のトリプルバンドをサポートしているので、docomo 系 MVNO の SIM を使えば、全国どこでも繋がりやすい(docomo のバンドについてはこちらの記事を参照)。

KATANA 01/02

katana02FREETEL の KATANA 01/02 は、価格がきちんと示されている。

公開情報がドスパラと入りくりになっているが、感触としては、ドスパラ機と同程度のスペックであろう。

Liquid M330/M320

日本エイサー の Liquid M330/M320 は、CPU 型番が明確になっている。MSM 8909 と 8209 の違いがよく分からないが、統合モデムが LTE か 3G かというだけで、CPU コアは一緒かもしれない。

M330 の価格はユーロベースを単純に為替換算しているが、日本での正式価格は不明だ。

WPJ40-10

wpj40-10_img_00_p geanee の WPJ40-10 は、判明している中では最もディスプレイのサイズがコンパクト。スペックも全体的に低めなので、買いやすい価格になるのではないだろうか。

Lumia 550/950/950XL

Lumia-950-XL-hero-jpg Lumia 950 と 950XL は 2560×1460 ピクセルのディスプレイを備えるハイスペックスマホ。明示的には記載されていないものの、下位の 550 が LTE をサポートしていることから考えても、当然 LTE はサポートであろう。

最上位の 950XL が搭載する CPU は Snapdragon 810 で、発熱に問題のある CPU だが、水冷で対応するとのことなので、発熱問題もクリアしてくる可能性がある。

その他

その他の機種は、現時点では情報が無い。NuAns NEO については 11 月に詳細が公開されるようだ。

VAIO については機種名すら不明で、まったくの謎。ハイスペックな機種を出してきたりすると面白いのだが。

参考リンク

NTT docomo LTE の周波数帯(バンド)まとめ

SIM フリースマホと格安 SIM(MVNO)を使おうという時などに気になるのが、docomo の電波が使用している LTE バンド。簡単に整理してみた。

docomoのLTEバンド


docomo のバンドは、カバーエリア(繋がりやすさ)重視の band 1/19 と、通信速度重視の band 3/21 に大別される。

Xi のサービス全体としては 300Mbps などの高速通信が可能だが、これは複数のバンドを同時に利用する CA(キャリアアグリゲーション)で実現している。

band 1:下り 2110 MHz~2170 MHz、上り 1920MHz~1980MHz

LTE(サービス名は Xi(クロッシイ))開始時から使用されているバンド。下り周波数の 2100MHz 帯と呼ばれたり、ざっくり 2GHz 帯と呼ばれたりする。

都市部を中心として広いエリアで使える周波数帯だ。都市部でのスマホ利用を考えているなら、この band 1 をサポートしているスマホを選ぶと良いのではないか。

band 3:下り 1805 MHz~1880 MHz、上り 1710MHz~1785MHz

1800MHz 帯、あるいは 1.7GHz 帯とよばれるバンド。

東京・名古屋・大阪圏限定ながら、最高速で通信可能なバンド。これらの地域に住んでいるならば、band 3 対応のスマホで快適に通信が行える。

逆に、三大都市圏以外では、まったく役に立たない。

band 19:下り 875MHz~890MHz、上り 830MHz~845MHz

郊外を中心として広いエリアで使える周波数帯。

800MHz 帯はいわゆる「プラチナバンド」と呼ばれる周波数帯で、屋内や山間部でも電波が入りやすい。

田舎では band 19 のみ使用可の場合も多いので、田舎でスマホを使いたいなら、band 19 対応のスマホが必須となる。

最近は、都市部でも band 19 が使えるところが広がってきている。

band 21:下り 1495.9MHz~1510.9MHz、上り 1447.9MHz~1462.9MHz

1500MHz 帯、あるいは 1.5GHz 帯と呼ばれるバンド。

高速通信が可能。

以前は、東名阪のみ遅かったが、現在は解消され、全国的に 112.5Mbps での通信が可能となっている。とはいえ、比較的後発のバンドであり、実際のカバーエリアは、まださほど広くないと推測される。

band 28:下り 758 MHz~803MHz、上り 703 MHz~748MHz

将来的にサービス開始される予定だが、現在はまだ利用できない。

2015 年サービスインという話もあったが、後ろ倒しとなり、導入時期未定となっている。

参考リンク



イース 6(ナピシュテムの匣) カルヴァハンド/エルダーオーブ

イースⅥメモ。

忘却の遺跡の中にある、カルヴァハンドとエルダーオーブの取り方。

マップの大まかな位置は、入口下る→T 字路突き当たりを右に→直線の通路を右に→その次くらい。

剣をエリクシル、アクセサリーを虹の欠片装備にした状態にする。

下の画面の位置から右を向いた状態で、エリクシルの剣技(Z 連打)を発動させ、右側にある 4 本柱の中央に落ちる。柱に着地後、左方向にカウンターを入れる方が良い。
柱ダイブ前

柱の中央に落ちると、下の画面に出る。宝箱にカルヴァハンド。
カルヴァハンド

さらに、ちょうど上の画面の位置から、ダッシュジャンプ(上→上+Z→X)で、飛び石に乗れる。飛び石の先でさらにノーマルジャンプが必要。
ゴール

しかし、宝箱を守っている敵がえらく強い……。


Windows 10 Mobile 搭載スマホ 6 社 9 機種比較

※更新記事を公開しました→Windows Phone(Windows 10 Mobiel スマホ)13 機種比較

Windows 10 for phones and tablets や Windows Mobile 10 などとよばれていたモバイル用 Windows 10 の名称が「Windows 10 Mobile」となり、2015 年後半に提供開始される見込みとなった。

それに合わせ、サードウェーブデジノス(ドスパラ)、プラスワンマーケティング(FREETEL)、日本エイサー、マウスコンピューター、トリニティ、VAIO の 6 社から、Windows Mobile 10 搭載のスマートフォンが発売される見通しとなった。

現時点で詳細な情報は少ないが、判明している部分を整理して比較表にまとめてみた。下の表は、クリックすると拡大する。

Windows10Mobile

比較的情報が開示されている 3 社のスペックを見る限りでは、お手頃価格のエントリー~ミドルレンジ製品が多そうだ。

ドスパラの DG-W10M は、クアッドコア CPU 搭載。CPU 型番は不明ながらも、プレスリリースに「お求めになりやすい価格」と書かれていることから、ハイクラスの CPU ではなさそう。価格を 2~3 万円程度に抑えるつもりなのだろう。

FREETEL の KATANA 01/02 は、価格がきちんと示されている。

Liquid M330/M320 は、CPU 型番が明確になっている。MSM 8909 と 8209 の違いがよく分からないが、統合モデムが LTE か 3G かというだけで、CPU コアは一緒かもしれない。M330 の価格はユーロベースを単純に為替換算しているが、日本での正式価格は不明だ。

その他の機種は、現時点では情報が無い。NuAns NEO については 11 月に詳細が公開されるようだ。

VAIO については機種名すら不明で、まったくの謎。ハイスペックな機種を出してきたりすると面白いのだが。

情報元:

歴代の使用 PC を整理

自分が使っていたパソコン達のメモ。CPU の C/T はコア数・スレッド数。HDD 容量は RAID の場合、物理容量ではなく運用可能容量。

使用開始概要価格マシンスペック詳細備考
1999/01Gateway GP6-400不明PentiumII
(1C1T 400MHz)
メモリ 128MB
HDD 10GB
詳細当初はメインマシンとして使用
2005/08 には増強してサーバーとして使用
2001/03LaVie MX LX60T/51EC
約 24 万円Crusoe TM5600
(1C1T 600MHz)
メモリ 128MB
HDD 20GB
詳細モバイルマシン
最長 11 時間駆動
2002/08デュアル Athlon約 15 万円
Athlon MP 1800+ デュアル
(2C2T 1.533GHz)
メモリ 512MB
HDD 80GB
詳細メインマシン
爆音やら動作不調やらいろいろあったマシン
2003/12シングル Athlon差額 3 万円
Athlon MP 1800+
(1C1T 1.533GHz)
メモリ 768MB
HDD 160GB
詳細メインマシン
デュアル Athlon マシンが不調になったためシングル化して再構成
2005/08Turion124,147 円
Turion 64 MT-30
(1C1T 1.6GHz)
512MB
320GB
詳細静音サーバー
2006/04Core Duo160,401 円Core Duo T2500
(2C2T 2.00GHz)
メモリ 2GB
HDD 410GB
詳細メインマシン
マザボ(N4L-VM DH)が地雷だった
2010/05Core i5113,170 円Core i5-750s
(4C4T 2.40GHz)
メモリ 8GB
SSD 128GB
外付け HDD 2TB
詳細メインマシン
2011/03Let's note CF-J10QYBHR164,305 円
Core i5-480M
(2C4T 2.66GHz)
メモリ 6GB
SSD 128GB
詳細モバイルマシン
計画停電対応として購入
2013/01Core i791,051 円
Core i7-3770S
(4C8T 3.1GHz)
メモリ 32GB
SSD 512GB
詳細メインマシン

Gateway マシンは、初めて購入した DOS/V 機(という呼称自体もうアレだが)。友人に見繕って貰い、当時としてはコストパフォーマンスが良かった。しかしそれでも絶対価格は高かったような(覚えてないが 20 万円くらい?)。

LaVie MX はバッテリー至高のノートパソコン。異色の省電力 CPU「トランスメタ社 Crusoe」を搭載。リチウムポリマーバッテリー埋め込みや反射型 TFT 採用など、数々の工夫により、バッテリーの持ちを極限まで高めた真のモバイルノートパソコン。重量 1.37kg での最長 11 時間駆動は、当時としては異様に長かった記憶が。

BeOS のマルチプロセッサ対応を活かそうと構築したのがデュアル Athlon マシン。当時は CPU が 2 つあるなんてレアで、マザーボードの種類も限られていた。そんなマザーボードがどうにも安定動作してくれず、また、Athlon の発熱が凄いためにファンもうるさかった。性能は高かったものの……というマシン。

デュアル Athlon はその不安定性のために、結局マザボを交換し、シングル運用するハメになってしまった。不満ではあったが、お金も無いので我慢の時代。

サーバーマシンというものに憧れて構築したのが Turion マシン。Athlon の爆熱・爆音に懲りたので、省電力・静音構成に(性能は低め)。この時から RAID を導入。5 インチベイに差し込むハードウェア RAID ユニットを使用。ソースリビジョン管理などに使用していたが、最終的にはストレージ用途になっており、2011 年 1 月に NAS を導入したのを機に引退。

シングル Athlon の次のメインマシンが Core Duo。高性能 CPU と言えば、当時はまだ Pentium 4 / Pentium D の爆熱時代で、省電力はまだ注目されていなかった。しかし絶対省電力と決めていたので、省電力かつ高性能な CPU である Core Duo の開発情報を注視。Core Duo がひっそりと発売された時、対応マザーの発売と同時に購入。ところがこのマザーボードが地雷で、結局、最後まで安定稼働しなかった。

その次のメインマシンが Core i5。世の中に省電力の概念が定着し、何の問題も無く省電力マシンを構築できた。安定稼働って素晴らしいと涙したものである。性能的には、スレッド数が倍増、メモリは 4 倍になったほか、初の SSD 導入で快適さが向上。

東日本大震災の計画停電を乗り切るために購入したのが、ノート PC の Let's note。当時は魅力的なタブレットがなかったので、ノート PC にした。Let's note は WiMAX 内蔵というのが非常に便利で、出先でもインターネットが無制限に使える。10 インチのコンパクト筐体の割に高性能なこともあり、なんだかんだで、震災後もかなり活躍してくれた。

Core i5 の次が Core i7。メモリが欲しくて買い換えたようなもので、メモリを 32GB 搭載。スレッド数も 8 になった。引き続き省電力重視なので、最高性能というわけではないが、それでもかなりのものだ。2 年半経った 2015 年 9 月現在でも、省電力の中で買い換えようと思ったら、あまり性能は上がらないくらい、現在でも十二分に使えるマシン。グラボは弱いが……。


Windows 10 をクリーンインストールするとライセンス認証されないメモ

※2015/08/08 追記:クリーンインストール時、「コンピュータの修復」メニューに入り、すべて初期化することで、クリーンインストールできました。すべてのディスクを対象にすると、全ディスクデータが消えてしまうので注意。

無償アップグレード版の Windows 10 において、クリーンインストールにチャレンジしたものの、うまくいかなかった。やった内容をメモしておく。クリーンインストールしたい……。

  1. Microsoft の Windows 10 ISO イメージダウンロードサイトの「ツールを今すぐダウンロード(64ビットバージョン)」リンクから、Windows 10 ISO イメージ作成ツールをダウンロード。
  2. ツールを実行して ISO イメージを作成。
  3. Windows 8.1 Pro 上で、ISO イメージ内のセットアッププログラムを実行。
  4. Windows10_ライセンス認証済みWindows 8.1 Pro が、Windows 10 Pro にアップグレードされた(この段階ではクリーンインストールではない)。ライセンス認証もされている。
  5. PC を再起動し、ISO イメージからブートして、Windows 10 インストールプログラムを起動。
  6. ライセンス認証は「スキップ」ボタンでスキップする(こちらのサイトによれば、スキップで大丈夫とのことなので)。
  7. カスタムインストールを選択し、C ドライブをフォーマットして、アップグレードインストールした Windows 10 を削除した上で、クリーンインストール。

  8. Windows10_ライセンス未認証Windows 10 は起動するが、ライセンス認証されていない。

ちなみに、アップグレードインストール後に、Windows 10 のプロダクトキー(Windows 8.1 のプロダクトキーとは異なる)を調べて、クリーンインストール時にそのプロダクトキーを入力する方法も試してみたが、ライセンス認証されなかった。


また、Windows 8 の時のように、C ドライブに Windows 空フォルダを作っておくやり方も試してみたが、ライセンス認証されなかった。


settings.db では AQUOS PAD はテザリングできなかった話

Xperia は、root 化不要で MVNO テザリングができるという話が載っていた。
adb shell で settings.db を書き換えることにより、root を取らなくても、テザリング時の APN 変更を阻止できるという内容。

AQUOS PAD(SH-08E)でもできるかな? と試してみたが、ダメだった。

そもそも、adb shell(コマンドプロンプトから adb shell で起動)で
settings get global tether_dun_required
とすると null が返ってくるので、値自体が存在しないことが分かる。

それでも、ものは試しと、
settings put global tether_dun_required 0
settings put global tether_message_required 0
settings put global invisible_apn_required 0
settings put global invisible_tether_apn_required 0
あたりを入れてみたが、ダメだった。

settings.db の中身を見られれば、それっぽいキー名を探せるかとも思ったが、settings.db があると思われるパス(/data/data/com.android.providers.settings/databases/settings.db)には読み取り権限すらない模様。

/system/framework/services.odex を修正する方法により、シャープ機で MVNO テザリングできたという話があるので、今度試してみようかな。

無線 LAN ルーター買い換えようか(11ac に)

Wi-Fi ルーターを買い換えようか考え中。11ac にしようかなと。

現在使用している無線 LAN ルーターは NEC の AtermWR8370N(STモデル)。IEEE802.11n 対応(2.4GHz 帯のみサポート)の最大 300Mbps 通信。パターン別のリンク速度は以下のようになるはず。

MIMO ストリーム数\チャネル幅20MHz40MHz(デュアルチャネル)
1 ストリーム72Mbps150Mbps
2 ストリーム144Mbps300Mbps

主な無線 LAN 子機は、使用頻度順に、AQUOS PAD SH-08E(タブレット)、PowerShot S120(デジカメ)、Let's note J10(ノートパソコン)。以前の実験結果からの推測を含むそれぞれの無線 LAN スペックは、

【AQUOS PAD】
  • 802.11n / ac 対応(2.4GHz/5GHz、詳細不明)
  • 11n 接続時は、MIMO 1 ストリーム、チャネル幅 20MHz?
  • 実際の 11n 接続時のリンク速度は常に 65Mbps

【PowerShot S120】
  • 802.11n 対応(2.4GHz 帯のみ、詳細不明)

【Let's note J10】
  • 802.11n 対応(Intel Centrino Advanced-N + WiMAX 6250、2.4GHz/5GHz)
  • 11n 接続時は MIMO 2 ストリーム、チャネル幅 40MHz
  • 実際の 11n 接続時のリンク速度は最大 300Mbps(以前はシングルチャネル設定になっていたのを修正)

というわけで、11ac の恩恵を受けるのは AQUOS PAD だけではあるのだが、一番 Wi-Fi を使うのに遅いので、これだけでも改善されるなら、いいかもしれないと思って。

11ac では MIMO 1 ストリームの場合のリンク速度は以下のようだ。

20MHz40MHz80MHz
リンク速度104Mbps?200Mbps433Mbps

11n ではチャネル幅のサポートは 20MHz のみが必須だったが、11ac は 80MHz まで必須となるので、リンク速度が一気に 433Mbps にアップする可能性があり、一気に 7 倍近い速度に。もちろん実際の電波状況によるが……。

というわけで、11ac のルータを買う方向で検討中。

【参考リンク】

C++Builder 脆弱性への対応方法を検討中

既報の通り、C++Builder(および Delphi)にはバッファーオーバーフロー脆弱性がある。C++Builder XE6 で報告されているが、実際には、すべてのバージョンで影響がある。

対応策が公開されているように見えるが、実は、俺が使っている C++Builder XE3 Starter Edition はその方法では修正されない。エンバカデロのサポートからは XE7 を買ってくれと言われたので、つまりは修正するつもりがないということだ。1 年半前まで販売していた製品の欠陥を放置するなんて、ずいぶん酷い話である。

今後どうするか。いくつかの選択肢を検討しているが、どれも一長一短で困った。

選択肢 1:XE7 を買う

CBuilder32 万円の費用がかかるが、今までと同様の開発環境を使えるのがメリット。プロジェクトの修正が最小限で済むため、労力的には一番楽。

しかし、1 年半後に XE7 の欠陥が出た場合は、今回同様放置されることが予想されるため、一時しのぎにしかならないとも言える。一時しのぎに数万円は割に合わないだけでなく、欠陥が出る度に費用がかさむ構図となる。短期的には良い選択肢だが、長期的には下策。

そもそも、欠陥が嫌なら新しいの買えというのは、悪徳商法の香りがするが、消費者庁的にはアリなのだろうか。C++Builder は 15 年以上愛用してきたシリーズなので(初めて使ったのはたぶん初代か XE じゃないほうの 3)、思い入れはあるのだが……。

選択肢 2:Visual Studio Professional を買う

Visual Studio Express は C++ での RAD 開発ができないが、Professional なら RAD 開発ができるようである。

C++Builder と同じく、言語が C++ なので、比較的乗り換えやすいと推測される。

しかし、価格が 6 万円と高いだけではなく、ライブラリが MFC というのがまた使いづらそうである。というかきっと使いづらい。そもそも Visual Studio(当時は別の名前だったと思うが)が使いやすかったら、C++Builder 使ってなかったし……。

選択肢 3:Qt を使う

Linux 由来の GUI ライブラリである Qt を使うというのも一つの手。

Linux の GUI というと重くてダサいという悪いイメージしかなかったが、最近の Qt は、Windows API を直接制御しているので軽くなってきているようだ。

フリーなのでお金がかからず、また、言語も C++ が使えて良い。

難点は、統合開発環境にイマイチ RAD 感がないこと。また、ライセンスが LGPL なので、(ダメだと確定している訳でもないようだが)ライブラリと静的リンクしない方が無難となり、配布ファイルがやたら増えて分かりづらくなる。日本語のドキュメントも少ない。

選択肢 4:C# を使う

Visual Studio Express に含まれるため、フリーの RAD という意味では最有力候補の 1 つ(もちろん VB の方がメジャーだが、さすがに Basic はちょっと)。

豊富なライブラリを擁する .NET 環境において主役に位置づけられているので、やれることは多いだろう。

問題は、俺が C# を全く知らないことで、1 から学習しなくてはならないので、習得までの労力が多大であること。

また、ユーザー環境に .NET が必要となるので、ユーザーさんに .NET をインストールしてもらう手間が生じる。

というわけで

手放しでこれだ、といえる選択肢がない。

そんな中、気持ちとしては C# に傾きつつある。これを機に新しい言語に挑戦してみようか的な感じで。

いろいろ検証しなくてはいけないので時間かかるけど……。

RAID 1 対応で高速な NAS はどれだ?

今使っている外付け HDD がいっぱいになってきたので、新たな製品を探しているが、外付け HDD だけではなく NAS も探してみよう。

2 ベイ(2 ドライブ)の RAID 1(ミラーリング)対応製品で、4TB+4TB の高速な物が欲しい。

高速さはさておき、容量で探すと以下の物がでてきた。

LS420D0802 が 8TB。60,000 円~66,000 円程度。CrystalDiskMark での実測速度は(恐らく RAID 0 と思われるが)シーケンシャルリード・ライト共に 70MB/s 程度。

ディスクレスだが、最大 8TB 搭載可能。TS-220 単体の価格は 27,000~30,000 円程度だが、4TB の HDD を 2 つ買うと 35,000 円程度かかるので、合計 62,000~65,000 円程度。実測速度はシーケンシャルリード 59MB/s、ライト 71MB/s 程度。友人の環境で R=40、W=60MB/s 程度。

QNAP は他にも 2 ベイ NAS をラインナップしているが、TS-251 は高いし(本体だけで 7 万円程度)、HS-251/210 はオーディオ向けっぽいので今回はパス。

ディスクレスだが、最大 12TB 搭載可能。HDD 込み換算で 61,000~63,000 円程度。実測速度はシーケンシャルリード 90MB/s 程度、ライト 70MB/s 程度。

ディスクレスだが、最大 12TB 搭載可能。価格は他のより高く、HDD 込み換算で 76,000 円前後。実測速度はシーケンシャルリード・ライト共に 111MB/s 程度と有線 LAN の限界に近い速度。

Synology は他にも 2 ベイ NAS をラインナップしているが、DS713+ はさすがに高いし(本体だけで 6.6 万円程度)、DS214+/DS214play は DS214+ よりパフォーマンスが出なさそうなのでパス。

ちなみに、Synology の機種間パフォーマンス比較(公式)はこちら

IO データは 8TB をラインナップしていない。

お高い DS214+ を除く 3 機種で見ると、速度では Synology DS213j がわずかに速い。安心感で選ぶならやはり QNAP。

奮発するなら、パフォーマンスの高いDS214+ か。NAS でこの速度はすごい。外付け HDD に迫るとまでは言わないが、十分高速と言える。

値段と速度で言えば外付け HDD なのだが、将来性は NAS のほうがあるかもしれない。うーむ。


2 ベイ / RAID 1 対応の大容量外付け HDD を調査

メインマシンで使っている外付け HDD の残量が少なくなってきた。残り 100GB 程度。新しいのが欲しい。

CG-HDC4EU3500現在は、eSATA 接続のコレガ CG-HDC4EU3500 を使用。1TB HDD 3 基を RAID 5 で運用しているので、運用容量は 2TB。2009 年当時の価格で合計 46,140 円。性能は、シーケンシャルリード・ライト共におよそ 120MB/s。

新しい HDD の希望スペックは、運用容量を一挙に 2 倍に拡大する 4TB。また、RAID 5 は万が一データが破損した場合に復帰が困難なので、シンプルな RAID 1 で運用したい。というわけで、4TB+4TB の外付け HDD が欲しい。

ところが、そのような製品のラインナップがあまり無い。コレガ、バッファロー、IO データ共に該当無し。

見つけたのは、以下の製品群。

LHR-2BRH80EU3WR が 8TB。価格は 59,800円(税込)。USB 3 / eSATA。実測速度不明。

9000317JE(LCH-2BQ080Q3)が 8TB。価格は 68,000~81,000 円程度。USB 3。型番が違うし Thunderbolt 接続なので参考値だが、実測速度は RAID 1 でシーケンシャルリード 160MB/s、ライト130MB/s 程度。

WDBLWE0080JCH が 8TB。価格は 55,000~60,000 円程度。USB 3。実測速度は RAID 1 でシーケンシャルリード 150MB/s、ライト 110MB/s 程度。

ロジテックの性能が気になるところだ。CrystalDiskMark のわかりやすいスクリーンショットとかあるといいのだけれど。エレコムはちょっと高いかな。WD がバランス良い気もするが、HDD メーカーとしての WD はともかく、ユニットのメーカーとしてはどうなんだろ。

時代としては NAS なので、NAS も調べてみるかなぁ。NAS だとどうしても速度が遅くなってしまうが。

スマホの Gmail でグループ別にメール着信音を設定する方法

Gmailアイコン誰から来たメールなのか、送信者個別に着信音(着メロ・着うた)を設定する。ガラケー時代は普通にやっていましたが、スマホやタブレットで Gmail を使う時代になってから、ぱっと見ではやり方が分かりづらくなりましたので、整理してみました。

やり方は、分かってしまえば難しいものではなく、大きく分けて
  1. 送信者(グループ)別にラベルを付ける
  2. ラベルの通知設定をする
の 2 段階でいけます。

着信音専用アプリの類も不要で、Google 謹製の Gmail アプリのみで着信音振り分け(鳴り分け)が可能です。

さらに言えば、送信者(個人・グループ)だけではなく、メールの内容(件名・本文)に応じて着信音を変えることもできます。

以下でやり方をまとめます。右側のスクリーンショットは、クリックで拡大します。手順や画面は 2014 年 8 月現在のものですが、今後多少画面が変わっても、大筋では同じやり方でできるでしょう。

Step1: ラベル付け(フィルタ設定)

Gmailログイン特定の送信者個人やグループから来たメールに対し、自動的に「ラベル」が付くようにするため、「フィルタ」の設定を行います。

スマホの画面で説明しますが、パソコンを持っている方は、パソコンでやった方が効率的です。

Chrome などのウェブブラウザで、Gmail のページにログインします。

三アイコンモバイル UI での表示になっているのを、デスクトップ UI に変更します。Google のロゴのすぐ下にある「三」のようなボタンをクリック。

デスクトップUIメインやプロモーションなどの受信トレイが一覧表示されますので、画面を一番下までスクロールし、デスクトップをクリック。

設定画面右上の方の歯車のアイコンをクリックし、表示されるメニューから、「設定」をクリック。

フィルタ設定項目がたくさん表示されますので、そのなかから、「フィルタ」をクリック(「ラベル」ではないのでご注意)。

フィルタ作成一番下の方に表示される「新しいフィルタを作成」をクリックすると、フィルタを作成するウィンドウが表示されます。

From 欄に、着信音を設定したい人のメールアドレスを入力します。

メールアドレスを 1 つだけ入力すれば、個人別に着信音を設定できますし、複数のメールアドレスを OR で区切って入力すると、グループに対して着信音を設定できます。

例えば、会社の同僚に山田さんと高橋さんと鈴木さんがいるなら、
yamada@example.com OR takahashi@example.com OR suzuki@example.com

のように入力します。

Google のアドレス帳を登録している場合は、日本語で名前を入れると名前とメールアドレスがサジェストされますが、名前が混じっているとフィルタがうまく機能しないことがあるようなので、名前は削除してメールアドレスのみを残すことをお薦めします。

Google のアドレス帳に登録しているグループ名を入力すると、グループに含まれる人の名前とメールアドレスが一気にサジェストされます。こちらも同様に、メールアドレスのみを残すことをお薦めします。

余談ですが、From 欄ではなく、件名欄に「至急」と入力すれば、至急という文字を含む件名のメールだけ着信音を鳴らすといった設定もできるようになります。このあたりはガラケーより便利になりますね。

メールアドレスを入力し終えたら、「この検索条件でフィルタを作成」をクリックします。

フィルタ作成2指定のメールアドレスから来たメールに対し、どのような処理を行うか、を設定する画面になります。

今回はラベルを付けたいので、「ラベルを付ける」をクリックします。

新しいラベルを作れますので、例えば「会社の同僚」などの分かりやすい名前を付けておきます。

ついでに、「迷惑メールにしない」にもチェックを入れておくと、間違って迷惑メール扱いされてしまうことがなくなります。

「フィルタを作成」をクリックすれば Step 1 は完了です。

Step 2: ラベルの通知設定(着信音の設定)

Step 1 でラベル付けがなされるようになったので、今度は、ラベルの付いたメールが来たときに、着信音が鳴るように設定します。

ラベルを管理スマホの Gmail アプリを起動します。

メニューから「ラベルを管理」を選びます。写真はシャープ端末なのでメニューボタンが画面下にありますが、一般的には、右上の検索ボタンの隣あたりにメニューボタンがあると思います。

同期設定ラベルを管理する画面が表示され、画面の左側に、先ほど作成した「会社の同僚」などのラベルが表示されます。

ラベル名をクリックすると、そのラベルの詳細を設定できるようになります。

一番上に「メールの同期」が表示されますので、クリックし、「同期:過去 30 日分」を選びます(すべてでも構いません)。

通知設定同期する設定にすると、ラベル通知の設定が行えるようになります。

ラベル通知にチェックを入れます。

着信音をクリックして、着信音を選びます。

着信音を選択するアプリにもよるかもしれませんが、システムに標準で用意されている着信音だけではなく、端末に自分が入れた任意の音声ファイル(WAVE、MP3 など)を指定できます。ただ、長い音楽ファイルを指定すると、曲がおわるまでずっと着信音が鳴り続けることになりますので、10 秒程度のメール着信用の音声ファイルを指定するのが良いでしょう。

以上で、Step 2 が完了です。

着信音を指定したい個人(またはグループ)の分だけ、Step 1、2 を繰り返せば、着信音の個別設定が完了します。

注意点

メインフォルダを同期する設定にしている方は多いと思います(相手がメール送信したと同時に着信するガラケーのような使い勝手にするため)。

メインフォルダを同期させていても大丈夫ですが、メインフォルダに対してはラベル通知(着信音)は設定しないでください。メインフォルダに着信音を設定してしまうと、一瞬だけ「会社の同僚」用の着信音が鳴ってからメインの着信音が鳴るようになってしまい、意図しない鳴り方になります。

メインフォルダに着信音を設定したい場合(指定したグループ以外のその他のメール全部に着信音が欲しい場合)は、フィルタを作成する際、「受信トレイをスキップする(アーカイブする)」にチェックを入れて下さい。

ただし、これをやると、会社の同僚などのメールがメインフォルダから消えてしまうので、個人的にはあまり好きではありません。



カウンター


カンパのお願い
Amazon でお買い物の際は、下記で検索して頂けたら幸いです。
記事検索
最新コメント
  • ライブドアブログ