Entries from 2005-11-01 to 1 month

英語の技術ドキュメントを読んで疲れた心に夕焼け

いろいろと忙しいですが

今日の飲み会は面白かった。技術的にとんがった人はいいですね。 よい刺激になりました。 上のレイヤはJavaScriptを、下のレイヤはこれまで通り攻めていこう。

関数のオーバーロードとデフォルト付きパラメータは、慎重に使い分けよう 24項

シチュエーションに応じて、デフォルト付きパラーメータは効率が悪い場合があるとか。 そんな話。

デザインを変更中

hatena-simple-blueベースの方向で。 左側のメニューがぐちゃぐちゃだな。 テストテスト

Ruby UDP→ Mona UDP

一方通行メッセンジャーキタコレ! Windows側で ruby udp.rb # メッセージ送信 Monaで受信 祭りですよ祭り。ヽ(;´Д`)ノ

RubyでUDP

MonaでのUDPテストに、Windows側からパケット送信する必要が出てきました。 C++、Perl、Java、C#と選択肢はいろいろあるのですがここは、やはりRubyでしょう。 最近Geekの間では、こっそりRubyを勉強するのが流行っているようですし(;´Д`) とても簡単です…

Mesa取り込み難航中

Mesaの取り込みの続きを行いました。 前回行ったのは以下2つ MesaForMonaのビルドのためのいくつかの修正。 ビルド手順の確認 今回はGEARSのビルドおよび実行までを目標としました。 まずGEARSのビルドのために #include を追加 Makefileのinstall先を変更 …

水泳部

今日も一人。 冬のプールは、外が寒い分、水が温くて気持ちいいです。 プル :200m ビート板:200m クロール:600m

UDPお勉強

IPが分かっていれば、特に難しいところはなさそうです。 ネットワークレイヤ的には イーサーネットタイプ 0x800 によりIP IPプロトコル 17 により UDP UDPのポート番号を元にアプリケーションを特定 アプリケーション特定のプロトコルでほげほげ という感じ…

Monaはもう一人じゃない

WindowsからUDPがMonaへとか、大はしゃぎした後、風呂に入りながら思いました。 Monaは、もう一人じゃないんだなぁと。 これからはネットワークを通してMona同士で通信したり、他のOSと協調動作したりデータ交換したりと格段に世界が拡がるんだろうな。 いま…

掃除機を買いました

掃除機を買いました。id:naoyaからはDysonの掃除機を薦められたのですが、予算的に厳しかったのでSHARP サイクロン掃除機 (ヨコ型タイプ) (ホワイトバイオレット) EC-BT3-V出版社/メーカー: シャープ(SHARP)メディア: ホーム&キッチンこの商品を含むブログ (…

IP_HDRINCLオプション

IPヘッダを含めて送るのは、setsocketoptでIP_HDRINCLを設定してやればよいとアドバイスをいただきました。 例がないかと探していたところTCPPing↓が見つかりました。 http://www.xfocus.net/articles/200202/343.html こいつのコードをそのまま cygwin でビ…

WSASendToを試してみた

任意のIPパケットを送りたいという動機で、WSASendToを使ってみました。 bool RawSocket::Write(byte* buff, dword size, dword* writeSize) { unsigned long length; unsigned long flags = 0; IP::Header* h = (IP::Header*)buff; SOCKADDR_IN addr_in; ad…

オブジェクトを返さなければいけないときに、リファレンスを返そうとがんばるのはやめよう 23項

値渡し(コピー渡し)とリファレンス渡しについて学ぶと、何でもかんでもリファレンス渡しにしようとしてしまうという罠について。 納得。

出力されたコンテンツをoutput filterで覗き見る

最近覗き系が多い気がしますが、解決したのでまとめておきます。 まずはソースから、デバッグ用にモジュールを1ついい加減に作ってしまいました。 static int outputfilter(ap_filter_t* f, apr_bucket_brigade* bb) { request_rec* r = f->r; apr_bucket* b…

値渡しよりも、リファレンス渡しを使おう

C++(C)はデフォルトで値渡しだが、コピーのオーバーヘッドが大きいオブジェクトもあるので、できるだけリファレンス渡しをしましょう。 という話。

フィルタとバケットが分かった気がする

フィルタは、入力・出力を変更するために登録するフック関数。 バケットは、入力・出力の中身。 たとえば出力であれば、あるリクエストに対して以下のような出力フィルタスタックがあります。 filter1 filter2 filter3 filter4 my filter filter 5 my filter…

うは、これ欲しいね

マサオコーポレーション 自動販売機保冷庫(赤) MSO-016Rメディア: ホーム&キッチン クリック: 23回この商品を含むブログ (2件) を見る 自動販売機と同じように、お好きな、ジュースの缶をディスプレイすることが出来る(缶は付属しておりません。別途ご用意…

RawSocketでパケット送信実験中

msdn-WSASendを参考に、生パケットを送るコードを書いてみる bool RawSocket::Write(byte* buff, dword size, dword* writeSize) { unsigned long length; unsigned long flags = 0; WSABUF wsb; wsb.buf = (PTCHAR)buff; wsb.len = size; if (SOCKET_ERROR …

RawSocketで簡単なパケットモニタを作る方法

たまにはハッカーっぽく、Binary 2.0っぽい記事を書こう。 Windows 2000/XPでは、RawSocketという仕組みが用意されていて、パケットをかなり自由に受信したり・送信することができます。 RawSocketでは、いわゆる「生パケット」が扱えるのです。 悪い言い方…

生ソケット/rawsocket

生ソケット/rawsocket使うと、何でもできるよねぇという、話の意味がここ2週間でようやくつかめてきた。 確かにこれは脅威だ。

紅葉2

id:naoyaに、デジカメ(おふるだけど古くない)を貰ったので、早速紅葉を撮ってみました。 id:higepon:20051120:1132475118の写真と、比べると差は歴然ですね。(シチュエーションは違うのもありますが)いろいろと設定を変えてみよう。id:naoyaに感謝。カメラ…

使えるときは、必ずconstを使おう 21項

const の整理。 データがconst なのかポインタが const なのか。 Effective C++ 【改訂第2版】 アスキーアジソンウェスレイシリーズ―Ascii Addison Wesley programming seriesにも書いてあるとおり、 *(アスタリスクの)の前にあるconst はデータがconst と覚…

ICMP応答まとめ & リファクタリング

ICMP応答のまとめ Echo要求のICMPHeader->data部に、id, sequence が入っている Echo応答する場合は、これとまったく同一のものを、Headerに格納して送信する これで、要求に対する応答のマッチングが行われる。 べた書きで、書いていたコードをリファクタリ…

output_filterで出力を覗き見してみようよ

いろいろなモジュールのコードを読んで切り貼りして output_filter を書いてみました。 まだ動作が微妙で、コンテンツが途中で切れたりします。 このあたりは、日本語の資料が少ないのは当然、英語の資料も少ないです(;´Д`)。 まずは、output_filter を登…

データメンバーをpublicインターフェースに入れるのはやめよう 20項

データメンバーをpublicインターフェースに入れるのはトラブルを招くのでやめましょうという話。 これは基本ですね。 入門書によく書いてありますし、これは習慣化されているので問題なし。 Effective C++ 【改訂第2版】 アスキーアジソンウェスレイシリーズ…

output_filterで出力を覗き見を調べ中

mod_bwを参考に。 rv = apr_bucket_read (e, &str, &len, APR_NONBLOCK_READ); こんな感じでouput_filterで bucket_readしてみたところ \x80\x8e{\xba\xf4~\xe3\xbb\xf3w\ こんな感じで謎のコンテンツがreadできる。 Apacheの設定によって、出力されたHTMLが…

MonaがWindowsのpingに返事するようになった

MonaがWindowsのpingに返事するようになりました。 アドバイスを下さった方どうもありがとうございました。 pingに返事をするようになった瞬間は、Monaで初めてGUIが動いたり、文字が出たりと同じくらい感動しました。 今後は、pingに答える→ICMP応答できる→…

ICMP応答がうまくいかないのはなぜ?

ICMP応答がうまくいかないのはなぜ? 今のところ二つの疑惑が id/sequence問題 id:fiberfiberさんによる指摘。 #素人ですが、rfc792をちょっと見てみました。 IdentifierとSequence numberはEcho requestのものを正しくコピーしてますか? Identifier=192.1…

pukiwikiとsubversionを組み合わせて管理すると良さそうだよね

Mona OS developers Wiki - Mona OS developers Wikiではpukiwikiを使っているのですが、botにより荒らしがたまにきます。 荒らしの内容は 新規ページを作成して、何かを書き込む 既存のページの内容を変更する Wikiは性質上、誰にでも書き込んで欲しいもの…