2003年05月18日(日) 窪塚洋介とのんちゃんが入籍
■ [web] サイドバー固定
moz-users MLを参考に、日記のサイドバーを固定にしてみた。Mozillaでは固定されるがIEでは今まで通り(のはず)。その他のブラウザの動作は分からない。
バーを固定するとウィンドウからはみ出した部分を見ることができなくなるので、縦長のバーは駄目そう。はみ出しちゃう人ごめんなさい。
■ [java] 逆引きJavaWorld
というのを作ってみた。どうにも見づらいなあ。
■ 生活
- 昼夜逆転中。
- さんまのまんまの総集編を見る。楽しい。面白かった順:上戸彩村上弘明千原兄弟長嶋一茂魔裟斗渡辺篤史内山理名田原総一朗宮澤ミシェル永島昭浩ますだおかだ中島美嘉テツandトモ。あー嘘、もう忘れてるや。
- 去年6月の日記を補完。そうそう、去年はワールドカップがあったのですねー。準優勝チーム忘れてた。
- ガキの使いを見る。4人vs1人でボーリング対決。ボーリングブームだ。最後に浜田が4人をビンタ!
- 会社から、財形とその奨励金に関する書類が送られてきた。
■ 仕事のTODO
検索画面を表示できるようにする
■ やること
- 御出席の返事を出す
2006年05月18日(木)
- 朝から打ち合わせ。全然ダメ。
■ [net] rawソケットからの入力を待つプログラム
貧相なプログラムを作ったので忘れないようにメモ。プロトコル番号100のIPデータグラムを受信したらその内容をダンプする。
#include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> void dump_message(char *recvbuf, int len) { int i; printf("received\n"); for (i = 0; i < len; i++) { printf("%02x ", (unsigned char)recvbuf[i]); } printf("\n"); } void read_raw_socket(void) { int sockfd; char recvbuf[1000]; ssize_t n; sockfd = socket(AF_INET, SOCK_RAW, 100); setuid(getuid()); if (sockfd < 0) { perror("socket"); exit(1); } for (;;) { n = recv(sockfd, recvbuf, sizeof(recvbuf), 0); if (n < 0) { perror("recvfrom"); exit(1); } dump_message(recvbuf, n); } } int main() { printf("start\n"); read_raw_socket(); }
UNIXネットワークプログラミングのrawソケットの章に、socketの第3引数に0を指定すれば全てのプロトコルのデータグラムを受信できるよう書かれていたが、0を指定すると「Protocol not supported」というエラーになってしまう。raw (7)には
IPPROTO_RAW 経由でのあらゆる IP プロトコルの受信は、 raw ソケットを用いては行えない。
とあるからできないのかな。
ああ、同じくrawのマニュアルに、
一般に raw ソケットは移植性がないことが多いので、移植性が必要なプログラムでは避けるべきである。
とあった。仕様を確認してから使わないといけないのだな。
■ やること
- テーブル生成
- デザイン変更
- TV買う?
- プリンタインク
- 保険
- 松井
2013年05月18日(土)
2017年05月18日(木)
■ [unix][shell] 文字の色を変えるスクリプト(2)
11年前にメモした文字の色を変えるスクリプトを使いたくなった。
ここに書いていた「2回使うと何も表示されない」という問題は、sedに -u オプションを付ければ解決する模様。また、文字の色を変えるより背景色を変えた方が目立つので、
#!/bin/bash if [ $# -lt 1 ]; then echo 'usage $0 <string>' exit 1 fi sed -u -e "s/${1}/^[[43m${1}^[[0m/g"
と微修正(「^[」の部分はエスケープ文字を直接入力する必要がある)。
あと、このスクリプトは指定文字列以外に「${1}」という文字列の色も変えてしまうことに気付いた。なんでこういう動作になるのかな。