Thinkpad T450sのHDDをSSDに換装する

普段からネットサーフィンに大活躍している僕のメインPC、lenovoのノート、Thinkpad T450sのHDDをSSDに換装した。
その顛末をいくらか文章化しておこうと思う。僕も事前の調査でググったけど、いくつか不明点があったので、後に続く人のお役に立てればと思いますし。
先に大雑把に書いちゃうと、

  • SATA SSDなら何でもいいんじゃないか。7mmでも9.5mmでもいいみたい。
  • lenovoの保守マニュアルは一応見といてね。
  • 僕はクローンせずに再インストールした。時間はそんなにかからない。

そもそも、初めからSSDを載せたPCを買いたかったけど、当時たしか512GBのしかなかったし、仮に1TBのがあったら高かっただろうな。メーカーPCはパーツをアップグレードしたら、パーツ代では済まないくらい金額が跳ね上がるのは何でだろう。やめてほしいな。
もともと内蔵されていたHDDはHGST 541010A9E680、まあ普通のSATAの1TBのHDD。なのでSATAのSSDから適当に物色する。かつてCrucialのSSDを使ってトラブルなしだったので、今回もCrucialに目をつけてた。MX500という新しいシリーズが出たし。Samsungや東芝にしたい人はそれでいいと思う。中華の良く分からないメーカーもあるけど、SSDは本質的にむつかしい部分があるから、著名メーカーから選ぶのが無難と思う。
結局買ったのはCrucialのCT1000MX500SSD1、面倒はいやなので日本正規版をAmazonで購入。ジワジワ安くなっていま25000円くらいと思うけど、この間のセールで23000円で売ってたから、即購入した。いずれこの価格帯に落ちるとは思うけど。パーツ類は3万円を超すと高くて買えないけど、2万円台だと買えるのは、我ながら良く分からない。
事前の準備としては、

  • 保守マニュアルの入手
  • MSのメディア作成キットでUSBブートメディアを作っておく(たぶん8GB以上のUSBメモリがいる)
  • データのバックアップ

といったところでしょうか。
それらを済ませたら、換装します。換装手順は、lenovoのハードウェア保守マニュアルを見てね。内蔵バッテリーの無効化とか、たぶんやった方がいいし。とりあえず底面のふたを開けると、HDDにはすぐアクセスできる。

ねじを一つ外しただけで、HDDは取り外せる。そおっとね。

HDDの周りは、専用のゴムパーツで固定されているんだけど、この内側に突起があって(見えにくいかな)、それが2.5インチHDDやSSDの側面のねじ穴に食い込むようになってる。このHDDは9.5mm厚だから、9.5mm厚のSSDならピッタリだと思うけど、7mm厚のSSDでも空間ができるだけで、このねじ穴の部分で固定はされてる。なのでCrucialのSSDについてきたスペーサーは使わなかった。だから、たぶんSSDの厚みは気にせずに買ったらいいと思います。

ゴムパーツをSSDに取り付けて、HDDの位置に差し込む。あとは固定して、ふたを閉じて。

さて再インストール。実はUSBメモリで起動するって初めてなんですよね。うまくいくのかなあと思ってましたが、メモリをさして、起動時にEnter→F12かな。ところがUSBから起動というのが表示されない。うーんと思いながらUSBポートを変えたり再起動をかけてたりすると、なんだか認識された。この点は今一つ良くない感じがした。これこれ、このUSB HDDというのを選んで起動をかける。

あとはWindows10のインストール。こういうことやる人は、ここから先は好きにやるでしょう。
換装結果、あらゆる操作が爆速になったので、このThinkpadも当面のネットサーフィンに耐えそうです。良かった良かった。

三菱UFJ銀行のメインバンクプラスの優遇について

三菱UFJ銀行は、預けている残高に応じて、色々優遇がある。以前より優遇が劣化してしまったようだけど。自分に関係があるところだけメモしとく。近所にこの銀行のATMなんてないから、そのあたりは読み飛ばし。詳細はこちらをご覧ください。優遇内容のご案内(MUFG)

残高30万円以上(シルバーステージ)

  • 提携コンビニATM 2回まで0円
残高500万円以上(プラチナステージ)

  • 提携コンビニATM 3回まで0円
  • ダイレクトからの他行あて振込 3回まで0円 ←これは魅力
ATM2回までとか、セコイよなあと思うけど、僕は限度の20万円を引き出す。これがライフハック。時間と手間の節約になる。たまにしか行かなくて済むし、いい感じ。給料日直後とか並んでいる列を見ると、なんとご苦労なことだと思う。

ただ、財布にお金があるとついつい使ってしまう、というタイプの人はちょこちょこ下ろした方が良いのかも。

古いパソコンの無料回収について

もう使わなくなった古いパソコンを回収してもらった。

それだけ、と言えばそれだけなのだけど、備忘録を兼ねて色々書いていこうと思う。

パソコンは2台、どちらもノートパソコン。Thinkpad R50eとT43。型番だけで古さが分かる人もいるかな。前者はPentiumM 1.6GHz、後者はPentiumM 2.0GHz。

R50eは奥様が大学の時に買ったもので、研究とか卒論、修論とかも全部これで書いたのだと思う。T43は僕が在学中に買った。とくに僕はパソコン依存症なので、半端ではなく酷使したと思う。

2台とも、もう現代のOSは入らない。Windowsはもちろん、Ubuntuもダメ。CPUにPAEというのがないらしい。ごまかすオプションもあるらしいけど、ダメだった。Debian9は入った。偉いぞDebian。もしかして、もっと古いパソコンでも、Debianなら動くかも。

R50eは光学ドライブが死んでいる。あと電源スイッチに難があって、電源を入れるのにコツがいる。さらに液晶との配線がガタガタで、画面が映ったり映らなかったり。でも初代Centrinoだし、たぶん結構省エネにできている。電源を入れっぱなしでもファンは静かなものなので、Debian9を入れて、メイン使いのVPSとのrsync専用機・死活監視機としてずっと使ってた。

T43は全体的に死んでいる。時々ブルースクリーンになる。メモリが悪いとかだけなのかもしれないけど、トラブルシュートする気にもならない。あと、Radeonか何かを内蔵している関係か、何もしてなくても結構ファンが回ってうるさい。こちらはR50eが壊れた時の控えとして、置物にしていた。

そんなこんなで、たぶん10年以上使ってきたけど、もうどこがどう壊れてもおかしくないし、常時動かしていて不在時に火災でもおこしたら目も当てられない。自宅のノートパソコンの代わりに、調べた中で最も安いVPSを契約して、そちらに移行した。そのVPSについても書きたいことがあるけど、今回はそこには触れない。

そういうわけでお役御免となった2台、しかし長年使うと愛着がでるもので、しばらく置いていたけど、やっぱり邪魔なので処分することにした。

大津市のページを調べてみると、以下の記事を見つけた。
「宅配便を利用した使用済みパソコン・小型家電の回収サービスを行っています」

なんと、PCを送料まで無料で引き取ってくれるらしい。そんなうまい話があるのか。それは絶対に使おう。その会社についても、少し調べてみた。
【国認定】パソコン無料回収・処分・廃棄ならリネットジャパン

今年の9月末まで、パソコンの無料回収(送料も)をやっているらしい。あちこちの自治体とも連携しているみたい。それなら、ちゃんと回収ルートに乗せてくれるのかな。

そこのページに書いてあるのだけど、パソコンだけではなく、CRTだのパーツだの、およそパソコンまわりのあらゆるものをついでに送っていいらしい。せっかくの機会だから、PCMCIAのカードとか、PCIだのAGPのカードだとか、一生使わないようなものも、目いっぱい梱包して回収してもらった。これでかなりの断捨離になったので、気分がスッキリした感じがした。

あと、HDDのデータは有償で消去してくれるのと、自分でツールを落として消去する(無料)のと、HDDをそもそも引っこ抜いて送るのと選べた。もしかしたらHDDくらい売れるんじゃないかとバカなことを考えて、HDDだけは手元に残しておいた。

そういうわけで、いま不要なパソコンが眠っていて、どうしようか迷ってる方、9月末までですよ。急いだほうがいいですよ。

LANCETの抗うつ薬のメタアナリシスについて

LANCETに載った、最新の抗うつ薬のメタアナリシスについて(FBからの転載)。

原文はこちら。誰でも読めます。PDFもダウンロードできます。
Comparative efficacy and acceptability of 21 antidepressant drugs for the acute treatment of adults with major depressive disorder: a systematic review and network meta-analysis

(21 February 2018)

以前も同じような記事がLANCETに載ったことがありましたね。有効性のランキングと、忍容性のランキングだけ、本邦発売済みの薬剤の名称に合わせて並べてみます。

有効性のランキング
・アミトリプチリン(トリプタノール) ←なんと!
・ミルタザピン(リフレックス、レメロン)
・デュロキセチン(サインバルタ)
・ベンラファキシン(イフェクサー)
・パロキセチン(パキシル)
・ミルナシプラン(トレドミン)
・フルボキサミン(ルボックス、デプロメール)
・エスシタロプラム(レクサプロ)
・Nefazodone(本邦未承認、以下同様)
・セルトラリン(ジェイゾロフト)
・Vortioxetine
・Agomelatine
・Vilazodone
・Levomilnacipran
・Bupropion
・Fluoxetine
・Citalopram
・トラゾドン(デジレル、レスリン)
・クロミプラミン(アナフラニール)
・Desvenlafaxine
・Reboxetine

忍容性のランキング(飲み続けやすさ)
・Agomelatine
・Fluoxetine
・エスシタロプラム(レクサプロ)
・Nefazodone
・Citalopram
・アミトリプチリン(トリプタノール)
・パロキセチン(パキシル)
・ミルナシプラン(トレドミン)
・セルトラリン(ジェイゾロフト)
・Bupropion
・ミルタザピン(リフレックス、レメロン)
・Vortioxetine
  以降は他薬より脱落が多い組
・ベンラファキシン(イフェクサー)
・Desvenlafaxine
・デュロキセチン(サインバルタ)
・フルボキサミン(ルボックス、デプロメール)
・Vilazodone
・トラゾドン(デジレル、レスリン)
・Levomilnacipran
・クロミプラミン(アナフラニール)

あくまで統計的な話なので、個人にあう、あわないはもちろんあるかと思います。現在どこでどういう治験をしてるか全然把握できてないのですが、有効性、忍容性に優れた薬で、本邦で認可されていないものはぜひとも選択肢として登場してほしいですね。

それから、有効性と薬価を勘案すると、これはトリプタノールの圧勝ではないでしょうか。値段が違いすぎる。現地点の薬価だと、例えばリフレックス15mgで170.8円、45mg飲めば512.4円です。トリプタノールは25mgで9.6円なので、仮に150mg飲めば57.6円です。お安い。今後は新薬を押しのけて、まさかのトリプタノールが主役に、なんて流れになったりするのでしょうか(まあならないか)。

アナフラニールが忍容性で最下位なのも個人的には納得がいきます。

車の撥水コート(ガラコ)

夜間に運転することがそこそこあるので、車のガラスの撥水コートをしてみた。フロントとサイドは、「超ガラコ」という製品を使ってみた。

本当はクリーナーできれいにしてから塗布するのが良いらしいんだけど、面倒なので洗車機に放り込んで、その後ガラスについた水を拭きあげて、そこから塗布した。2回ほど雨の高速道路を走ったけど、80kmか90kmくらい出せば、ワイパーはいらない感じ。あとはどれだけ長持ちするかだけど。半年くらい持ってくれたらいいかな。
ドアミラーは「ガラコ ミラーコートZERO 」というものを使ってみた。被膜がデリケートで、触るだけで剥がれるらしいのだけど、塗布から2か月くらい、今のところ触っていないので被膜は大丈夫の様子。

撥水に関しては大変優れていて、水滴が本当につかない。雨の夜間とかはこれまでとまるで違う。かなりすごい。被膜のためか、うっすらミラーが白っぽくなったような感じもあるけど、差し支えない範囲。
いずれも、こんなに快適になるのなら、もっと早めに手を出してみるべきだった。
フロントは新車で買ったとき、ディーラーの撥水加工をしてもらっていたのだけど、そちらの方が撥水は良かったかなあ。それは一年くらい持った。でもお高いのですよね。これなら自分でできて、グッズも千円単位だし、今後も自分でやろうかな。

PHPテンプレートエンジンSkinnyについて

最近行ったサーバの移行。
Ubuntu12.04からUbuntu16.04にしたので、それに伴い、PHPも5.3.10から7.0.18に変わった。想定されることだけど、PHP4時代から使っていたスクリプトの一部が動作しなくなった。細かいことは色々あるけど、一番大きかったのはそれまで使っていたテンプレートエンジンがまるっきり非互換の塊になってしまったこと。
テンプレートエンジンをガリガリ書き直して使い続けても良いんだけど、それはそれでなかなか不安もあったので、何か良いものはないかなと探していて、Skinny(http://skinny.sx68.net/)というのを見つけた。
これもいわゆるテンプレートエンジンで、ビューだけを切り離す用途に特化していて、僕のニーズにバッチリ合うものだった。ビュー層(テンプレート)はSmarty互換らしく、それならそれなりに今後も安心感があるかな、と思えた。
テンプレートエンジンの差し替えを行ったものの、ロジックの8割くらいは流用できたので、非常にスムーズに移行できたと思う。
作者さんに感謝。

Ubuntu16.04にfmlを入れる

新しいサーバ(Ubuntu16.04)でも、これまで使ってきたfmlをなんとかして使いたい。

しかしこれは太古のパッケージを現代のディストリビューションで使う、というやばい話なので、避けられる人は避けた方が良い。

まず、Debian 4くらいに入っていたdebパッケージを入手する(としか書かない)。

とりあえずインストール。

sudo dpkg -i fml_4.0.3.dfsg-2_all.deb

すると、エラーがでてインストールはできない。

Can’t use ‘defined(@array)’ (Maybe you should just omit the defined()?) at /var/lib/dpkg/info/fml.postinst line 229.

なので、-iはあきらめて、unpack&configureする。

sudo dpkg –unpack fml_4.0.3.dfsg-2_all.deb

以下は修正箇所と修正内容。基本的には配列とかhashのdefinedを消すだけ。

sudo vi +229 /var/lib/dpkg/info/fml.postinst

–            if (defined @entry) {
+            if (@entry) {
+238 で同様に
–                 $key ne “_$package” && $key ne “_DB” && defined %entry
+                 $key ne “_$package” && $key ne “_DB” && %entry
+243 で同様に
–                 (defined %entry) &&
+                 (%entry) &&

これでpostinstは修正完了、configureする。間違っていたら再度修正して繰り返し。

sudo dpkg –configure fml

それから、以下のパッチを当てる。

[debian-users:55112] Re: fmlのDebianパッケージ

にあるように、

— libkern.pl.old      2010-12-30 08:12:13.000000000 +0900
+++ libkern.pl  2010-12-30 08:12:18.000000000 +0900
@@ -616,8 +616,8 @@

     ### Header Fields Extraction
     $s = $Envelope{‘Header’}.”\n”;
–    $* = 0;                    # match one line
–    if ($s =~ /^From\s+(\S+)/i) {
+    # $* = 0;                  # match one line
+    if ($s =~ /^From\s+(\S+)/is) {
        # XXX NO REACH HERE (1999/10/27 by fukachan)
        # $Envelope{‘UnixFrom’} = $UnixFrom = $1;
        $s =~ s/^From\s+.*//i;

をパッチとして当てたら良い(これは確かめてないけど、たぶん当てないと動かないんでしょう)。

その後、色々動作しなかったが、MLのユーザをlistグループに追加し忘れていたり(移行なら意外とはまる穴かも?)、

# sudo adduser mluser list

makefmlの文法エラーも出た。fmlのテスト機能というのがあるので、

$ makefml test mlname

とやってみると、色々とエラーが出る。要領はおんなじ。

Can’t use ‘defined(@array)’ (Maybe you should just omit the defined()?) at /usr/share/fml/makefml line 6246.

$ vi +6246 /usr/share/fml/makefml
–            if (defined @entry) {
+            if (@entry) {
次、
Can’t use ‘defined(%hash)’ (Maybe you should just omit the defined()?) at /usr/share/fml/makefml line 6257.

–                 $key ne “_$package” && $key ne “_DB” && defined %entry
+                 $key ne “_$package” && $key ne “_DB” && %entry
次、
Can’t use ‘defined(%hash)’ (Maybe you should just omit the defined()?) at /usr/share/fml/makefml line 6260.

–                 (defined %entry) &&
+                 (%entry) &&
すると、次は、

Unescaped left brace in regex is deprecated, passed through in regex; marked by <– HERE in m/\$config{ <– HERE \’_ML_\’}/ at /usr/share/fml/makefml line 7003.
Can’t locate getopts.pl in @INC (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.22.1 /usr/local/share/perl/5.22.1 /usr/lib/x86_64-linux-gnu/perl5/5.22 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.22 /usr/share/perl/5.22 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base .) at /usr/share/fml/makefml line 139.

(正規表現のエラーが出てるがそれはおいといて)おお、getopts.plがないのか。初情報。少し調べて、以下のパッケージを入れると良いのかも。

sudo apt-get install libperl4-corelibs-perl
なんとこんな名前(perl4ってw)のパッケージが実在することに多少驚きながら、早速入れてみる。すると、fmlがようやく動いた!!

試行錯誤した内容をまとめていますので、不足等あるかもしれませんがご容赦下さい。

2017/6/1追記

上記設定だけでは流れないMLが発生した。

まず、fml.plにlibkern.plと同様の箇所があってエラーが出るので、同じような修正を行った。

— fml.pl.orig 2017-05-26 20:31:48.000576211 +0900
+++ fml.pl      2017-05-26 20:33:04.256837661 +0900
@@ -677,8 +677,8 @@ sub GetFieldsFromHeader
     ### Header Fields Extraction
     $s = $Envelope{‘Header’}.”\n”;
–    $* = 0;                    # match one line
–    if ($s =~ /^From\s+(\S+)/i) {
+    # $* = 0;                  # match one line
+    if ($s =~ /^From\s+(\S+)/is) {
        # XXX NO REACH HERE (1999/10/27 by fukachan)
        # $Envelope{‘UnixFrom’} = $UnixFrom = $1;
        $s =~ s/^From\s+.*//i;
さらに/usr/share/perl5/jcode.plまでも修正してしまう。これはパッケージlibjcode-perl内のファイルなので、ubuntuに連絡をした方が良いかも。
— jcode.pl.orig       2017-06-01 17:30:16.708268955 +0900
+++ jcode.pl    2017-06-01 17:30:54.168279228 +0900
@@ -681,7 +681,7 @@ sub __z2h_jis {
 sub z2h_euc {

&nbs
p;    local(*s, $n) = @_;
–    &init_z2h_euc unless defined %z2h_euc;
+    &init_z2h_euc unless %z2h_euc;
     $s =~ s/($re_euc_c|$re_euc_kana)/
        $z2h_euc{$1} ? ($n++, $z2h_euc{$1}) : $1
     /geo;
@@ -690,7 +690,7 @@ sub z2h_euc {
 sub z2h_sjis {
     local(*s, $n) = @_;
–    &init_z2h_sjis unless defined %z2h_sjis;
+    &init_z2h_sjis unless %z2h_sjis;
     $s =~ s/($re_sjis_c)/$z2h_sjis{$1} ? ($n++, $z2h_sjis{$1}) : $1/geo;
     $n;
 }
ここまででMLは動作しました。まあこんな感じなので、fmlの機能を深く使っているほど、修正箇所が増える感じかもしれません。

CanoScan LiDE 60がWindows7(64bit)だとうまく動かない(解決済み)

以前から使っているキヤノンのスキャナ、CanoScan LiDE 60がWindows7(64bit)だとうまく動かない。これまではWindows XPのPCにつないで利用していたけど、それはやめたいので、調べてみた。

まず、スキャナをつなげる前に、キャノンのサポートページから以下のソフトをインストールする。

・ドライバー(ScanGear CS Ver 11.1.1.1a_64)
・アプリケーション(CanoScan Toolbox 4.9.4.2)

これらをインストールした後スキャナをつないで動かそうとすると、以下のようなエラーが出る。(TWAINソースをオープンできません。接続を確認し、Toolboxを再起動してください。)
 
Image1

以前はこれで諦めていたのだけど、このメッセージを元に調べてみると、このエラーはキヤノンも認識している様子で、以下のページに記載がある。

http://cweb.canon.jp/e-support/faq/answer/canoscan/73841-1.html

「環境変数アップデートツールを実行し、正常にスキャンができるかを確認してください」とある。なんだそれ、と思いながらも指示通りにダウンロード。

・環境変数アップデートツール(sgup.zip)

あとはこのzipを展開して、exeを起動し、対象のスキャナのモデルを選ぶだけ。どうやらドライバの中の CISDS.DS というファイルを差し替えているだけの様子。

そういう不具合があるなら、はじめからドライバの中身を差し替えておいてくださいよ、キヤノン様。

CanoScan Toolboxも、使っていると頻繁に落ちるようなクオリティなので、あんまりやる気は感じられない。

IrfanView4.36をむりやり日本語化してみる

IrfanView4.36に、Japanese.dllが出ていなくて(日本語化できない)、がっかりしている人も多いのではないでしょうか。私もそう。

とりあえず英語のままで利用してるけれど、一部だけでも日本語が出たらいいなということで、4.35用のJapanese.dllの、バージョンの部分をむりやりバイナリエディタで4.36にしてみたら、とりあえず使えています。

具体的にはStirlingを使ってJapanese.dll開いて、Unicodeにして文字列検索で4.35の箇所を全部4.36にしたら良いです。

あとは誰かがこれを元に4.36用のdllを出してくれれば最高なんだけども(お前やれよ、とか言われそう)、これけっこう大変な作業量っぽいので、気軽に「やる」、とは言えないですね。

Windows XPのWindows Updateを成功させる

まず、XPでWindows Updateをかけると、とても高負荷になってしまい、全然先に進まない。これはIEの累積パッチが悪いと、日本のWSUSの公式ブログに記載があった。

つまり、Windows Updateの前に以下のインストールを行っておくことが必要となる。

  • IE8を入れる。ただし更新は入れない。
  • IE8の累積パッチを入れる。2013/11地点ではKB2888505になる。
次に、Windows Updateの中で「Windows Genuine Notification」とやらがいつまでたっても終わらない。なので、とりあえずこのパッチだけはダイアログがでるので飛ばしてしまい、後ほどゆっくり対応するのが良いと思う。

なお、上記パッチは、実行時に以下の2つのサービスを止めるとうまくいく、という記載をどこかのページでみて、実際にやってみるとその通りであった。

  • Automatic Updateの停止
  • DHCPの停止
なんだよそれ、と思うが、まあうまくいけば何でも良いので、細かくは追求しない。理由を知っている人がいれば教えて欲しい。

これら2つをやることで、無事にXPのSP3直後くらいから、現在の最新にUpdateすることが可能になった。