Thinkpad Edge E430c 到着と開封

家用に購入したThinkpad Edge E430cの到着と開封。即納モデルだったので発注翌々日に到着。写真数枚撮ったまま放置してた……

イマドキらしくそこそこにコンパクトな箱。箱にぎちっと詰まってるMacほどではないですが。

必要にして十分な内容物。リカバリはDisk to Diskなのでディスクが欲しければ別途焼く方式。DVD-Rで作ったらBoot1枚+Data3枚になりました。休みの日にゆっくり焼きましょう。

オープン。赤ポチもついて紛れもなくThinkpadですが、本流とは異なるデザイン。圧倒的に何かが足りない。HDDのアクセスランプがないのはMac使いなので慣れてるはずですが。

初回起動だけ済ませてハッチオープン。裏蓋を外せばファンからHDDからメモリからひと通り見えるので、メンテナンス性は良好。なおネジは蓋に固定されていて外れません。開ける時にあれれ?と思いましたが、紛失の心配がなくていいかも。あと蓋は複数箇所の爪でとまっているので慎重かつ大胆にぱきっぱきっと外しましょう。
デフォルト2GBメモリで買ったので、4GBを増設。デフォルトのはHynix品。増設分はSiliconPowerを買いましたが、Micronチップでした。
にしてもマザーのファンとHDDの間のパターンが気になる今日この頃。GPUとか載りそうな雰囲気ですが、BTOのオプションにありますっけ?
裏蓋の構造から察しがつくように、剛性はThinkpadというほどにはないです。店頭で触ってもEdgeシリーズ→Lシリーズ→T/Xシリーズと順に頑丈になっていくのがわかります。とはいっても家庭内/事務所内移動には十分。持ち上げると全体がぎしぎしみたいなことはありません。
その後少しセットアップしましたが、Celeron 1000M + 320GB 5400rpmというスペックながら思った以上に動きました。EE3の効果か、起動時間もうちのデスクトップ機と遜色なし。CPU性能の加減か負荷をかけると思ったより早くファンが回りサーという風切り音がしますが、ヒューンという高い音がないので静かなものです。電源投入時から推測するに、ファンは全開でも静かっぽい。
筐体全体の剛性の加減か打鍵感は上位機より若干落ちる気がしますが、廉価機でもまともなキーボードはやはりThinkpad。そのかわりと言ってはなんですが、液晶は典型的な廉価ビジネスノートの液晶、といった感じで、青みが強く視野角もよくありません。Windows 7なので青みは調整できますが。まあ非光沢なので自分の顔は拝まずにすみます。
ちゃっかりHDMIもついてるので、なんだったらTVに映してしまえば大画面で写真やビデオもOK。
値段が値段なもんで、コスパは優秀。事務所や店舗のちょっとした事務処理端末に、家庭の検索用端末に、あるいはヘビーユーザーのサブマシンなんかにはよい選択かと。

家用にThinkpad Edge E430cを購入

Windows XPのサポート終了に向けて、その昔リース落ちで導入されたDesktop版北森セレ搭載の爆音超絶もっさりノート(あまりにもっさりなため稼働率が低下し余計にもっさり)をいい加減リプレースさせることにしました。
ホームモバイルで用途はブラウジング、最近買ったiPhoneの母艦、音楽や動画の鑑賞程度、コスト重視というよくあるパターンです。要求仕様はWindows 7 + Office Home and Business 2010。会社とバージョンが一緒じゃないと使い方がわからん、というのはわからんでもないのですが、Officeなんて使わないだろ?という提案には聞く耳を持たず。諸々探してThinkpad Egdeにあたりをつけ予算60kを提示するも予想通り折衝完了前にクーポンの割引率が低下。Celeronモデルとほんの少しの差でCore i3+4GBメモリが手に入るコスパ良好なOffice付きパッケージは、というかどのパッケージもいつのまにかOffice 2013しか選べなくなっており、結局紆余曲折ののち次のような構成としました。

  • Thinkpad Edge E430c 33651F7 \36,960 @直販
  • Office Home and Business 2010 \25,800 @NTT-X

Officeのパッケージ、プリインストールする差額より安いのね。メモリ2GBはちょっときついのでまあ4GBモジュール1枚くらいはプレゼントしてあげようと思います。
ちなみにE430cの実機を確認しに梅淀に行ったら、一部モデルがWebより安く出ていました。販売員氏に尋ねてみると、特にOffice付きは値引きしている場合があるとのこと。Thinkpad購入の折はついでがあるなら店頭申し込みも覗いてみるといいかもしれません。

CMakeでデフォルトのコンパイラを書き換える微妙な方法

あけましておめでとうございます。
年が明けて2週間ほど経ちまして、今年最初の更新はまたしてもCMakeネタです。以下言語はC++を例としておりますのであしからず。
さて、コンパイラなんぞはよしなに設定してくれるCMakeですが、時にそれが気に入らない場合もあります。例えば…

  1. Macのg++は古いのでというかC++11使いたいのでclang++がいい
  2. スパコン等でg++じゃなくてベンダさんが指定してるコンパイラを使いたい

なんかg++ディスってるみたいに見えますがそんなことはないです。(メッセージはclangの方が親切だけどこないだ試したら最適化能力はg++の方が高かった。)
で、普通の方法その1。CMake叩くときにセットします。

cmake -DCMAKE_CXX_COMPILER=clang++

いちいちそんなのタイプしてらんないよ。シェルの履歴使…ゲフンゲフン…
では普通の方法その2。環境変数をセットします。

export CXX=clang++

シェルの設定に書いておけばいちいちタイプせずに済みます。え?タイプしたくないけど他はg++使いたいだって?いやだからシェルの履…ゲフンゲフン…
しょうがないので微妙な方法。CMakeLists.txt冒頭でごにょごにょします。

project(dummy NONE)
  if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
    set(CMAKE_CXX_COMPILER clang++)
  endif()
project(myproject CXX)

先に言語を有効にしないdummyプロジェクトでCMAKE_SYSTEM_NAMEを使えるようにして環境を判別、コンパイラを書き換えます。上の例ではMacなら問答無用でclang++を使います。
ただユーザーがいるようなものならデフォルトの挙動を勝手に変更するのはちょいと考え物かも。あるいは、俺新しいg++入れてっからC++11使いたいからって勝手にclang++にすんじゃねーぞ、という方向けにON/OFFオプションを付けるのも一興かと思います。自分だけで使う分にはやっちゃえばいいと思いますが。
なお以上のネタ元は例によってCMakeのMLよりOrder of operations in CMakeLists.txt file?でした。

CMakeでarのオプションを設定する方法

前回に続いてCMakeネタ。トラブルを持ち込んでくれるのは例によって?AIXマシンです。
いまどきプログラムのビルドは当然ながら64bitで、IBMコンパイラなら-q64オプションをつけてやるわけですが、できたオブジェクトファイルをarでstatic libraryにまとめる段で文句を言われました。
原因は単純で、arがデフォルトで32bit設定だから。64bitのをarchiveするには-X64オプションをつければOKなのですが、CMakeにはCMAKE_AR_FLAGSのようなarコマンドのオプション設定は用意されていません。なので、内部の値を直接書き換えてしまいます。CMakeのMLからChange archive creation flagsを参照。AIXの場合に書き換えるには

if(CMAKE_SYSTEM_NAME MATCHES "AIX")
  foreach(step CREATE APPEND FINISH)
    string(REPLACE "<CMAKE_AR>" "<CMAKE_AR> -X64"
      CMAKE_CXX_ARCHIVE_${step} "${CMAKE_CXX_ARCHIVE_${step}}")
  endforeach()
endif()

としておきます。
ちょっと2009年と情報が古いですが、MLで前後にbug tracking systemに登録してissue番号教えてね、などというやりとりがあるわりには未だに対策されていないみたいなので載っけておきます。

CMakeで'g++'みたいなのを正規表現でマッチさせる方法

ちょっとググりにくかったのでメモ。
CMakeで

if(CMAKE_CXX_COMPILER MATCHES "g\+\+$")
# g++用flag設定

とかやると、'\+'がinvalid escapeだとか怒られます。いやいや、ってググるとMLにありました。
CMake matching a literal '+' in a regular expression
こうしろと。

if(CMAKE_CXX_COMPILER MATCHES "g\\+\\+$")
# g++用flag設定

OK、マッチした。
よくよく考えてみればGNUかどうかのフラグはCMakeの方で用意してくれてたりするわけですが、clang++とかやりたいときは使えるかも。
(追記)
こういう用途ならCMAKE_CXX_COMPILER_IDを使った方がよさげな模様。

IS12SHのフィルムを3枚目に張り替え

どこのメーカーのだか忘れた2枚目たる非光沢フィルムから、3枚目の非光沢フィルムに張り替え。陳列棚の片隅にあったASDECとかいう会社のもの。
比較対象が不明なのでアレですが、2枚目より非光沢処理が強いようで、蛍光灯もきれいに拡散してます。前のは使い始めきゅこきゅこ、という感じでわあ滑らねえ!と思った記憶がありますが、こいつはさらさら、という感じでわりによく滑り、皮脂も目立ちません。操作してるとさらさら音がするくらいで、それがちょっと気になるかも。
2枚目に比べ、干渉によるLG-IPS的ぎらつきは粒子が細かく少ない。非光沢処理の宿命ですが、コントラスト感が落ちたりちょっとぼやけ感がでたりはします。透過率は多分やや低め、非光沢処理の強さもあるので画質低下は結構大きめかと思われます。
やっぱりあちらを立てればこちらが立たずみたいな部分が多くて、フィルムはなかなか難しいです。SHARPのモスアイをつんだスマホとかでないかなあと妄想しますが、さて。

端末を使う人が時折罹患する病気について

身の回りで症例が確認できた、いくつかの病気について。

ls病

ターミナルでディレクトリを移動した後、何かの作業をはじめる前or終わって一段落するときに、必要もないのにlsコマンドを叩いてしまうのが主な症状です。手持ち無沙汰の時ないしはイライラしている時に連打を行うこともあります。
コマンド履歴の問題は設定で回避可能であり、通常処理時間も短いため、ディレクトリによほど大量のファイルやサブディレクトリがない限り実害はなく、特に治療の必要はありません。たぶん。
なお環境によってはlsによく似たslコマンドがインストールされている場合がありますが、患者は極めて多数回lsコマンドを使用するためミスタイプはまれで、治療効果はありません。たぶん。

top病

何かの拍子に必要もないのにtopコマンドを叩いてしまうのが主な症状です。重症化すると他のコマンドを打つつもりでtopと入力してしまうことがあります。
叩いたあとプロンプトに戻るのにキー入力を必要とするという点でlsより作業効率に与える影響が大きいですが、別段破壊的操作をするわけでもないので実害があるわけではなく、従って特段の治療は要しません。たぶん。

git st病

git管理している場所にいるときに、何かの拍子にgit st (git statusの代表的な省略形)を叩いてしまうのを主な症状とします。重症化するとまだsvn管理のままにしてある場所で叩いてしまうこともあります。
これも前二者と同様に特に破壊的操作ではないので、実害はなく治療の必要はありません。たぶん。

なんか他にもいろいろありそうですが、まあネタはこのあたりで。