2007-01-01から1年間の記事一覧

LimeChat 2.18 リリース

bug fix のための更新です。ダウンロードは、http://limechat.net/ からどうぞ。 スクリーンセイバーが動作しているときは、バルーンを表示しないようにした。 接続時に自動で入るチャンネル名の長さを、送信するエンコーディングで評価して制限するようにし…

Growl の Ruby バインディングを書いてみた

Growl SDK に入っている Ruby バインディングが、クリックやタイムアウトのイベント通知に対応してなかったので、自分で書いてみた。http://limechat.net/rubycocoa/growl.rbRubyCocoa アプリケーションの中で以下のように書くと、クリックやタイムアウトを…

LimeChat for OSX 0.6 リリース

致命的なバグが見つかったので、リリースします。 0.4 以降のバージョンで、サーバへの接続のエンコーディング指定や、DCCのファイル送信に利用するIPアドレスの自動認識の設定がうまく保存できていませんでした。 追加した機能 Tab キーでニックネームを補…

LimeChat for OSX 0.5 リリース

RubyCocoa の次期バージョンがほぼ固まったようなので、いったんリリースしておきます。 追加した機能 半角カナの送受信 サーバダイアログの Channels タブでチャンネルの設定をできるように サーバ、チャンネルの順序を入れ替えるダイアログ ダブルクリック…

LimeChat for OSX 0.4 リリース

トークで話しかけられた時に、トークとして扱われずコンソールにログが出てしまうバグが見つかったので、0.5 として再リリースする予定です。しばらくお待ちください。 → リリースしました。

RubyCocoa wiki

RubyCocoa 公式サイト の wiki が変わってから、日本語の情報を探しにくくなってしまったように思います。そこで、以前の公式サイトに掲載されていた藤本さんのドキュメントをベースに、少し加筆して wiki を作ってみました。 http://limechat.net/rubycocoa…

Intel Mac 上で PPC 用のテストをする方法

ここしばらく、PPC 上でしか再現しないバグを追うために、メインの Intel Mac と以前使っていた iBook G4 との間を行き来しながらテストをしていた。さすがにこれは効率が悪い。 .app は PPC バイナリのみを作るようにコンパイルすれば、強制的に Rosetta で…

I'm sorry

LimeChat for OSX を ML で紹介してみたら、コミッタの Laurent と Eloy が早速使ってくれてるらしい。かなり好評でうれしくなる。 Laurent からバグレポートとすごい量の要望をもらったあと、I'm sorry って言われてびっくりした。 US では、そう言いかたは…

RubyCocoa の PPC 環境での型変換問題

もともと、ぼくが気づいたのは BOOL型周辺の問題だけだったが、Laurent から「それ char とか short とかの small integers も一緒に直せるよ」と指摘をもらったので、メモリのアロケータに手を入れて commit した。(r1888) かなり追試してみたけど、いい感…

PPC 上の型変換

PPC は big endian だから、ポインタのキャストが結構やっかいらしい。 動いてるところにできるだけ触らないように注意しながら、バグを fix するパッチが書けたので、とりあえず commit した。これで、テストケースは全てクリア。 Laurent からコメントをも…

RubyCocoa のコミッタに

これまでバグレポートやパッチ、機能要望という形でフィードバックしてきたが、コミッタとしてお手伝いすることになった。 とりあえず、PPC 環境で型変換がうまくいかないケースがあったのでテストしてみたり、テストを書いている。

RubyCocoa がすごい

RubyCocoa で LimeChat for OSX を作ってみて感じたのが、RubyCocoa の着眼点がすばらしくいいということ。 Cocoa には結構つらいところがある。 文字列処理が面倒 配列やハッシュを扱うのが面倒 正規表現がない (OgreKit があるけど) GC がない たとえば、…

LimeChat for OSX 0.3 リリース

PPC環境で Enter や Delete などの一部のキーが効かなくなるバグを fix しました。致命的なバグなので、0.3 としてリリースしておきます。 Intel環境では、今のところバグが再現しないことを確認していますが、念のためアップデートをお願いします。 http://…

LimeChat for OSX 0.2 リリース

日常的にほぼ問題なく使えるレベルまで開発が進んだので、リリースしておきます。 追加した機能 キーワードハイライト DCCファイル送受信 (レジュームには未対応) プリファレンスダイアログ ニックネーム変更ダイアログ 入力履歴 (↑↓キーでアクセス) 複数行…

RubyKaigi2007 はアツかった

この2日間、本当に楽しかったです。こんなにぎゅっと詰まった感じのするイベントは久しぶりかも。いろんな人たちと話すことができたことも、大きな収穫になりました。 運営スタッフの方々、おつかれさまでした。そして、ありがとう。 発表資料をアップしまし…

LimeChat for OSX 0.1 リリース

今日、RubyKaigi に続く RejectKaigi にて、RubyCocoa で書いた LimeChat の OSX 版を発表しました。 いまのところ、まだ未実装の機能もたくさんありますが、初期バージョンということでリリースしておきます。 http://limechat.sourceforge.net/index_ja.ht…

Lingr が Opera 9 対応に

Operaでも非同期リクエストが並列処理できる img-JSONP を Lingr に実装してみたら、ばっちり動きました。おかげで Lingr が Opera 9 でも動くようになりました。感謝。 実際には、他のブラウザに影響しないように Opera 9 でのみ動作するように分岐していま…

JavaScript でお手軽テンプレートエンジン

JavaScript で DOM をがしがしいじるのは大変だけど、でかいテンプレートエンジンを使うのはちょっと大げさだ、というときがある。そんなときに気軽に使えるテンプレートエンジンを作ってみた。 ソースは以下の通り。 function applyTemplate(template, f) {…

LimeChat 2.17 リリース

細かい bug fix のための更新です。 ダウンロードは、http://limechat.net/ からどうぞ。 設定ファイルを設定変更時にすぐ保存するようにした。 UnrealIRCd の mode を誤って解釈しないように mode のパース方法を変更した。 mode +a 受信時にメンバリストを…

JavaScript で幅に合わせて文字列を切りつめる

デスクトップアプリを開発してると、ListView のカラム幅が足りなくなったときに「My Docume...」のように自動的に末尾を「...」で埋めて切りつめてくれる機能がある。ウェブでも同じことをやりたかったので、作ってみた。 まず、文字列の幅を測定するには、 <span id="ruler" style="visibility:hidden;position:absolute;"></span>…

RubyCocoa で NSObject.alloc.init が NSObject を返さない問題

RubyCocoa で WebView を使うと NSObject.alloc.init が NSObject を返さないことがあったのでレポートしておいた。→ rubycocoa-devel:890 こんなコード class AppController < OSX::NSObject include OSX def webView_decidePolicyForNavigationAction_requ…

RailsConf2007: Scaling Twitter

3日目よかったのは、Twitter の中の人 Britt Selvitelle と Alex Payne による Scaling Twitter。 4月の話 からアップデートもあり、より突っ込んだ話が聞けた。 まずは、ハードウェア構成について。 Mongrel across 19 cores Message processing/delivery a…

RailsConf2007: Dave Thomas closing keynote

最後は Dave Thomas のキーノート。これがすごかった。 カーゴカルト を引き合いに出して、Orthodoxy (形式が整ってることを信じること) ではなく、Orthopraxy (正しいことを実行すること) を大切にしようということを言っていた。 取り上げられたのは、 ウ…

RailsConf2007: Memcaching Rails

2日目よかったのは、Chris Wanstrath のセッション。Sexy Migrations といい、acts_as_cached といい、この人はセンスがいいと思う。 memcached の概要からはじまり、acts_as_cached の具体的な使い方の説明へ。モデルにフィールドを追加したときとか、古く…

RejectConf

2日目の夜、id:ogijun さんから RejectConf が開催されると聞いたので行ってみる。 会場の Free Geek は大学のサークル棟みたいなところで、古いコンピュータがところ狭しと積み上げられているステキな場所だった。 広い部屋いっぱいのパイプイスは満席。JRu…

RailsConf2007: David Heinemeier Hansson keynote

初日は、やはり DHH のキーノートが一番よかった。 開口一番、TextMate いいよ!という話からはじまり、いよいよ本題の Rails 2.0 へ。一番大きな変更点は、やはり ActiveResource の respond_to で REST にネイティブ対応したよ、というところ。続いて、そ…