「おはツイ」アプリ(twicca plugin)公開しました

「おはツイ」アプリ(twicca plugin)公開しました

「おはツイ」というアプリ(twicca plugin)を公開しました。 PC: https://market.android.com/details?id=org.orzlabs.android.wokeup Android: market://details?id=org.orzlabs.android.wokeup いつも「おはよー #5ji #ohayo」などのツイートは手入力していたのですが、 何となく面倒になってきたので、プラグインを作ってみました。 フォーマットは、java.util.Formatterの書式を使用して変更できるので、 例えば、 “おはよー。 #ohayo #hayaoki #%tkji %1$tTなう” と、設定すれば、今が6:53:48であれば、 “おはよー。 #ohayo #hayaoki #6ji 6:53:48なう” というメッセージがtwiccaツイートに入力されます。 設定は、twiccaの MENU -> その他 -> 設定 -> プラグイン設定 -> ツイート編集プラグイン -> おはツイ -> ツイートフォーマット で、変更できます。 設定を変更して、エラーが出たり、よくわからなくなってしまったら、 MENU -> その他 -> 設定 -> プラグイン設定 -> ツイート編集プラグイン -> おはツイ -> 設定をリセット で、元に戻せます。 まだまだ至らない点が多々ありますが、生暖かい目で見守ってください。 何か、気づいた点などありましたら、お気軽にコメントいただければ幸いです。

2011-03-12 · 1 分 · Masayuki Igawa
Ubuntu(10.10)で最新Kernelビルド

Ubuntu(10.10)で最新Kernelビルド

UbuntuでKernelをビルドしたくなり、そのときのメモ。 http://dogmap.jp/2009/06/19/rebuild-kernel/ を、参考に(ほぼそのままですが)しました。 /*** カーネル再構築に必要なパッケージをインストール ***/ $ sudo apt-get install build-essential $ sudo apt-get install kernel-package libncurses5-dev libqt3-mt-dev $ sudo apt-get install git git-core $ sudo apt-get install fakeroot /*** カーネルソースをインストールして展開 ***/ $ mkdir ~/src; cd src $ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git /*** .config ファイルの作成 ***/ $ cd linux-2.6 $ cp /boot/config-2.6.35-xx-generic .config /*** 好きなconfigをONにする。今回は、LGUESTと 例のミラクルパッチwをONにしてみた http://gihyo.jp/admin/clip/01/linux_dt/201011/18 ***/ $ make menuconfig /*** カーネルのリビルド ***/ $ fakeroot make-kpkg clean $ fakeroot make-kpkg --initrd --revision=.20110121 kernel_image kernel_headers 今はここまで。これが終わったら、以下を実行予定。 /*** .deb ができるので dpkg でインストール ***/ $ cd .. $ dpkg -i linux-image-2.6.38.xx_20110121_x86.deb # スクリプト化しよう。。 (2011/01/30追記)だったが、うまくいかなかった。。が、 試行錯誤し、以下のようなパッチをあててなんとかできるようになった。 --- /usr/share/kernel-package/ruleset/kernel_version.mk.orig 2008-05-02 07:06:28.000000000 +0200 +++ /usr/share/kernel-package/ruleset/kernel_version.mk 2010-07-08 00:02:45.316669641 +0200 @@ -62,7 +62,7 @@ @echo "$(strip $(EXTRAVERSION))" debian_LOCALVERSION: - @echo $(if $(strip $(localver-full)),"$(strip $(localver-full))", "$(strip $(LOCALVERSION))") + @./scripts/setlocalversion debian_TOPDIR: # 2.6 kernels declared TOPDIR obsolete, so use srctree if it exists 参考サイト:http://d.hatena.ne.jp/kinneko/20110111/p53

2011-01-22 · 1 分 · Masayuki Igawa
picture

Simple Massager v1.1.1 released!

Simple Massager v1.1.1をリリースしました。 v1.1.1: 画面表示をよりシンプルにわかりやすくしたつもりです。 もし、バグを見つけたり、ご意見などありましたら、 下記のgithub ウェブサイトでその問題点等の書き込みをしてくれると嬉しいです♪ http://github.com/masayukig/Simple-Massager/issues ダウンロードは、以下を読み取っても可能です。

2010-10-29 · 1 分 · Masayuki Igawa
Androidアプリを作って公開してみた - Simple Massager

Androidアプリを作って公開してみた - Simple Massager

初めて、Androidアプリを作って公開してみた。 “Simple Massager” というアプリです。 機能は非常に単純で、 振動開始・停止 ランダム振動・連続振動の選択 が出来るのみです。 最大の欠点は、 「デバイスの振動が弱すぎてほとんど使いものにならない」 というところですw 次のアプリのアイデアもあるので、それの開発に着手したいと思います。 なお、ソースコードは、以下で公開しています。 http://github.com/masayukig/Simple-Massager 英語版ブログはhttp://blog.orzlabs.org/

2010-10-13 · 1 分 · Masayuki Igawa
ssh git@github.comで「Agent admitted failure to sign using the key. 」と なったら...

ssh [email protected]で「Agent admitted failure to sign using the key. 」と なったら...

ssh [email protected]で「Agent admitted failure to sign using the key. 」となったら、 ssh-add ~/.ssh/id_rsa と、するとうまくいくかもしれない。 参考サイト:http://ripan27.wordpress.com/2010/04/01/ssh-gitgithub-com-agent-admitted-failure-to-sign-using-the-key-permission-denied-publickey/

2010-10-11 · 1 分 · Masayuki Igawa
setting

LinuxにXperiaをUSBデバッグモードで接続する

以下、URLの情報を参考に、XperiaをUSBデバッグモードでLinux(Fedora13-2.6.36-rc6-sandbox-00084-gc6ea21e)へ接続してみました。 http://www.adakoda.com/android/000242.html http://salvan-devmemo.blogspot.com/2010/04/ubuntu-1004xperiausb-debug-mode.html EclipseとAndroid SDKは、インストール済みが前提。 で、まずは、Xperia側の設定から。 ホーム画面等から、 [設定]-[アプリケーション]-[提供元不明のアプリにチェック]-[開発]-[USBデバッグにチェック] これで、Xperia側の設定は終了。 なお、ここまでの段階ではまだXperiaをUSBで接続しない方が良い。 次に、PC(Linux)側の設定。 $ sudo vim /etc/udev/rules.d/51-android.rules $ cat /etc/udev/rules.d/51-android.rules SUBSYSTEM==“usb”, SYSFS{idVendor}==“0fce”, MODE=“0666” というようなファイルを作成し、以下を実行。 $ sudo udevadm control –reload-rules $ adb kill-server $ adb start-server なお、adbコマンドではroot権限は不要。各種コマンドのPATHは通しておいたほうが便利。 で、XperiaをUSBでLinuxマシンに接続。 $ adb devices List of devices attached XXXXXXXXXX(シリアル番号?) device が表示されればOK。もし、 $ adb devices List of devices attached ??????????(全て"?") device の場合には、何らかの設定がおかしいか、USBを接続しながらudevのリロードをした等が考えられるので、 再度、USBケーブルの抜き差し等を行ってみる。 で、さっそく適当サンプルアプリを作って動かして、画面キャプチャをとってみました。 (たかだかスクリーンショットをとるだけなのに、結構大変。。どうにかならんのか?)

2010-10-03 · 1 分 · Masayuki Igawa
SQLiteでprepared statementとBLOBを使って構造体を保存(C言語)その1 #sqlite

SQLiteでprepared statementとBLOBを使って構造体を保存(C言語)その1 #sqlite

SQLiteのC言語APIを使ってprepared statementで、BLOBを使ってみます。 基本的には、以下のサイトに書いてある方法ですが、日本語で書いてみることにします。 http://www.sqlite.org/capi3ref.html#sqlite3_stmt sqlite3_prepare_v2()(あるいはそれに類するもの)を使って、sqlite3_stmtのオブジェクトを作る。 sqlite3_bind_*() インターフェースを使ってパラメータに値をBind。 sqlite3_step()を使ってSQL実行。(sqlite3_step()は何回でも実行できる) sqlite3_reset()を使ってstatementをリセットして、step 2に戻る。これは何度でもできるし、やらなくても良い。 sqlite3_finalize()を使ってオブジェクトを破棄する。 というわけで、いきなりサンプルコードw 便利だなーと思ったのは、sqlite3_errmsg()関数。dbを引数にすると、 $ gcc -o sqlite_test sqlite_test.c -lsqlite3 $ chmod 000 test.db と、DBファイルを読み書き出来ないようにして、実行すると、 $ ./sqlite_test open error:14, unable to open database file と、何でエラーになったのかが表示されます。 さらに、このDBファイルをsqlite3コマンドで見たときの話は次回のエントリに書きたいと思います。 #include #include #include #include struct human { char name[256]; int age; int height; int sex; }; int main(int argc, char *argv[]) { struct human human[5] = { { "Isono Katsuo", 32, 168, 0 }, { "Isono Wakame", 29, 158, 1 }, { "Huguta Tarao", 20, 180, 0 }, { "Huguta Masuo", 52, 178, 0 }, { "Huguta Sazae", 48, 161, 1 } }; sqlite3 *db; sqlite3_stmt *dropStmt = NULL; sqlite3_stmt *createStmt = NULL; sqlite3_stmt *selectStmt = NULL; sqlite3_stmt *insertStmt = NULL; char *drop_tbl_sql = "drop table member"; char *create_tbl_sql = "create table member" "(id INTEGER PRIMARY KEY," "human BLOB NOT NULL )"; char *insert_tbl_sql = "INSERT INTO member (id, human) values (?, ?)"; char *select_tbl_sql = "select human from member where id = ?"; char *pzTail; int rc = 0; int exitcode = 0; rc = sqlite3_open("test.db", &db); //rc = sqlite3_open(":memory:", &db); if (rc != SQLITE_OK) { printf("open error:%d, %s\n", rc, sqlite3_errmsg(db)); exitcode = 1; goto end; } /* cleanup. ignore error. */ sqlite3_prepare_v2(db, drop_tbl_sql, -1, &dropStmt, NULL); sqlite3_step(dropStmt); rc = sqlite3_prepare_v2(db, create_tbl_sql, -1, &createStmt, NULL); if (rc != SQLITE_OK) { printf("create error:%d, %s\n", rc, sqlite3_errmsg(db)); exitcode = 1; goto end; } rc = sqlite3_step(createStmt); if (rc != SQLITE_DONE) { printf("create error:%d, %s\n", rc, sqlite3_errmsg(db)); exitcode = 1; goto end; } rc = sqlite3_prepare_v2(db, insert_tbl_sql, -1, &insertStmt, NULL); if (rc != SQLITE_OK) { printf("insert error:%d, %s\n", rc, sqlite3_errmsg(db)); exitcode = 1; goto end; } rc = sqlite3_prepare_v2(db, select_tbl_sql, -1, &selectStmt, NULL); if (rc != SQLITE_OK) { printf("select error:%d, %s\n", rc, sqlite3_errmsg(db)); exitcode = 1; goto end; } int i = 0; for (i = 0; i < 5; i++) { sqlite3_reset(insertStmt); sqlite3_bind_int(insertStmt, 1, i); sqlite3_bind_blob(insertStmt, 2, &human[i], sizeof(struct human), SQLITE_STATIC); rc = sqlite3_step(insertStmt); if (rc != SQLITE_DONE) { printf("insert error:%d, %s\n", rc, sqlite3_errmsg(db)); exitcode = 1; goto end; } } printf("-------------------------------------\n"); for (i = 0; i < 5; i++) { sqlite3_reset(selectStmt); sqlite3_bind_int(selectStmt, 1, i); rc = sqlite3_step(selectStmt); //printf("select result:%d\n", rc); if (rc == SQLITE_ROW) { struct human *t = (struct human*)sqlite3_column_blob(selectStmt, 0); printf("ID: %d\n\t name: %s\n\t age: %d\n\t height: %d\n\t sex: %s\n", i, t->name, t->age, t->height, t->sex == 0 ? "M" : "F"); printf("-------------------------------------\n"); } } end: sqlite3_finalize(selectStmt); sqlite3_finalize(insertStmt); sqlite3_finalize(createStmt); sqlite3_finalize(dropStmt); return exitcode; }

2010-06-19 · 2 分 · Masayuki Igawa
make oldconfigで全ての問い合わせ項目にEnterするスクリプト #Linux

make oldconfigで全ての問い合わせ項目にEnterするスクリプト #Linux

Linux kernelのmakeのターゲットでありそうな気もするんですが、見つからなかったので。 $ cat make_oldconfig_auto.sh #!/usr/bin/env expect set timeout 10 spawn make oldconfig while {1} { expect { "] (NEW)" { send "\n" } "# configuration written to .config" {break} } } interact 見てわかるとおり、expectを使って、"] (NEW)“というのが出てきたら、Enter入力。 “# configuration written to .config"が出てきたらおしまい。 というスクリプトです。

2010-06-05 · 1 分 · Masayuki Igawa
Valgrindの使い方

Valgrindの使い方

http://kzk9.net/column/valgrind-memcheck.html 自分用にメモメモ。 メモリリークを検出出来るらしい。

2010-05-20 · 1 分 · Masayuki Igawa
Linux(Ubuntu)で、Objective-C

Linux(Ubuntu)で、Objective-C

iPhoneアプリを作るなら、Objective-Cという言語を知っておく必要が ありそうなので、とりあえず、LinuxでObjective-Cをやってみる。 参考にしている書籍は、以下。 http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=hughundercons-22&o=9&p=8&l=as1&m=amazon&f=ifr&md=1X69VDGQCMF7Z30FM082&asins=4797346809 私は、とりあえず、図書館で借りました。 が、図書館に無かったり、近くに図書館が内容な場合は、上記からご購入ください :-) Apple製品専用言語なのかと思ったが、ググったら、Linuxでも動きそうだったので、 挑戦してみる。 以下、その内容。 まずは、Objective-Cの環境をインストール。 Linux で Objective C を走らせてみた の記事を参照して、以下の様にインストール。 $ sudo aptitude install gobjc パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 拡張状態情報を読み込んでいます パッケージの状態を初期化しています... 完了 拡張状態情報を書き込んでいます... 完了 以下の新規パッケージがインストールされます: gobjc gobjc-4.3{a} libobjc2{a} 0 個のパッケージを更新、 3 個を新たにインストール、 0 個を削除予定、1 個が更新されていない。 3700kB のアーカイブを取得する必要があります。 展開後に 9478kB のディスク領域が新たに消費されます。 先に進みますか? [Y/n/?] Y 拡張状態情報を書き込んでいます... 完了 取得:1 http://jp.archive.ubuntu.com jaunty/main libobjc2 4.3.3-5ubuntu4 [160kB] 取得:2 http://jp.archive.ubuntu.com jaunty/main gobjc-4.3 4.3.3-5ubuntu4 [3538kB] 取得:3 http://jp.archive.ubuntu.com jaunty/main gobjc 4:4.3.3-1ubuntu1 [894B] 3700kB を 2s 秒でダウンロードしました (1552kB/s) 未選択パッケージ libobjc2 を選択しています。 (データベースを読み込んでいます ... 現在 250930 個のファイルとディレクトリがインストールされています。) (.../libobjc2_4.3.3-5ubuntu4_amd64.deb から) libobjc2 を展開しています... 未選択パッケージ gobjc-4.3 を選択しています。 (.../gobjc-4.3_4.3.3-5ubuntu4_amd64.deb から) gobjc-4.3 を展開しています... 未選択パッケージ gobjc を選択しています。 (.../gobjc_4%3a4.3.3-1ubuntu1_amd64.deb から) gobjc を展開しています... libobjc2 (4.3.3-5ubuntu4) を設定しています ... gobjc-4.3 (4.3.3-5ubuntu4) を設定しています ... gobjc (4:4.3.3-1ubuntu1) を設定しています ... libc6 のトリガを処理しています ... ldconfig deferred processing now taking place パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 拡張状態情報を読み込んでいます パッケージの状態を初期化しています... 完了 拡張状態情報を書き込んでいます... 完了 で、まずは、お約束Hello Worldからw(インターネットはどれくらい"Hello World"であふれているのだろうか..) ...

2009-08-15 · 2 分 · Masayuki Igawa