タグ

ブックマーク / psychs.hatenablog.com (23)

  • LimeChat で Twitter ユーザのプロフィール画像を表示する - Psychs's blog

    LimeChat for Mac 2.6 に、Twitter のプロフィール画像を表示する機能を入れました。 サーバ設定の Details タブの CTCP UserInfo に「showTwitterAvatar」と入力すると有効になります。 ニックネームを Twitter のスクリーンネームとみなして、プロフィール画像をニックネームの左に表示するようになります。 余力のある人は、テーマを編集してスタイリングすると、よりきれいに表示されるでしょう。 TwitterIrcGateway や tig.rb を利用している方は、ぜひ試してみてください。

    LimeChat で Twitter ユーザのプロフィール画像を表示する - Psychs's blog
    tarchan
    tarchan 2010/04/16
    画像はTwitterのAPI使ってるのかな?
  • LimeChat for Mac 2.0 リリース - Psychs's blog

    http://limechat.net/mac/ja.html OSX 10.6.3 のアップデート後、頻繁にクラッシュするようになったので、RubyCocoa をあきらめ、Objective-C のみで全面的に書き換えました。 原因は、ruby インタプリタが更新されたことにより、RubyCocoa の GC のバグが顕在化しやすくなったためです。有効な回避策が見つからず、最終手段をとることになりました。 早急にクラッシュへの対策を行うことを優先したので、自動オペレータ機能は未実装になっていますが、今後実装を進めていく予定です。 なお、最初は MacRuby への移行を考えていたのですが、現在の MacRuby の trunk は、日語などの input source との相性が悪く、10.7 まで直る見込みはないとのことなので断念しました。 やはり、安定したプロダクトを作るためには、

    LimeChat for Mac 2.0 リリース - Psychs's blog
    tarchan
    tarchan 2010/04/14
    >原因は、ruby インタプリタが更新されたことにより、RubyCocoa の GC のバグが顕在化しやすくなったためです。有効な回避策が見つからず、最終手段をとることになりました。
  • CocoaDystopia リリース - Psychs's blog

    Tokyo Dystopia を Cocoa アプリから使うために framework 化した CocoaDystopia をリリースしました。 http://github.com/psychs/cocoadystopia 特に Objective-C のクラスでラップしたりはしていないので、Tokyo Dystopia の C API をそのまま利用してください。

    CocoaDystopia リリース - Psychs's blog
  • TinyGrowl リリース - Psychs's blog

    Growl.framework なしで Objective-C から Growl に通知を送るライブラリ、TinyGrowl をリリースしました。 http://github.com/psychs/tinygrowl 他のアプリに組み込むプラグインから Growl に通知を送りたい場合などに使えると思います。(プラグインで Growl.framework をロードしてしまうと、アプリ体や他のプラグインで Growl.framework を使えなくなってしまうので) 使い方は、いたって簡単です。 まずは初期化。 growl = [TinyGrowlClient new]; growl.delegate = self; growl.allNotifications = [NSArray arrayWithObjects:@"Alert", @"Info", nil]; allNotifica

    TinyGrowl リリース - Psychs's blog
  • Echofon for Mac ベータリリース - Psychs's blog

    ぼくが開発している Twitter クライアント、Echofon for Mac がベータリリースされたので、紹介しておきます。 http://echofon.com/twitter/mac/ メインウィンドウ メインウィンドウは、Twitter の性質上、デスクトップに表示する時間が長いので、コンパクトにまとめました。 複数のアカウントを利用している場合、左下の自分のアバターアイコンをクリックして、アカウントを切り替えることができます。 送信は、画面下のテキストフィールドに入力し、Return キーを押せば ok です (設定で Cmd-Return に変更することも可能)。 Retweet は、コンテキストメニューから送れます。 ユーザプロフィール タイムライン上のユーザ名やアバターアイコンをクリックすると、ユーザプロフィールをドロワーで表示します。 この画面で、ユーザタイムラインや

    Echofon for Mac ベータリリース - Psychs's blog
  • LimeChat on Snow Leopard - Psychs's blog

    Snow Leopard にアップグレードしたら、LimeChat for OSX が起動しなくなったという方は、以下のポイントをチェックしてみてください。 古い OS 用の RubyCocoa (/Library/Frameworks/RubyCocoa.framework) を削除 standalone 版の LimeChat をインストールしていた場合、LimeChat_1.1.dmg をインストールしなおす

    LimeChat on Snow Leopard - Psychs's blog
  • Snow Leopard で Input Switcher が不要に - Psychs's blog

    Snow Leopard で、OS の言語設定に「書類ごとに異なる入力ソースを使用」するオプションが復活したので、Input Switcher は不要になりました。 Apple にバグレポートを送ったみなさん、やりましたね! ご協力ありがとうございました。 以下、Apple の開発者に直接聞いたお話。 仕様の変更は、要望、バグレポートの数が多い順に処理される そのプライオリティは、かなりの責任を持った人でも変えることはできない 日からの声は、肯定的なものも否定的なものも、他の国に比べて圧倒的に少ない ということなので、Apple の製品について何か感じたことがあれば、どんどんレポートを送りましょう。黙っていてもそのうち誰かがなんとかしてくれるだろうというのは、大きな勘違いです。 http://bugreporter.apple.com/

    Snow Leopard で Input Switcher が不要に - Psychs's blog
    tarchan
    tarchan 2009/09/03
    バグレポートの勝利!やったね!
  • iPhone 用の画像ダウンロードライブラリ ImageStore を公開 - Windchase

    iPhone 用の画像ダウンロードライブラリ、ImageStore のソースコードを公開します。 http://github.com/psychs/imagestore/tree/master ライセンスは、New BSD ライセンスです。 使い方 まず、ImageStore を初期化して、インスタンス変数に保持しておきます。 imageStore = [[ImageStore alloc] initWithDelegate:self];そして、画像をダウンロードしたくなったら、getImage を呼び、画像の URL を渡してやります。 [imageStore getImage:imageUrl];getImage の呼び出しはすぐに戻り、ImageStore は裏で非同期に画像のダウンロードをはじめます。 ダウンロードが終わると、delegate の imageStoreDidGetN

    iPhone 用の画像ダウンロードライブラリ ImageStore を公開 - Windchase
  • UIWebView の touch イベントをフックする方法 - Psychs's blog

    http://son-son.sakura.ne.jp/programming/iphone_sdk_hach_uiwebview_how.html この方向でいろいろやってみたけど、やはりズームの挙動があやしくなってしまって、結局うまく動かなかった。 そこで、method swizzling でやってみたらうまくいったので、紹介しておきます。 http://github.com/psychs/iphone-samples/tree/master/WebViewTappingHack @implementation UIView (__TapHook) - (void)__touchesEnded:(NSSet*)touches withEvent:(UIEvent*)event { [self __touchesEnded:touches withEvent:event]; id web

    UIWebView の touch イベントをフックする方法 - Psychs's blog
  • 絵文字と Google の姿勢 - Psychs's blog

    Unicode の仕様バグを Unicode ML にポストして議論した ことのある立場から、思ったことを少し。 ここまで述べたGoogleによる絵文字提案をみて、Googleストリートビューで世界中の路地裏にカメラを入れて猛反発を受けたことや、Googleブック検索で世界中のをスキャニングしようとして著作者達とトラブルになったことや、あるいはGoogleマイマップで「公開」をデフォルト設定にしたことで、知らずに個人情報を世界に公開してしまうユーザーが続出したことと同じ、なにか一種の強引さ、押しつけがましさを思い起こしませんか。つまり絵文字をめぐるGoogle提案は、じつのところGoogleという企業の社風を抜きには考えられないように思えるのです。 絵文字が開いてしまった「パンドラの箱」第4回--絵文字が引き起こしたUnicode-MLの“祭り” Google のこういう姿勢は非難される

    絵文字と Google の姿勢 - Psychs's blog
    tarchan
    tarchan 2009/06/08
    Googleかわいいよ!Google!
  • LimeChat for OSX 1.0 リリース - Psychs's blog

    http://limechat.net/mac/index_ja.html 今回から、OS X 10.5 のみのサポートになります。 OS X 10.5.7 で落ちやすくなっていた問題を改善した。 RubyCocoa.framework をアプリ内にバンドルするようにしたので、RubyCocoa のインストールは不要に。 プリファレンスダイアログをデザインしなおした。 チャンネルごとに Growl で通知するオプションを追加した。 shift-tab で一つ前にいた場所に移動できるようにした。 その他、細かい機能追加とバグfixです。

    LimeChat for OSX 1.0 リリース - Psychs's blog
  • 割り算に ÷ 記号を使わない地域 - Psychs's blog

    世界には、割り算に ÷ 記号を使わない地域があるらしいと聞いたことがあるのだが、実際にどうなっているのか気になったので、TwitterIRC で訊いてみた。 その結果、北欧と低地諸国では ÷ 記号を使っていないことがわかった。 ÷ を使っている国 日、US、UK、ドイツ、オーストリア、スペイン、オーストラリア、アルゼンチン、中国 ÷ をほとんど使っていない国 デンマーク、ノルウェー、スウェーデン、フィンランド、オランダ、ベルギー、ルクセンブルク 使っていない国の中でも、オランダでは計算器に ÷ ボタンがあるのが自然だが、北欧では / ボタンのほうが自然だとか、微妙な違いがあるのはおもしろい。 北欧出身でデンマーク在住の友人の意見を紹介しておく。 I think / is the most commonly used actually think we used : rather t

    割り算に ÷ 記号を使わない地域 - Psychs's blog
  • iPhone 開発に使える C99 仕様と gcc 拡張 - 2009-04-23 - Windchase

    iPhone アプリの開発には、コンパイラとして gcc 以外を使うことは基的にありません。 したがって、gcc に実装されている C99 仕様や gcc 拡張仕様を気がねすることなく利用することができます。 ここでは、便利な C99 仕様や gcc 拡張を紹介します。 配列の動的確保 (C99) 配列を定義するときに、動的にサイズを指定してメモリを確保することができます。 従来は、 int n = 100; char* buf = alloca(n); のように alloca を使っていたところを、 int n = 100; char buf[n]; と、言語仕様の範囲内で、より直観的に書けるようになりました。 case の範囲指定 (gcc 拡張) 従来、switch 〜 case で switch (n) { case 0: case 1: case 2: case 3: proc

    iPhone 開発に使える C99 仕様と gcc 拡張 - 2009-04-23 - Windchase
  • Ragel - Psychs's blog

    http://www.cs.queensu.ca/~thurston/ragel/ Ragel は、ステートマシンコンパイラの一種で、パーサジェネレータとして使われることが多い。その実例として、Mongrel や Hpricot がある。 パーサジェネレータとして Ragel を使う利点は、以下の通り。 プロトコルやデータフォーマットを正確にパーズできる その結果、セキュアなソフトウェアが作れる 外部ライブラリに依存しないコードができる ものすごく速い 特に HTTP server など、速度が求められるサーバを書くときに便利なことがわかる。 参考: http://www.zedshaw.com/tips/ragel_state_charts.html ここでは、簡単な例としてドメイン名のパーザを作ってみよう。ホスト言語は C で。 まずは、Ragel 6.0 をインストールする。 OSX

    Ragel - Psychs's blog
  • iPhone でなめらかにズームできる地図のサンプルを公開 - Psychs's blog

    iPhone で San Francisco の鉄道・バス路線図を表示するサンプルアプリを作ってみたのでソースを公開します。 http://github.com/psychs/iphone-samples/tree/master/SFMap 単純に地図の PDF を描画するとすごく重くなってしまうので、大きさの違う画像をいくつか用意して、ズームに従って表示する画像を変えていくようにしています。 UIScrollView を使ってナイーブに実装すると、UIScrollView のズーム状態を外からコントロールすることができないので、ズームが終了するたびに UIScrollView 自体を作り直したりする必要があります。 そこで、今回は UIImageView のサブクラスを作り、 - (void)setTransform:(CGAffineTransform)value; { float s

    iPhone でなめらかにズームできる地図のサンプルを公開 - Psychs's blog
  • iPhone Dev Center の certificate の更新でハマった - Psychs's blog

    iPhone アプリの開発に使う certificate には、有効期限がある。 有効期限を過ぎた certificate で sign したアプリを iTunes Connect にアップロードしようとすると、 The binary you uploaded was invalid. The signature was invalid, or it was not signed with an Apple submission certificate. というエラーが出て、受けつけてもらえない。 その場合には、iPhone Dev Center で certificate と provisioning profile を作り直すと有効期限が延びるので、作り直したものをダウンロードして開発マシンにインストールするといい。 問題はその後だった。 すぐに新しい certificate でアプリ

    iPhone Dev Center の certificate の更新でハマった - Psychs's blog
  • InputSwitcher ユーザへのお願い - Psychs's blog

    追記3 (2009.8.28) Snow Leopard で、「書類ごとに異なる入力ソースを使用する」オプションが復活したので、解決しました。 Leopard で無くなった「ウィンドウごとに入力ソースの状態を保持する」オプションを復活させるように、Apple にバグレポートを送ってください。 いまのままでは、10.6 まで改善される見込みがないそうです。みなさんの声が多ければ多いほど、Apple 内部の開発者が改善に動きやすくなるようです。 ぼくが InputSwitcher を開発したのは、Leopard を使い始めてすぐにここが不便だと思ったからです。しかし、InputSwitcher は一時的な回避策でしかなく、根的に解決するには OS で対応してもらうしかありません。 というのも、ソースを見てもらえればわかりますが、TextInputSource API がうまく動かないケースが

    InputSwitcher ユーザへのお願い - Psychs's blog
  • iPhone デバッグ用のマクロ - Psychs's blog

    iPhone アプリをデバッグするときに、ソースに NSLog をそのまま書いてしまうと、リリース時に削除するのが面倒なので、以下のようなマクロを使っています。 #ifdef DEBUG # define LOG(...) NSLog(__VA_ARGS__) # define LOG_METHOD NSLog(@"%s", __func__) #else # define LOG(...) ; # define LOG_METHOD ; #endif 使い方は、まずプロジェクトの設定を開き、「Debug」構成を選択してから、一番下のユーザ定義カテゴリの「GCC_PREPROCESSOR_DEFINITIONS」に「DEBUG」を追加しておきます。 こうすることで、Debug build のときにだけ「DEBUG」が定義されます。 あとは、NSLog の代わりに LOG を使うようにすれば

  • JTPA シリコンバレー・カンファレンス 2009 参加者募集のお知らせ - Psychs's blog

    JTPA からお知らせがきたので、貼っておきます。 ぼくも、1ヶ月半くらい SF ベイエリアにいたことがあるんですが、しばらく向こうにいると、日とはこんなに空気が違うもんなんだなと驚きました。 ひとことで言うと、pragmatic かつ creative。 その空気を体験することは、これから software developer として成果を出すために役立つと思います。 http://www.jtpa.org/event/svtour/000412.html JTPA シリコンバレー・カンファレンス 2009 参加者募集のお知らせ 開催日 2009年3月21日(土) JTPAシリコンバレー・カンファレンスに参加しよう! [シリコンバレーの「空気」を体感しよう!] 「空気読め」という言葉が世にでてしばらくになります。 この言葉が多くの人の心をとらえ、流行語となり、さらには日語のコアに定着

    JTPA シリコンバレー・カンファレンス 2009 参加者募集のお知らせ - Psychs's blog
  • 儲けたいね - Psychs's blog

    ここで「どうでもいい」とは考えないで社会をhackすればいいのだろうと思う。Paul Grahamなんかは気でそれを考えてGeekの楽園のような社会を作ろうとしているのだろう。そっちの社会の方が私にとっても楽しそうだ。だからそっちに向かう。ということをインタヴュー受けてるときにも話の中に込めたつもりなんだよね。プログラマは、プログラマにとって快適になるように行動しよう。 まったくもって賛成。 Forbes によると、2008年の US 長者番付の上位 25 人中 5 人はプログラマだ。 The Top 400 Richest Americans sorted by Rank - Forbes.com 1 Bill Gates (Microsoft) 570億ドル 3 Larry Ellison (Oracle) 500億ドル 12 Paul Allen (ex.Microsoft) 16

    儲けたいね - Psychs's blog