2009-01-01から1年間の記事一覧

Ruby/Qteでもイベントが受けられた

昨日の続きだが、調査の結果、QObjectクラスに追加されているcatchEventメソッドを呼び出すことによって、イベントを受信できるようになることが判明した。 class MyWidget < QWidget def initialize(*args) super(*args) catchEvent : : end def paintEvent…

Ruby/Qteでもイベントは受けられるはず

2009年10月16日に以下のことを書いた。 短所 virtualメソッドをオーバーライドできない。そのため、QWidgetのkeyPressEventなどをオーバーライドすることによる、ちょっとしたカスタマイズができない。 ところが、最近試した便利なツール RQR に不具合があっ…

各種スクリプトでメモ帳を作成する(その2)

Pythonに続いてRubyでメモ帳を作成した。download:notepad.py_rb.tar.gz 速いが劣り過ぎ Python版と見た目は同じだが、内部的に大きな違いがある。以下にその違いを記す。 長所 シグナル処理が早い。QMultiLineEditにおけるBSキーやDelキーによる文字削除で…

NetWalkerは残念ながら駄目だ

今日、電気デパートでNetWalkerを手に取って見た。 まずは持った感じだが、ディスプレイ側に重心がずれていて、安定感がなかった。キーボードの打鍵感はフカフカしており、しっかり押せたと言う感じが少なかった。また、両手で持って親指で押すには大きく、…

各種スクリプトでメモ帳を作成する(その1)

Qtシグナルのサンプルプログラムに続いて、C++/Perl/Ruby/Pythonによりメモ帳を作成する。プログラムの規模が大きくなるため、1つの言語で完成するごとに発表しようと思う。 今回はスクリプトの中で(つまり、C++を除いて)Qtライブラリの完成度が一番高いと…

主観的Pythonの罠

今回初めて1000行近いPythonスクリプトを書いた。 Perlをある程度、Rubyを少々知っている自分がはまったPythonの罠を記録して置こう。 Pythonには文字列内の変数展開がない。 Pythonのオンラインマニュアルは慣れるのに時間が掛かる。良くも悪くも機能が細か…

Foxconn A7GM-SでCentOS 5.3(その2)

VMware Player上のWindows 2000では、メディアの読み込みは全く問題ないが、書き込みに失敗する(「無効なコマンド」と言うエラーが発生する)ことが判明した。どうやら、VMware Playerの仮想CDドライブは、書き込みコマンドに対応していないらしい。 そこで…

PerlQt移植ヒストリ(第9回)

PerlQt/Embeddedを2.105-p0.04に更新した。 ダウンロード Perlライブラリ:lib-perl-qte_2.105-p0.04_arm.ipk ソースファイル:perlqt-2.105-p0.04-src.tar.gz 更新内容 以下のソースコードにおいて、QStringをPerlの文字列に変換/逆変換する場合はUTF-8を…

〔祝〕子孫繁栄 NetWalker誕生!

シャープから新しい超小型Linuxマシンが発表された。 その名も「NetWalker PC-Z1」。 ubuntu 9.04が搭載されているらしい。 Zaurus以来、モバイルPCはWindows OSしか現れず、慚愧の念に耐えないと感じていたところだ。また、現在使っているSL-C3000のキーボ…

CentOS 5 Live CDのパスワード

CentOS 5.3を導入するにあたって、ライブCDの部屋に掲載されているCentOS 5 日本語版Live CDを予め試して見た。なかなか良い感じではあったが、何とrootのパスワードが分からないことに気が付いた。これでは何かと不便である。 調べたところ、12qwaszx だっ…

Foxconn A7GM-SでCentOS 5.3(その1)

家族のためにクレバリーから購入したBTOパソコンのマザーボードが壊れたので、Foxconn A7GM-Sに交換したが、(当然)Windows 2000がサポートされていなかったので、これを機会にLinuxに移行しようと思い立った。 色々なディストリビューションをLive CDなど…

RewriteRuleとCGI

CGIの呼び出しをRewriteRuleで書き換えるときは、以下の点に注意する必要がある。 RewriteRuleディレクティブで指定するマッチパターンの対象となるものは、CGIへのパラメータを含んだREQUEST_URIではなく、CGIファイルパスのみのSCRIPT_NAME(または、SCRIP…

コメントははてなユーザのみ

最近連続でいやらしくて鬱陶しいスパムコメントが書き込まれるようになってしまったので、コメントははてなユーザのみが書き込めるように泣く泣く設定した。真摯な方々にまで門戸を閉ざすのは大変心苦しいのだが、スパムコメントが書き込まれて悲しい憤りを…

各種スクリプトでQtシグナルを使う

C++/Perl/Ruby/Pythonにおけるシグナルとスロットの接続、独自シグナルとスロットの定義、独自シグナルの送信に関してまとめるためにサンプルプログラムを作成した。download:qtsig.tar.gz上記tarballには以下のファイルが含まれている。 +-- qtsig.tar.gz …

PerlQt移植ヒストリ(第8回)

PerlQt/Embeddedを2.105-p0.03に更新した。 ダウンロード Perlライブラリ:lib-perl-qte_2.105-p0.03_arm.ipk ソースファイル:perlqt-2.105-p0.03-src.tar.gz チュートリアル:perlqt-2.105_tutorials-2.0-p3.tar.gz サンプル:perlqt-2.105_examples-2.0-p…

PerlQt移植ヒストリ(第7回)

PerlQt/Embedded 2.105-p0.02で、「const QString &」を引き数に持つ標準ウィジェットのシグナルとスロットを接続できないバグが見つかった。原因は、シグナルやスロットのプロトタイプを解析する処理(pigproto.c/pig_parse_proto関数)で、参照を意味する…

Perl - CPAN - DBD::SQLiteパッケージ

ここに掲載するものは、塚本さんにパッケージ化して頂いているZaurus用Perl 5.6.1に追加でインストールするPerlライブラリのDBD::SQLiteである。ソースはここからダウンロードし、dev-img-1.3でセルフコンパイルした。download:lib-perl-dbd-sqlite_1.14-1_…

opie-shを発見

ここで塚本さんにopie-shの使用方法を和訳して頂いているが、肝心のopie-shパッケージが作者spiralmanさんのサイトごと無くなってしまった。たぶん、大学を卒業されたのだろう。使うときにダウンロードすれば良いだろうと思ったのはあまかった。さんざん探し…

cramfsイメージを作成する

先日、SquashFSイメージの話をしたが、今回はcramfsイメージの話である。Zaurusではcramfsイメージをデフォルトカーネルでマウントできる。しかし、mkcramfsコマンドが同梱されていないので、cramfsイメージを作成することはできない。 そこで、ここからソー…

SquashFSイメージをLinux上で作成する

ここからダウンロードできる複数HTML形式のPHPマニュアルをZaurusで持ち歩いて、気軽にPHPを学習しようと考えた。しかし、かなりファイル数が多い(2009-03-20版で8597ファイル)ので、省ディスクのためにSquashFSイメージ化することにした。 ZaurusでSquash…

パッケージの小技

Perl/Qtを解析していて見つけた小技を紹介する。※改めてマニュアルを読むと、書いてあることばかりだが。 ロードしたことにする方法 「%main::INC」にファイル名をキーとして任意の値を定義するとロードしたことになり、requireやuseにおいて実際にファイル…

汎用forの使い方

Lua

最近、ゲームなどに採用されているLua言語を勉強して見た。そこで気が付いたのが、汎用for(generic for)に関する具体的な説明が見当たらないことだ。これではせっかく存在する機能が見捨てられてしまうと思ったので、ここで説明して見ようと思う。汎用for…

Pythonを使って見よう

ふと、Pythonを学びたくなったので、Zaurus(SL-C3000)にインストールしようと思い立った。 インストール ここを参考にpython24.ex2.gzとpython-exe_2.4.0-1_arm.ipkをダウンロードし、以下のコマンド: # cp python24.ex2.gz /hdd3/Documents/ # gzip -d /…

後ればせながら、生産終了への思い

2008/12/13(土)、とうとうZaurusの生産が終了した。シャープには「よくぞ、ここまで耐えてくれた」と言うほかない。これで、今使っているSL-C3000が壊れたら、場合によってはそれでお終いである。それを見越して、2008/04/19(土)にSL-C3200をヤフオクで購入…