Category: "モブログ"

2007/12/25

  20:10:46 by , Categories: モブログ

2006年末にnokiaからpodcastクライアントが無償公開されている。
元祖iPodのポッドキャストは、パソコンに携帯音楽端末を接続しておくと、番組をパソコンが自動的にダウンロードして導入してくれるというもの。似たようなことは、ソニーのクリエでもその前からあった。
Nokiaのがすごいとすれば、つながなくても、無線LANとか、パケット通信で単体で自動的にダウンロードがすんでいることだ。弱いのは、端末のcpuがpcに比べたら圧倒的に遅いのでダウンロードがサクサク、ジャンジャンという感じにはいかないこと。
再生はmp3中心だが、OSSのogg playerをいれればmp4もいける。

  09:19:49 by , Categories: モブログ

最近、ずっと目をつけていたNokia E61を入手し、活用している。このスマートフォンはQWERTYキーボード付きのSIMロックフリーの無線LAN付き4バンド+WCDMA携帯電話端末だ。
SIMロックフリーとは、通信会社を選ばないということ。その代わりプロプラエタリのサービスは使えないが、自由だ。日本ではNTTドコモとソフトバンクの2つの通信会社が利用可能。
メールは、GMailクライアントが搭載可能なので、gmailがブラウザではなくてネイティブに読める。そのほか、IMAPメールが使える。
今朝の報道でドコモとGOOGLEが提携し、Gmailなどの提供をすると報じているが、パケット代を別にすれば、既に実現している。
GPSを使ったGoogle mapの利用もできているので、パケット代を別にすれば、報道されたサービスは既に実現している。

2007/06/04

  20:40:00 by , Categories: モブログ

Link: http://thunar.xfce.org/index.html

Thunarは軽くて使いやすいファイルマネージャ。 でも、日本語環境特にUTF-8環境で、ファイルの時刻が[不明]と表示される。 なぜなら、g_date_strftime()に与えるバッファ長が短いからではないかな。 問題は、以下の部分 date_string = g_new (gchar, 16); if (g_date_strftime (date_string, 16, date_format, &dfile) != 0) だいたい、生の数字がソース上にあるのがいけない。 typedef char gchar であるので、バイト数と見るのがよい。 LANG=C, POSIX, en環境やヨーロッパ語の環境では、16文字もあれば そこそこ大丈夫そうに見える。 1---5----0----56 2007-05-31, 31 December,2007 これが、EUCの日本語環境では 2007年12月31日:14byte UTF-8になると: 17byte となる。もし、代わったロケールを使っていて、 西暦二〇〇七年一十二月三十一日 という変換をするロケールが定義されていると、 UTF-8で45byteとなる。 ここで、どうやって合理的に確保するバッファのサイズを 求めるか、ということであるが、次の2つの戦略がある。
  1. あらかじめ静的に考えられる最大のサイズxをとることにする。
  2. サイズを保存するstatic変数lを用意し、g_date_strftimeが失敗した場合に、サイズを1word程度増加させておく。ただし、ある最大サイズxを超えては確保しない。いくつかのファイルでUnknownになってしまうかもしれないが、リフレッシュすれば問題なくなり、その後は安定する。

Full story »

Pages: 1· 2

  00:22:34 by , Categories: Freesoftware and Open Source Software, モブログ, Erlang

Link: http://www.dtek.chalmers.se/~henoch/text/ejabberd-ircd.html

ejabberd_ircdというモジュールがあるが、最新のejabberd 1.1.3に対応していない。
ということで、修正した。

まだまともに動き出していないが、どちらかというと、もともとのこのモジュールのバグのような気がしてならない。

オリジナルのモジュールはここから取得する。
IRC-to-XMPP interface


Index: src/ejabberd_ircd.erl
===================================================================
--- src/ejabberd_ircd.erl (revision 107)
+++ src/ejabberd_ircd.erl (working copy)
@@ -7,6 +7,7 @@
%% External exports
-export([start/2,
start_link/2,
+ become_controller/1,
socket_type/0]).

%% gen_fsm callbacks
@@ -20,7 +21,7 @@
terminate/3
]).

-%-define(ejabberd_debug, true).
+-define(ejabberd_debug, true).

-include("ejabberd.hrl").
-include("jlib.hrl").
@@ -51,7 +52,7 @@

-record(line, {prefix, command, params}).

-%-define(DBGFSM, true).
+-define(DBGFSM, true).

-ifdef(DBGFSM).
-define(FSMOPTS, [{debug, [trace]}]).
@@ -71,6 +72,9 @@
socket_type() ->
raw.

+become_controller(Pid) ->
+ gen_fsm:send_all_state_event(Pid, become_controller).
+
%%%----------------------------------------------------------------------
%%% Callback functions from gen_fsm
%%%----------------------------------------------------------------------
@@ -119,7 +123,7 @@
?DICT:store(RoomJID, BareChannel, JToC)}
end, {?DICT:new(), ?DICT:new()},
ChannelMappings),
- inet:setopts(Socket, [list, {packet, line}, {active, true}]),
+ %%inet:setopts(Socket, [list, {packet, line}, {active, true}]),
%%_ReceiverPid = start_ircd_receiver(Socket, SockMod),
{ok, wait_for_nick, #state{socket = Socket,
sockmod = SockMod,
@@ -149,6 +153,9 @@
Reply = ok,
{reply, Reply, StateName, StateData}.

+handle_event(become_controller, StateName, StateData) ->
+ activate_socket(StateData),
+ {next_state, StateName, StateData};
handle_event(_Event, StateName, StateData) ->
{next_state, StateName, StateData}.

@@ -836,3 +843,11 @@
end;
error_to_string(_) ->
"unknown error".
+
+activate_socket(#state{socket = Socket, sockmod = SockMod}) ->
+ case SockMod of
+ gen_tcp ->
+ inet:setopts(Socket, [list, {packet, line}, {active, true}]);
+ _ ->
+ SockMod:setopts(Socket, [list, {packet, line}, {active, once}])
+ end.

このソフトはerlangという関数型言語で記述されている。

2007/03/05

2007/01/28

2007/01/19

Link: http://www3.justsystem.co.jp/download/atok/up/lin/050615.html

2年前にATOK for Linuxがアップデートしていたことに気がつかず。
IIIMFにも、2行ほどパッチが増えていた。

ということで、Debianパッケージを再構成した。ATOKX2パッケージは
対応しているのだろうか。

ATOK同梱相当のIIIMFのdebianパッケージは、後ほどアップロード予定。

::