2006年どうでもいいまとめ
- Core2Duoを使う
速さにびっくり - C#をまじめに触る
仕事で。 - コードメトリクスに目覚める
C#絡み。 - NUnitに目覚める
楽しくなる方法が見付かったから? - 入社して初めてLinuxなアプリケーション開発の仕事
LinuxじゃないUNIXだけだったし。 - やっと無線LAN導入
Linuxで使えるかどうかがネックだったので。
何度かこのテーマ書いてますね....
正直な話、すんごく面倒なときは制約を多くしたい誘惑にかられます。ここ最近、個人情報保護法及び日本版SOX法施行絡みでセキュリティ関係の縛りが外部から要求されることが多くなり、いろいろなセキュリティ面での対策に追われる日々ですが、中小企業の悲しいところ、専門要員ではなく他のプロジェクトもこなさないといけないので、ときどきブチ切れて「こんなのやってれっかぁぁぁぁ!」って思うことしばしばです。もう「あれ禁止、これ禁止」にしたらどんなに楽かと。
システム管理者をしていると自分の権限が大きくなったような錯覚に陥ることはあります。ある時は毅然とした態度で拡張した権限で事務処理しなければならないので、周りから「何エラそうにしてるんだよ」って思われてるのかなーとか、第三者的に自分を眺めてみると若干恥ずかしさを感じてたりします。まずひとつに「管理者」という言葉が立場として「上」になってることが多いからエライと錯覚するとか、エラそうと思われるのではないかと。でも「システム管理者」なんて実際は下っ端仕事なんで、そう思っていれば勘違いすることも無いでしょう。組織図から言えばツリーの上でまとめるのではなく下でまとめるという意識かも。サーバントリーダーシップに近いですね。
ヨタ話です。
Web2.0のおかげでやたら2.0のつくモノ(半分以上は冗談ですが)が増えてますが、Web1.0とかWeb1.1とかあったんですか?私は最初HTTP/2.0のこと(1.0とか1.1とかツッコミ入れたくなるのはそのせい)かと思ってた(という人は多数)くらいで、蓋を開けてみたらやっぱりよくわかりません。Webに関するバラバラなテクノロジーの総称だったりして、「マイナスイオン」並のインチキ臭さがプンプンするのですよ。それはそれとして、なんで「Web2」とか「Web II」とかじゃないんでしょうね。ここらへんの由来はどこかに書いてありそうですが、ソフトウェアを開発してるとメジャーバージョンアップ(例:Ver2→Ver3)というのに結構怯えたりします。使ってる側からすればVer2.0よりVer2.1の方が不具合が少ないというのはよく知られてると思いますが。
この傾向はマイナーバージョンにまで及んでいて、2.0→2.0.1とか2.0→2.0.0.1とか細かくなっていたりします。自信の無さの現れといってもいいかもしれませんね。自信があればドーンとVer2ってすればいいんです。Microsoftの最近の製品は割り切ってるから、不具合対応はServicePackなんて名前(serviceって何だ?)にしちゃってますが、これくらい威勢のよさを出したいものです。もっともWindowsXPですら内部ではWindowsNT5.1で、Windows2000の5.0から0.1しかバージョンアップしていませんが、6.0で良かったような気がしますし、むしろVistaが6.1くらいの印象なんですが。
リリースするまでのソフトウェア開発におけるバージョン付けは、私は日付+アルファベットがほとんどです。1日のうちに改版する回数が1回だけならアルファベット不要なんですが、そこは自信の無さ(および実績)が影響しているようです。以前マイナーの下のバージョン(x.y.zのz)を変更していたことがあるのですが、バージョン格納用変数がunsigned charで行っているため255を越えそうなりそうになり(以下略)。現在の日付バージョンでzを越えることはかつてなかったです(fが最大)。
完全に備忘録モード
バイナリをダウンロードしてインストールしたら例によってlibstdc++-libc6.2-2.so.3が無いって怒られたのでソースをビルド。最近はconfigureでちゃんとビルドできるようにしてくれてるので楽ですねぇ。自分で作るLinuxなアプリもいい加減そうしておいたほうがいいけど、autoconfの使い方とか理解してなさげ。
ハードディスクのクラッシュのおかげでLinux(Plamo)環境も再構築する羽目になり、ここ数日間すごく落ち着きませんでした。メールとWebだけ復旧させましたが、我が家に帰ったような気がします(といっても実際我が家にいませんでしたけど…)。仕事ではWindows触ってるくせにダメですね…。どうせLinuxの環境もそんなに変わらないのでKNOPPIXですべてまかなってしまうと幸せなのかもしれません。OSを常にCD-ROMから起動するって、可搬性が高くていいと思うのですが、Windowsだとライセンスの問題はあるでしょうが、それより機能を削って軽くするほうがめっさ大変な気がしますねぇ。
ついにアクセスするたびにヤバイ音がして交換しました。最初「あ、替えのHDDあったじゃん♪」と思ってみたら、故障したHDDとまったく同じ型 orz。すでに使用時間が10000時間を超えており、故障したHDDが14000時間だったことを考えるとあと4000時間(150~200日程度。結構つけっぱなしなので)しか寿命ないのではしんどすぎるので、新たに買いなおしました。HGSTのHDT725032VLAT80(320GB)です。もちろんHDD Healthでは異常でていませんが、冬は壊れやすいような気がするのでしばらく様子見です。
ハードディスクがパリパリ言い出したのでチェックしたらきましたよオクサン。
Seagate ST3160023A
Power-On Hours 14776 minuties(hours)
Nearest T.E.C 2008/08/08
なーむー
間違いなく明日にでも天国(地獄?)に召されそうな音してます。
(後記)ついにT.E.Cが今日に (-人-)ナームー
ThinkPad G40を売ってしまおうと思い、その前に内容の消去をちゃんとしておくのにどうしたらよいかと奮闘しております。いろいろツールはあるのですが、とりあえずddで書いてみようということで試してみました。ifに/dev/zeroを指定すると0で上書きするのですが、これじゃどうも…ということで/dev/urandomにしてみたら、これがとんでもなく時間がかかります。2.5inch、100G、5400rpmのハードディスクですが、12時間経っても終わらなかったので、速度調査をしてみることにしました。
| blocksize(byte) | 1×103 | 1×104 | 1×105 | 1×106 | 1×107 | 1×108 |
| count | 2×106 | 2×105 | 2×104 | 2×103 | 2×102 | 2×101 |
| /dev/zero | 1138 | 169 | 127 | 96 | 62 | 57 |
| /dev/urandom | 1222 | 576 | 568 | 900 | 911 | 1000 |
| 単位 [sec] | ||||||
すべて2×109バイト書込となります。/dev/urandomは/dev/zeroと比較して10倍近く時間かかってます。最初に試した(12時間でも終わらなかったやつ)のはブロックサイズオプション無しで512byteですので時間がかかるわけです。ブロックサイズ1kで17時間ですから。ちなみに最速の方(/dev/zero, 1×108byte, 20回)では33MB/secで書き込んでいますのでほぼ限界でしょう(2.5inch/5400rpmなので)。
あまりブロックサイズを大きくすると書き込みができない領域が大きくなりますが、100kくらいだったらそこにデータを書き込んでいる可能性が低いかと思います。
すっかり外部シーケンサ(SC-55)を使っていなかったので気づいていなかったのですが、まったく音が出ないのであれこれそれどれ
最後のやつをうっかり忘れていました orz。
% aplaymidi -l
とか入力すると使用できるポートが出てきますのでそれを-pオプションで指定します。なおOPL3使用の場合はパッチをロードする必要があります。alsa-toolsを取ってきてseq/sbiloadをビルドし
# sbiload -p17:0 -P . std.sb drum.sb
としてロードします(ポート番号は65:0のことが多いです)。というか、この手のことは別のページに昔書いてたのですが消しちゃったです…。
Adobe Labs - Downloads: Flash Player 9 Update:
LinuxでFlashを見てて何がイヤって音が0.5秒ずれることだったのですが、なんと直ってます。といっても、ずぅーっと音がずれていたわけではなくて、OSSからALSA(内部ではOSSエミュレーション)になったらずれたっていう話なので、苦節数年なわけです。サウンドカードがそもそもOSSに対応してないので仕方なく…。
X上で動く付箋紙ソフトウェアです。付箋紙95と同じ操作感は無いですがxpostitがダウンロードできない現在、一番近いような気がします。ビルドはお決まりのconfigure、make、make installで済みますが、付箋紙95と似たような動きにするために以下のような設定をしています。
整列機能はほしいかな…
★ ★ ★ HDBENCH Ver 3.40 beta 6 (C)EP82改/かず ★ ★ ★
M/B Name
Processor 1828.75MHz[GenuineIntel family 6 model F step 6]
Processor 1828.75MHz[GenuineIntel family 6 model F step 6]
VideoCard Mobile Intel(R) 945GM Express Chipset Family
Resolution 1400x1050 (32Bit color)
Memory 514,412 KByte
OS 5.1 (Build: 2600) Service Pack 2
Date 2006/12/10 02:35
Intel(R) 82801G (ICH7 Family) Ultra ATA Storage Controllers - 27DF
プライマリ IDE チャネル
HL-DT-ST DVDRAM GSA-4083N
Intel(R) 82801GBM SATA AHCI Controller
HTS541080G9SA00
| ALL | Integer | Float | MemoryR | MemoryW | MemoryRW | DirectDraw |
| 61835 | 259733 | 172317 | 140133 | 78508 | 156261 | 59 |
| Rectangle | Text | Ellipse | BitBlt | Read | Write | RRead | RWrite | Drive |
| 173800 | 33722 | 7240 | 101 | 21913 | 21000 | 11958 | 12848 | C:\100MB |
以前にCore2DuoのデスクトップPCで測定したのが「Core2Duoやっと稼動」に書いていますが、若干性能が落ちるもののまぁまぁなスペックです。ハードディスク性能がだめぽですけどね…
あと初期状態ですでにメモリが400MB使ってたりするんでいろいろ削らないと使い物にならないです。個人的には開発にも使うので1GBのメモリを追加購入予定です。
今まで出張用とかでThinkPad G40を使っていたのですが、さすがに重さ(純粋に重量)に嫌気がさしてしまい、半分衝動買いでThinkPad T60を入手しました。アダプタを入れて4kg以上あったのが2.5kgに減ったので軽さにびっくりしてます。というか世間の人は4kgなぞというノートPCを持ち運ぶなんてことはしないと思いますが…。寄る年波に勝てず重さをネタにするのもしんどくなってきましたので(してません)。以下比較ですが、T60(左)の小ささよりG40(右)のデカさのほうが普通の人にはインパクトがあるかと。


両方とも14インチSVGA+SXGA+なんですけど高さはともかく、奥行きがかなり違うんですねぇ。家にはあとThinkPad 365Xがあったりしますが、G40とほとんど大きさが変わりません。こっちはPentium100MHzなんでもう骨董品状態ですが。
Planex GW-CF11X
旅先ではZaurusに入れてたまに使うのですが、以前から家で試して失敗してばかりで放置してたので再度チャレンジしました。やっぱり設定の食い違いで失敗続きでしたが、何度か設定してみてやっとつながりました。指向性が強いという噂通り、電波の弱いところでは向きがかなりシビアになります。
電波強度
アクセスポイントはBUFFALOのWLA-G54Cです。電波強度を100/75/50/25と変更できますが、盗聴防止には強度を弱くするのがよいかということで、変更してみました。iwconfigで見た結果は
| 100% | 75% | 50% | 25% | |
| Signal level | -35dBm | -38dBm | -44dBm | -48dBm |
| Link Quality | 95/100 | 90/100 | 80/100 | 75/100 |
てな感じです(数値は多少のブレがあります)。とりあえずデスクトップPCにつけてるUSBでは遮るモノがないので25%でも問題なさそうです。GW-CF11Xでも距離が3mくらいなら25%で通信できます。
電子レンジ
2.4GHzを使ってるといえば電子レンジ。というわけで、電子レンジを使った状態でどうなるか確認しました。というのもうちの場合、アクセスポイントと電子レンジの距離がわずか1.5mしかないため(場所の選択肢が無い)、電子レンジを使ってる最中に途切れたらいやだなぁというのがあります。結果的にはSignal level、Link Qualityともほとんど影響ありませんでした。
大掃除するついでに家のネットワーク環境を変更しました。無線LANにするのとLinuxなルータをブロードバンドルータに変更。
ブロードバンドルータ
従来Linuxなマシンをルータにしていたのですが、NATとポートフォワーディングさえできればいいし、最近は随分安くなったので、BBR-4MGに置き換えちゃいました。
無線LAN
1本だけケーブルが床を這ってしまい、これでこけてでっかい青あざ作ったのがきっかけ…なんてことはありませんが
、クライアントがLinuxでも使えそうということで、設置してみました。アクセスポイントはBUFFALOの54Mbpsのですが、型番失念…。クライアントはWLI-U2-KG54というUSBに挿すものです。ndiswrapperを使うとwindows用のドライバが使えるという、なんともアレゲな状態ですが、やり方は以下の通りです。
とりあえずこんなもんでよいかと思います。あとなぜかシャットダウン時にkernel panicになるので
rmmod ndiswrapper
なんて処理を入れておいた方がよろしいかと