2006/6/20 火曜日

無事だったヽ(´ー`)ノ

カテゴリー: 未分類 — ryu @ 23:37:25

自分の気のせいで一安心。
何にも出来ないけどそれはそれでまあ良しとヽ(´ー`)ノ

しかしあの夢はなんだったんだ(汗

無事を祈って

カテゴリー: 未分類 — ryu @ 1:45:24

何か変な夢見て目、覚めた。
昼間、話していたことがイメージとして残っていて深層意識から出てきただけだと言うのは解ってるけど、それでも気になるのでメール。返事が返ってこないと言うことは大丈夫と言うことか・・・な。

漆黒の闇の中、安らぎの時間が訪れることを祈って。

2006/6/17 土曜日

DLLからlibの作り方

カテゴリー: おぼえ書き — ryu @ 9:11:43

ああ、もう半年以上前で懐かしい記憶に成りつつある…。
Aygshellのwrapper作ってたけど、ホーミンさんが快くDummDllを改定していただいたのでそれ以来触ってなかった。ちょっとまたAygshell周り触ることになりそうな予感なんで、色々やりかけてたけどいちから作り直し。

1.dumpbin /export でDLLのExport一覧を取る
2・それを元にDEFファイルを作成
3.lib /def:aygshell.def /machine:ARM

で、aygshell.libが完成。

後はフック分を作ればOKと。

2006/6/14 水曜日

rootログインは危険の怪

カテゴリー: 未分類 — ryu @ 22:02:25

えーと、適当なこと書きます。
一般にネットワーク経由でrootログイン出来るようにする設定は危険といわれています。
が、「ナゼ?」という部分で自分なりに納得できなかったのでググったりすると以下のような意見が多いようですが…。

- 何でも操作できるのでコマンド間違えたら危険
- passwordが平文で流れるから危険

うーん、やっぱり納得できませぬ。
→反対意見

-何でも操作できるのでコマンド間違えたら危険
 →suだろうが同じ事

-passwordが平文で流れるから危険
 →キャプチャできないしね
 →SSHなら暗号化されてるからOKかというとそーじゃないでしょ?

と、言いつつもつらつら考えてみると…

→ rootという特権ユーザのアカウント名がばれてるから危険

って事かなーと思います。
アカウント名+パスワードをクラックする必要のあるところがパスワードだけクラック出来ればOKになっちゃうということ。しかもクラックされたら特権が魔の手に渡ってしまう。とかいいつつもsshdってデフォルトrootログイン可能なこと多いんだよね~。

と、反対意見募集。というか本当の理由教えてください…。

「AJAXに関する質問」に寄せて

カテゴリー: 未分類 — ryu @ 21:49:27

前のミネラルウォーターの話は外しまくってましたがまたしても中島さんのBlogねた(笑。
マイミク承認してもらえるぐらいになるまでTBし続けます(笑

JavaWorld Day 2006での講演に向けて、AJAXに関する質問募集

今回はJavaWorldってことで開発系のイベントなんで会場に来ている層もそういう人も多いと仮定して気になるところを。

1.従来型WebAPPと比較してサーバ負荷は?
 ・ページを丸ごと生成するよりはデータ量は少ないはず
 ・ただしアクセス数は倍増
 →トータルでは?

2.従来型WebAPPと比較して開発コストは?

3.猫も杓子もAjaxでいいの?
 ・適材適所だと思いますけどAjaxへの適応度が高いアプリケーション・利用形態とは?
 ・インターネットに公開しないような業務システムまでAjaxがいいんですか?
 → Web2.0的にSalesForceのようなサービスでAjaxは有効?
 → 現行のリッチクライアントをわざわざAJAXにしなくても?

といった辺り、質問というよりも警鐘・啓蒙してもらえたらなぁと。
そもそもJavascriptって廃れつつあったはずだしなー。

公式ForumとこのBlogと

カテゴリー: Skype — ryu @ 0:26:55

一応、ハンドルも分けて(向うではxai)活動してましたが、ま、も、いいっかーという理由からいっしょくたにします。いきなりLinuxAPIのサンプルがごろっとしてますがこれは昔、APIフォーラム(英語)にポストしてたサンプルに意外ににアクセスが多く最近「イベント受ける版よこせやー」←(英語)という書き込みが有ったので載せました。

突然のようで自分の中では突然ではないので一応言い訳。

フォーラムにしかないSSRとかc#のサンプルコードとかJavaのサンプルとかも整理しないとなーと思ってて、それこそ「リンク集」でも作ろうと思ってたり。

eBay Developers Conference 2006:Servers and Plugins: The Future of the Skype API

カテゴリー: Skype — ryu @ 0:12:06

Skypeでなんかやろうと思ってる人、
Skypeじゃなくてもなんかやろうと思ってる人、
両方とも必見です。

ちょっと重いPDFですけど、Devcon一日目の午後に行われたMat Taylorさんのセッション資料を見てください。SkypeAPI関連の今後のビジョンが結構詳しく紹介されています。eBayにどうSkypeを取り込むかという発表だけかと思って注目していなかったんですがSkype本体の方の今後についてのセッションもあったようです。

Available June/July, 2006
• New Extras Gallery
• Skype 4 Java
• SkypeCasts API
• SMS API
• Skype 4 Web
Coming Soon,2006
• (Q3) Voice Access API
• (Q4) Call Transfer API
• (Q4) Personalisation API
• (Q4) Plugin Framework

・色々言われてきた転送が出来るようになるとか
(制限)Forward calls whilst they are in progress
・VoiceAccessAPIでVirtualAudioCable無しに音声の横取りが出来るようになるとか
・Plugin FrameworkにPaymentAPIが含まれるとか

色々かかれています。詳しくは上記PDFをよく読むと解ると。

Skypeさんが凄いなーと思うのはこういうビジョンを明確に公の場で外に出す所なんですよね。PaymentAPIは確か去年の夏に発表でいまだに実現せずだったり全然言ってなかったSkypeCastが始まったりなんだかなーな部分も有るんだけどそれでもやっぱりビジョンがあるからこそ周りも夢を持てて付いていけるんだろうなぁと。
(続きを読む…)

2006/6/13 火曜日

Skype Linux D-BUS sample code

カテゴリー: Skype — ryu @ 23:22:06

Hi, below is Skype Linux D-BUS API receiving event without Qt/Glib.
This is a sample, so it poll event and not use select and wait.

enjoy!

--
 #define DBUS_API_SUBJECT_TO_CHANGE

 #include <stdio.h>
 #include <string.h>
 #include <dbus/dbus.h>

 #include "mgw.h"

 #define DISPATCH_STATUS_NAME(s)                                               \
                      ((s) == DBUS_DISPATCH_COMPLETE ? "complete" :           \
                       (s) == DBUS_DISPATCH_DATA_REMAINS ? "data remains" : \
                       (s) == DBUS_DISPATCH_NEED_MEMORY ? "need memory" :   \
                       "???")

 char *sendToSkype( DBusConnection *conn, char *msg);

 DBusWatch      *g_watch = NULL;

 dbus_bool_t dbusAddWatchFunction( DBusWatch *watch, void *data ){
     puts( "dbusAddWatchFunction" );
     g_watch = watch;
     return TRUE;
 }
 void dbusRemoveWatchFunction( DBusWatch *watch, void *data ){
     puts( "dbusRemoveWatchFunction" );
 }
 void dbusWatchToggleFunction( DBusWatch *watch, void *data ){
     puts( "dbusWatchToggleFunction" );
 }
 void dbusFreeFunction( void *memory ){
     puts("dbusFreeFunction!!");
 }
 static void nm_unregister_handler( DBusConnection * connection, void *user_data ){
     puts( "nm_unregister_handler" );
 }

 static DBusHandlerResult nm_message_handler(
             DBusConnection * connection, DBusMessage * message, void *user_data )
 {

     DBusMessage *tmpmsg;
     DBusMessageIter iter, array;
     int reply_timeout, array_type;
     char *apim;

     tmpmsg = dbus_message_ref( message );

     dbus_message_iter_init( tmpmsg, &iter );
     if( dbus_message_iter_get_arg_type( &iter ) != DBUS_TYPE_STRING ){
             fprintf (stderr, "Error: reply is not except format 1\n");
             return FALSE;
     }
     for( ; ; dbus_message_iter_next( &iter ) ){
         apim = dbus_message_iter_get_string( &iter );
         printf( "message_handler::[%s]\n", apim );
         if( !dbus_message_iter_has_next(&iter) )
             break;
     }
     if( dbus_message_get_no_reply( tmpmsg ) != TRUE ){
         DBusMessage *reply = dbus_message_new_method_return( tmpmsg );
         dbus_connection_send(connection, reply, NULL );
         dbus_message_unref( reply );
     }

     dbus_message_unref( message );

     return DBUS_HANDLER_RESULT_HANDLED;
 }

 //
 //
 //
 //////////////////////////////////////////////////////////////////
 int main (int argc, char **argv){

     char *tmp;

     DBusConnection *connection  = NULL;
     DBusError error;
     dbus_error_init (&error);

     DBusObjectPathVTable vtable =
         { &nm_unregister_handler, &nm_message_handler,
                         NULL, NULL, NULL, NULL };

     connection = dbus_bus_get (DBUS_BUS_SYSTEM, &error);
     if (connection == NULL){
         fprintf(stderr, "Failed to open connection to bus: %s\n",
                     error.message);
         dbus_error_free (&error);
         exit (1);
     }
     printf( "D-BUS connection OK!\n" );

     tmp = sendToSkype( connection, "NAME hogehoge");
     puts( tmp );
     printf( "Sent My name!\n" );
     usleep( 200 );
     tmp = sendToSkype( connection, "PROTOCOL 5");
     puts( tmp );
     printf( "PROTOCOL 5!\n" );
     usleep( 200 );

     dbus_connection_set_watch_functions(
                 connection,
                 dbusAddWatchFunction,
                 dbusRemoveWatchFunction,
                 dbusWatchToggleFunction,
                 NULL,
                 dbusFreeFunction );

     dbus_connection_register_object_path(
         connection, "/com/Skype/Client", &vtable, NULL);

     printf( "Added watch functions!\n" );

     DBusDispatchStatus status;
     while (1){
         printf( "main-loop in\n" );
         if( g_watch != NULL )
             dbus_watch_handle ( g_watch, DBUS_WATCH_READABLE );
         dbus_connection_ref( connection );
         status = dbus_connection_dispatch( connection );
         dbus_connection_unref( connection );
         dbus_connection_flush (connection);
         if( DBUS_DISPATCH_DATA_REMAINS != status ){
             usleep( 200 );
         }
         printf( "main-loop out\n" );
     }

     dbus_error_free (&error);
     sleep( 300 );
 }

 char *sendToSkype( DBusConnection * connection, char *msg){

     DBusMessage *message;
     DBusMessage *reply;
     DBusError error;

     static char returnbuf[64*1024];

     char *tmp;
     int reply_timeout = -1;   /*don't timeout*/

     dbus_error_init (&error);

     /* Construct the message */
     message = dbus_message_new_method_call (
                         "com.Skype.API",    /*service*/
                         "/com/Skype",        /*path*/
                         "com.Skype.API",  /*interface*/
                         "Invoke");
     dbus_message_set_auto_activation( message, TRUE );

     if( !dbus_message_append_args( message,
                         DBUS_TYPE_STRING, msg,
                         DBUS_TYPE_INVALID ) ){
         fprintf (stderr, "Error: reply is not except format\n");
         dbus_error_free (&error);
         exit (1);
     }

     reply_timeout = -1;   /*don't timeout*/
     reply = dbus_connection_send_with_reply_and_block (connection,
                         message,
                         reply_timeout,
                         &error);

     if (dbus_error_is_set (&error)){
         fprintf (stderr, "Error in send_with_reply_and_block: %s\n", error.message);
         dbus_error_free (&error);
         exit (1);
     }

     dbus_message_get_args( reply, &error,
                                 DBUS_TYPE_STRING, &tmp,
                                 DBUS_TYPE_INVALID);
     if (dbus_error_is_set (&error)){
         fprintf (stderr, "Error in dbus_message_get_args: %s\n", error.message);
         dbus_error_free (&error);
         exit (1);
     }

     strcpy( returnbuf, tmp );

     dbus_message_unref( message );
     dbus_message_unref( reply );

     dbus_error_free (&error);

     return returnbuf;
 }
--
working with Skype 1.2 and D-BUS 0.23.3.

むぅ

カテゴリー: おぼえ書き — ryu @ 22:44:06

私的メモ
・インストーラ何とかする
・とりあえず↓追加
 GradientFill = GradientFill_ @ 1763
・起動はする
・画面描画まわり何とかしないとなー。
 半分ぐらいAYGSHELLなんだよなー。
 またホーミンさんに相談してみよー。<他力本願…

今日は

カテゴリー: 未分類 — ryu @ 0:39:50

一体どれほどのわーるどかっぷネタがBlogにポストされてることやら

« 前ページへ次ページへ »

31 queries. HTML convert time: 0.426 sec. Powered by WordPress 2.8