pslaboが試したことの記録

はてなダイヤリーからはてなブログに引っ越してきました

この日記は現在実行中の減量記録を含む個人的なメモとして始めましたが、最近はコンピュータやガジェット、ハック、セキュリティネタのほうがメインになっております。

はてなダイヤリー時代はカテゴリ分けが適当だったのですが、これはそのうち直します。


IBM DB2 を Docker で動かす

DB2の試験環境が必要になったのだけど、仮想マシンで普通に立てるのはリソースの無駄遣いなので Docker で立ててみます。

Docker のホストは macOS を使用。macOS 向けの環境構築手順は割愛します。

store.docker.com でポチっておく

ここでポチります。開発版なので費用はかからない。 https://store.docker.com/images/db2-developer-c-edition

ポチったら、手順に従って pull して実行します。

コンテナを実行したい環境で docker pull

ストアからの入手ではログインが必要のようですから、ログインしておきます。そして macOS で利用する場合は x86_64 を入手します。

$ docker login 

$ docker pull store/ibmcorp/db2_developer_c:11.1.2.2b-x86_64

設定ファイルを作る

.env_list という名前でファイルを作ります。今回はこんな内容で。

LICENSE=accept
DB2INSTANCE=db2inst1
DB2INST1_PASSWORD=password
DBNAME=testdb
BLU=false
ENABLE_ORACLE_COMPATIBILITY=true
UPDATEAVAIL=NO
TO_CREATE_SAMPLEDB=true
REPODB=false
IS_OSXFS=true # Only specify this parameter if you are running on macOS
PERSISTENT_HOME=false # Only specify this parameter for Docker for Windows users

実行する

今回はこんな感じで。-v でホスト側のディレクトリをコンテナ内にマウントさせた場合はうまく動かなかったので、とりあえず -v 抜きで動作確認しています。

docker run -h db2server_container \
  --name db2server \
  --restart=always \
  --detach \
  --privileged=true \
  -p 50000:50000 -p 55000:55000 \
  --env-file .env_list \
  store/ibmcorp/db2_developer_c:11.1.2.2b-x86_64 

接続確認する

任意のツールで確認すればよいと思います。

とりあえず手元では RAD Studio 10.2 Tokyo の IDE からデータエクスプローラで操作できることを試したり、DB Artisan で接続できることを確認しました。

FireDAC での設定箇所と DB2 の .env_list の対比はこんな感じです。

FireDAC DB2 .env_list
Database DBNAME
User_Name DB2INSTANCE
Password DB2INST1_PASSWORD
Server (実機のIPアドレスまたはホスト名)

Windows標準コマンドだけでMD5を計算表示しつつクリップボードにもコピーする

右クリックメニューの拡張でMD5を取り扱う事例はググれば出てきますが、自分が欲しい機能は「結果を表示する」ことと「クリップボードにもコピーする」ことの両方だったので、それを行えるような処理をバッチファイルで書くことにしました。

使い方はイロイロあるでしょうけど、とりあえず作ったバッチファイルだけ貼っておきます。

@echo off

if "%1" == "" goto ERROR

: 一時ファイルにMD5の計算結果を格納
set md5tempfile=%temp%\%RANDOM%.txt
certutil -hashfile "%~1" MD5 > %md5tempfile%

: クリップボードにMD5SUMだけをコピーする
type %md5tempfile% | findstr /V ":" | clip

: ファイル名とMD5SUMをメッセージボックスとして出力する
(
echo %~1
type %md5tempfile% | findstr /V ":"
) | msg %username%

: 一時ファイルを削除
del %md5tempfile%
goto :EOF

:ERROR
echo usage: md5sum.bat [filename] | msg %username%

:EOF

Citrix NetScaler のCookie情報にはバックエンドのWebサーバの情報が含まれている

自社のあるサイトが Citryx NetScaler を利用しているのだけれど、たまに不安定なことがあり、なおかつその機材の管理チームと不安定な状況の改善に向けてやり取りしていてもラチがあかないので、合法的な範囲で調べてみるテスト。

Cytrix NetScaler というのはロードバランサー機能を含む複数の機能を提供するアプライアンス製品なわけですが、少なくともIPアドレスやポート番号の情報が NetScaler の生成する Cookie には含まれているようです。この Cookie 情報を用いて、特定のクライアントとの通信が特定のバックエンドに振り分けられるようにしているようです。

そこで、NetScaler が生成する Cookie の意味を具体的に調べていたら、これに関する情報が下記のコンテンツにありました。

itgeekchronicles.co.uk

そしてCookieをデコードする方法は無いものかと思って読み進めてみると、先程の記事の最後に下記の GitHub リポジトリが紹介されていて、ここにコードがありました。

github.com

PythonJavaScript コードがあるようですが、とりあえず Python を試してみます。

実行方法はカンタンで、実際にやってみると、こんな感じ。手元の Cookie の現物を晒すのはイヤなので、GitHub リポジトリの readme に記載の Cookie で試してみます。

$ ./nsccookiedecrypt.py NSC_Qspe-xxx.bwjwb.dp.vl-IUUQ=ffffffff50effd8445525d5f4f58455e445a4a423660
vServer Name=www.**********-HTTP
vServer IP=xxx.xxx.xxx.xxx
vServer Port=80

うん、たしかにデコードされた。そして手元の現物も同じようにデコードできた。

wena wrist pro を買ってオメガスピードマスターとDYIで組み合わせてみた

色々考えてみたけれど、やはりバッテリーが持たないスマートウォッチは基本的に受け入れられないし、画面が常時表示では無い機種もイマイチです。

なので、いっそのこと、画面なし、バッテリ長持ちな通知受け専用デバイスに手を出して見ることにしました。

購入したもの

今回購入したのは、 wena wrist pro Silverwena wrist pro Silver WB-11ASと、wena wrist pro用エンドピース20mm Silver SONY (ソニー) WB-EP200-Sエンドパーツ 20mmの2つです。

今回は組み合わせる時計が オメガ スピードマスター プロフェッショナル なのですが、こいつはバンド幅が20mm、wena wrist pro の標準のエンドピースは22mmなので、エンドピースの付け替えが必須なのです。

また、無謀にもDIYでやろうと思ったので、メタルバンド用のコマ外し工具も調達してみました。

コマ調整の手順

普通は時計屋さんに持っていくことを強くお勧めします。

今回購入したコマ外しは標準のエンドピース22mmをバンドから外す用途には微妙に不向きでした。(エンドピースがバンド側から時計側に向かって斜めに広がる形なので、真っ直ぐに押し込むことが難しい)

さて、それでもDIYでやる、という方には、私が行った手順を紹介しておきます。

エンドピース20mmが無理なくつけられそうかどうかを確かめる

手元のスピードマスタープロフェッショナルは、時計の上下バンド部分の幅に微妙に違いがありまして、片方はスムースにつけられそうなのですが、もう片方がクリアランスがなさすぎて入りませんでした。

仕方がないので少量のCRC5-56を塗りつつ、付ける側を入れ替えたりしていたら、ある向きから差し込んだ場合になんとか入りました。(が、多分、傷がついたかもしれない)

上下ともスムースにつけられそうでしたら、特に気にせずにエンドピースをバンドにつけてしまってOKですが、確認せずにバンドを準備した挙句、上下逆じゃないとつけられなかった、なんてことになったら、バンドとエンドピース を再度つけ直しですね。DIYでやるには楽しくない作業です。

エンドピース 22mmを wena wrist pro から外す

最終的なバンドの長さがわかっている場合は、エンドピースだけではなく、長さ調整用のコマも抜いてしまいます。

私の場合は調整用コマを2つ(両端からそれぞれ1つ)外していますが、これは長さが微妙に足りない感じがするので、調整ピースを入れて少し伸ばそうかと思っています。

エンドピースの外し方ですが、たまたま、手元にあったバネ棒外しの反対側がちょうどピンと同様の太さだったので、私はそれをピンに当ててハンマーで軽く叩いてピンをずらし、あとはラジオペンチで引き抜く、という方法で抜いてしまいました。

なお、この時計のバンドはピンがバンドの中でCリングを通って固定されていますが、Cリングは非常に小さい部品なので、DIYの場合はバンドの中から落ちないように注意して作業する必要があります。

Cリングが外れてしまった場合は安全ピンなどの針に軽くさしてバンドに押し込めば大丈夫です。ピンセットでつまんでなんとかしようとすると紛失の元です。

時計 + 20mm エンドピース にバンドを取り付ける。

取り付けの向きに注意してつけましょう。バンドとエンドピースを合わせて、ピンを所定の向きから押し込みます。今回購入したコマ外しはピン押し込みも可能なので、これを使ってじわじわと押し込んで行きます。ある程度押し込んだら、ピン抜き用の方でピンを押して、ピンの頭がバンドから隠れる程度に押し込んでおきます。

こういう工具がない場合は、ペットボトルの蓋を机の上において、半刺しのピンを垂直に押し当てて押し込む、という力技も一応は可能ですが、ピンが折れると残念なことになるので不慣れな方にはお勧めしません。また、この方法ではピンの頭がバンドから隠れるところまで押し込むことは難しいです。

バンド長を調整する

長すぎる場合はコマ抜き、足りない場合はコマを足して調整します。長さ調整のコマのパターンは取扱説明書を参考にしつつ行います。

とりあえずの感想

  • 電池は4日くらい持ちます。
  • スピードマスタープロフェッショナル + wena wrist pro は重量が150gくらいあるので、Pebble Time に比べると重量感がすごいです。

スマートウォッチを買うのか、それとも既存の時計をスマートウォッチにするのか

というようなことを考えているのですが、まずはスマートウオッチを選ぶときの条件を整理してみる

機能ごとの優先度

必須要件

  • 各種通知が受けられる
  • 時計の盤面を変えられる
  • アクティビティトラッカー
  • 睡眠分析

この4つは必須だと思っています。

よりベターな要件

  • バッテリーの持ち
  • 常時表示できるか?

バッテリーが持たない時計は使い物にならないので、最低限3日くらいは充電せずとも動作してほしいものです。また時計なのですから、盤面は基本的に常時表示されることが望ましいです。

Apple WatchAndroid Wear はバッテリーが持たなさそうなので、これらに移行することは当面なさそうです。

あったら良い要件

  • プレインストール以外のアプリを入れてカスタマイズできる

これは必ずしも必要ではないと考えてます。Pebble にはいろんなアプリを入れてみたけれど、ほとんど使わなかった。

なくても困らない要件

心拍計はあったら情報が取れて良いけれど、なかったらなかったで不便とまでは感じない。GPSはアウトドアで運動する方には必須だろうけれど、自分の場合は自転車に乗るくらいしか無いので、GPSは必須では無い。通話や音楽再生の機能に至っては、欲しいと思ったことが無いので、なくても困らない。

こうやって考えてみると、Pebble はやはり自分に向いていた。Pebble が終焉に向かいつつある中で、次の時計をどうするかが悩ましいですねえ。

そもそも、既存の腕時計をスマートウォッチにできないだろうか?

Pebble 亡き後の選択肢として、手持ちの Omega Speedmaster Professional にスマートウォッチの機能をつけられないかなあ、と考えています。

そういう場合に、日本製なら wena wrist、海外製だと Smart Buckle, Trivoly, Chronos などがありますね。

wena wrist はまあまあ悪く無いけれど、バンド自体を交換するわけで、お値段が少々高め。またエンドパーツを時計に合わせて選ぶ必要があるので、時計によっては追加のコストがかかります。

Trivoly, Chronos は時計の裏面に貼り付けるデバイスなので、時計によっては微妙にアンバランスになりそう。 Smart Buckle は革ベルトのバックル部分を取り替えるだけ、という点では一番自然かも。メタルバンドが使いたい方向けには厳しいですけど。

これらはスマホからの通知のための盤面を捨てることで機能が絞り込まれていますが、その条件で問題が無いなら選択肢としてはありかも。

さーてどうしたものか。

Fitbit ionicがAmazonではディスカウント中?

Fitbit ionicは2017年12月のサイバーマンデーでの先行発売でディスカウント販売されていました。

pslabo.hatenablog.com

そしていよいよ2018年1月18日からの正式発売となるのですが、オンラインストアでは発売開始に先立って予約販売が開始していました。

このうち、Amazon では32,721円でのディスカウント販売がされているようです。

本来の価格は36,000円と発表されていましたが、このディスカウントはサイバーマンデーの価格とほとんど変わらないですね。この価格はいつまで続けるんですかねえ。そして、他のストアが定価なのは何故だろう?

Mousepose を VirtualBox で正しく動かすための設定

先日投稿した下記記事では Mousepose を VMware Fusion で正しく動かすための設定を紹介しました。

pslabo.hatenablog.com

では他の仮想マシンではどうだろうと思って VirtualBox で試してみると、こちらも設定調整が必要でした。その方法もメモっておきます。

Mousepose の設定

VMware Fusion の場合と同じく、Miscellaneous の Show Icon in を "Menu Bar" に設定します。

スクリーンショットを含む具体的な手順は過去記事を参照してください。

VirtualBox の設定

VirtualBox 自体の設定のうち「入力」の項目で「キーボードの自動キャプチャー」のチェックを外しておきます。 

f:id:pslabo:20180114105249p:plain

この設定が有効だとフルスクリーン表示でのキー入力は VirtualBox に全て取られてしまいます。Mousepose の on / off のショートカットを押しても Mousepose が反応できません。