ここは Web や Android アプリのプログラマでありチェスやバイク、株式投資を趣味とするコジオンこと Hideyuki Kojima の日記です。 毎日何かしら欠かさず書いています。 この Blog の他に Qiita にもいくつか技術系の記事を投稿しています。 YouTube のチェス実況チャンネル に毎日 lichessChess.com の 10 分レート戦の実況動画を投稿しています。 連絡はメールでお願いします。kojionilk あっとまーく gmail どっと com です。

いつになったら涼しくなるというのか。

Nexus 9 固まる

最近 Nexus 9 がよく固まる。 まだ Android Nougat には上げていない。 もうそろそろ限界なのだろうか。 もうちょっと頑張って欲しいのだが……。

このサイズ感の Android タブレットは非常に便利なのだが次期モデルが出なくて苦しい。 Surface 5 が出たらまた考えようと思うのでそこまで持って欲しい。

何と今は Web 上でタイピング練習が出来てしまうとは、いい時代になったものだ。 イータイピングでかな入力をひたすら練習。 特打なんかと比べると練習画面がちょっと味気ないのが難点ではあるな。

  • かな入力: C 〜 C- (初心者を脱したレベル)
  • ローマ字: Comet 〜 Ninja (プロ若しくは一歩手前レベル)

ということで大きな差があるが、なるべくローマ字のレベルに近づけるのが目標。 1 年くらいやれば形になるだろうか。

ずっとかな打ち

かな打ちを練習し始めて 3 週間が経った。 今は Windows と OS X から文字入力する際は全てかな打ちを使用している。

ちなみに特打 CLASSIC で実践射撃練習を行うとローマ字入力はワープロ検定 1 級レベルだがかな入力は 3 級若しくは 3 級 1 歩手前レベルとなる。 相変わらずローマ字の方が圧倒的に速いのだが、かな入力はゆっくり打ってもそれなりのスピードが出るので疲れにくいのは実感する。

Windows だと SHIFT + - が長音にならない

OS X だと SHIFT + - で長音 (ー) が入力出来て便利なのだが Windows だと出来ない。 かな入力の長音の位置が遠すぎて未だに辛いのでこの差は大きい。 「ほ」を打って変換する事で出せなくはないが……。

特打かなは有用

私が大学生の頃特打でローマ字タイピングを練習したが、今は特打 CLASSIC という名前で 4 本まとめて安い値段で買えるので有用。 後今はタイピング練習用のサイトが結構あるのでそういうのでもいいかもしれない。

今日は気温はいい感じなのだが微妙に雨が降ったり止んだりで遠出は厳しそうなので街乗りに徹した。 涼しくて秋みたいで快適だが、やはり降られてしまった……。 何だかんだ言って100 km 程乗ってしまったが。バイクは楽しいね。

Nexus 9 の次の大型 Android タブレットが出ないのでどうしようかと思っていた。 最近は Windows タブレットも性能が上がってきたので Windows タブレットも悪く無い気がする。 とはいえ Surface は高いし時期が悪い。

Huawei が最近出した Matebook という Windows タブレットが結構安い割にデザイン・性能も良さそうでちょっと気になっている。 一つ気になるのが LTE でない事だが組み込みの MateTrans というアプリを使うと MacBook のように PC 側からスマホにテザリング接続出来るらしい。 これはいいかもしれない。

書くことが特に無かった。 ということは、自分にとって平和だったということだ。

暑い暑すぎる。朝の通勤時など汗だくだ。帰ってきても汗だくだ。 しかしもう 8 月も終わりか。だが 9 月になっても結局暑い日は続くわけで……。 暑さ寒さも彼岸までとよく言うので、あと 1 ヶ月の我慢だ。

大学生の時ペアスロープのラインナップを見て「こんな高い革ジャン自分は買うことはないだろう」と思って当時その約半額だったカドヤのシングルライダースを 45,000 円ほどで購入。 そのシングルライダースはずっと使っているので 15 年モノとなりインナーなどもう擦り切れてしまっているがまだ使えない事もない。 カドヤの革ジャンを買った後で知ったのだが安いラインナップのものは韓国製で高い 10 万以上のものはちゃんと日本の工場で作っているらしい。 私の革ジャンにも MADE IN KOREA と書いてあった。

革ジャンは普通に使っても 10, 20 年普通に持つので 10 万するから高過ぎる、というのは実は正しくない。 持つ年数を考えると家電製品を買うようなものだ。10 万の冷蔵庫やエアコンを買うと思えば高くない。

そして今日満を持してペアスロープの革ジャンを注文する為に仕事を早めにアガり五反田の南の方のペアスロープ東京本店に向かった。 今回私が注文したのは S-30 というペアスロープの定番モデルで、革ジャンだがスタジアムジャケットの見た目となっていてバイクを降りた後でも全く違和感のないデザインとなっていて普段使いやすいタイプだ。 この S-30 は元々受注生産前提なので頼んでから時間が掛かるので秋になる前になるべく早く頼んでおこうという考えだった。 お店に向かえばサイズオーダーやちょっとしたカスタムなど出来るのもポイントだが、既成品から変更すると少し値段が上がるので止めておいた。 また、カラーオーダーも出来るのだが、赤とかにしても恐らく革ジャンよりバイクの乗り換えの方が先に来てしまい、バイクの色を変えたら途端に合わなくなってしまうのは辛いので、ベーシックなアイボリー×ブラックにしておいた。 袖と裾のニットは縞々模様にしたかったのだが、アイボリーのニットが無いのでそれは不可との事だったので仕方なく諦めた。

やはり今の時期同じように考える人は多いらしく、結構注文が入っているのでそこそこ待つことになるとの事だった。 だが 9 月下旬には届くらしいので楽しみだ。届いたらまたこの日記で紹介する。

ウィジェット部分は旧アプリのものをほぼそのまま移植したコジごみカレンダーだったが、何故かウィジェットの配置するセル数が想定しているサイズより大きくなってしまうという問題が起きていた。 コジごみカレンダーは「セル縦 1 × 横 2」サイズのものを想定していたが、何故か Nexus 5X で配備しようとすると「2 × 3」になってしまう。

私は業務の Android 開発ではウィジェットを使用するという事がほぼ皆無だったので昨今のウィジェット開発事情に関して全く無知であった。 これに関しては株式会社ノーティス様の記事が非常に参考になった。

targetSdkVersion = 14 (Android 4.0) 以上の場合ウィジェットの 1 セルあたりの計算式が従来と異なるというのが原因で、旧コジごみカレンダーは Android 2.2 向けということで targetSdkVersion = 8 であったが今回の新アプリに関しては Android Nougat (Android N) に設定してあった。 まぁ今時 targetSdkVersion に過去のものを指定するというのは良くないのでウィジェットの計算式を新方式にして解決した。

株式会社ノーティス様の記事にも記載があるが、新旧仕様での n セルの dp 量は以下で計算出来る:

(targetSdkVersion 14 未満) 74 n - 2
(targetSdkVersion 14 以上)
70
n - 30

例えば 1 × 2 で配置しようとすると旧仕様だと 72 × 146 (dp) だが新仕様だと 40 × 110 (dp) となる。全然違う。

かなり手間をかけた全面刷新

コジごみカレンダー自体は 5 年近く前に初版をリリースした歴史ある Android アプリなのだが、アプリの構造が Android 2.2 時代のもののままなので更新するにも何かと制約がありモチベーションが保てなくなっていた。 なので現代の技術で全面リプレースするという構想は実は 2, 3 年前から持っていたのだが、既にかなり複雑なアプリに仕上がってしまっていたので移植しようとすると全ての機能を網羅しなければならず、なかなか最後まで続かない結果になっていた。 作っては中断、作ってはまた中断を繰り返しており、開発は頓挫状態となっていた。

Kotlin に感謝

では何故今回モチベーションが保てたのかというと間違いなく Kotlin のお陰だ。 既存の冗長な Java コードを Kotlin で書き換えるのが非常に気持ちよく、地味な移植作業を続けるのがそれ程苦ではなくなっていた。

今回 In-app Billing の既存のコード以外全て Kotlin で書き直している。 業務で Kotlin を使うのは流石に憚られたが、自分のアプリなら自由に使えるのでなかなか楽しい。

ただ 「Android 開発経験がそれほどない技術者は素直に Java で書いたほうがいい」と思った。 所々 Kotlin の文法ミスなのか Android SDK の API の使用方法が間違っているのか判断がつかない場面があったので、恐らく経験が浅いと解決できないのではないかと思われたからだ。

これが特に良かったという点

実際にコジごみカレンダーのコードを一部引用し述べる。

Fragment で Activity のインスタンスを使用する場合コンストラクタ等で行おうとするとまだ Activity に attach() されてないので getActivity()null になる。 これを避ける為には Fragment#onAttach() で Activity のインスタンスを参照するか Fragment#onActivityCreated()getActivity() するのが普通なのだが、そうすると以下のように退屈な代入を書かなければならない:

private ContentResolver mResolver;  // ここで代入できないから final にできない!!
...
@Override
public void onActivityCreated(final Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    mResolver = getActivity().getContentResolver();
}

Kotlin なら by lazy { ... } を使えば実際に使用する箇所でコードブロックが走る (遅延実行) ので大丈夫だ:

// mResolver を onActivityCreated() 以降でしか参照しないならこれで問題ない
private val mResolver: ContentResolver by lazy { activity.contentResolver }

多数の分岐を持った変数代入を Java でやると以下だ:

// 読みやすいけど退屈
final int backgroundColor;
if (year == currentYear && month == currentMonth && date == currentDate) {
    backgroundColor = getResources().getColor(R.color.calendar_today);
} else if (targetMonth != month) {
    backgroundColor = getResources().getColor(R.color.super_light_gray);
} else if (j == 0 || dayType.isHoliday(cal) || dayType.isExtra(cal)) {
    backgroundColor = getResources().getColor(R.color.calendar_sunday);
} else if (j == 6) {
    backgroundColor = getResources().getColor(R.color.calendar_saturday);
} else {
    backgroundColor = Color.WHITE;
}
columnLayout.setBackgroundColor(backgroundColor);

Kotlin だと when 文があるのでかなり簡潔になる:

columnLayout.setBackgroundColor(when {
    year == currentYear && month == currentMonth && date == currentDate -> resources.getColor(R.color.calendar_today)
    targetMonth != month -> resources.getColor(R.color.calendar_not_target_month)
    j == 0 || Utils.isHoliday(cal) || Utils.isExtra(cal) -> resources.getColor(R.color.calendar_sunday)
    j == 6 -> resources.getColor(R.color.calendar_saturday)
    else -> Color.WHITE
})

後は拡張メソッド (エクステンション) やトップレベル関数、インライン関数やラムダ式なども勿論便利だった。 もうプライベートで行うコーディングは Java で行う気がしない。

きのこ山

きのこ山と BOLT

今日だけ台風の中日で天気が悪くなかったのでショートツーリングに出掛けた。 筑波山がバイク乗りにとってイマイチなスポットであることは以前お伝えしたが、筑波山の裏に良くわからない山があるのも知っていた。 きのこ山という何ともチャーミングな名前である。

いつもの通り下道、国道 294 で北上し県道 7 号に入った。 県道 7 号に入って暫くすると筑波山やきのこ山と他の山々が眼前に現れた。 なかなか眺めが良い。

きのこ山に登るには Google Map だとかなり細い道として描かれている林道を行かなければならない。 大丈夫かな、と思ったが中には普通の車も通っているのでオンロードバイクでも行けそうだ。 まぁ、自分はここに車では来たくないが……。 他にはロードバイク乗りと何人かすれ違った。

林道といっても道はちゃんと舗装されている。 ただ、落石や枝が落ちているなど路面状況はかなり悪い。 できるだけ気をつけてスピードを抑えて行くしか無い。 と思っていたら後ろからオフロードバイクの軍団が結構なペースでやって来たので素直に道を譲った。 自分がオフ車に乗ってもあのような走りは出来ないだろう。

パラグライダーのスポットらしい

こんな店も何もない山に何故人 (特に車) がやって来るのか、と思っていたが、どうやらパラグライダーの離陸場のようで実際にリフトオフしているようだった。 そんな場所なので写真の通りなかなかの絶景が楽しめた。 つくばの町並みが一望できる。

そのままきのこ山から足尾山、丸山、加波山、燕山の方向に走っていったが、これ以降は絶景スポットなどはなく延々と路面状況が悪い林道を走らせられるのできのこ山を堪能したら西に抜けてしまった方がいい気がした。 途中に風力発電所があったので写真に撮っておいた。 見学可能と書いてあるし大きい風車が廻っておりなかなかの迫力ではあるが、デカデカと「バイク進入禁止」とか書いてあるのでそのまま入り口にバイクを放置するのも何なのでさっさと先に進んでしまった。

山越えしてさっさと帰宅

美野里 PA 親子丼

全ての山を越えたら食事の時間になったし、何より暑すぎるのでそれ以上回る気力もなくなったのでそのまま高速に乗った。 PA か SA で食事をしようと思ったが友部 SA は人がごった返しており全く話にならなかった。 その次の美野里 PA は小さい PA なのだが程よく空いていたので写真の親子丼を頂いた。 680 円だがなかなか量が多くて満足。

総括すると、きのこ山などの林道は少なくとも二輪通行禁止ばかりの筑波山に行くよりは楽しめるが、やはり林道なので快適に走破できるとは言い難い。 所々景色は良いが BOLT で走りを楽しみに行くには厳しいと思われた。

いつも暑くてそんなに楽しめない上に暑くて高速に乗ってしまい費用が嵩んでしまうのが分かっているのに乗ってしまう。 早く 10 月になってほしいものだ。

ちょっと前までは AppCompatActivity を使用した場合に PreferenceFragment が Support Library の Fragment を継承していないのでそのまま使えず歯がゆい思いをしていたが Android Support Library の Fragment を継承した PreferenceFragmentCompat が登場しその問題が解決された。 しかし古いアプリを移植しようとして RingtonePreference (通知音選択) がそのまま使えない事に気付いた。 SwitchPreferece には SwitchPreferenceCompat が用意されているのに RingtonePreference にはそういったものがない。

仕方が無いので普通の Preference で自分で実装することにした。

呼び出し側

暗黙的インテントを投げることで同機能を実装できる:

    mNotificationSound.setOnPreferenceClickListener {
        val intent = Intent(RingtoneManager.ACTION_RINGTONE_PICKER)
        intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_NOTIFICATION)
        intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, true)
        intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, true)
        intent.putExtra(RingtoneManager.EXTRA_RINGTONE_DEFAULT_URI, Settings.System.DEFAULT_NOTIFICATION_URI)

        val existingValue = pref().getString("setting.notificationSound", null)

        // Uri として null を指定すると通知音「なし」扱いになることに注意
        val uri: Uri? = when {
            existingValue == null -> Settings.System.DEFAULT_NOTIFICATION_URI
            existingValue.length > 0 -> Uri.parse(existingValue)
            else -> null
        }
        intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, uri)
        startActivityForResult(intent, 0)
        true
    }

「Preference の設定がまだされていない場合」「通知音がなし (サイレント) の場合」「通知音が設定されている場合」の 3 通りあることに注意。 その場合分けは上のコードの when 文に示されている。

onActivityResult() 側

暗黙的インテントの戻り値を受け取る為に onActivityResult() も実装する:

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    if (requestCode === 0 && data != null) {
        val ringtone = data.getParcelableExtra<Parcelable?>(RingtoneManager.EXTRA_RINGTONE_PICKED_URI)
        pref().edit().putString("setting.notificationSound", ringtone?.let { it.toString() } ?: "").apply()
    } else {
        super.onActivityResult(requestCode, resultCode, data)
    }
}

こちらは通知音がなしの場合は null で渡ってくるので Preference に空文字で設定しておく。 空文字で無くても null でさえなければ何でも構わない。 null だと未設定との区別がつかなくなる。

ちなみに上記 val ringtone には content://media/internal/audio/media/22 といった感じの CONTENT_URI 表現が入ってくる。 実際に Notification を鳴らす際にこのまま使うことができる。

お盆休みの後の一週間だと一週間が長く感じる。 やっと休みだ。

しかし土日はあまり天気が良く無さそうだ。 しかも暑いし、またインドアな休日となりそうだ。

日記に書くような事は特に何もなし。普通の一日だった。 しいて言えば、早く夏が終わって欲しい。

暑すぎて何もかも辛い

とにかく出社が辛い。 暑い暑すぎる。 もう汗だくだ。 この地獄のような季節はいつ終わるのか。

歯の治療

若干歯に冷たいものが染みるので歯科医院に行った。 原因が分からなったらどうしようと思っていたが、それらしい虫歯が発見され治療完了した。 実にありがたいことだ。

前行ってた歯医者は歯石除去に 3 ヶ月に 1 回 1 時間以上かけてしっかりやるところだったが、その度に憂鬱になるので今の歯医者に変えた。 普通は 15 分くらいで終わる。 しっかりやってくれるのはいいのだが時間が長いと心理的な負担が大きい。

お盆最終日だが普通に仕事だった。 電車が空いているのはいい事だが、やはり他人が休んでいる時に働くのは何か損している気分になる。

JIS 配列の最強キーボードのはずだったが

HHKB Professional JP

最近 US キーボードから JIS キーボードへの乗り換えを行っている関係で会社で使用しているものを HHKB Professional JP にしてみた。 静音化された Type-S もあるが今回は墨カラーが良かったので普通の HHKB Professional JP とした。

Type-S も数ヶ月使用したが、自分としては全く気にならなかった。 Type-S とは値段が 1 万違うので注意が必要だが、一般の人は Type-S でない方で十分な気がする。

1 週間ほど使った感想だが、環境が許す方は素直に US 配列の HHKB を買った方がいいと思った。 US 配列のモデルと比べると分かるが HHKB JP の方が圧倒的にキーの数が多い。 その癖キーボード自体のサイズが変わっていないのでかなり窮屈に感じるし、特に最下段のキーを打つときに「これなんだっけ」と探してしまう。

細かいところを挙げると以下だ:

  • Enter キーが US 配列に比べると 1 個遠いので押しにくい
  • BS キーのサイズが通常のキーと同じになっているので押しにくい
  • 右 Shift が通常のキーと同じになっているので押しにくい というより押さない
  • 右 Fn が US 配列と位置が違うせいで矢印 (Fn + @;:/) を片手で押した時のフィーリングが違う
  • 独立矢印キーが通常のキーと同サイズになっているので Z 列の配置にしわ寄せがいって左方向にずれている

Mac の「かな / 英数」と同じ操作性を実現させるために IME の設定で変換キーを IME ON に、無変換キーを IME OFF に割り当てているがこのキーのサイズも US の Command (Win) キーと異なり通常のキーと同サイズなのでよく押し間違える。

あと HHKB Professional 2 にあった USB ハブ機能が無くなっているのが地味に痛い。USB 扇風機や USB マウスのレシーバを接続するなどしていたがこれを PC の方に接続せざるを得なくなってしまいちょっと不便だ。

事情があって US 配列が使えない人が選ぶべきだが HHKB に拘る必要はない

キーが多くて打ちにくい JIS 配列をわざわざ選択するメリットは以下となっている:

  • 他人のキーボードを触った時日本国内だとほぼ JIS 配列となっているのですぐ違和感なく使える可能性が高い
  • Windows の場合英語キーボードを挿してもすぐ認識してくれないので出先の作業を行うときに JIS の方が有利
  • 日本語切り替えのみ単独の半角 / 全角キーや変換 / 無変換キーがある JIS の方が有利で US は Alt + ~ などの窮屈な切り替えを強いられる (Mac なら Karabiner で簡単に改善できるが)
  • MacBook を買うときに JIS 配列だと吊るしを選択できるのでかなり安く購入できる
  • Android タブレットを買う時にオプションで付けられるキーボードが多くの場合 JIS のみなので US は海外取り寄せとかになってしまう

家族で使う場合自宅で共用で使う PC の配列も困るところで、例えば US 配列で家族に慣れて貰ったとしても学校で JIS 配列のキーボードが使われているだろうからそこでキーバインドが異なってしまうので他人に不利益を与えてしまうことになる。 これは意図したものではないはずだ。

というわけで、個人的にどちらかというと消極的な理由で JIS 配列に慣らしていこうというわけだが US 配列だと HHKB が至高のキーボードなのは間違いないのだが HHKB JP は果たしてどうか……というのはちょっと考えてしまう結果となった。 若干サイズは大きくなるが東プレの REALFORCE91UBK とかの方がいいのかもしれない。

箱根のつもりが道を間違った

自分にとってお盆休みラスト一日ということでツーリングに出掛けた。 何気に箱根ターンパイクを走ったことがなかったのでそれを目標にしていたのだが、小田原厚木道路に入らなければならないところを間違って東名をそのまま直進してしまい御殿場の方に行ってしまった……。 なので御殿場 IC で降りて山中湖の方に向かおうとするも国道 138 号が大渋滞のため痺れを切らして横道に反れて別の道を模索した。

静岡県道 147 号は当たり

静岡県道 147 号でも行けそうだったのでそちらを選択。 これは正解だった。 入った途端気持ちのいい道が続く。 ……と思っていたら物凄い霧が襲ってきた。前が全然見えない。 先に行く車も条件は同じなので、バイクの自分にどんどん道を譲ってくれるが、正直自分も遅いというか慎重に行きたいのでそんなに嬉しくはない……。

道の駅どうしは入れず

何とか走り切り山中湖に着いた。 だがめちゃくちゃ混んでいたので山中湖を無視しそのまま国道 413 号 (道志みち) に入った。 目標は道の駅どうし。

難なく着いたのだが、道の駅どうしの所だけ大渋滞。 車が何十台も待っている。 施設内も異常なほど人でごった返していた。 バイクなら無理やりすり抜けていけば入れないことはないが、そこまでして行きたくはないので止めておいた。 そのまま県道 24 号で北上。 甲州街道に出た。

横道に入るのが一番楽しい

道の駅たばやま 豚とろ角煮丼

甲州街道も飽きてきたので県道 30 号に反れた。 少し反れるだけで車通りがかなり少なくなって楽しい。 やはりお盆休みのせいか車が多すぎるのだが、横道に入れば関係なく空いている。

県道 33, 18 に入り道の駅たばやまに着いた。 ここも車がごった返していたが、道の駅どうしよりはマシだったので横をすり抜けて入った。 そこで遅い食事をとった。 豚とろ角煮丼 650 円。 悪くはないけど丼だけだし角煮とネギだけなのでちょっとさびしいかな。

帰りは下道でゆっくり帰った。 両方高速だと金がかかって仕方ない……と思ったのだが埼玉は暑い。 暑すぎて辛い。 飯能あたりまでは快適だが入間や所沢あたりが大渋滞で辛い。

ちょっとお盆休みの渋滞を甘く見ていた上に道を間違えるという残念なツーリングとなってしまった。 ただ、やはり何でもない無名の県道は楽しいね。

帰省とはいっても一日だけ実家に帰省した。 夜はイオンで買った花火で楽しんだ。 ちょっと風が強くて打ち上げる系統の花火が出来なくて残念。

妻の弟が家に来ていたので、妻と合わせてお台場観光に出掛けた。

水上バス

海浜公園とヒミコ

浅草から水上バスが出ているということで前もって予約しておいた。 松本零士がデザインしたらしい「ヒミコ」と「ホタルナ」が運行されていた。 ホタルナの方がちょっと新しくて広い。 そして浅草からの出発が 10 分早かった。 そこまでの違いはないだろうということで、ヒミコを予約しておいた。

写真の通り船の見た目は格好いいのだが、内部から見た時に障害物が多く外がクリアに見えるとは言い難い。 あと、お台場周辺まで行けばまた違うのだが、浅草から月島あたりまでただのビルが立ち並んでいるような景色しか見えず景観がいいとは言えない。

大人 1,520 円だが、次お台場に来るなら普通にゆりかもめを使うか車を使うかにするだろう。

海浜公園に着いたのが 11:00 頃だったが、無料で見れるフジテレビを観光してから食事にしよう、という事になった。 フジテレビは海浜公園から近いので行きやすい。

フジテレビ

フジテレビ

フジテレビはめちゃくちゃ人がいっぱいでごった返していた。 無料だし駅から近いしで皆行くのだろう。 私はテレビを殆ど観ないのでよく分からないが、テレビ関係の屋台が多数やっており、そこで人混みにまみれて食事している人が結構いる……。 よく食べる気になるものだ、と思ってしまうが。

まず 7F に入る。 7F はテレビ関係の土産物がたくさん売られていた。 ドラゴンボール、ワンピース、アラレちゃん、サザエさん等だ。 まぁ全体的に高いし人も多いので、何となく一通り見ただけで退散した。

次は 5F に入った。 こちらはテレビ関係の無料の展示があった。 実は数年ぶりに来たのだが、中の展示は当然今放映されているものに合わせてリプレースされていた。 これはなかなか楽しめた。 人が多いのが難点だが。

1F にも何かありそうだったが人が多すぎるので退散。 食事に行くことにした。

レッドロブスター

レッドロブスター

アクアシティお台場の最上階はレストラン街になっているが、結構値が張る店が軒を連ねている。 その中でもロブスターを出す店として有名なレッドロブスターに行った。

ここの店は普通に食事するにもかなり高く、ロブスターは小さいサイズでも 1 匹 4,900 円もする。 流石に昼からそれはやり過ぎだろうということで、テールとステーキを合わせたものが含まれるセットにした。 とはいっても一人 3,980 円でかなり高い。 サラダ、スープ、メインディッシュ、デザート、ライスかパンがついてくる。

ロブスターのテイルだが、グリルしたものにマヨネーズで味が付けられていた。 これでも美味しいことは美味しいが、出来れば日本らしく素材そのままで味わいたかった気はしないでもない……。 まぁ特別な日なのでここに来たが、普段から来たくなるような店ではないな。

食事を終えた後、あとどこか 1 つ見れるだろうということで日本未来館に行ってみることにした。

等身大ガンダム

お台場等身大ガンダム

向かっている途中にお台場等身大ガンダムが見えたので撮影してみた。 写真映えする被写体ということでかなり撮影している人は多い。

この他にもお台場には訳の分からないモニュメントが多数ある。 ポケモン GO で見ているとそれぞれの建造物がスポットとして名前が出てくるので便利なようだ。

日本未来館に着いたのだがかなり人がいっぱいだったので何となくパスし、外にあった土産物屋のみ覗いた。

テレコムセンターまで歩いて展望台に登ってみようとしたのだが、開始が 15:00 なのを知らずにビル最上階まで行って入れず、適当に眺めて終わった。

若干尻すぼみ感は否めなかったが、アクアシティお台場に戻り昭和の町並みを楽しむ場所 (名前失念) に行ってお土産と駄菓子を買って撤収した。

オイルとエレメント交換

BOLT のオドメーターが 7,880 km になったので YSP にオイル交換に行った。 2 回に 1 回のエレメント交換も提案されたのでやっておいた。 かなり距離が伸びているので 6 ヶ月点検時には確実に 10,000 km 越えていそうである。

グリップヒーターとスリップオンマフラー注文

そろそろ BOLT にも慣れてきたということでカスタムの相談をした。

1 つ目がグリップヒーター。 私はこれを使ったことがないのだが、冬場にバイクに乗る上で一番キツイのは手元が冷たくなる事だというのは痛いほど分かっている。 そしてこのグリップヒーターが費用対効果の面で一番いいというのは昔から聞いていた。 BOLT の場合キジマの汎用的な部品が使えるのでそれを注文。 8 月なので時期が早過ぎるのではないかと思えるが 10 月あたりから峠で十分使えると思ったためこのようにした。

2 つ目がマフラーである。 個人的にこれは結構悩まされた。 私としては 6 台目のバイクなのだがマフラー交換は初である。 それというのも殆どが中型バイクだったので「マフラー交換しても果たしてそれほどの費用対効果があるものか」と考えていつも見送っていたからだ。 煩くなり過ぎるとご近所さんに気を遣うというのもあった。 特に賃貸アパートなどではそうだろう。 まぁ、そんなのお構い無しな若者もいるかもしれないが……。

個人的に音や抜けが良くなるのは多少魅力的だし、バイク人生で 1 回は交換してみたかった (交換した結果どのように変わり自分がどんな感想を持つのかというのに興味があった) というのもあり今回決断した。 メーカーも迷ったのだがネットの評判を見て MAC MRD M-DRAG スリップオンマフラー にした。

「急いでないので 6 ヶ月点検時でもいい」とお願いしたが、マフラーは気になるので届いたら YSP に出向いて取り付けお願いしてしまいそうだ。

サッポロ ラガービール

仕事関係で飲みに行ったのだがその際に珍しくサッポロラガーが置いてあったので撮影。

サッポロラガービールは別名「赤星」とも呼ばれ、昔ながらの熱処理を行うビールという事で言ってみればキリンクラシックラガーに近いものとなっている。 しかし居酒屋で飲んだ感じだと若干サッポロラガーの方が旨い気がする。

ということで、このビールがある居酒屋なら割とウキウキして行くことが出来そうだ。 あんまり無いようなので、もし目当てなら事前の調査が必要となる。

3 年ぶりに駅の自動販売機を利用した

私は基本的にドケチなのでツーリング以外で自動販売機を利用するという事が殆ど無い。 まずスーパーやドラッグストアを探し、無ければコンビニを探し、それも無ければ仕方なく……といった感じだ。 ツーリングでも、サービスエリアではまずティーサービスが提供されていないか確認し、無かったら仕方なく自動販売機を使う。

今日は勿論仕事だが、最高気温 37℃ と予報されているほどの危険な日だったので駅に着いた時には喉がカラカラになってしまった。 あまりに暑いので我慢出来ずに駅の自動販売機を利用してしまった。 可笑しな話ではあるが、駅で自動販売機を使うという行為を普段しないものだからなかなか楽しい。 「自動販売機は休日のツーリング中に仕方なく使うもの」と頭に刷り込まれてしまっているので、何故かちょっとその気分になった。

アイスや軽食の自販機もなかなか面白い

時々見かけるアイスの自販機がなかなか面白く、ツーリング中に丁度いいタイミングであったら利用している。 正直高いのだが、これに関しては値段以上の楽しさがあるというのは認める。 何というか、アイスと一緒に「ワクワク感」を買っている。 それが 120 円はなかなか安いというわけだ。

あと場所によってはハンバーガーやたこ焼き、焼きそばなどの軽食を自販機で売っているところがあるが、あれも機会があったら利用してみたいとは思っている。 しかしなかなか丁度いいタイミングで自販機が出現してくれない。 歯がゆいものだ。

楽天カードの Edy が溜まっているので、使おうと思ってマックに行った。 私の行動パターンの中に「QUICPay が使えない且つ Edy が使える店」というのがマックぐらいしかないからだ。

必勝バーガー ビーフ&パイン

グルメバーガーに慣れてしまったのでマックの期間限定メニューというのは全く魅力的に感じるものが少なかったが、この必勝バーガー ビーフ&パインは値段が高いだけあって結構美味しかった。 マックで久々に「リピートしたい」と思えるようなハンバーガーだった。 ただ、店員の包み方が汚くてレタスがはみ出ていたりと惨憺たる外観だった。 この辺りが昔から変わらぬマッククオリティ。

ネット上の評判も上々の模様。 「パインってハンバーガーと合うの?」という声もあるようだが、グルメバーガーでは割と普通な組み合わせ。 バンズも特別なものを使っているようだが、これもなかなかいい。

必勝あみあみポテト

たまたまセットで安くなっていたから買ったが、これが結構芋の味がして香ばしくて美味しい。 マックでこんなに美味しいと思うなんて、私の舌がどうかしたんじゃないかと思ったほどだ。

ただ、昼時で混雑していたのもあって結構待たされ、ポテトが来た時には既にハンバーガーを食べ終わってしまっていた。 やはり、ハンバーガーとポテトは「ラーメンと餃子」みたいな関係なので、出来れば一緒に食べたいところ。

グルメバーガー店で出てくるポテトがこの位美味しかったらいいのだが、残念ながら業務用の冷凍のポテトをそのまま揚げただけのような手抜きを出してくる店が多い (まぁ必勝あみあみポテトも店舗のオペレーション的には「ただ揚げるだけ」なのかもしれないが……)。 普通逆だろ、と思ってしまうな。

まず関越道で水上 IC まで北上

今日は昨日よりはマシな天気のようなので、前回天気が悪くて挫けてしまった金精峠方面へのツーリングに出掛けた。 まず暑くて下道など走ってられないと思ったので、高速で水上 IC までパスした。 6:30 出発したが 9:00 頃到着。

金精道路に行くなら沼田 IC で良いのだが、どうせ高速で行くならもっと走ってやろうと思って奥鬼怒ゆけむり街道を走ることにした。 理由は Google Map を眺めていて何となく名前に惹かれたからだ。

奥利根ゆけむり街道はアタリ

奈良俣ダムと BOLT

奥利根ゆけむり街道を走り初めた時はそこそこ車が詰まっていて、このローペースで走り続けられたらキツイな、と思っていたら、途中の T 字路で北方向 (峠の店がある方向) に殆どの車が抜けてしまい途端に快走路となった。 何だこれは?と思ったのだが、後でよく見るとその北に抜ける道がショートカットになっていた……。 恐らく車の方はナビがそっちの道を案内してくれていたのだろう。 まぁバイクでワインディングを走る分にはショートカットは意味ないのでこれでいいのだが。

奥利根ゆけむり街道のほうは左手に藤原湖を臨んだ状態で走るのでなかなか眺めもよく、車も少なくいい感じだった。 BOLT でも楽しめるレベルのワインディングが続き、快適に走ることができた。

途中、ならまた湖に来たところでダムが見えたので停車して写真を撮ってみた。 遊歩道もあるようだが、山間部とはいえ流石に暑いのでパスして出発した。

奈良俣ダムは無料で楽しめる

奈良俣ダム石碑

しかし暫く走っているとまた「奈良俣ダム」の看板があった。 先程私が居たのはダムの正面で、今度のは山をもう少し上がっていってダムの上から見下ろそうというものらしかった。 全く予定していなかったが興味があったので行ってみた。

ダムの上の部分は無料で開放されており歩いて端から端まで行けるようだった。 暑いのとあまりに距離があるので私は歩かなかった。 その他、ダムの資料展示室も無料なので自由に見学できた。 ただし係員を含めて誰もいなかった。 他ではお金を取りそうな望遠鏡も何故か無料だった。

無料なのにやけに人が少ないし、気分転換になかなかお薦めのスポットなのではないか。

売店と食堂を兼ねた施設もあったが、特にダムならではのものが売られているわけでは無かったのでちょっと残念だった。 喉が乾いていただけだったので、そこにちょうどあった自動販売機で缶コーヒーを飲んで、ダムを後にした。

大清水休憩所まで

大清水行き止まり

奥利根ゆけむり街道を走って行くと、県道 260 号との交差点で係員が見張っていた。 県道 260 号は尾瀬方面 (鳩待峠) への道であり、恐らくマイカー規制の監視員だったのだろう。 なのでそのまま東に抜けることにした。

国道 401 号に差し掛かったところで、北方面の行き止まり (尾瀬方面) に行くか迷った。 時間も早いし、折角なので行ってみた。 距離的には往復 20 km ほどだろうか。道自体は車が少なくて走りやすい。 尾瀬に行く人は大抵徒歩距離が短い福島側から行くので、こちらはそんなに人がいないのだろう。

終点に着くと大清水休憩所が見えた。 あと、マイカー規制の為の通行止めを確認。 駐車もお金を取られるようだったので (バイクは不明だが)、通行止め部分で写真を撮って終わりにした。 まぁ自分が尾瀬に行くとしたら同様に福島側から行くと思うので、多分ここに次来ることはないだろう。

そのまま来た道を戻り、いよいよ金精道路方面へ向かうことにした。

金精道路はイマイチだった

結論から書くと正直イマイチだったので、写真も撮っていない。 日光への連絡道なので明らかに車が多く、快適とは言い難い。 絶景スポットもあるにはあるが、ほぼ一瞬だけでイマイチ印象に残らなかった。

唯一良かったのは真夏にも関わらず非常に涼しかったという事だった。 メッシュジャケットだとむしろ肌寒かった位だ。

ついでに寄った奥利根ゆけむり街道のほうが断然楽しかった。 バイクツーリングを始めて分かったのは、ある程度郊外に出ると訳の分からん県道とかに適当に入っても十分楽しめるし、むしろそっちのほうが楽しいことが多いことだ。

てんとう虫

てんとう虫 ハンバーガー

日光に入り道も混んできて「もう帰ろうかな」と思っていたが、とりあえずスマホで「日光 ハンバーガー」で検索してみた。 そうすると「てんとう虫」という店がヒットし、距離も近い。 ということで、その店に向かうことにした。

駅前なので駐車場らしきものはなかったが、店の前に路駐できそうなのでそうした。

店に入ると 40 代か 50 代の女性 1 人で切り盛りしていた。 「ウチはクレープ屋さんだけど大丈夫ですか」と聞かれた。 「ハンバーガーは無いんですか」と聞くと「あります」とのこと。

若干嫌な予感がしたが、値段を見るとなんと 200 円。 これなら外してもいいやと単品で注文。 3 分足らずで出てきた。

正直量が少なかったので、この後結局高速の上で昼食をとり直したのだが 200 円にしてはよく出来ている。 マックの 200 円バーガーを頼むなら断然こっちだろう。 普通にクレープの方も食べておけばよかったかもしれない。

何より、店員の女性の接客がすごく丁寧で好感が持てた。 近くにあったらクレープを食べに通いたいかもしれない。

余力があったので県道 14 号に入って南下

まだ少し余力があったので、栃木県道 14 号に入って南下を始めた。 これも大正解だった。 車通りが少なく快適なワインディング。 足尾と鹿沼の間の山道は面白そうな道がいっぱいあるが、今日は 14 号だけにしておいた。 県道 58 から 15 号に至る道とか見るからに楽しそうだ。 Google Map で県道 246 号の行き止まりのように見える地点から細い道が生えているが、ここは通れるのかとか考えると面白い。

鹿沼まで出てしまうと流石に暑さが厳しくなってきたので、高速に乗って帰ってしまった。 今日だけで 450 km 走った。 半分以上高速だったし、ところどころ結構暑かったがなかなか満足な内容だった。

Magic Keyboard JIS 配列をヤフオクで落札した

JIS キーボードにしようと思っていたのでヤフオクで落札してみた。 Magic Keyboard は普通に買うとかなり高い (11,800 円) のだが、ヤフオクだと新品が 7,000 円前後で入手できる。 恐らく iMac に付いてくるが要らない人が多いのだろう。

今日届いたので早速使っている。 HHKB に慣れているせいか、矢印キーがホームポジションから遠いのでカーソル移動が打ちにくい。 IntelliJ や Eclipse なら Vim プラグインを入れるのでいいのだが、例えばこの日記を入力する時とかに困る。

かな入力練習中

折角 JIS キーボードにしたので、何となくかな入力を練習している。 打鍵数が少なくなるので極めればローマ字入力より相当早くなるはず……だが、今のところ物凄く遅い。 この日記もかな入力で頑張って書いている。 今は Google 日本語入力のサジェストがあるので、遅くてもある程度は何とかなる。

練習には私が学生時代にお世話になった「特打」を使っている。 今は「特打 Classic」という名前で 1,800 円程で購入でき、ローマ字入力の練習が出来る 2 本とかな入力版と英語版の 4 本がセットになっている。 グラフィックは当時のものなので古い感じだが、今プレイしてみても十分使える。

ConoHa でようやく Ubuntu 16.04 LTS のイメージが用意されたので早速我がコジオニルクも CentOS 7.0 から移行してみた。 仕事で CentOS を恒常的に使用しているというのなら別だが、そうでなければ Ubuntu の方が何かとパッケージも新しいし使い勝手が良い。

ただ Ubuntu 公式から ISO をダウンロードして VM にインストールした場合と初期状態が少し異なる:

  • root ユーザしかいない
  • ロケールが英語

一般ユーザ作成

ConoHa の Web 上のコンソールからログインする。 root ユーザでパスワードは登録時のものを入力する。

ログインできたら、まず一般ユーザを追加する。 hoge ユーザを登録するとすると以下となる:

adduser hoge
gpasswd -a hoge sudo  # sudo 権限追加

SSH 設定

ConoHa の Ubuntu イメージは openssh-server は最初から入っているのでその設定をする。

vi /etc/ssh/sshd_config

Port 99999  # 使われていないポートなら何でも良いがデフォルトの 22 だと攻撃を受けるので変更しておく
PermitRootLogin no  # root で SSH ログインできるようになっていると非常に危険なので
PasswordAuthentication yes  # パスワード認証を使わない場合は OFF
GSSAPIAuthentication no  # GSSAPI を使うなら yes だが使わないなら no で (SSH 接続が遅くなる場合がある)
AllowUsers hoge  # SSH 接続を許可するユーザを制限する事でセキュリティを確保

service ssh restart

ConoHa コンソールを閉じ Putty などの SSH クライアントや各種コンソールから SSH を試みて正しく接続できることを確認する。

ホスト名

何故か ConoHa でインストールした直後は /etc/hosts/etc/hostname の値が異なっている為 sudo で何かする度に unresolved host などと怒られる。 例えばホスト名を conoha とする場合は以下となる:

sudo vi /etc/hosts

127.0.1.1 conoha

sudo vi /etc/hostname

conoha

その後再起動 sudo reboot し正しくホスト名が適用されている事を確認する。

日本語化

英語のままでも別に問題は無いが日本人として日本語の方が分かりやすいのは確かである。 Server World 様の記事 をそのまま実施すれば良い。

例えば昨日のファイヤーハウスのアボカドトッピングが 1/2 玉で 260 円 (税抜) なのでアボカド 1 玉あたり 520 円 (税抜) となる。 ここでアボカドは恐らく大量に仕入れれば 1 玉 80 円あたりで済むので (参考: 地元のスーパー) 仮に仕入れ値が 80 円 (税抜) とすると原価率は 80 * 100 / 520 = 15.4 % となる。

ラーメン屋とかハンバーガーとかジャンルにもよると思うが、飲食店の原価率は 30 % 以内に抑えるというのが一般的に知られている。 まぁ前述の例だとアボカドトッピングでは大儲けだが結局他のメニューで補われているのかもしれないので一概にそこだけ見て攻め立てることはできない。 しかしポテトとかオニオンリングを別に頼むと平気で 400, 500 円する店あるけど明らかに原価率 10 % 以下だろうな……とか思ってしまう自分はドケチであり原価厨なんだろうな、と思ってしまった。 相当手が込んでいてその部分にお金を払う価値があると判断すれば別だが、ただ揚げただけのような自分でも再現できそうな感じの場合は「そのメニューは絶対に頼まない」という事になる。 勿論、グルメバーガーショップなどはカフェも兼ねてるので回転率で勝負するのが難しく、どうしても原価率を下げざるを得ないのは理解している。

こういうくだらない事に悩むのであれば全部自分で作ってしまえば良いのだが、グルメバーガーとか寿司とか自分ではクオリティを出せないものをたまに食べたりとか、仕事のある日に昼食を取ったりする時とかは致し方無い部分ではある。

しかし、グルメバーガーも色々な店を食べてきた中で大体自分の好きな方向性が分かってきてしまったし、若干情熱がフェードアウト気味となっている。 東京と地方で余りに価格差がある (地元の和牛を使っていたりなど一部例外を除く) のが萎える。 これも理由は理解するところなのだが、分かっていても萎える。 料理の代金に含まれている「場所代」を活用するにはある程度長居してお喋りをしたり MacBook を弄ったりなどするのが良いのだろうが、特にそういう欲求はない。

言わずと知れた超有名店

ファイヤーハウス ダブルチーズバーガー

ファイヤーハウスといえば BROZER'S (ブラザーズ) と並んでグルメバーガーの走りとして有名なお店である。 このファイヤーハウスで修行をした上で独立したグルメバーガーも数多く、私がたまに行っているアンチェインファームや ARMS もこれに当たる。 私は仕事の関係でたまたま後楽園エリアに来ていたので寄ってみたわけだが午後 5 時に来たので流石にお客さんはあまり居なかったが、食べている間に次から次へと入ってきた。 以前 19 時とかに来た時は満席でカウンターに座るのがやっとの状態だった。

最初アボカドを絡めたメニューにしようとしたのだが、よく見るとアボカドトッピングが 260 円 (税抜) とかなり高めに設定されていたので何となく敬遠してしまった。 アボカドの量は 1/2 玉ということで通常のショップより量は多いのかもしれないが、それにしても高い。 なので他の店でいつも食べているダブルチーズバーガーを選択した。

食べた印象としては「いつもアンチェインファームで食べているものとほぼ変わらないクオリティ」という感じだった。 なので美味しいのだが、しっかりと東京価格 (税抜 1,600 円) なので注意といったところ。 まぁアボカドに比べればそこまで高いという印象は無かったが。

バドワイザー

ファイヤーハウスはあまりビールの選択肢が無く、一番搾り (生)、バドワイザー、コロナからしか選択できない。 一番搾りは日高屋とかで出されるいつものあの味なのであえてバドワイザーにした。

特筆すべきことはない日本四大メーカーの一般的なビールと同じような雰囲気であり、やはり米やコーンスターチなどの副原料を使っているらしい。 わざわざ自分で買って飲むことはないだろう。 選択肢の無いときに仕方なく飲む感じとなる。

「あぁ今月は何とかトントンで収められたな」と思っていると、忘れた頃に固定資産税が銀行から引き落とされており固定資産税分収支がマイナス、という悲しい事態となっていることがしばしばある。 戸建てを購入したとしてもローン以外に支払い続けなければならないお金が結構あるので注意が必要 (戸建てといえどノーメンテで住み続けることはできない) だし、マンションだと更に修繕積立金などがあるので「こんなはずじゃなかった」になりかねない。 やはり賃貸が一番気楽ではあるな。

この間アテンザの車検があったので更に財布が寒くなってしまっている。 暫く倹約生活で頑張りたい。

以前この日記ではインドの青鬼を紹介したが、今日はヤッホーブルーイングの主力商品であるよなよなエールである。 日本のビールで主力である下面発酵のピルスナータイプとは異なる、ペールエールという種類のビールだ。 まずビールの色がアンバーの濃い色をしているのが特長。

ペールエールの場合バスペールエールという輸入ビールがこのよなよなエールより多少安価で手に入るのだが、こちらのよなよなエールの方がフルーティーな香り及びコクが強く美味しく感じる。 普段発泡酒や国内四大メーカーのビールばかり飲んでいる方が初めて飲むとあまりのふくよかな味わいに感動するのではないかと思う。 あくまでこのフルーティーな味わいが肌に合えば、という話ではあるが。

値段もクラフトビールの中では比較的安価で選択しやすいし、自分としては IPA などの強烈な味ではなくまったりと飲みたい時によく選択している。