PC関係のメモ
_mbsinc()
私的メモ(2004年01月版) - CString の挙動(_mbsinc()の問題)
2byte文字の先頭1byte目で終端している文字列を与えると、文字列終端を飛び越えて次をさしてしまうトホホなコードになっている模様。(_mbsinc(p) { if (isleadbyte(*p++) p++; return p; }
ハイな状態でコーディング / サーバダウン / サーバ乗り換え検討中 / 手間のかからないサーバ / 派生クラスのoperator=で基底クラスのメンバもコピーする
ハイな状態でコーディング
久しぶりに精神的に追い詰められてハイな状態でコーディング。
コーディング中には単純なミスが多かったが最終的には収まるところに収まった感じ。
で、その単純なミス
- strdupで確保した領域の解放忘れ
- ライブラリ内で確保した領域の解放忘れ
- メンバ変数にポインタを含むクラスの代入演算子を定義してなかった
それから、自分で仕掛けたASSERTに2回ほど引っかかった。
たった数時間でよくこれだけ。
サーバダウン
今日一日サーバダウン。そろそろちゃんと対処しないと。最近落ちる頻度が高くなっている。
リブートしたらファイルシステムが壊れているらしいメッセージが出て起動できない。
を参考にfsckを実行。
fsck /dev/hda6
かなりの回数質問があるがすべてyes(ENTER)。-yオプションをつけておけばよかった。
サーバ乗り換え検討中
手間を減らすためにRAIDにしたのに熱暴走で逆に手間がかかってしまっているので適当なサーバに乗り換えるかも。
最重要課題は手間がかからないということ。
それから以下の条件で選ぶ。
- 静音性に優れていること
今のところ自室に設置しているので。これは別室に移すことで解決できる。
- 省スペース
これも別室におけば解決できる。
- UPSが使える=省電力電源
よくブレーカーが落ちるから。UPSも買い換えるなら省電力にこだわらなくてもよくなる。
- RAID1が使えること
外付けでも内蔵でもいいので使いたい。ホットプラグは必要ではないしRAID5もいらない。
それらを踏まえて、NECのExpress5800シリーズは上記のいくつかの条件を満たしている。水冷式の110Ga-Cは大きさ以外はすごくいい。とはいえ、メジャーが手元にないのでスペック(173×513×448(スタビライザ含まず)/285×513×459(スタビライザ含む))を見てもいまいち大きさがつかめないが、そんなに大きくもなさそう。
同じくExpress5800の110Gc-Sはスリムモデルで水冷の30dBには及ばないが40dBと比較的静か。ディスクの交換も楽そうだし一応オンボードRAIDに対応している。というかひょっとして最近のマシンなら大抵オンボードRAIDついてるのでは。
どちらも店頭で見てみてみたい。
手間のかからないサーバ
できることなら駆動部分(ファン/ディスク)はすべてなくしたい。早くシリコンディスクとか普及すればいいのに。
派生クラスのoperator=で基底クラスのメンバもコピーする
Effective C++ 16項に書いてあった。
イヤホンの音割れが酷い
久しぶりにフルボリューム(ThinkPad)で音楽を聴いたら音割れが酷いことに気づく。
そもそもこのイヤホン、携帯ラジオに付属してたやつっぽい。これだけシャカシャカいってると気になってアルファ波も出ない。
たまにはいい音(襖の部屋で実現できる程度の)を聴きたいからちょっと高価なヘッドホンが欲しい。
LINKSYS 8ポートスイッチングHUB SD208-JP
LINKSYS 8-Port 10/100 Switch SD208-JP
WAN側、DMZ側にはそれぞれHUBがあるけど、LAN側はルータ内蔵のHUBで足りてたのでなかった。ちょっと前にプリントサーバを追加したのでポートが足りなくなったため、前から欲しかったLinksysの製品を購入。
ciscoのマークがいい。本物のcisco製品は買えないけど。
明日からお盆休み / マシン語
明日からお盆休み
何事も無ければお盆休み。
ということもあって、3時前まで飲む。個人的にはエンジンがかかってきたところだけどお開き。今後の自分についていろいろ相談とか報告とかできたので有意義かつ楽しかった。最終的には自分が何をしたいのかが重要だというところに落ち着く。
毎度でもないけどよく出る話題として1次会ではまたレトロPC話をちょこっと。話した内容とはあまり関係ないけどやっぱり8ビット(Z80)のマシン語じゃなくて16ビット以上(80x86)のマシン語を勉強したい。と思った。
マシン語
マシン語、というかアセンブリ言語を勉強したい。という気持ちは趣味としてか、仕事としてか。
最近は「開発」に対しての考え方が変わってきている。手段(趣味)としての開発が仕事になった時点で予想はしていたけど。この辺りの考えをまとめるには連休はちょうどいい。
analogの実行 / [buy] SONY MDR-Z600 ステレオヘッドホン
analogの実行
/usr/bin/analog -G +g/var/www/analog.cfg +F050810:0000 +T050810:2359
日付固定なのがかっこ悪かったのでdateコマンドで昨日の日付をとるようにしたのがこれ。
/usr/bin/analog -G +g/var/www/analog.cfg \ +F`date -d '1 days ago' +'%y%m%d:0000'` \ +T`date -d '1 days ago' +'%y%m%d:2359'`
SONY MDR-Z600 ステレオヘッドホン
まだ買って少ししか使ってないけど雑感。
良くも悪くも謳い文句通り原音に忠実。BOSEのスピーカーのように低音を強調するということもなく、悪く言うと地味で平坦な音。ただ音楽とテレビを見るためという試用用途には同じSONYでも他のシリーズがいいかも。
というあたりは予想済み。そういったエフェクトみたいな事(エフェクトでBOSEみたいな低音が再現できるわけではないけど)はスピーカーにやってもらおうとは思ってない。
というわけで(?)音については満足。装着感についても違和感なし。
それよりもカールコードが思いのほか便利で良い。長すぎず短すぎず。それに、よくコードを引っ掛ける自分としては安心できる。
値段(1万円弱)相応の買い物ができたと思う。
SONY MDR-Z600 ステレオヘッドホン(2) / 何がしたいのか / 我侭を向上心と勘違いしてはいけない
SONY MDR-Z600 ステレオヘッドホン(2)
買った直後に比べて低音がしっかり出てるように聴こえる、音全体もやわらかくなった気がする。多分ソースの違いか気のせいだろうとは思うが、正直低音に物足りなさを感じていたのでちょうど良い。
エージングには数ヶ月かかるだろうから気長に待つ。
何がしたいのか
少し前にある人に言われた言葉。
「技術者にとっての評価はお金だよ」
つまり、いくら自分に払ってくれるのかがその会社の自分に対する評価だということ。実力と実績を持つ人だからこそいえる言葉ではあるけど、会社からの評価で最もわかりやすいバロメータではある。特にこの業界においては。
そういう意味では今は評価されていると思う(年齢を考えて平均的な額だという意味で)。
でも仕事についてはこのままでいいとは思っていない。残念なことに自分はプログラマーで居たいわけではないのだ。
では何がしたいのか。システムエンジニア?ネットワークエンジニア?それともWeb系?「開発」なのか「運用」なのか。
で、これまた同じ人に言われたのが
「ひとつのシステムに携わって、そのシステムを育てていくのが合ってるんじゃないのか?」
さすがに付き合いが長いと僕の性質を僕以上に把握している。もちろんそれだけじゃないけどかなり的を得ている答えだと思う。
問題は、そのシステムが自分の給料分のお金を生んでくれるかどうか。それだけやってるわけにはいかないだろうから別の業務と兼務、というのが現実的なところだろうか。
我侭を向上心と勘違いしてはいけない
満足できる環境なんてなく、満足できる環境にしていく努力しなければそんな環境は得られないのだという前提のもと、今後について考える。
あと、自分は我侭だという自覚も。
...明日は5時起きだし、寝るか。(2:40)
SONY MDR-Z600 ステレオヘッドホン(3)
購入してからずっとmp3音源でしか聴いていなかったが、今日初めてCD音源で音楽を聴いてみた。
結果、mp3音源との違いが出てしまっていることに気づく。今まではイヤホンとか、音を抑えてスピーカーで聴いていたこともあって気にならなかったが、ヘッドホンでボリュームを上げて聴いているとmp3(44KHz/192kbps)の音の劣化がわかってしまう。
次からCDから取り込むときは、エンコードのビットレートを上げるかフォーマットを変更(oggとか)しようかな。
絶好調でコーディング中 / なんでプログラマーじゃダメなのか
絶好調でコーディング中
いつもより効率よくコーディングができた。GUI周りの実装なので動きが見えるせいもある。でも、20050803#p01のときの経験からか、コーディングのサイクルがスピードアップした感じ。
大雑把にこんな感じでやっているが、それぞれの工程がより具体的にイメージできるようになってきた。
- 仕様を理解
- 全体を把握
- 単位ごとに分解
- 単位ごとにスケジューリングしながらコーディング
それに頭の中(or机上)でコーディングしてる時間が長くなって、手を動かしてる時間は短くなったかも。すくなからず成長してるという実感が得られる。
プログラマーで居たくないが、プログラミングに飽きたわけでも楽しいし好きなのだと改めて思う。
なんでプログラマーじゃダメなのか
スピードなんじゃないかと思った。
創作プログラミングの街 / Google Desktop 2をインストール
創作プログラミングの街
Google Desktop 2をインストール
さっきインストールした。新機能のサイドバーについているWeather機能で日本を設定しようと思ったが、米国外には対応していないみたい。
データの取得元はおそらくGoogleの天気予報検索。
米国外の天気予報には対応していない。
それよりも
Googleの公式ブログによると、この新機能は天気予報に愛着を持つソフトウェアエンジニアのBen Sigelman氏が、勤務時間の20%を自由なプロジェクトに割り当てるという同社の勤務規定を利用して開発したものだという。
が気になった。いいなぁ、そういう環境。勤務時間とは言わないけど趣味の時間くらい作らないと。
GoogleのIMサービス「Google Talk」 / 現実的なC++プログラミング / 基底クラスのvirtualクラスは派生クラスにも適用される
GoogleのIMサービス「Google Talk」
現実的なC++プログラミング
[cppll:12196] Re: CopyOnWrite,参照カウント方式のstringの実装は何処?より
組込みプレス Startup Issue / [buy][book]プログラミングテクニック―UNIXコマンドのソースコードにみる実践プログラミング手法
組込みプレス Startup Issue
プログラミングテクニック―UNIXコマンドのソースコードにみる実践プログラミング手法
プログラミングテクニック―UNIXコマンドのソースコードにみる実践プログラミング手法 (UNIX MAGAZINE COLLECTION)(多治見 寿和)
SONY ステレオヘッドホン MDR-Z600
現実的なC++プログラミング―C++ Strategies and Tactics (ADDISON‐WESLEYプロフェッショナルコンピューティングシリーズ)(Robert B. Murray/岩谷 宏)
組込みプレス Startup Issue (組込みシステムシリーズ)(編集部)

_ drry [日記の内容と関係ないのですが、毎月 1 日になると RSS の内容がクリア ( item が 0 個の状態にリセット..]
_ hajime [むむ、ほんとですね。気づきませんでした。「月ごとにクリア」みたいな設定が見当たらないのでtDiaryの仕様っぽいです..]