flat7th

* 日々のメモ2005

created 2011-05-08 modified 2011-05-08 

0106

当たり前のことに気づく

そうか、諸手取りだとどっちの手にかけるかによってさらに無数のバリエーションが...
四方投げもそうだし、入り身も、二教も...
呼吸法だってやろうと思えば反対側に行けるな。
当たり前のことに改めて気づいてしばしほうけてしまった。

0117

ホスト名解決...

/etc/nsswitch.conf に wins を追記する

0118

PassWikiスタイルシートメモ

CSSを2つ選べるようにしたらどうだろう。
tDiary互換にしたいので、2つ目は空でもOKとして、
たとえばカタチについてのCSSと、色についてのCSSとを分けることができるとか。
CSSからCSSをインクルードってあるのか?

colinux のページから

Windowsで2GBの空ファイルを作るには
fsutil file createnew 2gb.fs 2147483648
でOKらしい。
元ネタ:coLinuxでp2 - ehe Wiki

0124

1/22~1/23(土日)に行われた福井合宿(愛称かに合宿)に参加。
内容の濃い2日間。技については現在反芻し、消化中。いろいろと整理しないと…

福井合気会様の大変気持ちのよい、すばらしいホストとしての御尽力に敬服いたしました。
自分たちが行事を主催することがもしあれば、負けないよう頑張らねば、とプレッシャーに感じるほど。

0126

つかあれだ。合気道関係とコンピュータ関係は、分けたほうがいいな。

0304

snmp関係
リンク備考
EMANATESNMP研究所
SNMP for linuxリンク集ページ
net-snmp
NET-SNMPの光と影
www.SNMPLink.org - Tools & Productsリンク集ページ


0427

「みんなのいえ」という映画がある。自分が家を探し始め、購入計画を立てたり、いろいろと勉強したりする中で、あの映画で描かれていることはあながち絵空事ではないということに気づく。
大変だ。ほんとに。

0428

印刷用のスタイルシートを別にする話
リンク備考
スタイルシートとメディア - XHTMLと新しいウェブ技術
メディアの種類 : Hotwired
Style Sheets in HTML documents (ja)W3C勧告を翻訳されているページ

0508

(合気道の技の話)
各先生によって、技の形が違う。一教、入身投げ、四方投げ、...。
でもそれを言葉に書き落として整理し、よくよく考えてみると、本質的に言いたいことは共通しているように思えてきた。

0613

忘れないように:
・箱ティッシュ切れた
・ジャンク箱で眠っているディスプレイ切り替え機を現場に

0617

FAX受信

lt_modem コンパイルは無理やり通した。
まだ受信エラーになる。上手くいく場合もあるが切り分けできてない。

0619

ガーン!mgetty+sendfaxとefaxは選択してどっちかを入れるものだったのか...
アフォでしたorz
@IT:FAXを送受信するには


0630

99873921399

0711

FC4 mailman のメモ

/usr/lib/mailman/ 以下で日本語化されているやつは messages/ と templates/ とあるけど、さしあたり messages/ が euc-jp なのは非常に厄介。なので、utf-8 に変更してみた。

cd /usr/lib/mailman/messages/ja/LC_MESSAGES/
cp mailman.po mailman.po.orig
iconv -f euc-jp -t utf-8 mailman.po.orig > mailman.po
vi mailman.po # charset=EUC-JP を charset=UTF-8 に変更
msgfmt -o mailman.mo mailman.po

0719

FastDB 3.18 出たよ

0721

Bertrand Meyer "Object-oriented Sofware Construction"

久しぶりにバートランド・マイヤー先生のEiffel本(オブジェクト指向入門)を開いた。
この本はかなり先見性を持った名著だと思うけど、1点だけ時代と合わない点を発見。

いわく、設計の初期段階では「何をすべきか」よりクラス抽出を優先しろ、と書いてある。

いまは、ユースケースを抽出してから(インスタンス)オブジェクトを拾い、そこからクラスを抽出しよう、と言われている。よね?

そういえば黒田先生が言ってたなぁ。
学生にクラス抽出させると一所懸命やるんだけどなかなか出てこなくて、すでにプロとしてやってる先輩にやらせてみるとサクサクと抽出する、と。
もしかしたら、「いったいやるべきことは何なの?」という感覚が、実務の中で身についていたんでしょうかね。

0916

信州大

通学制だけどほとんど通信で院の勉強ができるとのこと

1007

飲み屋で一人で飲んでいたら、隣にいい感じの年上のカップルが着席。
なんだか小さな声で話しているので聞耳を立てていると、どうもサケについて造詣が深い。

...
話を伺ったところセラミックの研究をされているかたとのこと。
隣のご婦人(奥様?)は某企業でこれまた研究をされているらしい…
私はついこの間その企業の合気道部の方と一緒に合宿に行きましたが
それはそれ、あー、ポールワイアットさんはもしかしたら研究所つながりでご存知なのか?
うーむ。

私は2年前の仕事で、ミリ秒単位の要求を満たすのにヒーコラしたクチなので
50フェムト秒のパルスレーザーとかそういうの研究されているかたは
別世界でござります…

先生は走る方らしいので、むしろ体育系イベントでつながるかも知れません。

でもおいしいお酒の話をするときは学籍とか学歴とか関係なくなります。楽しい時間でした。
今度また飲み屋の席でお会いしたらサケ話したいです。

ヨコハマヨコスカは甘すぎもせず、香草は効くけど強すぎもせず、横須賀な感じでした。

1014

先日とうとう会議で感情的になってしまった。
原因分析:中隊を牛耳る寄生虫が暴れている。大人として、要所で一言ずつ言うスタンスだったが、
おいらも人間なので「坊主憎けりゃ袈裟まで憎い」ならず「袈裟が憎いので坊主を罵倒」してしまった。

その後ついに小隊長もデスマ宣言。
軍曹も会議で切れたらしい。

モチベーションの低下をどう抑えたらいいのか...前向きに。
プロとしてどうするべきか。
待つしかないこともあるのかな...前向きに。

上長を飛び越して幕僚に進言するには、やはり切腹を覚悟しなければならないのだろうか。
それで今の現場のひとが確実に幸せになるなら、オレ鉄砲玉やってもいいけどなぁ。
どうせ流れ者の外人部隊(個人事業エンジニア)だし、どこでも食いつなぐ自信あるし。

そんなことして自分にメリットは?
→誇りをもてない職務経験を忌避するってこと。
でも似たような話はどこでもありそうだな。

「もち代」についてふたたび考察

先日新聞を読んでいたら、橋本派&歯医者の話題で、派閥から所属国会議員に支給される「氷代」「もち代」は、領収書不要であることがわかった。

おいらは、「日本の商習慣だから」仕事関係者へのお祝い金は経費扱いにしている。

やっぱり「もち代」「氷代」「そうめん代」も、日本の商習慣なんだよな?オレも経費にしていいんだよな?

橋本さんって、おいらが二種受かったときの通産大臣だったので、意味不明の親近感があったんだけどなぁ(ソフ開受かったときの経産大臣はだれだったかぜんぜん覚えてない)。
権利があると悪いことしてしまうのは人間の性なんでしょうか。

1020

小隊長が

小隊長がガックシのあまり独立部隊宣言をかました。

しばらくは幸せになるだろう。前向きに。

1022

格安で程度のよさげな中古車を購入。10年落ちのシビック。
嫁がAT限定なのでATで。
前オーナーが車好きそうな感じだったので問題が少なかろうと期待。
納車が楽しみです。

1101

聖書かよ(みむr

久しぶりに古い映画を見た。気になって引用元を調べたら聖書だった。
コリント13:11
ふむー

Mr.Smith Goes To Washington

古い映画といえばまた久しぶりに「スミス都へ行く」を見た。
見失いかけたとき見たい映画。

この映画ってもしや結構ダジャレがある?

みんながそっぽを向いていて、指笛を吹いたら振り向いたときに言う
"Oh, you've had still faithes"

とか、
あと「失われた大儀」lost causeって、(カード)ポーカーの負け勝負の意味にかけてるのか?

...
それはさておき、現場混乱は見かけの安定に入った。
私はスミスになりたいのか、それともスローガンを受けて戦場に行くジョニーになりたいのか。
なんとかその中間になれないものか。
自分のキャラ設定ファイルを更新しておかないと。


1108

CIVIC

名義変更キター!

1110

CIVIC

納車。やっぱりオートマとマニュアルは感覚違うなぁ。
ビートは今思えばパワーはなかったけど、走るととても楽しかった。
んでもCIVIC ATにもなにやら「Eモード(ECO?)」と「Sモード(SPORTY?)」というのがある。
Eはなんだかもどかしい感じだけど、Sのほうにするとそれなりに応答してくれるっぽい。

1116

EMANATE

SNMPコンポーネントを選定してるチームから、やっとEMANATEの名前が出てきたらしい(伝聞)。
実際にはCIAgentの名前だけが先に出てきているのが、微妙に不安にさせる。

で、どうせならプロパー(Cm2/Extensible SNMP Agent)使ってやれよ、と思った。

西森大先生の

LINDA実装気になるな...

1122

DTIうぜぇ

住宅の新築にあわせてOCN & FLETS ADSLからDTI & TEPCOひかりに乗り換えようとしたけど結果は散々だ。
1~2ヶ月かかるっていうから前もって申し込もうとしても、新住所は未登記で番地が確定してないから申し込みフォームに書く住所そのものがそのときはまだ存在しない。新しい電話番号も然り。かといって連絡用の現住所欄とかないし。

新居に接続ID/PASSWORDが届いたけどなんかおかしいなぁと思ってたら、これは単なるユーザ設定WebページのログインID/PWで、PPPoEのログインID/PWじゃなかった。

PPPoEのログインID/PWを請求しようと思っても、DTIはサポート電話ぜんぜんつながらない。
会社の統合トラブルだかなんだか知らないけど、自分たちの経営の都合でユーザに迷惑かけないでくれよ。
サポートNo.1とか自分で言ってるけど、本当に自分が言ってるだけ。(もしかしたらDTI本人じゃなくて、広告を企画した会社がいってるだけじゃないの?)
そもそもサポート対応なんて、基盤のサービスがちゃんとできてれば案件自体が発生しないはずだし。

なんだかんだで引越し以降もう2ヶ月も自宅からインターネット接続できてない。
いろんな重要な登録で所有ドメイン&自宅サーバのメールアドレスを使ってたから、ドメイン維持のためにレンタルサーバ費用が発生。わずかなコストメリットなんか帳消しになった。
オレの不手際もあったのかなとは思うけどさ。正直NTTにしておけばよかった。

これから新築するひとは、転居と同時のDTI & TEPCOへの乗り換えは絶対やめておいたほうがいい。

1130

書籍購入

書名メモ
Efficeient C++タブ・ブルカ、デビット・メイヒュ手にとってあれ?と思ったら名著「Javaパフォーマンステクニック」と同じ著者でした
Effective STLスコット・メイヤーズEffectiveシリーズの3冊目やっと購入
Modern C++ Designアンドレイ・アレキサンドレスク冒頭で上記メイヤーズ氏が推薦文を書いてる

インターネット接続

DTIやっとつながった。
ドメインもホスティングサービスから引き上げ。

ウラヤス合気会のwikiは誰も使う様子がないのでこの機会に撤収します。

渋幕空手関係のML、土井工房関係のMLも、誰も使う様子がないので撤収。

今後MLが必要なら増井さんのアレ(投稿がないと勝手に消えてくれるやつ)を使わせていいただくことにしよう。ふむ。

1201

冴えが汚れに見える

冴え緑茶という商品を買っておいしくいただいた。
飲み終わったペットボトルを机に置いたままにしていた。

今朝出勤してそれが何気なく視界に入り、む?と、なんだか妙な気分になった。
なにかと思ってよく考えると

「冴」 という字をもとにしたロゴマークが、「汚」に見えた

のだと気づいた。
あくまで主観的な感想だが、商品開発者に伝えてあげたい気分になった。

「冴え緑茶」でググる

視覚による認識とはかくも複雑なものナリ...

小ちゃいエンジン

なぜビートは楽しかったのか。
一つの要素は、小ちゃいエンジンをぶんぶん回すからではないかなぁ。

昔、カワサキのニンジャという900ccのバイクを買った知り合いが
「アクセルを開けられないのでフラストレーションがたまる」
といっていた。

CIVIC 1500VTI オートマごときを900ccの大型バイクと比べることはできないと思うが、以前乗っていたのがビートであるだけに、それと「近い」感覚を味わっているのかもしれない。

ビートは街乗りでベタ踏みできて、オープンにしてれば気分爽快、なおかつメーター見ると安全運転だったもんなぁ。いい車だったよ...

1203

小ちゃいクルマ欲しい...

世間では小さい車を馬鹿にする風潮がありますが...
私、小ちゃいクルマ欲しいです。小ちゃいことに価値がある。

うちみたいに、一戸建てを買ってみたけどまわりの道が狭い、というところもあるわけですよ。
住宅ローンはそれなりで、いつでも普通車を2台停められる駐車場を確保したですよ。
ても、道が広い街には家を買えなかったですよ。

この間家族で嫁の実家にいきましたよ。
その市は昔は漁師町、でも今や都市計画や住民サービスが整ったすばらしい街です。
全国からねずみ様を求めてファミリーがわんさか訪れてお金をたくさん落としていくですよ。それで市が潤って、役所の設備もプールもバスケットコートもテニス場も武道館も、そりゃぁすばらしい設備が整っているさ。道は広くてまっすぐのびているさ。ああそうさ。

でもおいらが買えたのはそんな道の広い街の土地じゃないさ。

そんでおいらは運転が下手さ。ああそうさ。
小ちゃい車だと、道が狭くても愉快に走れるのさ。

コペンにしたって、顔はコペンZZのほうが好きだけど、軽自動車の小ちゃいサイズじゃないとおいらのニーズは満たさないのさ。
コペン660用にZZチックなバンパーどこか出さないかな。

1205

非標準関数

どうやら strlcpy, strlcat は、バッファ末尾までをNULで埋める実装がややデフォルトになっていて、効率が悪い点が嫌われているらしい。

で、strnzcpy というのがあるらしい。多分 strncpy して バッファの末尾だけ NUL にする実装だと思うけど未確認。アレ?バッファ足りなかったかどうかはわかるのかな?strlcpyみたいな戻りだったらいいのう

glibc に入ってるようなので調べる

あー、

glibcじゃなくてglibでした。glibの1.3以降にstrlcpyが入っているとのこと。
それで名前もプレフィックスがついてg_strlcpy。
g_strlcpyは、末尾までNULL埋め_しない_実装になってる。ふむー

1212

自分の好きな板だけ2chミラーしてるひとが何人かいる。
うちもTEPCOになったのでやりたいのだが、一から検討するのは面倒だな...車輪の再発明...
2chミラーについてp2p風の自律ネットワークができるツールがあるといいなぁ

1213

鶏口牛後。

ちょっと調べたら面白い記述があった。いわく
鶏口どころか牛後ですらなく、実は鶏後になってしまうことが多い、と。

ヘッド博士と元請け会社中堅リーダのおかしな行動

部隊に寄生虫がいて、その影響で部隊リーダがおかしな行動をとるので困っている、と私の師匠に相談したとき、師匠はおっしゃった。
「状況の報告はするべき。それでどうするかは、そのひとが決めること」

ま、チームリーダとは話が通じるようになったから、あとはチームリーダに任せようっと。
何か聞かれたら答えればいい。私が騒ぐ必要はないな。

strncpy

あれー、
strncpy も末尾までnullで埋めるんだ。

1214

あー、パパは目が疲れたよ...
久しぶりに大きなソースを追っています。

車で通勤するようになってよかったことは、たまに終電を逃して変なタクシー代を出費することがなくなったこと。逆に困るのは、目が疲れてると視力が出てなくて怖いんですよ。
そゆときはゆっくり走るに限ります。

C++のオブジェクトモデルが


Cで組むときって、どのように機械語になるか想像しながら組みますよね。
C++も、効率的に組むにはそれが必要な言語だと思ってます。

最近やっとC++のオブジェクトモデルが素直な感覚で感じられるようになってきた。
リップマンの「C++オブジェクトモデル」のおかげ。これ名著です。全てのプログラマに勧めたい。

C++についてはまだわからないことも多いけどねー

D言語

今日「無名の共用体」のことを調べていたらD言語のページに行き着いた。
D言語って、MicrosoftのC拡張みたいな、無名の構造体(というか匿名の構造体?字面上の参照レベルが増えないやつ)も使えるらしい。素敵ですな。

現場では例のJava房が変てこな似非オブジェクト指向を布教していて、「今後はCなんかなくなる、C++もなくなる、JavaかC#だ」などといっていて有識者の反感を買いまくっているのだが、はて、意外とC++が廃れるのは結構現実的で、D言語のほうが一般的になるかもね、なんて思ってしまった。

彼に言わせるとこの世からC技術者がいなくなってJava技術者しかいなくなる、というのだがウフフ。

1221

多重継承

カーギルとウォルドの多重継承は要るか要らないかの議論の話。

ウォルドの論文に出てくる継承3種類
  • 実体継承(差分プログラミング)
  • インタフェース継承(そのクラスを利用する側がメソッドを使えることが保障される)
  • データ継承(...)
ウォルドが説明したデータ継承は、現在ではテンプレートでやるのが普通なのかな。



ワタシは今まで実体継承での多重継承って要らないよなーと思っていたのだが、「なくてもいいけどあると便利」な場面もあるかな、と思ってきた。

C++は無名の構造体メンバを使えない。C++で構造体階層のある1レベルを無名にしたいときは、そいつをメンバにするのではなく継承してしまうという方法がある。
もちろんそのときの基底クラスはvirtualなメンバなんか一切なくて済むはずで、そんなに重くなるとも思えない。
ということで、無名の構造体メンバを言語仕様として使えないから、実体の多重継承はアリにしておいてほしいと。

D言語では無名の構造体が使えるようなのでそれなら実体の多重継承はなしでもいい。

メモ追記。

実体継承

いわゆる差分プログラミングは、はっきり言ってぜんぜんソフトウェア工学に寄与しないということがわかってきたはずで、なんで上記のようなことを考えたのか思い出せない...

えーと

たしかCのライブラリをC++化していて
構造体階層において
Entity と、それを作る Manager の関係があって、
数の対応が Entity = N個に対し Manager = 1個 だった。

もとのCライブラリでは
entity.c と manager.c があり、Entity のファクトリ機能(new Entityする機能)が entity.c に書かれていた。確かにEntityに関する機能だが、個数関係で言うとそれって Manager が持つ機能だよなぁ、と。

処理実装ファイルオブジェクトの数関係からつながりが深いのは
Entityの動作に関する処理entity.cEntity
Entityを作る処理entity.cManager。ここがねじれてる
Managerの動作に関する処理manager.cManager

Entiryを作る処理をmanager.ccに移動すると、流用もとの.cファイルとの差分管理が面倒になる。
そこで、
クラス実装ファイル
Entity クラスentity.cc
EntityFactory クラスentity.cc
Manager クラスmanager.cc
を作って、
Manager は EntityFactory を継承する、とした。そうすることによって、

entity = mgr -> efactory -> addEntity()

と書かずに

entity = mgr -> addEntity()

と書ける(無名のメンバのように)、だからイイジャン、とかそんなことだったと記憶する。


データ継承

ウォルド先生の言う「データ継承」はいまいちよくわからなかったのを覚えているが、あらためて考えを整理してみた。

「すべてのメンバに対する処理」を行うメソッドを基底クラスで定義し、さまざまなデータ項目を持つクラスを派生クラスとして作るというものだった。と思う。
(基底クラスとして「共有メモリ」とか「ファイル」とか「DBテーブル」を作って、さまざまなデータを持つクラスをその派生クラスとして作る。基底を変えると保存場所を変えられるとかなんとか)

つまり、メタ機能っていうか言語機能の一部(リフレクション?)を使いたい場面で、それを継承を使って実現する技法のことを言っていたのだと思う。

データを持つ構造を AAA という名前にするとして

class AAA : 共有メモリ
class AAA : ファイル
class AAA : DBテーブル

でもこれじゃ1個のコンパイル単位に同じ名前で共存はできないよ。
だから結局

class AAA_共有メモリ : 共有メモリ
class AAA_ファイル : ファイル
class AAA_DBテーブル : DBテーブル

となるわな。

それで、問題世界のほうで継承を使いたいときに

class AAA_共有メモリ : 共有メモリ, AAABase
class AAA_ファイル : ファイル, AAABase
class AAA_DBテーブル : DBテーブル, AAABase

となるということで、これを先生は「多重継承が必要な場面のひとつのデータ継承だ」というのだけど。うーむ。

まぁ多重継承の意味論の整理ということで項目に並べるのは有益だけど、実際には説得力は薄いな。

正味な話、この例では
class AAABase_共有メモリ : 共有メモリ
class AAA_共有メモリ : AAABase_共有メモリ
とやれば多重継承なんか要らないし。
言語機能に多重継承が必要である理由としては「インタフェース継承」ほど強くない。

で、その「データ継承」って、現在では継承ではなくテンプレートでやるのが普通なのかも、と思った。

ライブラリ作者は

class 共有メモリ<T>
class ファイル<T>
class DBテーブル<T>

を作って、Tをユーザに書かせると。

1226

gcc 4.0 cast-as-lvalue の削除

別のホストでコンパイルしたらエラーとなってしばらく悩んだ。
void *vp = なにか;
Hoge *hoge;
(void *)hoge = vp;
というようなコードは厳密には言語規則に違反していて、cast-as-lvalue という gcc の独自拡張機能のおかげでコンパイルできていたそうな。
hoge = (Hoge *)vp;
は当然可だけど、 Hoge, Fuga 共通のマクロの処理なので void * を使いたい、といったところ。
ホントはね...あれやこれや...

gcc 4.0 でこの独自拡張機能が削除されてしまって、そんな殺生な、という議論が各所であるらしい。


でもアレだ。自分が字句解析処理や意味解析処理の実装担当者だったら、
言語設計者が想定していない文法をOKにするなんて「一切おことわり」だよな。
確かに。

続き(2006/1/31)

抜け道発見。
(void *)hoge = vp;
はダメだけど、
*(void **)&hoge = vp;
はOK。
なんだかなぁ。

ソフトの構造を考えていて

パケット処理のプログラムって、ある程度抽象的にやろうとすると結局、
ベルトコンベアみたいに各作業者がいる流れ作業の川をパケットが通過していく、
という形になるっぽい。

1231

年の切り替えだ。よく考えるために、いまの現場での困った状況をリストアップしてみる。

  • Java房
  • 判断できないリーダ
  • べらんめぇ
  • 船頭が二人

自分の反省

  • 遅い
    • 自分はいわゆる「仕事が早い」タイプではない。そのデメリットは気にとめて向上には努めているので、努力を継続する。ただし拙速になっては元も子もない。
  • 教える気がない
    • もう少し親切にしてやってもいいかも知れない。ただし同じ現場に入ってるからって、他社の新人に教える必要ってないはず。その分もらってるわけじゃないし。
  • 一言多い
    • 引き続き注意を続ける。が、適度に言ったほうがいいと思ってある程度は言うようにしている。言いたいことを全開にはしていないのでこのペースで進んでみる。
  • 勉強してない
    • やろうと思った勉強が中途半端。うーむ。まぁその分新しいことにもかなり着手したから65点。

自分だけで仕事ができるわけでもなし。お互い長所短所があるから存在価値が生まれるんだよね。いい仕事をしたいという想いはみんな共通っぽいから、まぁなんとかなるでしょう。

ただ次も一緒に仕事をしたいかというと、それだけは嫌なやつが何人かはいるなぁ...