思いあまってMoonlander買っちゃった

テレワーク生活が長くて家にもまともなキーボード欲しいなと思っていたので、勢いに任せてMoonlander買っちゃった。 かつてApple Adjustable Keyboard使ってたこともあるけど20年以上前の話なので、ほぼ初の分離型キーボードといって良いだろう。

購入直後から手になじむタイプのキーボードじゃないので、使用感については数ヶ月使ってから評価するつもり。ちなみに、このエントリをMoonlanderで書いているのだけど、微妙にぎこちないw トレーニングしないと使いこなせないキーボードなので、この時点で「ムリだわ」と思った人は手を出さないのが賢明よ。

購入方法

公式サイトから注文して。注文フォームが一部日本語化されているので錯覚するけど、住所などは英語で登録してね。自分の場合は12/23に注文したら、1/12に発送メールが来て1/15に届いた。年末年始挟まなかったら、もちょっと早く届くかも。 発送元は台湾から。関税で1,200円余計にかかり着払いで払うことになるので、これから買う人は気をつけてね。 それと購入者にはEpistoryってタイピングゲームが貰えるんだけど、発送メールに「Steamのコードくれ」って返信しないともらえないので、これも気をつけてね。

買ったのは黒色、スイッチ選べるのでKailh Box Brownにしてみた。普段、会社ではRealforce, 客先ではCherry MXの茶軸使っているので、ちょっと違う感じでって他のスイッチにしてみたけど、違いはよーわからん(つまりCherry MXの茶軸とほぼ同じ)。Moonlander、スイッチ交換もできるので、お財布に余裕があってその気になったら交換してみるかも知れない(ま、しないだろうなw)。

使い心地

キータッチは申し分ない。右側のキーが足りないので、必然的にエンターキーやバックスペースキーが他のキーに割り当てないとダメなので脳がバグる。このエントリを入力中も漢字変換と確定で誤爆しまくりで、スゴいたどたどしいw 現時点だと、何が楽しくてこんなもどかしいキーボード買ったんだwっていうレベル。慣れたら快適になるのだと信じて練習しよう。 とりあえず、2日使ってみた感想。

  • ちゃんとJIS配列になる(「変換」とか「半角/英数」とかも割り当てできる)
    • 円マーク「¥」もパイプ記号「|」も入力できた (パイプ記号はAuto SHIFTでは入力できない)
  • キーカスタマイズはホントに簡単
    • こんな感じで設定できるので、まずはORYXでどんな設定できるか試してから購入を決めても良いかも
  • Dual function keyは、今んとこ使ってない
    • Dual function設定したときのタップキー、もちょっと設定できるキーを増やして欲しい
  • Auto SHIFTが便利

後は使い込んで慣れないとちゃんとした評価はできないなー。前述したORYXにトレーニング機能があるので、しばらくはここで修行を積もうっと。

オンラインゲームのすすめ

気がついたらオンラインゲームばかりやってた1年だったので、雑におすすめをまとめておく。

2〜4人以内

スプラトゥーン2(サーモンラン)

ナワバリのフレンドマッチだと編成は運で敵味方に分かれちゃうので、4人までならサーモンランがおすすめ。 上級者が初心者のフォローをしやすいので、操作がおぼつかない参加者も気軽にやれてかつ楽しい。 ボイチャなくてもなんとかなる。

オーバークック2

操作は簡単なので初見プレイでもなんとかなるし、慣れてくれば連携の一体感が味わえてなお楽しい。 ボイチャは必須で声がけしつづけないとゲームにならないのだけど、これがこのゲームの醍醐味。 ある程度気心が知れた同士じゃないと人間関係にヒビが入るかも知れない。

Overcooked (R) 2 - オーバークック2 -Switch

5人以上

スプラトゥーン2(プラベ)

オフライン大会ができなくなった腹いせにプラベはじめたのんだけど、気がつけばほぼ毎週やってたw 編成の自由度はあるけど4対4じゃないとつまらないので、実質8人以上(10人まで)。観戦枠があったほうが休憩できて良い。

ボイチャは必須。最初は敵味方でチャネルを分けてたけど、全員オープンチャネルでわいわいするのに落ち着いた。 初心者は操作覚えるまで大変だけど、1回のプレイ時間も短くさくさく遊べるので飽きない。

普段はオフライン大会やったときのメンツで遊んでるんだけど、社長( @yusukey )が乱入してきたのが楽しかったのでツイッタランドからも雑に募集して、@tan_go238さんをはじめ、何人かとご一緒できた。社長以外、リアルで会ったことなかったけど、普通に遊べてスプラトゥーン2はすごいゲームだわw

みなさん、その節はありがとうございました。また機会があればご一緒しましょう。

ちなみに、こんなルールでやってます。

  1. ナワバリ→(ホコ→エリア→ヤグラ→アサリ→フェス)
  2. 上記の()内を繰り返し(1周だいたい30〜40分)
  3. ステージのダブり防止で、1回やったステージは選択肢から除外する
  4. フェスはスペシャルステージから選ぶ(最後はDear SENPAIでシメる)
  5. 観戦枠は上から順に機械的にまわす
  6. 観戦者が2名だった場合、ルールが同期しないように2周目から順番をズラす

Splatoon 2 (スプラトゥーン2) - Switch

ヒューマン・フォール・フラット

腹筋崩壊ゲーム。協力が必須なのでボイチャ必須。 ステージが広大なのでプレイ時間が長くて1時間くらいかかるけど、ゆるゆるやるのがこのゲームの味なんだと思う。 キャラコンのもどかしさとステージの広さが周回プレイに向かなそうな予感がする(飽きるの早そう)。 あと、マジメにプレイしたらつまらないので、はっちゃけよう。

ヒューマン フォール フラット -Switch

Amoung US

最近流行ってる人狼ゲーム。やってみた感じとしては5人くらい居ないと楽しくなさそう。 人数多い方が楽しいけど、その分議論の時間が欲しくなるのでプレイ時間はまあまあ長め(30分くらい)。 PCやNintendo Switchスマホのクロスで遊べるけど、プラットフォームによってマップが表記が英日と違うので注意。 あとテキストチャットも日本語文字化けするみたいなのでボイチャ必須。

補足

TETRIS99

オンライン対応ゲームって、5人以上であそべるゲームは案外少なくて、だいたい4人までってのが多かった。 ためしにTETRIS99やってみたんだけど、たしかに面白い。 面白いんだけど、みんなしゃべらなくなるのでボイチャの意味ないw

TETRIS 99 -Switch

あつまれどうぶつの森

気がついたらBotWのプレイ時間を抜いて、スイッチのプレイ時間No.2になってた(No.1はぶっちぎりでスプラトゥーン2)。 なんやかやイベントがあると誰かの島に集まっている気がする。こっちはなぜかボイチャ使ったことが無い。

あつまれ どうぶつの森 -Switch

まとめ

振り返ると、ワイって思った以上にリア充だった? と思える1年だった。 みなさん、お世話になりました。\(^o^)/

スプラトゥーン2大会準備

amiiboの初期化 amiiboの登録 ギアの登録 ギアの読み込み
有線LANの設定 イカッチャのLANモード 無線LANにつなげる

amiiboの設定

amiiboの初期化

「設定」を選ぶ。 f:id:masanobuimai:20200115203046j:plain

amiibo」→「amiiboの初期化」を選ぶ。 f:id:masanobuimai:20200115203121j:plain

初期化したいamiiboを読み込み「初期化」を選ぶ。 あとは画面の指示に従い、初期化を続行する。 f:id:masanobuimai:20200115203216j:plain

amiiboの登録

スプラトゥーンの広場後ろにあるここで、初期化済みのamiiboを読み込む。 f:id:masanobuimai:20200115203408j:plain

「登録する!」を選び、画面の指示に従いamiiboのオーナーを登録する。 f:id:masanobuimai:20200115203427j:plain

登録が完了し、この画面まで来たらBボタンを押して広場に戻る。 f:id:masanobuimai:20200115203543j:plain

amiiboにギアを登録する

+ボタンでカスタマイズ画面を開き、登録したいギアに着替える。 amiiboタブを開き「書き込む!」を選び、画面の指示に従ってamiiboに書き込む。 f:id:masanobuimai:20200115203635j:plain

amiiboからギアを読み込む

ロビーに入り、amiiboを読み込む。 f:id:masanobuimai:20200115203947j:plain

有線LANの設定

本体の設定

「設定」で「インターネット」→「インターネット設定」を選ぶ。 f:id:masanobuimai:20190526211741j:plain

「有線設定」を選ぶ。 f:id:masanobuimai:20190526211714j:plain

「設定の変更」を選ぶ。 f:id:masanobuimai:20190526211756j:plain

IPアドレスは機器ごとに変更する(192.168.1.xxxのxxxを変える)。 それ以外は図の通りに設定し「保存する」を選ぶ。 画面に映ってない項目はそのままでよい。 f:id:masanobuimai:20190526211745j:plain

イカッチャのLANモード

イカッチャに入る。 f:id:masanobuimai:20200115205209j:plain

イカッチャに入ったら、LスティックとR、Lボタンを3秒以上押しっぱなしにする。 f:id:masanobuimai:20200115205232j:plain

暗転して図のような準備が完了したらLANモードに入る。 f:id:masanobuimai:20200115205356j:plain

無線LANの設定

インターネットに接続してない無線LANに接続する方法。

すでにどこかに接続している場合

インターネットにつながっているアクセスポイントを優先しようとするので、すでにどこかのアクセスポイントに接続している場合、その自動接続を無効にします。 どこにも接続していなければ

「設定」で「インターネット」→「インターネット設定」を選ぶ。 f:id:masanobuimai:20200210220043j:plain

接続済み(レ印)のネットワーク設定を選ぶ。 f:id:masanobuimai:20200210220206j:plain

「設定の変更」を選ぶ。 f:id:masanobuimai:20200210220506j:plain

下の方にある「自動で接続」をOFFして「保存する」を選ぶ。 f:id:masanobuimai:20200210220259j:plain

「南町通りイカ研究所」に接続する

すでにどこかのネットワークに接続している場合は、先にここの設定を行うこと。

「設定」で「インターネット」→「インターネット設定」を選ぶ。 f:id:masanobuimai:20200210220043j:plain

「見つけたネットワーク」もしくは「登録済みネットワーク」から「南町通りイカ研究所」を選ぶ。 f:id:masanobuimai:20200210220558j:plain

「このネットワークに接続」を選ぶ。 f:id:masanobuimai:20200210220724j:plain

パスワードを入力して「OK」を選ぶ。 f:id:masanobuimai:20200210220805j:plain

アクセスポイントまで接続できるが、インターネットには接続できず、次の画面になるので「つぎへ」を選ぶ。 f:id:masanobuimai:20200210220848j:plain

「つぎへ」を選ぶと、こんな画面(無線ルータの設定画面)になるので、コントローラのホームボタンを押すf:id:masanobuimai:20200205183745j:plain

ホームボタンはこれ。 f:id:masanobuimai:20200210221802p:plain

こんな感じ(右上)にネットワークにつながってないように見えるけど大丈夫。 f:id:masanobuimai:20200210221903j:plain

スプラトゥーン2のイカッチャでLANプレイしたときのメモ

機器構成
接続方法

ローカルLAN接続&インターネット非接続。会場によって、無線LANの設定でプラベができなかったり、ラグや通信断が多発したりすることがあったので、一番手堅い接続方法を試したかった。これだったら、会場は電源さえあればなんとかなる(あとモニタ)。

ちなみに、ニンテンドースイッチ本体のみでも、アドホック通信ができるのだけど、通信状態はあんまり安定してなかった。

ニンテンドースイッチ本体の設定

「設定」で「インターネット」→「インターネット設定」を選ぶ。 f:id:masanobuimai:20190526211741j:plain

真ん中らへんに「有線接続」があるので、それを選ぶ。 余談だけど同一環境に無線LAN環境もある場合、その設定が残っているとそっちが優先されるので、あれば削除しておく。 f:id:masanobuimai:20190526211714j:plain

DHCPサーバなんて上等なものはないので、「設定の変更」で手動設定する。 f:id:masanobuimai:20190526211756j:plain

IPアドレス設定」を「手動」にして「IPアドレス」「サブネットマスク」「ゲートウェイ」「優先DNS」まで設定する。 IPアドレスはクラスCでいいでしょ。なんで「192.168.1.xxx」(xxxは適当な値)、サブネットマスクは255.255.255.0。 プライベートネットワークなのでゲートウェイは無くてもいいんだけど、設定しないと先に進めないので「192.168.1.1」あたりでお茶を濁す。優先DNSも同じ理由で適当な値を設定(ゲートウェイと同じにした)。 この4項目を設定すると「保存する」ボタンがアクティブになるので、保存する。 f:id:masanobuimai:20190526211745j:plain

スプラトゥーン2の設定

有線LANの設定が済んだら、スプラトゥーン2を起動する。 ※有線LANの設定する前からスプラトゥーン2が起動してると上手いこと動かないので、一旦終了しておく。

ZL+ZRを押しても、インターネットに繋がってないのでハイカラニュースは流れない。 これでできるのはイカッチャだけなのでイカッチャに入る。 イカッチャのデフォルトはアドホック通信なので、Lスティック+R+Lを3秒くらい押し続けてLANモードに切り替える。

あとは誰かひとりが部屋を立てれば、みんながそこに入れる。部屋立てた人のフレコを登録しておく必要もない。

補足

このモードのプラベは最大10人まで(2名は観戦モードになる)。 あと、どういうわけかボイチャが有効になるらしく、マイク付きヘッドホン(4極)を本体に刺してるとマイクの音を拾っちゃう。これ、結構なノイズなのでマイクをOFFにできるヤツを使うか、マイク無しヘッドホンの使用をお勧めする(ボイチャそのものをOFFにすることはできないみたい)。

ps. オフラインでスプラトゥーン2をやる最大のネックはモニターなんだよなー。 テーブルモードじゃ小さすぎてゲームにならない。

Cloverのビルドがまだ成功しない

やったことを残す。

それぞれを展開して、./clover直下に配置しておく(apt-mirror-api-0.1.jarだけ別)

./clover
  + apache-ant-1.9.4/
  + apache-maven-2.3.5/
  + idea-IC-135.1356/
  + eclipse-4.2.2/
  + apt-mirror-api-0.1.jar
  + jdk-6u45-linux-x64.bin
  + ktreemap-1.1.0-atlassian-01.jar

build.propertiesの中身を書き換えておく。

#idea13.home=${build.deps.dir}/idea/13.0.133193
idea13.home=/work/idea-IC-135.1356

#eclipse-4.2.2.home=${build.deps.dir}/eclipse/4.2.2
eclipse-4.2.2.home=/work/eclipse-4.2.2


DockerコンテナでUbuntuを立ち上げログイン。JDK1.6をインストール(展開)する。JDK1.6の展開が完了したなら、apt-mirror-api-0.1.jarをJDK1.6のjre/lib/extに放り込む。

docker run -v $(pwd):/work -i -t ubuntu /bin/bash

cd /work
sh ./jdk-6u45-linux-x64.bin

環境変数を設定

export ANT_HOME=/work/apache-ant-1.9.4
export M3_HOME=/work/apache-maven-3.2.5
export JAVA_HOME=/work/jdk1.6.0_45
export PATH=$JAVA_HOME/bin:$M3_HOME/bin:$ANT_HOME/bin:$PATH

ktreemapをmvnリポジトリにインストール

mvn install:install-file -DgroupId=net.sf.jtreemap -DartifactId=ktreemap -Dversion=1.1.0-atlassian-01 -Dpackaging=jar -Dfile=ktreemap-1.1.0-atlassian-01.jar

準備運動してビルドする

mvn install -f clover-core-libs/jarjar/pom.xml
mvn install -Prepack -f clover-core-libs/pom.xml
mvn install -Prepack -f clover-idea/clover-jtreemap/pom.xml

ant global.build -Dpath.to.mvn=./apache-maven-3.2.5/bin/mvn

こっちでもclover-idea-jps.buildのビルド中にヌルポで落ちる(何故だ!?)。

IntelliJでcloverプロジェクトを開く場合

  • プロジェクトJDKはJDK1.6にする
  • プラグインSDKはIDEA13.1にする
    • JDKは1.6で
    • さらにplugins/devkit/lib/jps/devkit-jps-plugin.jarをクラスパスに加える

Cloverのビルドに挑戦するも失敗するの巻

AtlassianのCloverがオープンソース化したと聞いて、早速ビルドしてみるも失敗。Linuxで再挑戦するので、いきさつをメモっておく。

ソースコードはここから入手。


ビルド手順はこちら。


この通りにやってもコケるので、以下はその補足。

用意するもの

  • Ant 1.9.4 - 面倒なのでCloverと同じ場所に展開する
  • Maven 3.2.5 - 同上
  • IDEA 13 CE
  • JDK1.6

Cloverのソースコードの都合でJDK1.6を使った方がよい。その流れでMavenも3.2.5にしとく(Mavenが新しすぎるとJDK6に対応してない)。あと、JDK1.6はApple JDKを使ったのだけれど、それが敗因だったのかも。

設定する環境変数

手順にはM2_HOMEってあるけど、M3_HOMEじゃないとコケる。

export ANT_HOME=./apache-ant-1.9.4
export M3_HOME=./apache-maven-3.2.5
export JAVA_HOME=`/usr/libexec/java_home -v 1.6`

PATHには上記のant, mvn, javaを通しておくこと。

事前準備

build.propertiesにIDEA13 CEのパスを指定しておく。

#idea13.home=${build.deps.dir}/idea/13.0.133193
idea13.home=/Applications/IntelliJ IDEA 13 CE.app/Contents

ビルド

mvn install -f clover-core-libs/jarjar/pom.xml
mvn install -Prepack -f clover-core-libs/pom.xml
mvn install -Prepack -f clover-idea/clover-jtreemap/pom.xml

ant global.clean clover-idea.pkg -Dpath.to.mvn=./apache-maven-3.2.5/bin/mvn

途中まで順調にビルドしてるけど、こんなメッセージ吐いてコケる。なんかJDK替えないと解決しなさそうなので、OpenJDK入れるかLinuxでやり直す。

clover-idea-jps.build:
    [mkdir] Created dir: /Users/masanobuimai/Desktop/clover/clover-idea/clover-idea-jps/target/classes
    [javac] Compiling 11 source files to /Users/masanobuimai/Desktop/clover/clover-idea/clover-idea-jps/target/classes
    [javac] コンパイラで例外が発生しました (1.6.0_65)。Bug Parade に同じバグが登録されていないことをご確認の上、Java Developer Connection (http://java.sun.com/webapps/bugreport) にてバグの登録をお願いいたします。レポートには、そのプログラムと下記の診断内容を含めてください。ご協力ありがとうございます。
    [javac] java.lang.NullPointerException

たぶん、こっちのほうが正しいビルド手順っぽい(ただし、こっちはMercurialも必要)。

ant global.clean clover-idea.prod -Dclover.prod.build=true -Dpath.to.mvn=./apache-maven-3.2.5/bin/mvn

JaSST'16 NiigataでJenkins入門の話をしてきた

JaSSTソフトウェアテストシンポジウム-JaSST'16 Niigata


なぜか私がJenkinsに詳しい人と美しい勘違いをされていたようで、新潟に招待されました。実行委員長の三浦さんをはじめスタッフの方々には大変お世話になりました。他の講演者のみなさん、参加されたみなさん、おつかれさまでした。

振られたお題は「Jenkinsのチュートリアル」だったので、JaSST'14 Tohokuのネタの流用焼き直しです(当日使ったスライドはそのうち)。

スライドで使っていたAntのサンプルは「Jenkinsではじめるビルド職人入門」で作ったものでGithubに公開してあります。
GitHub - masanobuimai/ant-sample-project: antのサンプルプロジェクト(Jenkinsでビルドする用)


「Antのプロジェクトだから、いつでも動くだろ」と高を括っていたら、今のJDKのバージョンと当時使っていたライブラリとかかみ合わなくてビルドできなかった。てことに気付いたのが2週間前(数年寝かしたままのプロジェクトは何かしら腐るなぁと実感したり)。


とりあえず、自分の発表の良い点・悪い点を残しておく。

  • ネタかぶりで多少端折ったとは言え、90分枠で本編のスライド構成は短かった(もう1テーマ入れられた)。
  • 櫻庭さんが提唱していたカードは便利だった。次からも使いたい。
  • iPad miniでも何とかなるけど、やっぱりMacBook Airみたいな軽くて小さいPCがあったほうが便利。
  • 演台の都合で着席してのプレゼンだったけど、できれば起立してプレゼンしたい。
  • リアル黒曜石を見れたw


あとJaSST定番のネタバレ予稿集に抵抗して作った、予告スライドをお披露目して供養しておく。
Jenkinsではじめる継続的インテグレーション -予告- - Speaker Deck