watermint.org - Takayuki Okazaki's note

旅行の小物整理

海外旅行や海外出張に行く際、小物整理は意外とやっかいでした。今回はそういった海外旅行の際の小物整理で工夫していることをまとめます。旅行時の小物と行っても様々です。今回は次のように主に小さく薄っぺらいものをまとめて整理する方法について。

  • パスポートや航空券など大事な書類
  • 入国時の申請書類など
  • 予備のクレジットカードやキャッシュカード
  • 現地で受け取ったレシート (家計簿や経費精算などのために整理したい)
  • 現地でもらったレストランなどのショップカード、観光地のパンフレット
  • 現地で利用するSIMカードまたは、交換した日本のSIMカード

これまで数年はBRUNOのトラベルオーガナイザーを使っていました。パスポートや航空券、カード類が整理できるようになっていてとても便利です。それ以前は手帳に挟んだり、鞄のポケットにいれたり統一感無く管理していたので、入国管理や税関などで書類を提出する際もあたふたしていました。このトラベルオーガナイザーを使って整理したことで入出国時のストレスが少し解消されました。

トラベルオーガナイザー

革製でかっこよく、丈夫なので航空券が折れ曲がったりもせず気に入って使っていました。ただ、ここ数回の旅行では今までよりも小さな鞄を持って旅行していたのでこのわずかな厚みも気になるようになってしまいました。また、旅行先で受け取ったレシートなどもトラベルオーガナイザーに入れてしまうとかなり分厚くなってしまいます。 鞄には出張時であればノートパソコン(15インチのMacBook Pro)、iPad、携帯電話、それぞれの充電器(乗り継ぎ待ちの際利用)を入れていてこれだけでほぼ鞄がいっぱいに。この結果、トラベルオーガナイザーも出し入れがやや窮屈に。

また旅行券も以前はほとんどの場合、磁気ストライプのあるハガキぐらいのやや厚手な紙が使われていました。これが最近、バーコードを読み取るだけにかわり薄っぺらい感熱紙のような紙が使われる場合も増えてきました。あまり薄っぺらいと、トラベルオーガナイザーの収納ポケットの形によっては整理する際にやや手間取ります。

そこで直近の海外出張ではB6サイズのメッシュケースを使い始めました。よく銀行の通帳やキャッシュカードをひとまとめに整理するために使ったりするケースです。

メッシュケース

なかなか丈夫で信頼性のあるケースで、何より価格も手ごろです。B6サイズのメッシュケースは210mm x 170mmとA5サイズがきっちり入るサイズです。このシリーズではマチの部分も考慮して一回り小さめの呼称をしているのだと思います。 あまり気にしていませんでしたが、最近乗ったJALやBritish Airwaysの航空券のサイズは20cmちょっと x 8cmちょっとでぴったり入りました。

このセキセイのメッシュケースはチャック部分が色違いの赤と青のものがあります。この2種類を目的別に使い分けることにしました。 一つ目はチャックが赤色のもので重要なものを入れます。これから利用する航空券やパスポート、SIMカードなど。 二つ目はチャックが青色のものであまり重要ではないものを入れます。レシートや地図など。

このように整理すれば入出国時にもバタバタしませんし、もともと薄手なのでかさばりません。重要ではない青色チャックのメッシュケースがもし手荷物に入らなければ、預け荷物に入れることもできます。

うまくいったので、2種類だけではなく、目的別にもう少し種類を増やしてみようかとも考えましたがあまり多すぎるとまたそれはそれでゴチャゴチャしてしまうのでせいぜい2種類ぐらいが良さそうです。

Unihertz Jellyレビュー

The Smallest 4G Smartphoneと、世界最小を謳う4GスマートフォンJelly。Kickstarterにて目標額を達成し、正式に発売されることになりました。今月上旬に手に入れることができたので少しレビューをしてみたいと思います。仕様などについてはKickstarterサイトや他のレビューなどが詳しいので、使用感を中心にレビューしたいと思います。

メモリー容量の違うJellyとJelly Proという2モデルがあり、メモリー容量が小さいJellyのほうは発売前に廃盤となってしまったのでKickstarter限定となってしまいました。今回購入したのはメモリー容量の小さいJellyのほうです。

なお残念ながら現状、技適を取得していないため日本では電波を発することができません。海外旅行時のバックアップ用として購入しましたが、ちょうど今月海外へ行く機会があったので実際に使ってきました。SIMはMTXCのものを準備しています。1GB、15日間で約20ユーロです。

利用の様子

今回はヘルシンキ、ダブリン、ロンドンで使ってきました。世界最小を謳うだけあり、確かに小さい。まだ現役で使っているiPhone 5sよりもずっと小さい。画面も2.45インチでキーボード入力などもかなり難しく、バリバリ使う。というよりは、補助的な利用方法がメインになるかと思います。

Google Mapで地図を確認するにも小さすぎ、実用上は大雑把に把握する程度に考えておいた方が良さそうです。一方で、Turn-by-turnナビゲーション機能を使った場合はそれなりに視認性もよいので、このスマートフォンで一番しっくり来るように思いました。画面をずっとにらめっこするタイプではなく、信号待ちのときなどに方向を確認するぐらいの使い方が合っているのでしょう。

街歩きで使ってみたところ、デジタルコンパスがなかなかうまく正しい方向を向いてくれません。しばらく歩いていると方向があってくるので、街の風景を楽しみつつときどき方向を確認するぐらいでいいのだと思います。

バッテリーがどの程度持つかは気になるところでしたが、全くゼロになることはありませんでした。ただGoogle Mapなどそれなりに使っていると丸一日は持たないかなというぐらいの印象で、やはりバリバリいろいろ調べながら街歩きをするためのスマートフォンではありません。周りの風景を楽しみながら適当に散策し、迷子になったり時間の余裕がなくなってきたときの最終手段としてポケットに忍ばせておくぐらいのつもりで使っていると便利でしょう。

予備バッテリーを持ち歩くという手段もありますが、バッテリーを持ち歩くぐらいだったら、iPhone 5sのほうがバッテリーの持ち、サイズ感など考えた場合により使いやすいと思います。電波の入り方はヘルシンキ、ダブリン、ロンドンのいずれでも特に不満はなくGoogle Mapも普通に利用できました。

総評:

知らない街をあるくときの安心材料としてポケットに入れておくぐらいの使い方が良さそうです。レビューを見ながらレストランを探したり、写真を撮ってSNSにアップロードするような使い方は向いていません。ぶらり入ったレストランがたまたま美味しかったり、適当に歩いた先にあった公園がきれいだったりするのを楽しみながら旅するためのスマートフォンです。

JJUG CCC 2017 Spring

JJUG CCC 2017 Spring

ブログを書くまでがJJUG CCC、ということではありますが、かなり、、時間が経ってしまいました。6月頃に書き始めたものを再編集しているのと記憶もややあやふやな部分があり不正確な点もあるかとおもいますがご容赦ください。JJUG CCC 2017 Springへ参加した話を思い出しながらまとめています。

今回は年次総会の後に行われたJJUG CCC 20th fireside chatというセッションにて登壇させていただきました。発表者は「20回生き残っている幹事たち」ということでしたが、僕が実際にJJUG幹事として参加させてもらっているのは手元の記録が確かならば2009年6月からで20回すべてには幹事として参加していませんが、最初の頃はSun Microsystems社でJavaエバンジェリストとして関わっていたというオマケで加えてもらっています。

お話しした内容は当日のアドリブで、正確には覚えていませんが大まかに当日お話した内容に注釈を加えつつ振り返ってみます。

RIA

2007年頃といえばAdobeのAir、MicrosoftのSilverlightといったRIA (Rich Internet Application)が流行っていたように思います。RIAという言葉はほぼ死語ですが、現在のスマートフォン・タブレット向けのアプリ、あるいはMac App StoreやWindows StoreのようなデスクトップアプリとしてRIAという言葉は消え去ってもコンセプトとしては完全に当たり前のものとなりました。

初代iPhoneもこの年に発表されていますが、RIAの流れに続く原動力を作ったのは個人的には2005年にGoogle Mapsがリリースされたことだと思っています。個人的にも衝撃的でしたし、多くのインターネットユーザーや企業IT部門の考え方まで大きく変えていった原動力になったのではないかと思っています。当時、Web上で地図を見ると言えば住所で検索したり、上下左右ボタン、縮尺変更を押して切り取られた地図を次々に見ていく。というスタイルだったと思いますがマウスによるスクロールや縮尺変更は圧倒的にわかりやすく仕上げられていました。AjaxというWebテクノロジーもGoogle Mapsの発表を境に大きく花開いたと記憶しています。

さて、Java界でのRIAといえば、JavaFX。もともと、ICAN SuiteというSOA基盤ソフトウエアで知られていたSeeBeyondという会社を2005年にSunが買収したところが始まりです。SeeBeyondに在籍していたChris Oliverが個人プロジェクトとして作っていたF3というスクリプト言語が出発点となっています。2007年5月のJavaOneではJavaFXという名前で目玉としてキーノートにて発表されました。

当時の記事を少し読み返してみました。

2007発表されたJavaFXではJavaFX Scriptというスクリプト言語が同時に発表されています(これはまさに前述のF3そのものです)。GUI記述について、無理なく自然な記述ができるスクリプト言語です。JavaをiOS/macOSにおけるObjective Cとするならば、JavaFX ScriptはSwiftのような存在です。

F3という名前は”Form Follows Function” (形態は機能に従う)を元としているそうです。Chrisとは話をしたことはありませんでしたが、JavaOneセッションやブログなどで発信されていた彼のF3へのこだわりと、JavaFXをJavaのRIA基盤としてエコシステムを築き上げたいSunとの思惑は当時から少しずつずれているように感じていたように記憶しています。

その後、JavaFX 2.0が2011年に発表されるとJavaFX Scriptは廃止となり、Javaからネイティブに呼び出しができるライブラリの一つとなりました。2011年、すでに多言語実行プラットホームとなっているJavaにとって、ライブラリとして存在を変えることはまさに”Form Follows Function”であったのだと感慨深く思い出します。

Webサービス

10年程度前で記憶のあるトピックとしては2006年、Project Tangoという名前で.NET(Windows Communication Foundation)とJavaをWebサービスで相互運用するという発表があったことです。Project TangoはWeb Services Interoperability Technology (WSIT)という名前の成果物でWS-Security、WS-PolicyなどWS-I基礎的な仕様についてまとめ相互運用できるようパッケージ化されたものです。

今でこそ、APIを使ったサービス間連携というのはもはや何の疑いもなく当たり前のものとなっていますが、.NETとJavaで相互運用するということだけでニュースバリューになるぐらい相互運用するというのはまだ早熟な時期であったと思っています。

その後、RESTful APIというキーワードに注目が集まりより簡単にAPIが提供でき、利用できるになりプログラミング言語やOS環境に依存しないという土壌はどんどん整っていきました。

電話をかけるAPI、テキストを翻訳するAPI、株価や天気予報のAPIなど様々なAPIを組み合わせて新しいサービスを作るというのはシステム開発のなかでも珍しいことではなくなりました。Mashup Awardsという取り組みも2006年に始まっていていまもどんどん規模を拡大しているようです。

前述のようなRIAが目指した使いやすいインターネット向けUIはAPIを通じたサービス提供ならびにサービス利用が増えるに従ってその地盤を確固たるものになっていったものだと思っています。サーバサイドで起こっていた相互運用性やSOAなどのようなエコシステム、スマートフォンやタブレット、デスクトップ環境向けの「アプリ」というエコシステムは決してどちらか片方だけでは成り立ち得なかったのだろうと思っています。

Nexus 7 (2012)をAndroid 7.1.2にバージョンアップ

Nexus 7 (2012)が自動バージョンアップによってアップデートされた最終バージョンがAndroid 5.1.1。このバージョンになってからひどく端末が遅くなり、使い勝手ががくんと落ちてしまいました。このため今では手元にある数少ないNFC対応端末として、Suicaの利用履歴をMoneyforwardのアプリケーションでMoneyforwardに転送するぐらいの使い道にしか使っていませんでした。

軽量で手頃なサイズなのでもう少し使い勝手が上がればいいなということと、単純に新しいAndroidを触ってみたいということでAndroid 7.1.2へバージョンアップしてみることにしました。いくつか失敗しながらとなったので備忘録として残しておきます。なおメーカーサポート外となりますので自己責任にて。

参考にしたサイト

手順

試行錯誤しながら+うろ覚え部分もありますがだいたい次のような流れです。

Nexus 7のデータをバックアップ

このアップデートのタイミングでデータは一度消去するのでバックアップをとっておきます

Nexus 7を開発者モードに

  • 設定→端末詳細→ビルド番号でビルド番号を7回ぐらいタップ
  • 設定→開発者向けオプションでUSBデバッグをONに

Platform Toolsをダウンロード

Android 7.1.2等をダウンロード

ROM 7.1.2_r33 NZH54D Grouper Tilapia F2FS/EXT4 Android 7.x AOSPに掲載されているものをダウンロード。

Gappsは最初Android 7.1 Nougat on Nexus 7 2012 WiFiに記載のあるOpenGappsを入れてみたのですがAndroid 7.1.2起動直後の初期設定アプリがクラッシュするためBeansGappsを使いました。

OpenGappsでもキャッシュをクリアしたりすれば大丈夫だったというような報告をみて試してみましたが、手元ではうまくいかず最終的にBeansGappsでは問題ありませんでした。

ブートローダーのアンロックとTWRPの導入

パソコンとNexus 7をUSB接続してブートローダーのアンロック。Platform Toolsのなかに入っているadbコマンドとfastbootコマンドを使います。

$ adb reboot bootloader
$ fastboot oem unlock

次にtwrpイメージの書き込み。twrpのファイル名は適当に読み替えてください。

$ fastboot flash recovery twrp-x.x.x-x-x.img
$ fastboot reboot

TWRP for Asus Nexus 7 2012 Wi-Fiに記載のあるとおり最後のリブートコマンド実行時にすこし注意が必要です。

Note many devices will replace your custom recovery automatically during first boot. To prevent this, use Google to find the proper key combo to enter recovery. After typing fastboot reboot, hold the key combo and boot to TWRP. Once TWRP is booted, TWRP will patch the stock ROM to prevent the stock ROM from replacing TWRP. If you don’t follow this step, you will have to repeat the install.

最後にリブートする際、Nexus 7のボリュームダウンボタンと電源ボタンを長押しします。これにより書き込んだカスタムリカバリーが自動的に工場出荷状態に戻されることを防ぎます。

OSとGappsの導入

あとはAndroid 7.1 Nougat on Nexus 7 2012 WiFiにある手順5から順に実行していきます。スクリーンショットをとらなかったのでスクリーンショットを参照されたい方は該当記事をご参照ください。

リカバリモードで起動。

$ adb reboot-bootloader

起動するとコマンドが表示されているのですが、ボリュームアップ・ダウンで選択し電源ボタンで実行できます。ボリュームダウンボタンを何回か押して「Recovery Mode」を選んで電源ボタンで実行します。

この後の手順は下記の通りです。

  • Wipeを選んでFactory Resetを実行します。
  • TWRPのメインメニューまで戻り、Advanced→ADB Sideloadまで進みスワイプしてsideloadを開始します
  • パソコンから$ adb sideload aosp_grouper-7.1.2-ota-eng-20170811.ds.zipとコマンドを実行してOSイメージを書き込みます。
  • 次にGappsを書き込みますが、またTWRPのメインメニューまでもどりAdvanced→ADB Sideloadまで進み、今度はWipe Dalvik Cacheを選択した状態でスワイプします
  • パソコンから$ adb sideload BeansGapps-Mini-7.1.x-20170725.zipとしてGappsを導入します。
  • Reboot Systemを選択してリブートします。TWRPのアプリを入れるかどうか聞いてきますが、これはどちらでもよいでしょう。

その後の設定など

起動後にはAndroidの初期設定を進めていきます。Wifiの設定などを行い、設定を進めていけば完了です。Play Storeアプリはインターネット接続されていれば自動的にダウンロードされてきます。

Visual Studio CloudとAzureとiPad Proによる仕事環境

手元で使っている仕事用のIT環境というと、数年前からMacBook ProにせいぜいVirtualBoxやDockerを使った仮想環境というぐらいでした。ただ、いくつか不便なところも出てきたり、Windowsデスクトップ環境でのテストが必要になったりと要件が増えてきたのでいまはVisual Studio Cloudを使っています。加えて仕事上外出も増えたのでiPad Proを使うことも増えてきました。そのいきさつ等を記録がてら公開しておきます。

増えてきた要件と変わってきた要件

Windowsデスクトップ環境

Windowsデスクトップ環境

手元に持っているハードウエアは仕事用も個人用も見事にほぼApple一色でiPhone、iPad Pro、MacBook Proといった組み合わせです。

OSの種類でいえば、macOSとiOSだけですが仕事がら、Windowsデスクトップ環境での検証がなんだかんだ必要になります。会社のPCにはWindowsのライセンスと仮想環境があるのでこれを使えば実用上困らないのですが、まっさらなWindows環境を準備したり、様々なバージョンのWindowsを準備するのはディスクが足りなくなったりかなりの手間もかかります。

手元にWindows 7、Windows 8.1などのライセンスも持っているのですが、Windows Server 2012R2が検証に必要になったり、最近ではWindows 10を検証したい場合も増えてきました。

iPad Pro

デモや検証のために会社のMacBook Proを出先に持ち歩いてもいいのですが、VMwareのような重量級アプリケーションを利用するとあっという間にバッテリーもなくなってしまいます。それに、MacBook Proも15インチ版を利用していると少々かさばるので持ち歩きには不便なときもあります。

このため最近では出先にiPad Pro (SIMフリーモデル)だけを持っていていくことも増えてきました。作成した書類はすべてDropboxに入れてありますし、別途個人的にOffice 365 Businessも契約しているのでExcelやPowerPointなどが必要になってもiPadからでも利用できます。iPadからHDMIやVGAへの変換端子を使えばプレゼンテーションもiPadから可能ですし、Apple TVが会議室に設置されていればそのまま投影することもでき、パソコンを使うよりも便利な場合さえあります。

iPad Proを使っていて最も便利と感じるのはインターネット接続です。Wifiモデルではなく、SIMフリーモデルを利用してIIJmioのデータ用SIMを入れているので、テザリングやWifiルータなどは別途必要ありません。一昔と比べればiPhoneからのテザリングやWifiルータの操作も幾分か簡単になったのですが、それでもネットワーク接続のためにあれこれ操作するのは一定の煩わしさがあります。

出先でiPadのような端末を使いたいというときの利用シーンは議事メモ、スケジュール確認、仕様などの確認、プレゼンテーション、デモといったところでしょうか。このような使い方であれば、iPadは今のところおおよそ丸一日持ち歩いてもバッテリーは十分持ちます。

クラウドの選択肢

クラウドもこれまでAmazon Web Services、OpenStack、OpenShift、DigitalOcean、Herokuなど様々利用してきました。その中でもいまVisual Studio CloudとAzureを使っているのはほぼ消去法での選択です。理由はWindowsデスクトップ環境が使えて簡単にいろんなWindowsバージョンを試せるところです。

(なお、Azure上でWindowsデスクトップ環境を使うにはVisual Studio Cloudの年間サブスクリプションが必要です。詳しくはVisual Studioのサイトにてご確認ください)

Windowsデスクトップ環境を使うには有名どころとしてAWSのWorkSpacesを使う方法もあります。WorkSpacesも一月ほど試しに使ってみてかなり便利であることは実感しました。ただ頻繁に検証用に環境を作り直したかったので目的には合いませんでした。

AzureでのWindowsデスクトップ環境

よく使うところとしてWindows 7 Enterprise N、Windows 8.1 Enterprise N、Windows 10 Enterprise N、Windows Server 2012 R2 Datacenterなどのバージョンを使っています。仮想環境を新規作成するとしてもだいたい5分くらい待てばできあがります。デスクトップ環境にはRemote Desktopアプリケーションを利用しますがこれは、Mac版もiPad版もあります。Amazon WorkSpacesと比べればUIなどすこし使いづらいですが、慣れとして割り切って進めましょう。

特に混乱するのはiOS版Remote DesktopではCmdキーはWindowsのCtrlキーにマップされているものの、Mac版Remote DesktopではマッピングがないためmacのアプリからコピーしRemote DesktopでペーストするにはCmd+C → Ctrl+V といった操作になり頻繁に操作ミスします。このマッピングを設定的に変更する方法はすこし調べた限りは無いようで、慣れるしかありません。

仮想環境のお値段

Visual Studio Cloudの年間サブスクリプションを購入すると毎月50ドル (5,500円分)のクレジットが付与されます。初期設定ではもし利用がこの枠を超えてしまった場合には仮想環境がすべて停止するだけで追加で請求されることはないようですから安心です。クラウドの価格は頻繁に変わりますので随時ご確認いただくとして、ここでは手元の実績をすこし紹介しておきます。

まずVisual Studio Cloudで仮想環境を立ち上げる際、利用できるリージョンには制限があります。残念ながら執筆時点で利用できるリージョンに日本は含まれていません。韓国などアジア地域のリージョンで利用可能なところはありますが、日本が使えないなら一番安いリージョンにしようということで今はもっぱらWest US 2を利用しています。

仮想マシンはSSDタイプのDS1_V2 (1コア、3.5GBメモリ)を一番よく使っています。執筆時点での見積もり利用料金は4,401円/月です。これは稼働させっぱなしの場合での見積もりです。停止している間もストレージなどの利用料金は発生し、SSDの仮想マシン1台ぶんで1,500円/月ぐらいです。これまで実績利用時間としては週数時間ずつぐらいですが、おおよそ2,000円前後といったところでした。

データ転送などでも料金がかかりますが通常の利用方法であれば、5,500円のクレジットでおおよそ仮想マシン2台分ぐらいは常に作成済みの状態で使える換算になります。

West US 2での使い勝手

大陸をまたぐのでレイテンシの点について気にしていましたが、たまにもたつく印象のときもありますが慣れでカバーできる範疇と思えるようになってきました。YouTubeなどを再生しても十分再生が追いつきますし、ネットワーク環境の充実と技術の進歩には驚かされます。

Visual Studio Team

Visual Studio Team

ほとんどWindows仮想デスクトップのために利用しているVisual Studio Cloudですが、せっかくなので他の付属サービスも使い始めています。いくつか最近Goでツールを作っているのですが、固定したCI環境を準備していなかったので今回はVisual Studio Teamに作ることにしました。

git pushをトリガーとしてビルドもできますし、成果物をビルドごとにパッケージにすることもできます。どちらかというと、Webアプリケーション向けにデプロイするという流れのUIになっていますが、ビルドにDockerも使える点が便利です。

いまDockerイメージをDocker HUBからダウンロードしてくるだけで5〜6分かかってしまうところが難点ですが、もう少し本格的に困ったら解決方法を探すことにします。

まとめ

Visual Studio CloudとAzureを使ってアプリケーション開発環境もそうですし、検証やデモといった作業もほとんどクラウド上で行える環境ができあがってきました。時々まだパソコンでなければできない操作もありますが、ほとんどの作業はiPadからも作業できるようになってきました。

パソコンはたくさんのメニューやショートカットを使いこなしててきぱき作業するのに向いていますし、iPadのようなデバイスは出先で主要な用事を片付けるためにかなり役立ちます。

使い分けはまだまだ必要でしょうけれど一つ変わったのはパソコンのスペックについての考え方です。Azure上のWindows仮想デスクトップは必要に応じて簡単にメモリーやCPUコア数などを追加できます。手元のMacBook ProにはCore i7 6920という比較的高スペックなものが乗っていますが、一方のAzureではサーバ用のXeon E5-2673といったCPUを使っているようで、クラウド上で処理した方が早い場合もあります。

手元のデバイスはいかに手になじんで、目に優しいかが大事でスペックについてはそろそろ妥協していい時代になってきているのかもしれません。