2007-01-01から1年間の記事一覧
bug fix のための更新です。ダウンロードは、http://limechat.net/ からどうぞ。 スクリーンセイバーが動作しているときは、バルーンを表示しないようにした。 接続時に自動で入るチャンネル名の長さを、送信するエンコーディングで評価して制限するようにし…
Growl SDK に入っている Ruby バインディングが、クリックやタイムアウトのイベント通知に対応してなかったので、自分で書いてみた。http://limechat.net/rubycocoa/growl.rbRubyCocoa アプリケーションの中で以下のように書くと、クリックやタイムアウトを…
致命的なバグが見つかったので、リリースします。 0.4 以降のバージョンで、サーバへの接続のエンコーディング指定や、DCCのファイル送信に利用するIPアドレスの自動認識の設定がうまく保存できていませんでした。 追加した機能 Tab キーでニックネームを補…
RubyCocoa の次期バージョンがほぼ固まったようなので、いったんリリースしておきます。 追加した機能 半角カナの送受信 サーバダイアログの Channels タブでチャンネルの設定をできるように サーバ、チャンネルの順序を入れ替えるダイアログ ダブルクリック…
トークで話しかけられた時に、トークとして扱われずコンソールにログが出てしまうバグが見つかったので、0.5 として再リリースする予定です。しばらくお待ちください。 → リリースしました。
RubyCocoa 公式サイト の wiki が変わってから、日本語の情報を探しにくくなってしまったように思います。そこで、以前の公式サイトに掲載されていた藤本さんのドキュメントをベースに、少し加筆して wiki を作ってみました。 http://limechat.net/rubycocoa…
ここしばらく、PPC 上でしか再現しないバグを追うために、メインの Intel Mac と以前使っていた iBook G4 との間を行き来しながらテストをしていた。さすがにこれは効率が悪い。 .app は PPC バイナリのみを作るようにコンパイルすれば、強制的に Rosetta で…
LimeChat for OSX を ML で紹介してみたら、コミッタの Laurent と Eloy が早速使ってくれてるらしい。かなり好評でうれしくなる。 Laurent からバグレポートとすごい量の要望をもらったあと、I'm sorry って言われてびっくりした。 US では、そう言いかたは…
もともと、ぼくが気づいたのは BOOL型周辺の問題だけだったが、Laurent から「それ char とか short とかの small integers も一緒に直せるよ」と指摘をもらったので、メモリのアロケータに手を入れて commit した。(r1888) かなり追試してみたけど、いい感…
PPC は big endian だから、ポインタのキャストが結構やっかいらしい。 動いてるところにできるだけ触らないように注意しながら、バグを fix するパッチが書けたので、とりあえず commit した。これで、テストケースは全てクリア。 Laurent からコメントをも…
これまでバグレポートやパッチ、機能要望という形でフィードバックしてきたが、コミッタとしてお手伝いすることになった。 とりあえず、PPC 環境で型変換がうまくいかないケースがあったのでテストしてみたり、テストを書いている。
RubyCocoa で LimeChat for OSX を作ってみて感じたのが、RubyCocoa の着眼点がすばらしくいいということ。 Cocoa には結構つらいところがある。 文字列処理が面倒 配列やハッシュを扱うのが面倒 正規表現がない (OgreKit があるけど) GC がない たとえば、…
PPC環境で Enter や Delete などの一部のキーが効かなくなるバグを fix しました。致命的なバグなので、0.3 としてリリースしておきます。 Intel環境では、今のところバグが再現しないことを確認していますが、念のためアップデートをお願いします。 http://…
日常的にほぼ問題なく使えるレベルまで開発が進んだので、リリースしておきます。 追加した機能 キーワードハイライト DCCファイル送受信 (レジュームには未対応) プリファレンスダイアログ ニックネーム変更ダイアログ 入力履歴 (↑↓キーでアクセス) 複数行…
この2日間、本当に楽しかったです。こんなにぎゅっと詰まった感じのするイベントは久しぶりかも。いろんな人たちと話すことができたことも、大きな収穫になりました。 運営スタッフの方々、おつかれさまでした。そして、ありがとう。 発表資料をアップしまし…
今日、RubyKaigi に続く RejectKaigi にて、RubyCocoa で書いた LimeChat の OSX 版を発表しました。 いまのところ、まだ未実装の機能もたくさんありますが、初期バージョンということでリリースしておきます。 http://limechat.sourceforge.net/index_ja.ht…
Operaでも非同期リクエストが並列処理できる img-JSONP を Lingr に実装してみたら、ばっちり動きました。おかげで Lingr が Opera 9 でも動くようになりました。感謝。 実際には、他のブラウザに影響しないように Opera 9 でのみ動作するように分岐していま…
JavaScript で DOM をがしがしいじるのは大変だけど、でかいテンプレートエンジンを使うのはちょっと大げさだ、というときがある。そんなときに気軽に使えるテンプレートエンジンを作ってみた。 ソースは以下の通り。 function applyTemplate(template, f) {…
細かい bug fix のための更新です。 ダウンロードは、http://limechat.net/ からどうぞ。 設定ファイルを設定変更時にすぐ保存するようにした。 UnrealIRCd の mode を誤って解釈しないように mode のパース方法を変更した。 mode +a 受信時にメンバリストを…
デスクトップアプリを開発してると、ListView のカラム幅が足りなくなったときに「My Docume...」のように自動的に末尾を「...」で埋めて切りつめてくれる機能がある。ウェブでも同じことをやりたかったので、作ってみた。 まず、文字列の幅を測定するには、 <span id="ruler" style="visibility:hidden;position:absolute;"></span>…
RubyCocoa で WebView を使うと NSObject.alloc.init が NSObject を返さないことがあったのでレポートしておいた。→ rubycocoa-devel:890 こんなコード class AppController < OSX::NSObject include OSX def webView_decidePolicyForNavigationAction_requ…
3日目よかったのは、Twitter の中の人 Britt Selvitelle と Alex Payne による Scaling Twitter。 4月の話 からアップデートもあり、より突っ込んだ話が聞けた。 まずは、ハードウェア構成について。 Mongrel across 19 cores Message processing/delivery a…
最後は Dave Thomas のキーノート。これがすごかった。 カーゴカルト を引き合いに出して、Orthodoxy (形式が整ってることを信じること) ではなく、Orthopraxy (正しいことを実行すること) を大切にしようということを言っていた。 取り上げられたのは、 ウ…
2日目よかったのは、Chris Wanstrath のセッション。Sexy Migrations といい、acts_as_cached といい、この人はセンスがいいと思う。 memcached の概要からはじまり、acts_as_cached の具体的な使い方の説明へ。モデルにフィールドを追加したときとか、古く…
2日目の夜、id:ogijun さんから RejectConf が開催されると聞いたので行ってみる。 会場の Free Geek は大学のサークル棟みたいなところで、古いコンピュータがところ狭しと積み上げられているステキな場所だった。 広い部屋いっぱいのパイプイスは満席。JRu…
初日は、やはり DHH のキーノートが一番よかった。 開口一番、TextMate いいよ!という話からはじまり、いよいよ本題の Rails 2.0 へ。一番大きな変更点は、やはり ActiveResource の respond_to で REST にネイティブ対応したよ、というところ。続いて、そ…