Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
ClockworkPenguinの日記 | スラド
[go: Go Back, main page]



パスワードを忘れた? アカウント作成

ClockworkPenguinさんのトモダチの日記みんなの日記も見てね。 アナウンス:スラドは 2024 年 1 月 31 日で終了します。データ保存はお早めに。

581998 journal

ClockworkPenguinの日記: rootでもX Windowsを

日記 by ClockworkPenguin
会社のRedhat偏重に対して多少ひねくれて、
SuSE Linuxを使っている。

しかし、SuSEでは、suをつかってrootになった場合、
X Windowsを利用できないという仕様(?)になっているようだ。
これは、rootの.Xauthorityにlocalのディスプレイが
登録されていないため、xhostが接続を撥ねているのが原因。

よって、以下で解決する。
1) 非特権ユーザーで、% xauth list を実行
2) 出てきた情報の中から、localに関するものを切り取って、
root コンソールから % xauth add を実行

参考:
http://www.stackasterisk.jp/tech/engineer/xwindow01_03.jsp
590337 journal

ClockworkPenguinの日記: CVSWEB

日記 by ClockworkPenguin
ブラウザからCVSレポジトリの閲覧ができるCGI「CVSWEB」は 以下で入手できる。
http://www.freebsd.org/ja/projects/cvsweb.html
ただし、FreeBSD用だからか、そのままでは動かない。 Perlのライブラリが足りないと文句を言われるので、
http://www.movabletype.org/cpan/cpan-IPC-Run.tar.gz
をとってきて、この中の「Run.pm」と「Run/」を
/usr/lib/perl5/5.8.0/IPC/
以下あたりに置けばいい。

さらに、cvsweb.confのいじり所については、
・CSSファイルを指す$cssurlに関しては、URLを書くこと。
・CSSファイルがちゃんとテキストとして見えるように、httpd.confを直しておくこと

<Directory "/var/www/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
AddHandler txt/html .html .htm .css
</Directory>

こんなかんじの記述をかいておけばいい。
360403 journal

ClockworkPenguinの日記: Multicard Reader on Linux

日記 by ClockworkPenguin
会社で使っているPCのFDDが壊れたので、 Owltechが発売している、FDDとカードリーダが一体になったものを買ってもらった。取り付け先のPCにはLinuxしか入れていないので、Linuxでマルチカードリーダーを用いる方法を調べてみた。実際問題、デバイスの仕様としてCFとSDが読めるのはいいが、事実上SDしか使わないのに、単にLinuxを立ち上げただけではCFスロットが/dev/sdaに見えるだけで、SDが使えないのだ!

結局、見つけたページはここ
$ cdrecord -scanbus
でカードリーダーのSCSIバス上での位置を見つけたら、 (例えば、" 1,0,0 0) 'DMI ' 'MultiFlash ' '3.00' Removable Disk" と出ているのなら 1 0 0 0 だ)/proc/scsi/scsiに対して以下のような書き込みをすればいいらしい。
echo "scsi add-single-device 1 0 0 0" > /proc/scsi/scsi
echo "scsi add-single-device 1 0 0 1" > /proc/scsi/scsi
すると、カードリーダーが複数のスロットを持っていることを認識して、cat /proc/scsi/scsiすると複数のデバイスが見える。 そうなると通常のカードリーダーとかわらなくて、 SDのスロットは/dev/sdbにマッピングされていた。
622343 journal

ClockworkPenguinの日記: C and C++ Standards

日記 by ClockworkPenguin
私は会社でLinuxカーネル関係の仕事をしているのだが、 アプリケーション作成担当の社員が メールでファイルIOについての質問をしてきた。 ところがお相手は、どうやらファイルIOのシステムコールと C言語の標準ライブラリのIO関数とを完全に 混同(同一視?)しているらしい。 K&Rを見てください、と言いたかったのだが、 どうやらお相手は持っていないらしい(頼りないなぁ)。 とりあえずANSI Cの規格書でも突きつけて 返そうと思い、ちょっとウェブで探してみた。

ANSIの正式な規格書は紙もPDFも有料で、簡単には手に入らない。 しかし、 ジャック・クラインというひとがまとめているCやC++に関する 情報のページで、1999年にC言語の規格をアップデートする ことを検討した時に公開された "Final Committee Draft"がウェブからPDFで 入手できることが書いてあった。どうやらこれで事足りそうだ。

そういえば、最近のg++では、 stdio.hやstdlib.hをincludeしている部分があると コンパイル時にワーニングが出る。 要はcstdio, cstdlibをincludeしてusing namaspace stdを 宣言せよ、ということなんだけれど、 そのワーニングの中で、「C++の規格書の○章○節を見よ」みたいな ことが書かれているので「そんなこと言われてもなぁ」と 困ったことがあった。そのときも、結局は C++ の final draftがウェブに転がっているのを 参考にしたように覚えている。
440665 journal

ClockworkPenguinの日記: Mozillaのsplash screen

日記 by ClockworkPenguin
mozillaのstart時に表示されるsplash screenは、 Windowsでは簡単に変更することができるらしい。 japan.linux.comのメーリングリスト・ウォッチから リンクを張られていた ニュースグループMozillaのヘルプページが紹介されていて、そこで知った。 ちなみに、Linux版やMac版では再コンパイルが必要になるので 容易には変更できないようだ。
623532 journal

ClockworkPenguinの日記: #pragma

日記 by ClockworkPenguin
先日の日記で「Cプログラミング専門課程」に構造体のメンバの アラインメントが__attribute((packed))で解除できることが書かれていない、とブーたれていたのだが、よくよく読み進んでみると、 「パディングを取り除いたり合わせたりするために、#pragmnaを使用する方法もないではありませんが、#pragmaは機種依存であり、使わないのが賢明です」との記述があった。
#pragmaの使用法を私は全く知らなかったので、さっそく調べてみた

#pragma pack(1)
struct SPerson
{
char szName[21]; // 名前 int nAge; // 年齢 char nBirthmonth; // 誕生月 char fSex; // 性別 }; #pragma pack()

というふうに構造体をくるむらしい。 packの後の括弧内にはバイト単位でアラインメントの 最大サイズを指定する。指定できるのは1,2,4,8,16の 5種らしい。
私は仕事柄ファイルシステムの「フォーマッタ」を書くことが しばしばあるが、管理領域の情報を(アラインメントをつめた) 構造体で宣言しておくと、なにかと実装がしやすい。 GNUのmkdosfsのソースでは__attribute((packed))を使っており、 私もこれを見習っている。もちろん、この実装法は、 ファイルフォーマットに関するプログラミングをするときも 便利だ。MPEGやWAVなどのヘッダ部分を構造体で宣言すると、 読み書きをするときになにかと楽できる。
623840 journal

ClockworkPenguinの日記: Cプログラミング専門課程

日記 by ClockworkPenguin
Cプログラミング専門課程という本、大学時代に先輩のニシムラさんが「面白い。読むべき。」と言っていたのが気になっていたので半年くらい前に購入してみた。…のだが、購入したもののずっと放置していた。
でもこのG.W.中なにもしないのもどうかと思ったのを機に手にとり、昨日から寝る前にチョビチョビと読むことにした。確かに、他の本ではあまり見られない視線が徹底されているので面白い。プログラムが動作中にどうメモリが割り当てられていくなんて、普通の入門書では触れないものだ。C言語が高級言語の皮をかぶった低級言語だということは、入門書では隠蔽されるものだから。
個人的には、大学で多少はコンピュータアーキテクチュアの知識も仕入れたので知らないことが書かれていることは少ない。だけど、専門がコンピュータ自体だったわけじゃないので、実はこの本に書かれているようなことを系統だって学んだことがない。それは現在の仕事においてそれなりにコンプレックスになっていることも事実なので、この本をやり遂せればコンプレックスからも多少は脱却できるか。
ただし、多少この本に文句をいうとすれば、コンパイラに依存した具体的なテクニックの記述をもうちょっとしたほうが親切じゃないの、ってことか。「プリプロセッサの出力をちゃんと見ろ」っていうんなら、gcc(もちろん、正確にはcpp)でプリプロセッサ出力を得るオプションを一言書いてくれてもよかった。「構造体のメンバのメモリ上での割り当て」について触れるのなら、__attribute((packed))でそれが解除できることにも触れるべきでは? そういうリファレンスとしても使えるようになってたらさらに便利なのにね。
typodupeerror

私は悩みをリストアップし始めたが、そのあまりの長さにいやけがさし、何も考えないことにした。-- Robert C. Pike

読み込み中...