やる気駆動型エンジニアの備忘録

WPF(XAML+C#)の話題を中心に.NET/Android/CI やたまに趣味に関するブログです

(映画・感想)新 感染 ファイナル・エクスプレス

2016年に韓国国内興行収入ランキング1位となったゾンビ映画『新 感染 ファイナル・エクスプレス』の感想&レビューです。

  • タイトル : 新 感染 ファイナル・エクスプレス
  • 公開 : 2016年
  • ジャンル : ホラー/アクション・アドベンチャー
  • 出演
    • コン・ユ
    • マ・ドンソク
    • チョン・ユミ
    • キム・スアン
    • チェ・ウシク
    • アン・ソヒ
    • キム・ウィソン
    • キム・チャンファン

あらすじ

全国に広がる恐ろしいウイルス感染。密室と化した車内で増幅するパニック。プサンを目指す父娘を乗せた高速鉄道は、かつてない恐怖へとノンストップで走り続ける!

予告編


「新感染 ファイナル・エクスプレス」予告編

2016年に韓国の興行収入ランキングで第1位となった本作ですが、以前から日本でも公開されていたことは知っていたのですが、観たことはありませんでした。 Amazon Prime では、レンタルという形で購入できますが、韓国映画 + ゾンビものは前例がないため、わざわざ買ってまで見るのはなーと思っていました。

しかし、先日NETFLIX に追加されたこともあり軽い気持ちで観てみることにしました。

なお、本作は前日譚である『ソウル・ステーション/パンデミック』もNETFLIX で視聴可能です。 こちらは今回の感想には含みませんが、見せ方やテーマが全く異なるため人を選ぶかもしれません。


『ソウル・ステーション/パンデミック』予告篇

以下、ネタバレ含みます!

続きを読む

ErgoDox EZ のキーキャップを変えてみた(PIMP MY KEYBOARD)

ErgoDox EZ を購入してからもうだいぶ経つのでそろそろキーキャップでも欲しいなーと思い、いろいろ調べて実際に差し替えるまでの話しです。

やりたいこと

私が購入したのは、黒色のキーキャップに印字があるタイプです。 この印字があるタイプはDSA プロファイルのため、他の場所に変えても操作性に問題はありません。

しかし、ずっと使い続けてくるとやっぱり飽きが来るんですよね。

そこで、手持ちにはないDCS プロファイルのキーキャップを購入してみることにしました。 あと、できれば単一色ではなく、よく操作するキーやホームポジションだけを色替えする、といったこともチャレンジしてみようかなと思っていました。

どのキーキャップにするか?

さて、キーキャップと言っても私には知識がなかったのでいろいろ調べざるを得ませんでした。 そもそもキーキャップには形状やキーの高さなどによってプロファイルという分類があります。

ErgoDox EZ の印字されたタイプのキーキャップは DSA と呼ばれるフラットなタイプのプロファイルで、いずれのキーも同じ高さに合うように設定されています。

印字されていないタイプのキーキャップは DCS と呼び、キーの段ごとに高さが変わっています。そのため、1段目のキーキャップを3段目で使い回す、といった方法を取ることができません。

他にも SA などのプロファイルがありますが、調べた結果、DCS プロファイルのキーキャップを使ってみようと思いました。

なお、軸の種類はCherry MX にしているので、まぁ、オーソドックスな軸の種類だからなんとかなるだろうと踏んでいました。

キーキャップを購入するには?

購入するキーキャップのプロファイルは決定したのですが、ではどこで購入するか、が問題になります。 ちなみにDCS プロファイルは私が調べた限りでは、日本国内で個別に購入する手段は無いようです。

同様にキーキャップのサイズが"1u" などと表記されるのですが、ErgoDox EZ には 1u / 1.5u / 2u があります。 このうち、1.5uは日本国内で入手するのは難しいです。 自作キーボーダーたちは海外から輸入しているようですね。

私もそれに習って海外から輸入することにしました。

キーキャップの購入自体初めてだったため、どこから購入すべきかしばらく迷いました。 調べるうちにどうやら最も自作キーボーダーが利用するのがPIMP MY KEYBOARD (私調べ)のようなので、そちらのページから購入することにしました。

pimpmykeyboard.com

購入から到着まで

PIMP MY KEYBOARD は、1ロットにつき10個のキーが入っています。 カラーバリエーションも多く、Cherry MX 用のSwitch が大半です。 しかし、残念ながら私が購入した時期が悪かったのか Out of stock になっているものが多くありました。

欲しい色のキーを探したんですが、1段目から5段目まで全てを1色で揃えることができませんでした。

なお、多くのキーボードはキーが5段あるのですがここでは"1R = 1段目"となっています。 仕方ないので、一部の段のみ別の色を組み合わせることにしました。

PIMP MY KEYBOARD では、PayPal を使って料金を支払いました。 ただ、やっぱり輸入すると送料・関税が高い。商品単体と送料が代替同じ金額でした。

今回購入したものはこんな感じです。

f:id:iyemon018:20190203194341p:plain

購入したのは2018年12月24日でした。 実際に商品が到着したのは2019年1月4日です。 年末年始をまたいだ割には結構早く到着したように思います。

キーキャップを差し替える

差し替えた結果はこちらです。

f:id:iyemon018:20190203195037j:plain

左側のキーがグレーでないのは完全に発注ミスですね…

ちなみに横から見るとこんな感じ。

f:id:iyemon018:20190203195149j:plain

色合いのセンスはともかく、発色やキーの材質は非常に良くて結構テンション上がりました。

しかし、ぶっちゃけDCS を選択したのは失敗でした。 ごくたまにではありますが、キーの高さに指が引っかかってしまい、ちょっと神経を使います。 こればっかりは使ってみないとわからないので致し方ないのですが、こういうこともあるんですねー、勉強になりました。

おまけ

実はErgoDox EZ ではキーキャップのみの購入も可能です。

以下のページから購入することができますが、値段が$105 とちとお高い。 しかし、私のように失敗する可能性を考えると初回はこちらから購入するほうがいいかもしれません。

A set of keycapsergodox-ez.com

Azure DevOps でErgoDox EZ のキーマップをビルドする

前回、Circle CI を使ってErgoDox EZ のキーマップをビルドする方法を紹介しました。 今回は"Azure DevOps"版です。

なお、今回の記事ではAzure Pipelines を使用します。ビルド対象のリポジトリGitHub にあるものを使用します。 要はAzure DevOps にリポジトリを作成する必要はありません。

下準備

Azure DevOps も同じようにビルドの設定を行います。Azure Pipelines を使用するにはProject を作成しておく必要があります。取り敢えず適当に名前をつけてProject を作成しましょう。

私はこんな感じで"ErgoDox"としました。

f:id:iyemon018:20190124221514p:plain

Azure Pipelines でビルド

次にビルド設定を追加します。 [Pipelines] - [Builds] - [+ New] を選択してビルド定義の編集画面へ進みます。

ビルド対象のリポジトリGitHub にあるものを使用します。 "Select a source"から [GitHub] を選択してリポジトリとブランチを選択します。

f:id:iyemon018:20190124222002p:plain

[Continue]を選択するとビルド定義のテンプレート選択画面が表示されます。 今回はLinux 上でスクリプトの実行ができればいいので"Empty Job"でOKです。

なお、YAML ファイルをゴリゴリかける方はそちらでもいいと思います。私はGUIYAML 生成という手順で実行しました。

Agent pool はお好みでいいですが、今回は"Hosted Ubuntu 1604"としました。

次に以下のタスクを追加します。

  • Bash
  • Copy Files
  • Publish Build Artifacts

それぞれ次のように設定しました。

Bash

ここではスクリプトを呼び出しているだけです。前回のCircle CI でビルドしたスクリプトを実行しています。

f:id:iyemon018:20190124222619p:plain

Copy Files

スクリプトの実行後に出来上がる .hex ファイルをコピーします。これがないと成果物を保存できません! Source Folder は現在リポジトリに存在しないフォルダでもいいみたいです。Contents には成果物であるファイル名を指定してください。

f:id:iyemon018:20190124222633p:plain

Publish Build Artifacts

成果物をAzure DevOps に保存します。 Path to publish は例にある通り"$(Build.ArtifactStagingDirectory)"としました。特に変更する必要もないので。 Artifact name は成果物につける名称なので何でもいいのです。私はわかりやすさ重視で".build"としました。

f:id:iyemon018:20190124222644p:plain

トリガーを設定する

ビルド タスクの設定ができたらリポジトリへのPush を検知できるようにします。 手動で行いたい場合はこの手順は不要です。

[Trigger] - [Continuous integration] - [Enable continuous integration] のチェックをON にします。 検知対象のブランチは適宜設定してください。

成果物を保存する

あとはSave してキーマップを編集、Push するか、手動でビルドすると成果物が保存されます。 生成されたファイルはビルド結果の[Artifacts] - [<成果物の名称>]を選択します。

f:id:iyemon018:20190124224358p:plain

Artifacts explorer が表示されるのでファイルを選択して[Download]を選択してください。

f:id:iyemon018:20190124224442p:plain

Azure DevOps だとビルド タスクの作成がGUI でできるため、他のCI サービスと比べると格段に敷居が下がる印象です。(もちろんそれ以前にCI とAzure DevOps の知識は必須ですが) また、Azure DevOps では手動ビルドすることも可能です。Circle CI なんかは軽く調べただけでは手動ビルド方法がわかりませんでした… ちなみに今回作成したタスクをYAML で生成するとこんな感じになりました。

gist74e418a550fce6402027c6e8e12fe056

https://pbs.twimg.com/media/Dkt3fnqUcAAVaUN.jpg:large

Circle CI でErogoDox EZ のキーマップをビルドする

1年と少し前から使い始めたErgoDox EZ ですが、少しキーマップを変えたいなと思いました。 しかし、時間が経過しすぎて前回ビルドしたBash on Ubuntu on Windows も環境ごとOS をクリーンインストールしていました。

ちなみに前回のビルドでハマったところは以下にまとめています。

iyemon018.hatenablog.com

時代は2019年
もうそろそろCI サービスでも使って自前で環境構築なんかしたくないと思い、せっかくなので触ったことのないCircle CI を使ってみました。 また、今回はDocker を使用してビルドします。 私はDocker も触ったことが無いのでこの方法が正しいかどうかは自身がありません。。。

なお、この方法は2019年01月24日時点のものです。時間が経過すると同じ方法ではビルドできない可能性がありますのであしからず。

取り敢えずやりたいことはこんな感じです。

  • リポジトリGitHub にあるものを使用する
  • キーマップファイルは手元のWindows 環境で編集する
  • Circle CI を使用して自動ビルドする
  • ついでにArtifacts から .hex ファイルをダウンロードできるようにする

下準備

まずは以下のqmk_firmware のGitHub リポジトリをFork しておきます。

github.com

つぎにCircle CI でFork したプロジェクトをビルドできるように設定します。 取り敢えず環境はLinux にしました。 .yml ファイルは後ほど作成するので、まずは"Start building"でビルドの設定を完了させます。

Cicle CI でビルド

Fork したqmk_firmware をローカル環境にクローンします。 クローンは割と時間がかかるのでしばらく待ちます。 クローンできたら次は.circleci フォルダにconfig.yml ファイルを作成します。

ちなみにWindows 環境では拡張子のみの表記であるフォルダ名(".circleci"みたいな)を普通に設定することができません。 このようなフォルダは以下の方法で作成します。

  1. 新規フォルダを作成する
  2. フォルダ名を編集する
  3. フォルダ名は".circleci."(末尾に"."があること)とする
  4. あとはEnter を入力すると末尾の"."が自動的に除外される

さて、config.yml を編集します。

ErgoDox EZ のキーマップをCircle CI でビルドするための設定ファイル

キーマップのビルドにはDocker を使用します。 ローカル環境でビルドする場合は"make ~~"とかしてたんですが、今はDocker のビルド スクリプトが存在します。 その方法がdocs/getting_started_build_tools.mdに記載されています。

 util/docker_build.sh keyboard:keymap 
 # For example: util/docker_build.sh ergodox_ez:steno

どうやら docker_build.sh にキーボードの種類とキーマップの種別を設定することでビルドしてくれるようです。便利! 上記のconfig.yml はこの方法を採用して書きました。

ビルドして試す

ビルド結果の .hex ファイルはこれまで通り .build フォルダに作成されます。 config.yml でも.build/ergodox_ez_default.hexファイルをArtifacts に設定しています。

あとはqmk_firmware/keyboards/ergodox_ez/keymaps/default/keymap.cファイルを編集してPush すると自動ビルドが実行されます。

f:id:iyemon018:20190124215859p:plain

こんな感じでArtifacts に .hex ファイルが追加されていれば完了です!

今回は初めてDocker とCircle CI を触りましたが、Circle CI はビルドするだけなら簡単にできます。 また、Docker についても予めスクリプトが用意されているため、予備知識無しでもビルドできました。

ローカルに環境を作ると少しキーマップを変えたいと思っても時間が経っていると環境どこだっけとなりやすいので、できるだけサービス側に丸投げしたいところです。 今回のようにCI サービスを利用されている方もちらほらいるようなので一度お試しあれ。

(映画・感想)ブラック・ミラー:バンダースナッチ

NETFLIX オリジナル映画『ブラック・ミラー:バンダースナッチ 』の感想&レビューです。

あらすじ

1984年、天才プログラマーに出会い、ビデオゲーム「バンダースナッチ」の開発チャンスを得た若きプログラマーが主人公。ファンタジー小説に基づくゲーム開発に取り組むなかで、徐々に現実とパラレルリアリティが混同し始める…。

予告編

www.youtube.com

NETFLIX で話題沸騰らしい、映画の形として全く新しい「ストーリーを視聴者が選択できる」という映画です。 NETFLIX ではこの形式を"インタラクティブ映画"と称しています。"インタラクティブ"とは、直訳すると"相互に作用する"という意味ですが、コンピュータの世界では"双方向的なコミュニケーションが可能であること"、"ユーザーの操作に対して画面上の情報や内容が変化すること"を指し示します。

ちなみにブラック・ミラーというのはシリーズ物になっていて「社会風刺をブラックテイストに表現したオムニバス形式の物語」らしいです。オムニバス形式なので、1話ごとにストーリーや設定などは全く異なります。

以下、ネタバレ含みます!

続きを読む