トップ «前の日(06-28) 最新 次の日(06-30)» 追記

本 日 の h o g e

hogeとはワイルドカードのようなものです。日々起こった、さまざまなこと −すなわちワイルドカード− を取り上げて日記を書く、という意味で名付けたのかというとそうでもありません。適当に決めたらこんな理由が浮かんできました。

更新情報の取得には rdflirs を使ってもらえると嬉しいです.


06/29/2003 cjkcodecs

tDiary 248日目

[Gentoo] cjkcodecs

なんかいつの間にかJapaneseCodecsがマスクされてるので /usr/portage/profiles/packages.mask の該当部分をコメントアウトしてマスクをひっぺがす.しかしこれから sync するたびにこれやらないかんのか,めんどくさいな.koreancodecsと統合してcjkcodecsにしたらしいが,当事者にとっては迷惑だろ.だって日本人は中国語や韓国語のサポートなんか普通いらんし,中国人は日本語のサポートなんかいらんだろ.なんでASCIIな人らはcjkを一緒にしたがるかね.

[Gentoo] 適当なスクリプト

#!/bin/sh
ACT="clean depclean help info inject prune rsync search sync unmerge"
USE=""
OPT=""
for ARG in ${@}
do
	if echo "${ARG}" | grep "^-"     > /dev/null 2>&1 || \
		echo "${ACT}" | grep "${ARG}" > /dev/null 2>&1
	then
		OPT="${OPT} ${ARG}"
	else
		USE="${USE} ${ARG}"
	fi
done
OPT=${OPT# }
USE=${USE# }
if [ -z "${USE}" ]
then
	echo "You must select a use flag."
fi
{
	emerge -epv world | \
	grep "\[ebuild  N   \] .\+ \( [\+\-].\+\)\+" | \
	sed -e "s:\[ebuild  N   \] \(.\+\) \( [\+\-].\+\)\+:\1 \2:" | \
	while read line
	do
		arg=${line#* }
		for each in ${arg}
		do
			if echo "${each#[\+\-]}" | grep "^${USE}\$" > /dev/null
			then
				echo "=${line%$arg}"
				break
			fi
		done
	done
} | xargs emerge ${OPT}

性凝りもなく変なスクリプトを書いてみる.引数で指定したuseフラグを使ってるパッケージに対してemergeを実行する.useフラグを変更したときに実行すると良いかも知れない.今のところ指定できるuseフラグは一つのみ.

しかしもう少し効率化できんもんかね…ていうかPythonでportageライブラリ使って書けよって話ではあるが.

[Bash][Tips] クォートとドルカッコとドルカッコカッコと

中級者はもとより初級者にとっても常識だろうけど, Bash では普通,空白を区切りとして認識するので,例えば

HOGE=hoge hoge hogehoge

なんてことができない.それを解決するために文字列をクォートすることになる.

HOGE="hoge hoge hogehoge"

で,このとき " という文字自体を変数に格納したい場合,二通りのやり方が生まれる.

HOGE="\"hoge hoge hogehoge\""
HOGE='"hoge hoge hogehoge"'

ダブルクォートで文字列を囲む場合はメタ文字を理解させてしまうので,ちゃんとエスケープしてやらないとエラーになってしまう.逆にシングルクォートで囲むと,囲まれた全ての文字がエスケープされる.そのためどんな文字列を紛れ込ませても展開されることはない*1

また,これとは別に バッククォートというものがあり,これは囲まれた文字列をコマンドとして認識し,その結果を返す.

$ HOGE=`date`
$ echo $HOGE
日 6月 29 08:36:20 JST 2003

また,バッククォート内のバッククォートをエスケープすることでネストも可能になる.

$ echo "uname -irsv" > comm.txt
$ HOGE=`\`cat comm.txt\``
$ echo $HOGE
Linux 2.5.54 #24 SMP Tue Jun 3 21:33:01 JST 2003 GenuineIntel

コマンドの結果を返すものとして,$() なんてものもある.

$ HOGE=$(date)
$ echo $HOGE
日 6月 29 08:49:01 JST 2003

$ HOGE=$(`cat comm.txt`)
$ echo $HOGE
Linux 2.5.54 #24 SMP Tue Jun 3 21:33:01 JST 2003 GenuineIntel

$ HOGE=$($(cat comm.txt))
$ echo $HOGE
Linux 2.5.54 #24 SMP Tue Jun 3 21:33:01 JST 2003 GenuineIntel

バッククォートとの違いはよく知らない.誰か教えて偉い人.

…まぁ,というようなことが理解できれば,以下のようなことができるのも分かるはず*2

$ echo FOO > var.txt
$ FOO="uname -irsv"
$ HOGE=$(eval \$`cat var.txt`)
$ echo $HOGE
Linux 2.5.54 #24 SMP Tue Jun 3 21:33:01 JST 2003 GenuineIntel

またこれとは別に,$(())というものが存在する.これは式の評価を行なってくれる.

$ HOGE=$((1+3))
$ echo $HOGE
4

$ FOO=8
$ BAR=6
$ HOGE=$((($FOO - $BAR) ** 3))
$ echo $HOGE
8

*1 もちろんシングルクォート自体を格納したい場合はエスケープする必要がある.

*2 evalを知ってればの話だけど.

本日のツッコミ(全2件) [ツッコミを入れる]

なかの [/etc/portage/package.unmaskを作って、dev-python/japanesecodecs ..]

atzm [おぉっ,package.unmaskなんてものがあったとは…目から鱗です(汗).ありがとうございます. use.de..]


06/29/2004 あはは

tDiary 614日目

[小ネタ] tar: 空の書庫作成はご容赦願います

あっはっは,相変わらず gnu のメッセージカタログっておもろいよなあ.

[小ネタ] 心理テスト: 四字熟語

四字熟語、と聞かれてまず最初に思いつくのは何ですか?
そして二つ目には何が思いつきますか?

一刀両断,快刀乱麻.



……

では解説。
最初に思いついた四字熟語、それはあなたの人生について表したものです。
そして二つ目に思いついたのは、あなたの恋愛について表したものです。

一刀両断な人生,快刀乱麻な恋愛って一体…….

やってから思ったけど,これ昔どっかでやったような?

from 言泉が枯れるまで

[Gentoo][風博士] 0.1.7 bugs に投げ

つか 0.1.6 ってツリーに入ってたのね…Bugs に変化がないとメール来ないから気付かなかったよ.クローズするとか何か書くとかしてよ Brad さん….

もう一つさっき気付いたこと.本家ツリーにある ebuild のヘッダが軒並み Gentoo Technologies, Inc. から Gentoo Foundation に変わってた.uploader に上がってるやつも変更した方がよさそう.

タビアたんにもコメントつけ

リネームするだけでバージョン上げることができるものはどうすりゃいいんだろ? diff つけるわけにもいかないし,内容が同じなのに ebuild 添付するのは冗長だし.

ぐわ!

なかのさんの日記を読んで思い出した,しまった estraier について何も言及してない.まずった…….どうしよう.一応 qdbm や estraier の ebuild はあるんだけど,これも bugs に投稿して風博士のところにコメントしといた方がいいんだろうか.ちなみに僕んとこではちゃんと動いてます

あーごめんなさい.

[戯言] うーむ

おひたしや紫蘇はうまいと思うんだけどなあ.

本日のツッコミ(全8件) [ツッコミを入れる]

iuchi [悠悠自適, 焼肉定食…. 四字熟語ときかれて焼肉定食が浮かんだ自分のベタベタっぷりに萎えた…. ]

atzm [焼肉定食な恋愛というと何やら深読みできそうですな(わら ]

zoe [いつもありがとうございます。 ]

usata [先週だったかに Gentoo Foundation に変わりました。 uploader のも変えたほうがいいですね。..]

atzm [了解です.次からもこんな感じでいきます.:) Foundation の件は一応周知してからの方が良いんですかねぇ? ..]

usata [そうですね。まあ本家に持っていくときに問題となるだけなので、メールアドレスが分かっているなら本家に持っていくときに変..]

usata [風博士の件はぜひそれらの ebuild も投稿して depends にあげておくと。 ]

atzm [ありゃ,そうなんですか.Kojima さんにアカウント発行してもらわないと! 風博士の件はやっておきましたがちょっ..]


06/29/2005

tDiary 979日目

[日記] あれっ

和訳が一日で終わってしまった.

[風博士] む

風博士っていつの間にか GTK 2.6 以上のみサポートになってたのか.ebuild 書き換えないと.

[小ネタ] 今日の spam

Subject: タバコの新デザインどうよ?

どうも、けんじぃです。

久々にメールを出してみました。

なぜかというと、日本のタバコのデザインが変わったからです〜。

けんじぃは禁煙してるので、どうでもいいんですが、友人のまさっちが

カッコワルイ!と言ってました。

確かに、カッコ悪いです。

タバコを吸う人は健康を害するくらい理解してるわけで、

がきんちょが、へんちくりんなマンガを見てかっこつけて吸ってる

わけで、あんまり効果がないと思うんわけです。

そんな感じでなので、久々に出会い系やってみました。

(以下略)

なんじゃこれ.

[日記] 飯日記

  • 05時頃:そうめん
  • 16時頃:学食にて定食風味
本日のツッコミ(全2件) [ツッコミを入れる]

ふりょ [当該機能のソースでは #if GTK_CHECK_VERSION(2,6,0) してるので,2.4 だとコンパイルが..]

atzm [むむ,なるほど了解です. ]


06/29/2006

tDiary 1344日目

[日記] 飯日記

  • 08時頃:サンドイッチ,ヨーグルト
  • 12時頃:爆弾丼
  • 19時頃:ランディバーグ 500g

06/29/2007

tDiary 1709日目

[日記] teehee

シェルのリダイレクトや tee コマンドは,存在しないディレクトリ内のファイルを指定するとエラーになる.

$ ls
$ echo hogehoge | tee hage/hige
tee: hage/hige: そのようなファイルやディレクトリはありません
hogehoge
$ echo hogehoge > hoge/hige
bash: hoge/hige: そのようなファイルやディレクトリはありません

存在しないディレクトリが来たらよしなにディレクトリを作って欲しいんだけど,オプションとかで制御できないっぽいのが悔しい.

標準入力を殺さずにディレクトリを作るには,何かスクリプトとか書かなきゃいけないんだろうか...

本日のツッコミ(全6件) [ツッコミを入れる]

mpet [妖精さんに期待できないので、書かなきゃいけない…。 ただ、今あるのは残して、新しいのを作るのはちょぃと 重い感じが…..]

mpet [↑あらかじめ、「そのようなファイルやディレクトリはありません」ってアクションは必要ですが…。 ※補足っす。 ]

mpet [※突っ込み多すぎ エラー判定、曖昧になるよぅな… (どこまで許容しますですか?) ]

kou [こんなんじゃなくてシェル君にもっと頑張って欲しいってことですか? % echo hogehoge | (x=hag..]

atzm [> mpet たん 書く手間はカップラーメンレベルだけど悔しいじゃない. ただそれだけですよ. > kou たん ..]

kou [わぁ、鬚がいっぱい♪ ]


06/29/2009 ふむ

tDiary 2440日目

[メモ] メモ

pipe(7)

PIPE_BUF

POSIX.1-2001 では、 PIPE_BUF バイト以下の write(2) は atomic に行われること、つまりパイプへの出力データの書き込みは連続したシーケンスとして行われることを必須としている (MUST)。 PIPE_BUF バイトより多くのデータを書き込み場合は atomic とはならない、つまりパイプへの他のプロセスによるデータの書き込みが間に入る可能性がある。

POSIX.1-2001 の仕様では、 PIPE_BUF は最小でも 512 バイトであることが要求されている (Linux では PIPE_BUF は 4096 バイトである)。正確な動作は、ファイル・ディスクリプタが non-blocking (O_NONBLOCK) かどうか、パイプへの書き込みが複数から行われるかどうか、および書き込みを行うバイト数 n により決定される。

[日記] 新・熱血硬派 atzm たちの晩飯

  • 10時頃: おにぎり
  • 16時頃: サンドイッチ
  • 24時頃: ハヤシライス

06/29/2012 うむ

tDiary 3536日目

[Py][Linux][日記] etherws 0.7 をリリース

とても久しぶりに肉の日リリース. 久しぶりにとか言ってる時点で意味はあまりない.

今のところ思いついた機能は殆ど盛り込んだのでとりあえずは満足.

複数の TAP デバイスや WebSocket 接続を持てるようになって,簡単な仮想スイッチも内蔵したので,下手なことをすると余裕でループを起こすと思われるので注意. もちろん xSTP とか入れてないし.

VLAN ポートは入れようか入れまいか迷った挙げ句に入れるのを辞めた. そのままでも vconfig とか使えばできるしその方が絶対速いはずなので敢えて etherws 側に実装するモチベーションがなかった...

CPython でユーザランドに書いてる今の実装で本気ネットワークに適用できるとは思ってないし,OpenFlow とかそういうナウでヤングなものの実装は今のところ考えていない.

まあ個人で遊ぶ分には充分なんじゃないかなと. バグってたりまた何か思いついたら手を入れるかもだけど,とりあえずは落ち着けたということで. 次に何かやるときは多分 UI をごそっと変える. もはやサーバとクライアントを分ける意味があまりない.

良い子のみんな,HTTP や HTTPS が開いてるからって,越えちゃいけないネットワーク境界を勝手に越えたりしちゃダメだぜ! :-P