2015年2月27日金曜日

家の片隅で眠っていたWindows PCを5年分ほど世代進めて開発用に復帰させるまで

メモ書き。長らくMacメインにしてきたけれど最近Windows使ってやりたいことも増えてきたし4-5年ぶりに家の片隅で眠ってるWindows機のパーツを差し替えて現役復帰させるかーという人向け(超ニッチ)

きっかけと用途

  • 最近触ってるUnreal Engine 4
    • FPGAの開発は原則Azure上でやって良いと思うんだけど、3Dはさすがにそうはいかない
    • UE 4.7が出たタイミングで、がっつりやりたい度がかなり高まった
    • 先日書いたようにUE4 EditorはMBPR上でもそこそこ快適に使えるようになるけれど、Windows版限定の新機能がある場合もそれなりにある(今だとHTML5向けの書き出しとか)ので、Windows環境もそこそこのものがあったほうが便利
  • 先日書いたKinect v2のエントリ。Mac上のVMでは圧倒的なダメ感が出ていた
  • 決定的だったのはVAIO Zに独立GPUが載ってなかったこと。これで無理してノートを買う必要がなくなった。予算も30万円対5万円弱と大きな開きがある
  • マウスコンピューターから日本向け端末の発表があったWindows Phone
  • 他にもPlayStation for MobileなどいくつかWindows環境で扱いたいもの、原稿ネタにしたいものがある昨今
  • あと、例の365日分のUE4サブスクリプション付きの本を購入して浮いたサブスクリプション代(約23,000円)を突っ込んだと思えば金額負担が気持ち軽め(震え


2015年2月23日月曜日

なぜ「シュミレーション」表記を含む技術書が世に出てしまうのか

あるいは、「シュミレーション」 表記から考える技術書の効果的な校正。
最近こういうツイートが流れていて、丁度手元に1冊の本に対する150箇所の誤植メモがあったので書いてみます。なお、元ツイートには前後の文脈やら色々ありそうなので、以下でこのツイートに関する話はしません。



上のキャプチャは、2014年11月に出版された「ARM Cortex-A9×2! ZynqでワンチップLinux on FPGA」のp.210に記載されているVHDLコードの解説部分です。
技術書にあるまじき趣味レーション、もといシュミレーションという記述があります。

デバッグをデバック、ベッドをベット、東京ビッグサイトを東京ビックサイト、ビックカメラをビッグカメラとか、よく見かける間違いですね。口語で曖昧になりがちな濁音や拗音を文字にすると目立ちます。別の系統ではダイアモンドとダイヤモンドはどちらもアリ、鉄道ダイアとは言わない、カラトリーじゃなくてカトラリー、などなど、こういう微妙な表記は日常でもよく見かけます。

アボカドをアボガドと発音したり、文字で書く時もアボガドって書く人も結構いるわけです。大半の場合に会話は英語音をベースにしてるはずなので、"avocado"のどこに「ガ」の音があるんだ、となりますが、スペイン語では「アボガード」っぽい発音のようなので単に本格派なだけかもしれません。
それでも書籍へまとめる際は、一般的または出版社の規定にあわせて単語や文体を揃える作業がおこなわれ、きっと「アボガド」表記は絶滅して「アボカド」へ整えられます。

FPGA本の話に戻ります。
誤植一覧記事でも書いたように、本の構成と内容はとても良いです。もしもこの本無しでVivadoを使い始めていたら、入門部分で1ヶ月は軽くかかったでしょう。
この本のガイドによってそれを1週間へと短縮できました。非常に高い価値を感じます。

しかし、この本のいくつかの章はおそらく編集者さんの手元で校正を受けずに世へと出ています。
原稿の提出がギリギリだったとか、編集フェイズの中で校正内容が巻き戻ったとか、ひょっとすると章立てをだいぶ作業の後半で変えることになったとか、急遽章を付け足したとか、そういう事情があるのかもしれません。
それを推測するのも一興ですが、せっかく生原稿に近いものが5,832円で入手できたので、ここでは編集と制作と校正に関する話で骨までしゃぶり尽くすことにしましょう。


2015年2月22日日曜日

「ARM Cortex-A9×2! ZynqでワンチップLinux on FPGA」の誤植一覧(150箇所)

2014年11月に発売されたZynq本です。発売当初から目次に圧倒され、欲しいなぁと思いつつも値段で腰が引けて買わずにいました。年が明けて2月に入ってから購入し、Zynqを使ったFPGA開発をひと通り学ぶために読みました。構成・内容共に間違いなく良書です。複雑なワークフロー、煩雑なIDEのメニュー体系、一筋縄ではいかないZynq向けブートローダ(FSBL/SSBL)構築やカスタムLinuxイメージ、動作クロックを底上げするためのチューニングといった幅広いトピックを丁寧に扱っています。
都合1週間ほどで学習を進めましたが、もしもこの本なしでVivadoへ取り組んだら1ヶ月経ってもまともな結果を出せなかったと思います。5,832円の価値は十二分にありました。
しかし、誤植が多いのが難点でした。

ISEやVivadoのメニューは複雑です。表記の正確性が分からないため、本に記載されているメニューを探して余分に時間をかけることもしばしばありました。誤植ボリュームが結構多い(特にVivadoの章)ので、パッと1ページを通読する際にも大体脳がシンタックスエラーを吐いて一瞬停止してしまう惜しい感じがありました。
このため、他の読者の学習の一助となることを期待して私の正誤メモを公開します(CQ出版社のサイトを見た限りはエラッタ公開されていないようでした)。

ここでは議論の余地なく誤りと断言できる点のみを挙げました。分かりづらい表現や言い回しの改善案は含みません。
この本が売れて第2刷が出る際にはこれらが取り込まれ、より読みやすい本となることを期待しています。 あっ、その時には見本誌お待ちしております!!(ずいっ


2015年2月20日金曜日

日経ソフトウエア 2015年3月号に寄稿しました

Roslynのホームとしてgithubへの移行(2015年1月11日)後のものが掲載されたおそらく日本初の雑誌です*1。
この号からKindle版にも付録小冊子の内容が付くようになったとのことで、好評を博しているようです。

2015/01/24発売で、そろそろ1ヶ月経ちます。
週明けには次の号が出るので、せめて次の号が出る前に告知記事をば><

執筆したのは第2特集の「プログラマ必見! 2015年ヒット技術予測ランキング」です。

概要:
2014年はプログラミングに関連する様々な新製品や新技術が登場しました。Java 8や新言語Swiftなどはその一例です。では、2015年はどんな技術・製品が登場し、注目を集めるのでしょうか。編集部が考える今年ヒットしそうな技術・製品を、ランキングを交えて紹介します。

ネタの選定に偏りを感じるとか、「なんでこれ入ってないの」とか「これもう流行ってるじゃん、いまさら入れるまでもないじゃん」とか様々な突っ込みが自然と出てくるようなテーマですが、年明け恒例ということでひとつ。


2015年2月18日水曜日

Mac上でKinect v2を使いたい人生だった

2014年の夏に、Kinectセンサーとしては初のハードウェアアップデートであるKinect v2センサーが発売されました。
初代とは違い、日本でXbox Oneが発売されるよりも早くWindows版センサーが発売されるというサプライズもあり、一部で盛り上がりました。
Windows用のしっかりしたドライバとSDKが提供され、C#/C++のサンプルコードも充実していて、筋良さそう感を受けます。

とはいえ現状提供されているのはWindows版のドライバとSDKのみです。MacやLinux上での利用については、libfreenect2プロジェクトが頑張っています。これを追っかけてる感じではセンサーからの値を取得するエリアでは割と良くなってきてる空気です。しかしどう考えても問題はその先にあります(「新世界より」風に)。MSRガチ勢の組んでる骨格検出やトラッキング、表情識別やジェスチャ系に相当する部分まで揃えるのは少なくとも年単位で無理ゲー(NiTEの悪夢を思い出してほしい)じゃないか、ということで向こう1-2年程度はWindows版SDKをいかにうまく使うかが主戦場だと考えています。

そういうわけで、日々Macしか使ってない身としてはMac上のVMでKinect v2を使えるかが大事です。

結果: ダメでした。

以下試行録です。


読書メモ: 融けるデザイン

話題になり始めて割とすぐに購入したけれど1月の終わりからVHDLとVivadoばっかり触って積んでた本。

ざっくり所感

とても今風なデザインの本。
本書の主なターゲットは、デザイナーとエンジニアである。
("はじめに"より)
序盤に書かれていた通り。2002年前後に盛り上がっていたユーザ体験やユビキタスといった議論を、著者の実験から得られた知見込みで2015年付近の事情にアップデートしたものという感じだった。
現代の、情報と絡むデザインの話をしていく上での共通バックグラウンドとして本書の雰囲気を掴んでおくと後が楽なんじゃないかなー(ということでやたら売れてるんだろう)。
全体的にあちこちの文献からの出典を明示した議論が多い。2,3,5章あたりは特に情報濃度が高い。きっちり掘り下げていきたい箇所は読み返し、記載されてる参考文献を辿っていけるという実用書な面もある。

2020年ぐらいにはきっとこういう本がもう一周出てくるはずで、そのタイミングで本書の第7章後半に相当する部分で名前が挙げられるか、というのがデザイナとしての目指すところになったりするのかなーというのをぼんやり考えた。


以下、振り返り用と読み返し用のメモ。

第1章

  • 1-1、1-2は今更言わんでもなー、退屈だなーと思いながらも修行の心で読めばok
  • 1-3あたりから段々エンジンかかってくる
  • Twitterなど、参照すべき現実世界のメタファが存在しないサービスの発展からの脱メタファ→フラットUIという話
  • 体験を考えるエリアとして現象レイヤ、文化レイヤ、社会レイヤと切り分けて議論するのは分かりやすい
    • 現象レイヤはインタフェース文脈
    • 文化レイヤはライフスタイル文脈・コンテンツ文脈
    • 社会レイヤはコンテクスト自体を扱う(ここは文化レイヤ内のライフスタイル論とかぶるところも多いんじゃないかなーと思った)

第2章

  • 道具の透明性と環境の透明性いう話
  • インタフェースやインタラクション設計上の語彙を言語化することの重要性
  • デザイン≠スタイリング
  • 身体と環境の透明な接続: アフォーダンスとシグニファイアでは、アフォーダンス側の話
  • 環境とのインタラクション(知覚や行為)→可能の知覚

第3章

  • 制御性と身体の延長
  • 各種アプリケーションでの実験から得られた認知の非対称性
  • 体験と道具の自己感→道具の透明性
  • 自己感: 自己帰属感(身体保持感)と運動主体感
  • 「そのうえ、自己帰属は気持ち良いのである。」
  • アニメーションに自己帰属感はない
    • (しかしAndroidのMaterial Designではアニメーションでも自己帰属感を得られるようにしてるように見えるなぁ)
    • (本書の中で言及されている3種類の「動き」:自己帰属する動き、他者を感じる動き、物理現象の動き。このなかでMaterial Designの目指すところのアニメーションの役割は物理現象の動きっぽい)
  • コマンドジェスチャとオペレーションジェスチャ
    • これらを混同してインタフェースを設計すると非常に使いづらくなる
  • 「透明性を得るための道具の設計は、人とグラフィックの細かい現象をひとつひとつ適切に捉えていくことであり、感覚や演出で行うものではない。」

第4章

  • 退屈だった
  • 「情報が直接的に道具として利用可能な状態にすることを目指すのだ」のくだりで十分な感じ

第5章

  • 情報の環境化
  • 行為・行動・活動に基づいた設計
  • インタラクションデザイン: 人の活動とメディアの関係を設計すること
  • 面白いので読み返したい
  • 「『人はシステムに注意を向けていることは当然』として設計」(インタラクションの拘束)してはいけない

第6章

  • 「筆者にとってデザインは、どちらかといえばサイエンスに近い」
  • 「消える(もうない)」と「隠れる(まだある)」による存在感の表現
  • 隠れ方をきちんとデザインすることで、世界の持続性を感じさせる
  • 動きを伴う知覚→かたちの恒常性
  • 終盤はポエム感が強いけど、言わんとすることは分かる気がする

第7章

  • 「情報と物質を分けないデザイン」
  • 人との関係から設計を考えられるデザイナーが必要になる
  • インターフェイス関係の学会
  • 「プログラミングは、アイデアを伝える最良のコミュニケーション手段」


融けるデザイン ―ハード×ソフト×ネット時代の新たな設計論
渡邊恵太
ビー・エヌ・エヌ新社 (2015-01-21)
売り上げランキング: 754

2015年2月4日水曜日

#UE4 利用初日に設定したい、超手軽なMac版Editorの速度改善法

1年分サブスクリプション付きUE4本、すごい人気ですね。
初版のみクーポン付きということで手に入れられなかった人も結構いそうですが。

見てわかるUnreal Engine4 ゲーム制作超入門 (GAME DEVELOPER BOOKS)
掌田津耶乃
秀和システム
売り上げランキング: 293

さて。
やる気が高まってよっしゃーやるぞーとUE4を触り始めたMacBook Pro Retinaユーザがきっと最初に感じるのは「Mac上のUnreal Engine 4 Editorがやたらカクカク動く」辛さでしょう。

標準添付のテンプレートプロジェクトを走らせてstat fpsコマンドを叩くと表示が10fpsを下回っていたり、普通に編集しているだけなのに「FPSが低すぎるから低負荷モードに切り替えるで」的なダイアログが出てきたりと、私はUnity方面から来てギョッとしました。

しかしこれ実は簡単な解決方法があります。
さっと探した感じでは見当たらなかったのでblogにまとめましたが、「えっ そんなの普通やるでしょm9(^Д^)」というツッコミもお待ちしています。



使用前→使用後はこうなります。
このスクショを見て「あぁ^〜〜」とタネが分かった方はブラウザをそっと閉じて下さい。
分からなかった方はもう少々お付き合いください。ネタばらしは最後にします。
なおMacBook Airでは終盤で紹介するささやかなhackぐらいしかできません(多分)。