Home

日記
休日出勤Edit

結局だらだら過ごして、夕方から出社。しばらく考え込むも、3時間ほどで対処完了。でも来週はスキーバスツアーだし、その次の週末も旅行だし、その次の週末は結婚式だし、ずっと週末が埋まっているから、もう何も対応できんぞ。仕事と遊びならば、遊びを取る所存なので、責任者の方々対処の方よろしく。

Published At2002-03-03 00:00Updated At2002-03-03 00:00

日記
家サーバー暫定置き換えEdit

本格的に家サーバーを増強する前に、暫定的に現在のミニタワーをそのままサーバーとしてしばらく使ってみようとセットアップ。Redhat 7.2をミニマムインストールして、必要なソフト類をソースから一つ一つインストール。というやり方が、外向きのLinuxサーバーをセットアップするときには有効かな? 普通にインストールすると、いらないソフトが山ほど入ってわけわからなくなるし(ミニマムインストールでも、いらないデーモンをいくつか止める必要があった)。

ひとまずApacheとProFTPDとPostgreSQL(は後々のために入れただけ)とMySQL(だけしか今のところは使っていない)とPHPとNamazuと主だったPerlモジュールを入れてみた。これで開発環境は一通りそろったかな。家サーバー用に新規パーツ代を投資する前に、家サーバーの制限(サーバーとしてのマシンパワーは下手な専用サーバーレンタルよりも上だけど、非固定IPアドレス&ダイナミックDNS&(データセンターに比べれば)プアな回線環境)の中でどれだけのことができるのか試しておこう。

ひとまず、textmaniaとnewswatchのバックエンドの処理は、家サーバーに移行してみたけど、さすがに非力なmobioとは違ってCeleron-500MHzマシンだと軽く動くな。mobioで同じことをやろうとしたら、あっさりとハードディスクが熱暴走したんで、すぐにあきらめたんよ。せいぜい数百kバイト程度のテキストの整形抽出→結果のDBへの記録処理を、同時に2、3プロセス走らせるだけなんだけどね。

Published At2002-03-03 00:00Updated At2002-03-03 00:00

日記
時間がないEdit

朝ムスコを保育園に送って、すぐにネット環境のない出向先に行って、0時過ぎに帰ってきて飯食って寝る、というパターンにはまってしまうと、ネットで遊ぶ時間がほとんど見つからない。仕事はまあそこそこ面白い(マンネリじゃない仕事は、くそ仕事でもそれなりに面白い)し、ネットに出力しなくても暇時の隙間でいろいろ遊びの仕様を考えている(←ってのも特殊な表現だな)んで、それなりに楽しいんだけどね。

Published At2002-03-02 00:00Updated At2002-03-02 00:00

日記
富士通モデムファームウェアアップデートEdit

そういやACCA 8M ADSL富士通モデムのファームウェアアップデートが出ていたんで、早速当てた。といっても、その前に2chで人柱ーズに致命的な不具合が出ていないことを確認してから、だけど。まだやたらとハングアップする不具合が本当に直ったのかどうかはわからないけど、設定系の腐っていた部分がかなり改善されたし、今のところはいい感じ。アップデートすると速度が落ちる説が2chでは多かったけど、うちの場合は逆に今までよりも微妙に速度が上がっていた(モデムレベルで7.5M程度だったのが8Mフルで接続するようになった)し。

Published At2002-03-02 00:00Updated At2002-03-02 00:00

日記
家サーバー高機能化計画Edit

家のネット環境が改善される見通しが立ったんで、家サーバーをPentium-120MHzノートmobioくんから、もっと高性能なマシンに置き換える計画を発動。もう全然使っていないCeleron-500MHzなミニタワーから部品を流用して、新しく組もうかなと思っている。筐体の候補は、省スペースで静音性能が高いらしいASUS Terminatorあたり。それに安いUPSをつけて、結構ブレーカーが落ちる現状に対応。あと、一応ちゃんとしたサーバー用途で長く使えるようにしようと思っているんで、ハードディスクの信頼性も高めておくつもり。最初は現状の余っているハードディスクで稼働させつつ、将来的にはACS-7500を使って、流体軸受け使用の80GバイトクラスをOSレベルで二重化しておくのが、コストパフォーマンス的によさそう。OSはサーバー用途では評判がいい(けど自分ではインストールしたことがない)FreeBSD系を使おうかと思いつつも、慣れているし情報も多いLinux系のどれかを使った方が扱いは楽だろうな。ってな感じで、高性能な自分専用サーバーを用意したら、窓口としては安定稼働可能なレンタルサーバーを使い、実験用途&高負荷用途では家サーバーに負荷分散する感じで、いろいろやってみよう。

Published At2002-03-02 00:00Updated At2002-03-02 00:00

日記
休日出勤Edit

平日ずっと出先で仕事しているんで、その間会社の方に微妙な仕事がたまる。でも、ネット環境もないしデータも会社においてあるし、何にも対応ができない。で、そのうち催促の電話がかかってきて、しょうがないんで「土日で対応します」ってことになる。で、今日は先週分のたまったうんこを片づけに会社に行こうと思っていたんだけど、F1の開幕戦があったりオクサンの友達が遊びに来たりしたもんだから、結局会社に行き損ねてしまった。明日行かないといけないか。でも明日はF1の決勝があるし、車を車検に出しに行くのもそろそろリミットなんだよな。明日を逃すともう車検切れが間近だ。やばいぞ。

Published At2002-03-02 00:00Updated At2002-03-02 00:00

日記
慌ただしいEdit

昨日からムスコが熱を出している。寝起きに一番熱が上がり、そのときでだいたい38度+。でも起きてすぐに熱が下がって37.5度程度になる。もうちょっとすると37度くらいまで下がる。といった状態で保育園に預けてみたら、案の定呼び出しがかかってオクサンが早退して迎えに行った。でも迎えに行った頃には熱が下がっている。どうせ熱を出すならすかっと出せや、ゴルァ(←暴言)。

なんてばたばたしているときにさいたま市から封書手紙がやってきて、申し込んでいた来年度からの公立保育園への入園が内定したとか。全然連絡がないからもう半分あきらめていたよ。でも「内定が決まった」以上の詳しい情報は通知されず。なんかさいたま市の児童福祉関連係の処理は中途半端だな。ToDoの優先順位の確認をちゃんとやったほうがいいぞ。きっと担当の人間には直接関わりのない業務だから、ユーザーの立場になって考えることがうまくできていないんだろうけど、まともな能力を持った人間ならば自分と直接関わりがなくても最低限ユーザーの立場になって考えることは可能なはずだ。もうちょっとがんばれや。

Published At2002-02-27 00:00Updated At2002-02-27 00:00

日記
行数でお金をもらっているんですか?Edit

今主にやっている仕事は、とあるお買い物システムパッケージをほぼフルカスタムするってものなんだけど、そのベースとなるパッケージの中身がひどくて、ときどき鼻水を吹いてしまう。

ソースのとある関数のコメントとして、「こういう関数を試しに作ってみる。何事も勉強」なんて書いてあるあたりから、かなりやばそうな予感はしていたんだけど、カスタムするに当たって、あまりに可読性の低いソースをなんとか解読してみようと、できる部分だけでもきれいに書き直していったところ、ソースコードが軽く数割は削減できることがわかった。

web系システムだから、

<select name=...>
<option value=...>...
<option value=...>...
<option value=... selected>...
<option value=...>...
</select>

みたいなFORM部品がやまほど出てくるんだけど、そこに既存の値を代入する処理として、

dim selected_index1
dim selected_index2
dim selected_index3
dim selected_index4
if selected_value=0 then selected_index1=" selected"
if selected_value=1 then selected_index2=" selected"
if selected_value=2 then selected_index3=" selected"
if selected_value=3 then selected_index4=" selected"
Response.Write("<option value=..." & selected_index1 & ">...")
Response.Write("<option value=..." & selected_index2 & ">...")
Response.Write("<option value=..." & selected_index3 & ">...")
Response.Write("<option value=..." & selected_index4 & ">...")

とか

if selected_value=0 then
Response.Write("<option value=... selected>...")
Response.Write("<option value=...>...")
Response.Write("<option value=...>...")
Response.Write("<option value=...>...")
elseif selected_value=1 then
Response.Write("<option value=...>...")
Response.Write("<option value=... selected>...")
Response.Write("<option value=...>...")
Response.Write("<option value=...>...")
elseif selected_value=2 then
Response.Write("<option value=...>...")
Response.Write("<option value=...>...")
Response.Write("<option value=... selected>...")
Response.Write("<option value=...>...")
elseif selected_value=3 then
Response.Write("<option value=...>...")
Response.Write("<option value=...>...")
Response.Write("<option value=...>...")
Response.Write("<option value=... selected>...")
end if

とか平気で書いているし。しかも、同じ処理を行うのに、似たような冗長さで違った表現のコードを、一つのソースに(同じ人が)複数書いている。無駄にコードが長くてとても読みにくい。

プログラミング初心者が書いたからコードが冗長になったというのならばまあしょうがないかなとも思えるけど、こういう処理を複数パターン混ぜて使うってのは、単なる素人技とは思えない。わざとコード行数を多くしつつ可読性を低めて、水増ししていることがばれないように工作しているんじゃないかという疑いがぬぐえない。

っつーか、こんなコードをベースにフルカスタムしつつ機能拡張するくらいだったら、はじめっから新規で書き直した方が楽だよなー。

ちなみにひどいコードのお約束である、

i=0 'iを初期化する

という無意味なコメントもちゃんと入っていたさ。有用なコメントはほとんど入っていないのにね。

Published At2002-02-27 00:00Updated At2002-02-27 00:00

日記
寝る前にも飲むべきかEdit

目の痒みを通り越して痛みがひどくなりつつある。寝ているときに目を擦ってしまうんだよな。起きているときは意志の力で止められても、寝ているときには勝手に目を擦ってしまう。今は朝しか薬を飲んでいないんだけど、この調子だと夜寝る前にも飲んでおかないと、目が死んでしまいそうだ。

Published At2002-02-26 00:00Updated At2002-02-26 00:00

日記
DVgateいまいちだなーEdit

前にちょっとだけ使って、その使い勝手の悪さにうんざりしたDVgate(VAIOシリーズに入っているDVビデオ編集ツール)。やっぱりとても使い勝手が悪いことを再確認した。

最近ムスコが、この間のおゆうぎ会のビデオを見せろ見せろとうるさい(というか、それを見せておくとそっちに集中するんで、その間相手をしなくて良くなるからとても楽)んで、おゆうぎ会ビデオ無限地獄なテープを作って、それを流しっぱなしにできるようにしようと思いついた。miniDVテープの耐久性もアヤシイしね。

で、DVから直接Hi8に無限ダビングするのはイヤなんで、いったんPC(SRX7)に取り込んで、それを無限ループDV出力しつつ、そのデータをPC9でスルーしてHi8デッキに入力するというやり方で行こうと考えた。PC9からSRX7への取り込みは、まあDVgateでも簡単。それの頭とケツを切るカット編集も、ちょっとイヤな使い勝手だったけれども、まあ普通にできた。

でも、それをDVに無限ループ出力する方法が見あたらない。しばらくいろいろいじってから、あきらめてDVgateのヘルプを読んで、それでやってもできない。結局DVgateの基本機能ではそういうことはできないことがわかった。ただし、裏技的に「録画操作なしのDV出力」を実行した後に、手動でPC9の再生(DVgateが勝手に再生する)を止めると、俺のやりたかった状況になるようだ。

ただし、同じビデオの無限ループ再生DV出力という設定はなかった。しょうがないから、そっちは同じビデオ素材をたくさん貼り付けて繰り返し再生相当の再生リストを作って実行することで対処。その組み合わせによって、なんとか目的は達成することができた。

たぶんDVgateを作った人たちって、自分たちで実用的にDVgateを使ったりはしていないんだろうな。自分たちはPremiereとかを使うけど、一応簡易DV編集ができるソフトをVAIOに載せろと言われたんで、適当に作ったに違いない。じゃなければ、あんな中途半端な仕様にしないと思う。どうせだったら、一般ユーザー向けのユーザビリティなんて無視して、必要な機能をシンプルに呼び出すだけの単機能ツールにしてくれれば、応用はこっちで考えるのに。

Published At2002-02-26 00:00Updated At2002-02-26 00:00