彷徨えるフジワラ

年がら年中さまよってます

2010-05-01から1ヶ月間の記事一覧

エキスパートPythonプログラミング

稲田直哉氏/渋川よしき氏/清水川貴之氏/森本哲也氏による "エキスパートPythonプログラミング" を頂きました。エキスパートPythonプログラミング作者: Tarek Ziade,稲田直哉,渋川よしき,清水川貴之,森本哲也出版社/メーカー: KADOKAWA/アスキー・メディアワ…

「なりたい」と「やりたい」と「やり遂げたい」

以前、会社の採用に関わっていた際に感じていた違和感を、端的に言い表してくれたのが、"或る専門講師の事情" における以下のくだりです: もし、生徒がまっとうにやる気を出し、「プログラムをやりたい」と思うなら、私はきちんと指導します。しかし、こうい…

ビルドはモジュール別ディレクトリで

solaris タグだと他のに紛れて後から見付けづらいので、ソースビルドに関するエントリは onbld タグで分類することに。Solaris 10 の dtrace モジュールを、OpenSolaris ソースからビルドしたモジュールで差し替える場合、ひょっとしたら fbt とかのプロバイ…

Make: Tokyo Meeting 05

大学時代からの DIY 仲間と Make: Tokyo Meeting 05 を観に行く。ここ数冊こそ買っていないけど、発刊当初は必ず買っていて、あのおバカなテイストが好きなのだ > Make メイン会場では入場の列ができるほどの混雑状態。会場内も地方の公民館とかで開催され…

OpenSolaris 勉強会 2010.05

東京 OpenSolaris 勉強会 2010.05 に参加してきた。"Solaris Internals" の "Chapter 14: File System Framework" に関する発表は前回でひと段落着いたので、今回は気楽な参加。話す側の時も気楽だったんじゃねぇの?という突っ込みは無しの方向で。IPv6 の…

DTrace で const 指定が無視される件 - その3

さて、const の文法的解釈もわかったことで、早速 const 対応修正を入れて動作確認をしてみるものの、どうにも思ったように動かない。挙動を細かく調べて見ると、どうやら構文解析の際に、問答無用で const 修飾に伴う dt_decl_attr(DT_DA_CONST) 発行が先行…

DTrace で const 指定が無視される件 - その2

色々弄繰り回しているうちに、はて const 修飾って言語仕様上どうなってたっけ?という根源的な問題に突き当たる。 hoge(const char* v1[], char const* v2[], char* const v3[]) 上記の様に宣言された場合、コンパイラによって禁止される各引数へのアクセス…

DTrace で const 指定が無視される件 - その1

DTrace でユーザ定義プロバイダを作成する際に、プローブ引数の型宣言を const 修飾した場合: provider foo { probe bar(const char *a); };このプロバイダ定義を元に、C/C++ 向けヘッダファイルを生成すると: extern void __dtrace_foo___bar(char *); こん…

MBCS 文字列の折り返し - その 3

Mercurial のヘルプ表示に関しては、まずは「文字化けを無くす」ことが優先なのだけど、Python 標準の textwrap を使う限りでは(少なくとも日本語は)綺麗な行折り返しは実現できそうにないから、いずれは独自の行折り返し実装が必要になる感じ。標準 textwra…

MBCS 文字列の折り返し - その 2

文字の表示桁取得処理に関して気になることが。dayflower 氏の実装では、unicodedata.east_asian_width() の戻り値が F/W/A のいずれかなら 2 桁とみなしているけど、Mercurial の colwidth()@encoding.pyでは F/W の場合だけ 2 桁とみなしている。ふーむ、…

MBCS 文字列の折り返し - その 1

Mercurial の 1.4 版から、端末表示幅にあわせてヘルプテキストが折り返されるようになったのだけど、案の定というか、言語設定を日本語にしてある(LANGUAGE=ja 等)場合、折り返された行末で表示が乱れるケースがちらほらと。ぱっと見、複数バイトで構成され…

DTrace と関数宣言の名前無し引数と typedef 型

DTrace の ML に 以下のような投函が。 バグ 6494528 で困ってるんだけど、誰か修正した人居ねぇ?(意訳) バグ 6494528 ってのは、typedef した型の配列を引数に持つ関数の宣言において、引数名記述を省略すると文法エラーとみなされる、というもの。つまり:…

エキスパートPythonプログラミング

"エキスパートPythonプログラミング"の翻訳をされている方から、「書籍中でDefinitive 本日本語版へのリンクを紹介させて欲しい」とのメールが。原著の構成管理に関する章で Mercurial を使用している模様。「紹介して頂ければこちらとしてもありがたいので…

印刷博物館で活版印刷体験

凸版印刷が運営している印刷博物館に行ってきた。20世紀末に CSS(Cascading Style Sheet) に手を出した際に、見易いレイアウトのお作法に関しては印刷業界に一日の長があるだろうという事で、組版に関する入門書を何冊か読んだり、知人が印刷業界に勤めてい…

Solaris10 のソース状態構築 - その1

DTrace Day 2010.03 で発表した Unlimited DTrace を、Solaris10 上で稼動させるには、Solaris10 向けに DTrace をビルドする必要が。とりあえず DTrace の部分限定で良いので、OpenSolaris のソースを元に特定の版の Solaris10 相当のソースを構築できない…