Xperia Z4が防水の理由
SOL22
発売直後に機種変したからまる2年使ってきたわけだが、ルート化しなくても困ることも殆ど無くなかなか優秀なやつ。
ところが会社で充電の度にmicroUSBのカバーを外したりを繰り返していたら、防水パッキンがイカレてしまい防水機能はどこか彼方へ飛んでいくことに。
パッキンだけ買おうかとも思ったけど、水没したときは(水没してないけど既に水没マーク赤くなってたし)そこまでと諦め、お風呂で使えないくらいなので別に問題なく使えてきました。
強いて言うなら
最近無線ルータをバッファローからAtermに変えたんだけど、5GHz帯でSSIDをステルスモードにすると認識しないので、ちょいイラしたくらいかな。
SOV31
S.O. ・・・
Vだと・・・( ゚д゚)ポカーン
なんだろうこのモヤッと感。
ソニーモバイルコミュニケーションズからソニーに変わったからなのかな?
まぁ2年も使ったし変えてみるか-とau Online Shopでポチッと。
到着
平日に来ても受け取れませんw
土曜に受取り~
手にした瞬間「おっ結構、薄いなー、デカイなー」でしたが、2秒後・・
スベる!
これヤバイ。
膝にちょい載せできないくらい、背面もツルッツル!
月曜に落とす気がしてならない・・・
ということでケースとか用意してない人はストラップ必須だわ。
とか思いながら、取り敢えず充電して、カメラちょっといじってると、
熱い!熱い!w
からの
発熱のためカメラ強制終了・・・ヾ(゚Д゚ )ォィォィ
多分、5分もカメラ起動してない。
( ゚д゚)ハッ!この為の防水か!
つまり、イザとなったら水で冷やせとな・・・・
水冷式とかやるじゃん糞ニーがぁあああ!
なんだろう。
低バッテリーからの充電(急速?)とカメラがめっちゃ熱くなる。
充電完了すると全然冷や冷やです。
違う!俺が今回書こうとしたのは、防水とかじゃなくて、Xperiaの自作テーマなんだよぉおおお!!
次回。
YAGBE
ブックマークって、みんなどうやって管理してるんだ?
取り敢えず自分はメインでGoogle ブックマーク使用。
Googleブックマークの便利なところ
URLにタグ付けできる
よくある機能。
URLにタグ付け管理できるので、まあ便利。
ただし、タグ付けまくると、あとで整理が面倒で、後悔。ググった履歴が全て見れる
「あー先週、検索して見つけたサイトって何で検索したんだっけーー!?」
とかでも、GoogleブックマークのWEB履歴から探しだすこともできる。厳密にはGoogleブックマークじゃないのかな?
あと、誰かに見られたら死亡するwChromeやFirefoxの拡張機能が便利
個人的にタイトルにもある YAGBE が一番使いやすい。
chrome.google.com少し前まで、エラーが出るようになっていたけど、最近また使えるようになったのかな?
スマホ(Android)との連携
一番使い勝手が良いのが、GBookmark - Google Play の Android アプリ。
Format-Tableで右揃えとか三項演算子的なこと
chromeのプロセス一覧見てみよ~(ドヤ顔
な・ん・だ・と!?
すっからかんだと!?
てか、なんだこの空行は!?
右にスクロールしてみる
出てきた~!
画面のプロパティを見てみると・・・
そうです。
画面バッファーのサイズを広げてました。
Format-Tableコマンドレット
まぁ右スクロールすれば出てくるからいいけど、見難い!
ということでFormat-Table(以下ft)-AutoSizeをカマしてみる
PS C:\Users> gps chrome | ft -a id,name Id Name -- ---- 1304 chrome 1328 chrome 1744 chrome 1868 chrome 2776 chrome 3252 chrome 4392 chrome 5172 chrome 5224 chrome 5372 chrome 5648 chrome 6204 chrome 6284 chrome 6556 chrome 6844 chrome 6992 chrome 7096 chrome 7156 chrome 8304 chrome 9408 chrome PS C:\Users>
いい感じに自動的に幅を調整してくれます。
右揃えや中央揃え
このft、色々と出来ちゃいます。
いろいろな表示サンプル
PS C:\Windows\system32> gps chrome | ft -a Id, Name, VirtualMemorySize64, # 仮想メモリをMB変換して小数点第二位で表示 @{n="VM[MB]"; e={"{0:N2}" -F ($_.VirtualMemorySize64/1MB)}}, # 仮想メモリピーク値をMB変換して小数点第二位で右揃え @{n="PeakVM[MB]"; e={"{0:N2}" -F ($_.PeakVirtualMemorySize64/1MB)}; a="r"}, # 仮想メモリが1GB以上の行にY、それ以外Nでセンタリング @{n="Over 1GB#if"; e={if($_.VirtualMemorySize64 -ge 1GB){"Y"}else{"N"}}; a="c"}, @{n="Over 1GB#map"; e={@{$true="Y";$false="N"}[$_.VirtualMemorySize64 -ge 1GB]}; a="l"}, @{n="Over 1GB#array"; e={@("Y","N")[-not( $_.VirtualMemorySize64 -ge 1GB)]}; a="r"} Id Name VirtualMemorySize64 VM[MB] PeakVM[MB] Over 1GB#if Over 1GB#map Over 1GB#array -- ---- ------------------- ------ ---------- ----------- ------------ -------------- 1124 chrome 865202176 825.12 829.12 N N N 1424 chrome 1181487104 1,126.75 1,143.75 Y Y Y 2116 chrome 957128704 912.79 916.79 N N N 4788 chrome 913203200 870.90 871.90 N N N 4912 chrome 950034432 906.02 916.02 N N N 8496 chrome 995819520 949.69 955.96 N N N 8588 chrome 311062528 296.65 307.28 N N N 8712 chrome 1492869120 1,423.71 1,466.71 Y Y Y 8756 chrome 897290240 855.72 858.72 N N N 8792 chrome 776208384 740.25 745.25 N N N 8800 chrome 801337344 764.21 771.22 N N N 8808 chrome 862097408 822.16 862.30 N N N 8820 chrome 774639616 738.75 743.75 N N N 8832 chrome 778833920 742.75 748.75 N N N 8840 chrome 770445312 734.75 741.75 N N N 8848 chrome 775159808 739.25 746.25 N N N 8856 chrome 770445312 734.75 741.75 N N N 8864 chrome 771493888 735.75 743.75 N N N 8872 chrome 769658880 734.00 739.00 N N N 8912 chrome 998236160 951.99 979.99 N N N 9660 chrome 1066119168 1,016.73 1,025.73 N N N 9664 chrome 914006016 871.66 876.66 N N N 10192 chrome 1044418560 996.04 1,012.54 N N N
三項演算子(VBでいうIIF)的な何か
前述のサンプル。
実は三項演算子的なことしてます。
お気づき?
列「Over 1GB#map」と「Over 1GB#array」は条件が真と偽で表示内容を変えてます。
仕組みは単純。
@{$true="Y";$false="N"}[$_.VirtualMemorySize64 -ge 1GB]
$trueは"Y"、$falseは"N"という連想配列を作って、真偽値を使って連想配列から値をゲットしているだけ。
VBで書くならこんな感じでしょうか
Dim map As New Hashmap() map.add(true, "Y") map.add(false, "N") # map.item(true)
@("Y","N")[-not( $_.VirtualMemorySize64 -ge 1GB)]
こっちはbool値をint型に変換して(暗黙的でよろしくはないが)、インデックスとして利用。
twitterにログインできなくなった
ある日突然
Twitter for Androidへログイン認証のリクエストを送信しました。
通知をスワイプまたはタップしてTwitterアプリを開いた後、チェックマークボタンをタップしてログイン認証のリクエストを確認してください。Or get a verification code texted to your phone.
保存したバックアップコードを使用してログインできます。
ヘルプが必要な場合は、Twitterサポートまでお問い合わせください。
ここから先に進めなくなった
何もやってないのに!
と、叫びたかったが心当たりありましたわ。
ただ、心当たり多すぎてもう訳わからん状態(泣)
ログイン認証できないし、バックアップコードも無効とかホント悲しい。
何度もログインにチャレンジしては失敗。
もう悲しいというより虚しかったよ。
パスワードリセットすると確かにリセットされるんだけど、その先にログイン認証の壁が立ちはだかる。
最後の手段
twitterのサポートに泣きつい・・問合せてみた。
何度かやりとりはあったものの あっさり解決!
ありがとう、サポートさん!
ちなみに
だらだらとやりとりしてたけど流れは↓感じ
- 1/25 サポートに泣きつく
- 1/25 twitter:もう一回ヘルプ見るがよろし。それでダメなら詳細送りたまえ
- 1/28 もう一度、泣きつきまくる
- 2/4 twitter:取り敢えずログインだけして、連絡よこすがよい
- 2/5 ログインじまじだ〜〜〜(号泣
- 2/5 twitter:ログイン認証無効にしてやったよ☆(ゝω・)vキャピ
- 2/5 ふおぉおおお!
う〜ん、別アカウント作って、ログイン認証ONにしたのが原因かな〜
コンパイラーのバグ
ふと思い出した
10年ほど前にSolaris9で開発していた頃のことをだらだらと。
(もうそんなに経ったか・・・)
うろ覚えだけど、こんな感じのreturn漏れのコード(適当
int hogera(int b, int c) { int a = b + c; if (a = 0) { return 0; } // return nil }
通常
上記はreturn漏れのコンパイラ警告だかエラーになるはずが、何故か問題なくコンパイルできてしまった。
結局、リリース後に発覚して大騒ぎだった記憶。
その時はSun(現Oracle)のサポートに連絡し、調べてもらって結論が「バグ」だったような。
と言っても
Success is a Journey, not a Destination: 全てのCプログラマが未定義な振る舞いについて知っておくべきこと #2/3を読むと、必ずしもバグだけでなく、あれは最適化の影響だったのではと今では思ったり。
リリースをするときは必ず、Releaseモードでビルドするしね。
それ以来
どうしても解消しないバグの要因の一つとしてコンパイラも疑う癖がついてしまった。
Oracle9i/11gでも
バグっぽいものを見つけた。
SQL単体で実行すると正しい結果が返ってくるのに、PL/SQLにすると何故かうまく実行できない。
他にも、特定のSELECT文を実行直後に別のSELECT文を実行すると、結果が異なるなど。。。
結局Oracleサポートに入ってなかったので、バグ報告は上げてない(笑
大抵
しょぼいミスが原因。
だからできるだけシンプル、できるだけコンパクトにして、バグが混入しにくいコードを書くように心がけている。
1関数50行を目標にしてはいるけど、トリッキーなコードを使わないコンパクトって、なかなか難しいよね。