SimpleDateFormatの罠

SimpleDateFormatには「Z」という時差を表す要素がある。

Date => String に変換するとき、
この大文字Zは「+900」とかに変換される
また小文字の「z」の場合には「JST」とかになる

逆変換時に罠があって
大文字でも小文字でも「JST」からしか変換されないのだ。

「+900」とかいれてもフォーマットエラーでnullが返ってくるので
なんで?って試したらそうなった。

ソースの中は見たけど謎があるのできちんと追ってない。
ちなみにJava7なので6とかだったらちゃんとしてる?のかも

二重反転扇風機@無印

たぶん同じ物がハンズにも売っているのですが、
1980円@ハンズ
1500円@無印(シールが貼られてたのでたぶん値下がり)
だったので無印で2つ購入。

二重反転なのでうまくトルク相殺されるかなーと思ったら
さすがにモーター2つでの制御なので、振動起きまくりw

二重反転のせいかファンの風鳴りの音は
一般のファン(PCファン82mmとか)よりも小さいです。

あと風は強い。

振動で堅い物の上に置くと(ゴム足っぽいのはあるとはいえ)
そこそこうるさいので、下に何かタオルなりプチプチなりがあると
良い感じになります。

来週末が某直射日光バンザイなイベント3daysなので
モバイルブースター(L2BS)で試したところ、
9時間くらい動いてまだ青ランプだったので
半分モバイルブースター(L27D)みたいなのでも充分戦闘力あるかと。

(4cmファン買って同じようなの作ってみるか)

LiftのRestHelperさんでJsonPostとしてmatchしない

POSTしてるのにうまくmatchしなくて、
404が返ってくる(matchするController無いよ的な)状態だったんで、
なんでそうなってるのか調べてみた。

・ヘッダがいる
"Content-Type"が"application/json"になってないとNGってやつ。
書いたコード的にはここはOKだった。

・送ってるデータ(JSon)の問題
今回はここが引っかかってた
内部でPOSTされてくるJSonデータのバリデーションもしているので

{
  "data0": "0"
}

はOK。

{
  "data0": "0",
  "data1": "0",
}

もOK。(最終行末尾にカンマが余計)

{
  "data0": "0",
  "data1": {
    "dataA": "A"
  }
}

もOK。

{
  "data0": "0",
  "data1": "{
    "dataA": "A"
  }"
}

がNG。(2階層目のデータもダブルクォーテーションでくくられてる)

JSon的にNGなのはわかってたんだけど、
他の人が書いたtestコードで通っているように見えたからいけるのかと思った。
(testコードは一度parseしているので、内部で修正されている気がする)

nfsでのソフトウェアリンクの罠

ぐぐるといっぱい出てきますが。

nfs使ったら問題がありまして。

nfsサーバ上で
/tmp/home/unknown -> /home/unknown
とかln -sしているときに
/tmp/home/ を nfsで公開して、

nfsクライアント側で
mount nfs_server:/tmp/home /tmp/home/
みたくmountする。

nfsクライアント側の/tmp/homeでls -lすると
そのまま
/tmp/home/unknown -> /home/unknown
が見えて、当然/home/unknownが無いので、赤くなってる

ってのが困りものです。


こっちの使ってる方の意図としては
クライアント側で
/tmp/home/unknown にアクセスして
サーバ側の
/home/unknown
が見えて欲しい。
だけど、
/tmp/home/unknown -> /home/unknown
のリンクがクライアント側で見えちゃって、
とってもよろしくない。


で、解決するには。ってことでぐぐる様の神託を得たのですが
1.ハードリンクする
2.直接サーバの/home/unknownを公開すれば?
の2択みたい。

1.のハードリンクは、削除時に失敗しそう(1個消すときに、もう1個残ってる?とか気を使う)
のでパス。
2.はサーバのパスをnfsクライアント側に公開するのはちょっと避けたい。
ってのは、今回全然別の場所にある複数Directoryを別のマシンに見せたいので
nfsを複数書くのがメンドクサイ・・・

といいつつも2で行くんだろうなー。めんどくさいなー

VMWare Fusion4のvmnet1とかvmnet8のIPの変え方

OSはLionでVMWare Fusionは4。

http://d.hatena.ne.jp/e_c_e_t/20081112
を参考にしようとしたら該当ファイルが無い。

探したら、
/Library/Preferences/VMware Fusion/vmnet1/dhcpd.conf
/Library/Preferences/VMware Fusion/vmnet8/dhcpd.conf
/Library/Preferences/VMware Fusion/vmnet8/nat.conf
あたりがいじるべきファイルらしい。

これで家環境etcとNAT環境のIPが合わせられる。

L2ロックフリーとは

一般的な(既存の?)auは同じau内の機種でSIM対応機でも、
その機種にそのSIMを登録する作業をauショップでやってもらわないといけない。
L2ロックフリー機種はその制限がはずれているので、
auのSIMであれば、どのSIMでもauショップに行くことなく使うことができる。

(一般的に使われる)SIMロックフリーとは意味が違う・・・


っていうか
HTC Jをdocomoのxi SIMで3G部分だけでも使えないかなーと思って調べたら
L2ロックフリーって書いてあって意味が分からなかったので調べてみた。
使えないじゃん・・・
EVO 3DはSIM自体がないし。
HTC機をdocomoで使いたいな

F-05Dは2度死ぬ

docomoショップ行って新しい端末に交換。
その後デフォルトアプリ削除中にまた死亡した。
(またもエンドレス再起動)


エンドレス再起動状況の比較
・朝の再起動は、Arrowsの文字が出た直後
 文字下の光が右から2mmくらい左に行ったあたりで死亡。
 (光の走行距離2mm)
・今の再起動は、Arrowsの文字が出た後
 右から左いってそこから右に戻って右端に行くくらいで死亡。
 (光の走行距離1往復)


交換してもらってから再死亡までの時間
・docomoショップ出る
・もう昼休み時間無いからマック(マクド)いくか。目の前だし。
・注文して席に着く
・設定でもするか。といじり始める <=ここから
・サラダセットの蓋を開けてシャカシャカする。
・食べ始める。
・8割くらい食べ終わろうか・・・ってときにハングアップ。 <=ここで死亡
たぶん数分・・・かかってないよ?



新しい端末に対してdocomoショップのお姉さんの前で一緒にやった作業。
・電池入れる(自分の。docomoショップの電池チェックツールでOKをもらったもの)
 MicroSD,SIMは入ってない
・初期化しています画面が出る
・赤い画面で鍵ボタンタップしてdocomoのUIの画面に。
・液晶にドット抜けとか無いことを確認(赤い画面なんで100%自信は無いけど)
・お姉さんが電源を切ってくれて、MicroSD,SIMを入れてくれる。
・再電源On
・初期設定を行う
 ・自分のGoogleアカウント(課金ひも付けアカウント)の登録
 ・からだなんとかの登録(基本何もしないように設定するつもりだったが、
  基本チェックがOffになってた。と思う。万歩計Offの設定はここではできず)
・GooglePlayをまずは更新(自動で更新された気がする。意図的に更新作業はしていない)
 GooglePlayに変わります。画面を見る。
 マイアプリを見て、入れるの大変だな。と思う。
・電話疎通テスト
 ・111に電話(右下のスピーカーフォンボタンで会話内容を聞く)
 ・自動着信(右下のスピーカーフォンボタンで会話内容を聞く)


Macでサラダセット食べてるときにやったこと。
Googleアカウントの同期をGMail以外Offに変更
・docomoのアプリの更新が来てる
 何個だか忘れたけど20個とか60個とか80個とかきりの良い数字だった。
 どうせGooglePlay経由で入れるから。と思って放置。
・GooglePlayからアプリ6個とかの更新が来てる
 まずは削除からだよね。と思う。
・赤いデスクトップのログイン?が鍵タップで使いにくかったので
 セキュリティ(指で9個のマークをつなぐアレ)を設定する。
 指の軌跡を表示しないに設定する。
・パーソナル領域だかに触れてしまったら、有効になってしまったので
 メニューボタンから出てくる設定からパーソナル領域を使わないに変更。
 ついでに同じ所にあった何かのチェックも不要だったので削除
・ドコモアプリの設定だかでオートGPSまわりがOffになっているのを確認
AndroidのデフォルトのGPSもOffになっているのを確認
・万歩計をOffに(電池の減りに影響するので)
・赤いデスクトップアプリの全削除
 アプリ&ウィジェットで、自分で使うアプリを(画面からの)削除
 使わないdocomoのアプリをアンインストール
・下に4つ並んでいるアプリ以外赤い画面にアプリが無くなったのを確認
・メニューから赤い画面の横枚数が設定できる画面を呼び出す
 1つずつ長押しすると削除できるので、片っ端から削除する <=この辺死亡フラグかも
 3枚になった時点でも削除可能で削除しようと、ゴミ箱へドラッグ!
 した瞬間にハングアップ。
 半透明の1枚がゴミ箱の上に重なってる画面でハングしてる状態。 <=ここでハングアップ
・あー3枚まで減らすのはOKで2枚にするとどっかでエラーになるのか。
 バカだなぁ。こんな作りにしてw。と、この時点ではまだ余裕。
・タッチしてもドラッグしてもハングしたまま。
 ホームも戻るボタンも効かない。
・どうしようも無いので、短く電源ボタンを押す
 一回画面切って起動したら、セキュリティ入力画面来るだろ?って思ってた。
・画面消えたまま、電源ボタンも効かず。
 ええーーーーーーー。
 短く押してもダメ。
 長押しは効いてるのか効いてないのかよくわからず。
・電池抜いて再起動かけたら・・・はいエンドレス再起動発動。
・さすがにこれは無いな。と思ってdocomoショップへ行く。
・昼休み終わるんで、このままケータイ預けたいんですけど?
 って言ったら無理だって。
 夜になったらまた行きますよ・・・
 
F-05D無いわ-。マジ無いわ-。

あ。ちなみに2度死ぬってありますけど、
過去に1回交換してもらってるんで3度目なんですけどね。
朝壊れたのが2台目のF-05D。
昼壊れたのが3台目のF-05D。

あと勘ですけど、前回の再起動はハードウェアチェックでの無限再起動。
今回のはUIを読み込もうとして、UIがException吐いての再起動かと。

                              • -

2012/0618 追記

4台目のF-05Dに同じような作業をしたけど死にませんでした。
今度はdocomoアプリのアップデートが出てないので
渡された段階でdocomoアプリのアップデートが済んでいて
エンドレス再起動にならないdocomoアプリだったのかも。