2020/01/13

Gitのcore.autocrlfの設定

改行コードはWindowsアプリでは便宜的にCrLfに揃えることにしていて、.gitattributesでは「* text=auto」はコメントアウトし、.editorconfigでは「end_of_line = crlf」と設定していますが、にもかかわらず自分が認識しないところでLfに変わっていることがあり、さらにCrLfに修正してVisual Studio上でStageしようとするとStage対象に移動しないまま消える、という問題がしばらく前から起こっていて、少々困っていました。

Git絡みの問題であろうことは想像できましたが、VSの問題か、GitHub Extension for Visual Studioの問題か、Git自体の問題かよく分からず、Gitの設定にある「core.autocrlf」が関係ありそうな気がする一方、説明を読んだ限り関係なさそうに思えたので特に触らずにいました。

それが、まとまった数のファイルをCrLfに修正してcommitした後、PowerShellのCUIからそのcommitを含めてrebaseし、VSでリロードしたら全部またLfに戻っていたという問題が発生したので、思い切って以下のコマンドを実行。
git config --global core.autocrlf false

そうしたら、変な動作が全部消えました。

この設定を意識してtrueにした記憶はないものの、Git環境の構築は何度もやり直してるので、正確なところは不明。Gitの設定への理解不足といわれればそうかもしれませんが、こういう問題が起こるとは想像し難いものがあり、謎動作されるぐらいなら切っておいた方が面倒がないと思われます。

HDDの波形の変化

HDDが性能的にSSDに置いて行かれて久しい現在、それでも3.5インチHDDにはぼちぼちと進化が見られるが、2.5インチHDDには目ぼしい進化は見られない(と思う)。それは仕方ないとして、特に変化は期待せずNAS用のHDDを更新したら、HDDの「波形」について発見があったのでメモしておく。

HDDの「波形」というのは、HDDの速度を計測すると現れる位置固定のパターンのことで、記録面の記録密度に由来するものと個人的に考えているもの。基本概念は以下参照。
購入したのは東芝の2TBのMQ04ADB200。店はいつものように秋葉原のArk。

9.5mm厚なのでプラッタは2枚で記録面は4。東芝以外も含めて4TBのモデルは存在するが、どれも厚みは15mmのようなので、プラッタは4枚と推測され、したがってプラッタ当たり容量は同じと思われる。

2台のうち1台目のDisk Gazerの結果。上に出ている水色のグラフが最外周(先頭)100GiB、下の黄色が最内周(末尾)100GiBを示す。

まず計測幅が100GiBなのは、初めは先頭10GiBで計測したら水平線だけで波形が出てこなかったので、広げたから。水色の方だけではやや迷うが、黄色の方を見れば特徴的な4つの水平面の波形が分かる。これには注目すべき点が2つあって、
  • 先頭の水平面の長さは約19GiBで、これは以前のHDDより桁違いに長い。4つの水平面を合わせると約71GiBにもなる(水平面ごとの長さは同一ではない)。末尾の4つでも約27GiBとなる。
  • 同じ記録面のものと推測される水平面でも高さが微妙に異なるので、完全に同じ波形の繰り返しではない。
次に2台目のDisk Gazerの結果。こちらも上の赤紫色が最外周100GiB、下の黄色が最内周100GiB。

こちらも同じ特徴を示しているが、赤紫色の方でも4つの水平面の波形が分かりやすい。

これらが何を意味するか。一番シンプルな解釈は、あるゾーンの記録面(この場合は4つある)中のトラックを移動するのに、以前のHDDのように1つの記録面のトラックをある程度使ったら別の記録面に次々に移っていくという、記録面を小刻みに切り替える使い方ではなく、1つの記録面のトラックは(そのゾーンに属する)全トラックを最初から最後まで使った後に次の記録面に移るという、記録面をゾーンの途中で切り替えない使い方になっていることが考えられる。
  • 4つの水平面が1つのゾーンを構成するとして、1台目のように最初のゾーンの容量を71GiB、最後のゾーンの容量を27GiBとし、この間で容量が一定幅で減っていく(正確には2次関数的に減ると思うが)と仮定すれば、1863GiBは38ぐらいのゾーンに分割できる。この数はゾーン数としてあり得なくはない。
  • 水平面ごとに同じ記録面でもゾーンが違うとすれば、高さ=速度=記録密度が違うのは普通。概ね末尾に行くにつれ同じ記録面でも微妙に高さが下がる=速度が遅くなるのは、ゾーンが変わっていると捉えれば自然な推移(同じ記録密度であっても末尾(内周)に行くにつれ線速度が遅くなるので、アクセス速度も遅くなる)。
この記録面の使い方の違いがユーザーにとって何か意味があるかといえば、別に何もないが、個人的には波形の健在を確認できた。

なお、過去には専らHGSTのHDDを見てきたので、ベンダーによる違いも考慮すべきではあるが、過去の東芝のHDDの波形は他社のHDDと基本的には変わらなかった。いずれにしても、そもそも2.5インチHDDの存在自体いつまで続くのか分からないし、ベンダーの違いにこだわる話でもない気がする。

2019/09/07

Surfaceのバッテリ問題

スマホやタブレットのリチウムイオンバッテリが膨張する問題は珍しくないが、自分のSurface Pro 4でも発生し、Microsoftで交換してもらったので、記録しておく。

1. 状況

問題に最初に気づいたのは6月頃で、使用期間はほとんど毎日使って2年10か月になる。それまでハードウェア的な問題が起きたことはなかったので、その点は優秀と言えた。

気づいた兆候は、一つはキックスタンドが畳んでも筐体とぴったり合わなくなったことで、フローリングの床に落としたことはあったので、そのときに歪んだかぐらいに思っていた。これは段々ひどくなって、交換に出す直前でこの状態。

もう一つは暗い中で画面の周縁部に顕著なムラが出ることで、経年劣化かと思っていた。これも段々明るい中でもはっきり分かるようになり、画面向かって左側に黄色い模様、最も圧迫された中央に明るい斑点が出てきた。

筐体の歪みなら力をかければ戻せないかなと試みた後で(そう簡単に曲がるような筐体ではなかった)、ふと表と裏の両方に内側から圧力がかかるような原因といえば、バッテリの膨張があったと思い当たった。

表側の膨らみに定規を当てて測ると3mmぐらいで、裏側も同程度だったので、計6mmぐらい膨らんだことになる。

ちなみにBattery reportでは、MANUFACTURERはSMPで、サイクルカウントは225回。容量はDESIGN CAPACITYが38,152 mWhに対し、FULL CHARGE CAPACITYが33,922 mWhだったので、それほど劣化していない感じではある。

2. 手続
  1. MicrosoftのSurfaceのサポートに朝一で電話したところ、昼頃に写真のアップロード先を指示するメールが来る。

  2. 側面から表裏を撮った写真とシリアルナンバーの写真をアップロードし、4日後に注文を受け付けたとのメールが来る(注文とは、交換の注文という意味らしい)。翌日Microsoftから電話があり、専用の返送用パッケージを送るので、それを受け取った後、Blu Logisticsという会社に集荷依頼するようにとの説明(返送先は日本国内)。費用は発生しないとのこと(保証期間は切れていたので、この点は太っ腹?)。

  3. 返送用パッケージを受け取り。専用というのでどんなものかと思っていたら、確かに専用ではあるけど、梱包自体は簡単なものだった。


    梱包はSurfaceのサイズに切り抜かれた台紙に嵌め込んで、銀色の平たい箱を上に載せるだけ。リチウムイオンバッテリの発火リスクを考慮したものっぽい。

  4. Blu Logisticsに集荷依頼の旨を書いたメールを送る。2日後、アリスペッドジャパンという会社から連休前の夜になって集荷の希望日時を確認するメールが来るが、注文番号は正しいのに、依頼人は別の人と間違えていた(管理大丈夫か?)。連休中なら対応可能と返すも反応はなく、休み明けに改めて集荷時間を指定するメールを送ると、2日後以降でないと対応できないという(それなら初めに書いてほしい)。改めて指定するメールを送ると、佐川に集荷を手配したとのこと。

  5. 佐川から発送して営業日で3日後にMicrosoftからデバイスを受領したとのメールが来る。翌日にデバイスを発送したとのメールがあり、その2日後に代替品が到着。発送元は東京都内。
以上のうち、Microsoftが自社でやっている部分は迅速だが、引取りを他社に委託している部分は非効率。過去のLenovoでは(現在は知らない)、サポートに引取りを依頼すると梱包資材を持って引取りに来て一発で終わったものが、無駄に手間がかかる。

3. 代替品

代替品は同スペックのSurface Pro 4で、特に使用感なし。

ただし、初めはバッテリが充電されない問題があり、何をしても充電が始まらなかった。デバイスマネージャーでは普通に表示されるものの、Battery reportを取得しようとするとエラーになり、何か問題があるようだった。

色々試すうちに充電は始まったが、直前にやったのはサスペンドからの復帰中に固まったときに電源を抜いたことで、何かのフラグが解除されたのかもしれない。改めてBattery supportを取得すると成功し、MANUFACTURERはDYN、サイクルカウントは「-」だったので、未使用だと思う。DESIGN CAPACITYは38,152 mWhで前と同じだが、FULL CHARGE CAPACITYは40,485 mWhになっていた。

ということで、本体の方が新しくなったのに合わせてタイプカバーも新しくした。