« 2006年08月 | メイン | 2006年10月 »

2006年09月28日

Visual C#は使いやすい

突然ですが、Visual C# 2005 Express Edition というものがあります。
これはフリーで提供されているということ、また身近に使っている人がいて便利そうだったので
Visual C# 2005(以下VC#)をちょこっと使ってみました。

使ってみて驚いたのが
・ウインドウ(フォーム)のデザインや配置が視覚的に行える
・ボタンクリックなどの際の各種イベントの設定も簡単
ということです。

例:
・メニューバー・ツールバー・タブコントロールなどのついたウインドウ(フォーム)が簡単に作れる
・タスクトレイアイコンやバルーンチップを表示したり、なおかつタスクトレイアイコンを右クリックで簡単にコンテクストメニューを出せる


もちろんこれはVB(Visual Basic)やVC(Visual C)にもいえることかもしれません。
私はVBはやったことはありませんが、VCなら少しだけさわったことがあります。
猫でもわかるプログラミングのサイトと本を参考にしました。)

ところが、VCとVC#を比べてみると圧倒的にVC#のほうがお手軽にアプリケーションを作れるという気がしました。VCでは苦労した(またはめんどうな)ものがVC#では楽に作れてしまいます。
(右クリックでコンテクストメニューが出せてしまうところなど)

さらに文法もぱっとみた感じJavaに似ている感じで親しみがもてました。
まだC#はほとんど勉強していないですが、使いこなせたら今までより効率が大幅にアップすると思いました。(慣れればHSPよりお手軽かも??)

ということで、これからはC#使えるようになりたいと思いました。

◆C#の参考サイトへのリンク

DOBON.NET

C# Programming

C#,VB.NET入門

初めてのC# 〜 覚え書き 〜

改訂版C#入門





◆おまけ
C#をいじくって作ってみたものをおいておきます。
ほとんど知識なしでここまで作れてしまいます。
タブコントロールが簡単に扱えるのは涙もの(笑)

★ただのサンプル

★ただのジョークソフト


いずれもっとまともなものが作れるようになる・・・予定。

2006年09月24日

Javaでシューティングゲーム(Javaアプレット) その2

◆シューティングゲーム2006を公開しました。
以前記事で書いたときのものにいろいろ追加したものです。
不具合の修正や無理な処理の修正も行いました。
また、隠し要素も追加しました。そのスクリーンショットの中から派手なものをを少しだけ載せておきます。


BirdShootingMini.png

開発中のSS


BirdShootingTitle.jpg

タイトル画面(クリックでゲームのページへ)

2006年09月12日

Zaurusリンク集 - ZaurusでApache,MySQL,Perl,PHP,Javaなどを楽しむためのリンク

このページはZaurusでいろいろ遊ぶのに役立つリンク集です。
役立つサイトに勝手にリンクしています。
ただのリンク集ですが、カテゴリーごとにリンクしているので少しは役に立つかも・・・?

[現在の状況] カテゴリーが開発・言語などに偏っています。
少しまとまりがないかも(同じサイトへリンクが張られていたり・・・。)




◆開発・プログラミング・サーバ関連
SLザウルス 開発者向け パッケージ・ツール類
ipk化されたJikesコンパイラ・Ant・Tomcatを公開されています。Zaurus上でJavaを楽しみたい方必見


Java解説
jikesを使うと、実はZaurus上でJavaをコンパイルしclassファイルをつくれますが、その解説ページ


Ruby/Qte
RubyでQtのGUIのプログラムが作れます。


あさあさの公開メモ
Ruby/Qteなどの解説や、SL-C3000のキーコード、desktopファイルなどの解説があります。


Perl
ZaurusではPerlも動かせます。必須かも(笑)


gnu-dev_0.0.4
セルフ開発環境。flexやbisonなどのパッケージがあらかじめ含まれているので便利です。


dev-img改良版
セルフ開発環境。dev_img-1.3 に Qtopia アプリのビルドに必要な変更をしたもののようです


Linuxザウルス/セルフ開発環境
dev-imgをセルフ開発環境構築のメモです


Python
ZaurusでPythonも動きます。英語ですが、Python for Zaurus Image and Tutorialあたりを読んでがんばればなんとかなります。PythonのDownloadページはこちら

---手順のメモ---
python24.ex2.gzを解凍し、
1. python24.ex2をハードディスクの適当な場所(/home/zaurus/Documents)にコピーする
2. python-exe_2.4.0-1_arm.ipkを通常通りにインストール
これでたぶん動くはず。
※python24.imgはSDカードまたはフラッシュメモリ用。python24.ex2を使うなら必要なし
---------------


LinuZau ToolBox りなざう つーるぼっくす
Apache,mod_perl,mod_php,mod_ruby等を公開されています。
また、キー操作をカスタマイズしたり、ランチャーをつくれるKeyHelper Applet、Zaurusでマウスが使えちゃったりするInputHelper Appletなどなどたくさんのソフトが公開されています。


Apache
Apache単体です。


Apache+PHP
ApacheとPHPをセットにしてipk化してあります。


MySQL 3.23.49-8.7
有名なオープンソースのデータベース管理システム



◆ソフトウェア
Linux zaurus 用のソフトウェア
libgcc,nkf,zlib,openssh,lynx,sudoなど非常にたくさんのものをipk化して公開されています。


Zaurus
bison,m4,flex,cramfsなどが公開されています(ipk化されていません)


X/Qt Server Project
Qt上で動作する X サーバとクライアントを開発されています。Linux Zaurusで手軽にX環境を体験できるかもしれません。
(私も入れてみました。なかなかおもしろいですがまだ操作に慣れないです(笑)
がんばればFirefoxも動きそう!?)



◆その他(総合的な情報サイト、リンクなど)
Zaurus 別館
ザウルスソフトウェアなどへのコメントとリンク集、情報があります。
ここを見ればこのリンク集はいらなかったりして・・・。


Zaurus Software Index
さまざまなソフトへの解説とリンク。英語ですが、かなり役に立ちます。


LinuX zaurus Toybox 〜りなざうおもちゃばこ〜
ソフトへの解説とリンク。日本語です。


Linuxザウルス
非常にたくさんの有用な記事があります。
Linuxで、ApacheやPerlをいれて楽しんだりしたい方、その他大勢の方必見!


はけのザウルス備忘録別館
LinuxZaurus関連のさまざまなメモがまとめてあるページ。qshdlg,Ruby/Qte,C++なども


日経LinuxのLinuxコマンド集
Linuxのコマンドをちょこっと調べたいときに便利。Linuxコマンド逆引き大全も便利そう。



◆その他(ブログ)
こちらはZaurusのついてのたくさんの情報があるブログです。
読んでみると面白いです。

通勤電車で地下探検Reloaded
(2006年10月31日ごろに移転されたようなのでリンク先を修正しました)

ザウルスのある生活 / Life with Zaurus

Zaurusでコンパクトフラッシュ(CF)をフォーマット

このページではZaurus(Linux)でコンパクトフラッシュ(CF)をフォーマットする方法をメモしておきます。

/*
なぜこんなことをしたかというと・・・・
先日、ZaurusでNAND Flash Back Upをやってみました。CFにバックアップしました。
うまくいったみたいなので、次にHDD BackupもCFにしてみました。容量が足りなくなりそうな気もしましたが、
どうにかなるだろうと・・・

(NAND Flash Back Upをするのに参考にしたサイト:
http://ayamem.exblog.jp/1303286/

そうしたところ、HDD Backupが途中で失敗しました。
たぶんCFの容量不足です。仕方がないのでNAND Flash Back Upで生成されたファイルのみ
PCに移動しようと思ったところ、CFのデータがきれいに飛んでいて、なぜか
Zaurusからは数MBしか認識されないようになっていました。
(本来よりずっと小さな値しか認識されていません。CFが壊れた!?)

仕方がないのでfdiskを使ってCFをフォーマットすることにしました。
けっきょくなんだかんだでHDDとNANDのバックアップは延期することにしました。
*/

このとき参考にしたのは以下のサイトです。
http://www.areanine.gr.jp/~nyano/icnhdd.html
ここの「ハードディスクのフォーマット」が役に立ちました。

Zaurus SL-C3200ではCFは
/dev/hdc
になっているようなので上記サイトのhdaをhdcに読み替えて行いました。
まず、

1.CFをアンマウント。

# umount /dev/hdcだったと思います(自信なし)

2.fdisk起動。
# fdisk /dev/hdc

Command (m for help):
とでたらとりあえず"p"をいれて情報を見ます。

例:(数値等は適当)
Device Boot Start End Blocks Id System
/dev/hdc1 1 4029 121236+ 1 FAT

とりあえず、今ある領域を全て削除します。

Command (m for help): d
でdをいれて、全部削除します。

全部消えたらあとは上記サイトとほぼ同じで

Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-123, default 1):
Last cylinder or +size or +sizeM or +sizeK (1-123, default 123):
Using default value 123

とします。


3.最後にFAT16にします。

Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): 6

変更を有効にするために、wコマンド実行です。これを実行するとデータが全て消えます。ご注意を!
変更を有効にしないためにはqで終了します。詳しくはmコマンドでヘルプを見てください。

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.
Syncing disks.

# mkfs.vfat -F 32 /dev/hdc1
mkfs.vfat 2.8 (28 Feb 2001)
#


あとは
mount /dev/hdc1 /mnt/cf
で認識できました。

なぜか電源を入れなおしたりしても認識しませんでした;;


一度CFを入れっぱなしにして再起動したところ、
これが原因かわかりませんが、CFの中身がいい感じに構築しなおされて
自動で認識するようになりました。
以上で復旧完了です。

サービスメニューでNAND Flash Back Up / HDD Backupするときは気をつけましょう(苦笑)

※スパムコメントが多いため、コメントはつけられなくしました(2008/03/04)

2006年09月11日

emacsにpyhon-modeを導入する

emacsでpythonのプログラムを書くことになりましたが、そのままではインデントなどの入力が
うまくいかず、非常に不便です。
そこで今回、emacsにpyhon-modeを導入しました。
何も新しいことはないですしすぐにできるのですが、慣れないので苦労しました。
次回以降のためにここにメモしておきます。


(それにしてもこのブログ内容がまとまらんな(苦笑))

python-modeのインストールメモ (VineLinuxにインストールしました)

◆手順
python-modeをDLして解凍する。

http://sourceforge.net/projects/python-mode/からDLできる。

でてきたファイルを
/usr/share/emacs-21.3/site-lisp/python-mode-1.0
などのロードパスの通った場所に移動する。

※ロードパスを調べるには
M-x describe-variable
とした後にload-pathと指定する。


.emacs.el(私の環境では.emacsはだめ?)に以下を追記する


;; python の設定
(add-hook 'python-mode-hook '(lambda () (font-lock-mode 1)))
(autoload 'python-mode "python-mode"
"Major mode for editing Python programs" t)
(setq auto-mode-alist
(cons (cons "\\.py$" 'python-mode) auto-mode-alist))

ここでemacsを再起動し、
M-x python-mode
とすればモードを切り替えられる。


※特にバイトコンパイルなどの必要はなかった


参考サイト:
http://park.ruru.ne.jp/ando/work/who/epojava/doc/zope.html


;;-------------------------
おまけ

php-modeの場合、.emacs.elに
;;php-mode
(load-library "php-mode")
(require 'php-mode)
を記述する。


M-x : byte-compile-file
としてel ファイルのバイトコンパイルが必要だった。
インストール方法は以下のサイトを参考にすればよい。

参考サイト:
emacs で PHP-mode と mmm-mode を使う
の通りにすればPythonと同様にできる。

----------------------------------

※「M-x」は「Alt+xを押す」または「ESCを押した後にxを押す」
ということ。
普通のキーボードにはMetaキーがないのでこのように操作する。
ちなみにC-xはCtrl+xのこと。

----------------------------------

最後にスクリーンショットを。ちゃんとPythonモードになっています。
python-mode.png

----------------------------------

おまけ2
emacsをウィンドウサイズを指定して起動するには
emacs -geometry 90x30
などとすればよいみたいです。
VineLinuxをXGAで起動した場合、なぜかデフォルトではウインドウが大きすぎるので
この方法を使うのもいいかも・・・。

2006年09月07日

ZaurusでPHP4をセルフコンパイルする

Zaurus(SL-C3200)でPHP4をセルフコンパイルしてみました。
これはPHPのソースコードをダウンロードしてきて、Zaurusでコンパイル、インストールするというものです。
PHPはすでにipkのパッケージがありますが、一度Zaurusでセルフコンパイルしてみたかったので
あまり意味もなくやってみました。
(本当はPearが一緒にパッケージになっているPHPをインストールしたかったからはじめたのですが、インストール後にPearが見つからず・・・?
2006/09/09追記:インストール後のログをよく見ると、
PEAR: unable to unpack /home/system/var/mnt/extmount/php-4.4.4/pear/package/PEAR-1.4.9.tar
とでてますね。解凍ができずうまくインストールできてないようです。手動で解凍したらそれらしいファイルがでてきました。なんとかしなければ…(苦笑)


ここでは自分でコンパイルする方法をメモしておきます。


※ここの情報は間違っている可能性や、お使いの環境により異なることもあるので実行は自己責任でお願いします。




◆下準備

まず、万が一に備えZaurusのバックアップをとっておくことをお勧めします。

(あらかじめApacheはインストールしてあるものとします。別バージョンのPHPが入っている場合はアンインストールしておいてください)


セルフ開発環境の配布 (gnu-dev_0.0.4)から開発環境をダウンロードします。

flexやbisonなどのパッケージがあらかじめ含まれているので非常にありがたいです

dev-imgというのもあり、それを使った方法もありますが、flexやbisonなどのパッケージが゙はいっていないのでそのままではPHPをコンパイルできませんでした。しかし、参考になりました。

・dev-imgの関連リンクLinuxザウルス/セルフ開発環境


gnu-dev_0.0.4はcraft化されているので、マウントしてあげて使います。
私はSDカードの直下にコピーしました。
以下のコマンドを実行します。

# mkdir /usr/local/gnu # mount -t cramfs -o loop /mnt/card/gnu-dev_0.0.4_cpp.cramfs /usr/local/gnu $ export PATH=/usr/local/gnu/bin:$PATH $ export LD_LIBRARY_PATH=/usr/local/gnu/lib:/usr/local/gnu/arm-linux/lib:$LD_LIBRARY_PATH

これでgccが使えるようになりました。


gcc --version

と打ってみてバージョンがでれば大丈夫です。
(command not foundとなるようではだめ)

//---
$ export PATH=/usr/local/gnu/bin:$PATH
$ export LD_LIBRARY_PATH=/usr/local/gnu/lib:/usr/local/gnu/arm-linux/lib:$LD_LIBRARY_PATH
は毎回実行する必要があるので、面倒であれば
/home/zaurus/.bashrcや/home/root/.bashrcに書き込んでおくとよいでしょう。
こうするとターミナルを起動するだけで書き込んだ内容が実行されるようです。
//---

次にSDカードの準備です。あらかじめext3などでフォーマットしてある場合は大丈夫ですが、
fatなどでフォーマットしてある場合は、そのままではハードリンクがはれないためコンパイル途中で
エラーになってしまいます。
そこで りなざう事始
の「ext3 パーティションの作成」を参考にして一部の領域をext3化しておきます。
(別に全部フォーマットしなおしてもいいのでしょうが、なんかいやなので・・・)

私は512MB程度ext3としました。以下を実行


dd if=/dev/zero of=/mnt/card/FILE bs=1M count=512
/sbin/mke2fs -j /mnt/card/FILE
mkdir /mnt/MOUNT


/etc/fstab に以下を追加


/mnt/card/FILE /mnt/MOUNT ext3 noauto,loop 0 0


SD カードを使っているので/etc/sdcard/sd_mem_ctrlを編集
(内容省略。リンク先を参照のこと)


そして、SDカードの直下にPHPをダウンロードしてきて
おいておきます。私はphp4.4.4をダウンロードしました。
そして、
/mnt/card/php-4.4.4.tar.gzのようにしておきました。
そしてこれを/mnt/MOUNTの中に移動しました。

これで準備完了です。


◆コンパイル・インストール
コンパイルとインストールは
./configure→make→make install
の順で行います。
※かなり時間がかかります。ACアダプタを接続して行ってください。


・まず、/mnt/MOUNTに移動します。


cd mnt/MOUNT

・解凍


tar zxf php-4.4.4.tar.gz

(tar zxvf php-4.4.4.tar.gzでもいいですが、詳細を表示するため非常に時間がかかります)

./configure を実行。(オプションはお好みのものをつけてください。参考:付録 F. Configure オプション

./configure \ --with-apxs=/home/www/bin/apxs \ --with-config-file-path=/home/www/conf \ --enable-mbstring


make を実行


make

なぜか途中でエラーが出るので


/mnt/MOUNT/php-4.4.4/Zend/zend_strtod.c
の240・241目をコメントアウト(/**/で囲む)

zaurus_php1.png
↑このようにする・・・。

(作者がコメントをコメントアウトし忘れたみたいです。たぶん。これはどう見てもソースコードではない)

make install を実行


make install


zaurus_php2.png
↑インストール終了

※フラッシュメモリの空きが少ないと途中で止まってしまいます。


これでインストール完了です。


あとは普通に使えるみたいです。
phpinfoを表示してみたりして確認してください。

zaurus_php3.png
↑phpinfoをしてみたところ



--------------------------------------------

余談

私のコンパイル&インストール履歴(?)

・普通にdev-imgでコンパイルしようとした
          ↓
・パッケージが足りないため失敗
          ↓
・パッケージをインストールしようとして失敗(しかもcraft化する環境なし)
          ↓
・gnu-dev_0.0.4を使うことにした。パッケージ問題解決。
          ↓
・ファイルシステムがfatだったので大文字小文字の区別がつかず失敗
          ↓
・マウントの際にオプションをつけて対策する(過去の記事
          ↓
・ハードリンクを張れないといわれ失敗
          ↓
・結局一部をext3にしてコンパイル
          ↓
・ソースがおかしいため、途中でコケる。コメントアウト
          ↓
・フラッシュメモリの容量が足りないため失敗。余計なアプリケーションを削除
          ↓
・インストール成功!!


長かった・・・


--------------------------------------------

おまけ2
ハッキングLinuxザウルス
というザウルスの本を買いました。
Walrus, Visitの方などが書いていて、ここまで内容が濃い本はたぶんこれだけです。
なかなかよいのでおすすめ。

Zaurusではまったこと

Zaurusで、大文字のディレクトリを作ったはずなのに小文字になっていることがある!
かなりなやみましたが、いろいろ探した結果、対処法がみつかりました。



◆Zaurusで、大文字のディレクトリを作ったはずなのに小文字になっていることがある!

これは
ファイル名の大文字→小文字変換抑制
を参考に対処すれば大丈夫なようです。

私はSDカードの場合の対処法のみを試してみましたが、うまくいくようです。
SDカードの場合は/etc/sdcard/sd_mem_ctrlを修正します。

FATOPTS=〜の部分にshortname=winntを追加して、

FATOPTS="-o noatime,quiet,umask=000,iocharset=utf8"

FATOPTS="-o noatime,quiet,umask=000,iocharset=utf8,shortname=winnt"


とすればよいみたいです。

※またはフォーマットをvfatでなくext3にすればよいとか。でもこちらの方法のほうがお手軽ですね。


// ハードディスクは最初からext3の形式になっているのかと思い込んでました(苦笑)
// ハードディスクはvfatじゃないはずなのになんで小文字になるんだろうとずっとなやんでいたら・・・
// ハードディスクもvfatらしいですorz


※ここの情報は間違っている可能性や、お使いの環境により異なることもあるので実行は自己責任でお願いします。