開発

iCalendar on AppEngine

Okamotoプロジェクトの開発中に引っかかったとこの一つに、iCalendar gemがそのままでは使えなかったのがある。 iCalendar gemは内部でSocket#gethostnameを使用していて、これがAppEngineで制限されてるライブラリに引っかかって落ちてた。これ、iCalendar…

過去から学ぶ。

かつて、ウチが最初に作った"Marble Note"というサービスが動いていました。 一定の成功を収めたあのサービスに学ぶべく、当時を知っているユーザの方々にアンケートをお願いしたいとおもいます。よろしければどうぞ。http://spreadsheets.google.com/viewfo…

大きめの仕事が終わって。

今日のカケラの樹のメンテナンスで、開発コードネーム”Takarazuka"のカケラの樹第4世代エディタを本番環境に導入、リリースしました。このTakarazukaプロジェクトは結構開発が難航して、リソースをずっと食ってたんだけどついに完結。 一区切りなので、これ…

JRuby on Rails/AppEngineの文字化け対策。

AppEngine上でのRailsアプリ開発に再挑戦中。appengine-jruby gemによって開発がぐっと楽になっていて、今度こそいけそうな気配がしてるんだけど、開発環境で文字化けが発生した。 この問題は既知のもので、いくつか対策は公表されてるんだけどどうしてもpro…

パッチ要らずに。

以前にパッチを書いてamazon-ecs gemをシグネチャに対応させましたが、オリジナルが更新されてパッチが不要になってました。 :aWs_access_keyとともに:aWs_secret_keyを渡してやれば署名付きのクエリが投げられるようになってます。 これでこのgemをこの先も…

次のステップへの準備。

ウチのサービスでは、ユーザ認証にOpenIDを採用している。 この形だと、各サービスのユーザアカウントは独立なため、たとえば読書びよりを使っている人がカケラの樹を使おうとした際、別途OpenIDログインをする必要がある。また、OpenID認証を要求して、認証…

リリースが遅れていたものを。

急遽八会咲木陰の開発に取りかかったあおりで公開が遅れていた新サービスを公開します。 創作物をめぐる、コミュニケーションサイト「七色連想」です。 このサービスには次のような機能があります。 自作の作品の紹介情報を投稿・管理 作品のクリッピング 作…

8月過ぎても大丈夫。

だいぶ前に明らかになった話だけど、8/15日以降、AmazonのProduct Advertising APIがシグネチャ必須になる。ので、このAPIを使っているアプリケーションは改修が要るんです。 先日八会咲木陰が無事にサービスインして一息ついたので、ウチでもこの問題の対処…

新サービス!

MondoYakujinプロジェクトこと「八会咲木陰」を公開します。 Lingrが無くなってしまって、後継サービスとしてはhttp://practical-scheme.net/chaton/やirc.gimite.netが既に出てきてますが、同じようにこの「八会咲木陰」もLingrの終了をきっかけにして開発…

今後の予定。

向こう半年くらいの開発方針を唐突にまとめておきたくなったので。 新サービス Kotoenプロジェクト。ほぼ開発は完了し、近々運用テストを開始する予定。詳細はその際にでも。 既存改修 読書びよりのデュアルソース化。現在開発中。バージョンが上がった楽天…

ログイン方法を少し改善。

読書びよりのOpenIDログインフォームで、従来は上から「OpenID入力ボックス」「ログインボタン」の順だったのを入れ替えました。これは、ログインボタンの利用が増えている傾向を受けたものです。読書びよりでの各OpenIDプロバイダの利用状況は次のグラフの…

当然ではある。

YUI Grids CSSやprototype.js、script.aculo.usなんかをYahoo!やGoogleから呼んでると、オフライン状態では開発がやりづらい*1。 RAILS_ENVを見てjavascript_include_tagやstylesheet_link_tagを切り替えるようにすればいいのかな。 *1:レイアウトが破綻した…

勝手にクリア。

Railsのキャッシュは基本的に、次のような挙動をする。 ページがリクエストされた際にキャッシュが生成され、保存される データベースが更新されると、あらかじめ定義されていたSweeperが動いてキャッシュが破棄される この仕組みのキモはSweeperで、DBの更…

Ruby1.9.1のお試し。

Ruby1.9系の安定版、1.9.1が登場したので試してみようと思った。まず、次の記事を参考にして既存の環境から切り離して1.9.1をインストール。 multirubyで複数のバージョンのRuby環境を作る - Hello, world! - s21g 終わったらおもむろに、使ってるgemをイン…

似たもの探し。

月燈火でも使っているはてなブックマークの関連エントリーの情報は結構精度高くて便利なんだけど、いちいちブックマークページ開いて見るのは邪魔くさい。そこで、こんなのを作りました。Greasemonkeyで、見ているページの関連エントリーがあれば表示します…

知らなかったものを見つける。

Kotoenプロジェクトで協調フィルタを使いたかったので、例を探してたら見つけた次の記事のコードをRubyで書き直してみました。 特異値分解を用いたレコメンデーション - NO!と言えるようになりたい コードは以下の通り。Pythonからの書き換えはほとんど逐語…

かんたんマルチカラムレイアウト。

たまには、いつも使ってる技術の解説記事なんかも書いてみようかと思った。ので、今日はYUI Grids CSSのお話。 このダイアリーみたいに、メインコンテンツの横に細長いサイドバーが配置されてる2カラムレイアウトや、メインコンテンツを左右2本のサイドバ…

今度は、BSD使いにも。

> Custom kernels with pv-grub">Linode Blog >> Custom kernels with pv-grub ruby-sapporo.orgでも使われているらしいXenによるVPSホスティングのLinode.comで、なんとBSD系OSまで動くようになったようです。 今までBSD系の専用サーバが欲しい場合、さくら…

ついかっとなって。

Twitter / hamashun: IE6を使って閲覧すると右上に『アナログ』って出るよ ...このポスト見て吹いたので、つい勢いで読書びよりのトップページに付けてみた。コードはこんな感じ。条件付きコメントです。 <div style="position:absolute; top: 0.2em; right: 0.2em;background-color: white;"></div>

CrossPostingProxyアップデート。

はてなハイクへの投稿処理をよりよく。ポスト中にURLが含まれている場合、はてなハイクのキーワードとして送信するようにしました。 その他、Rejaw/Identi.caへの投稿処理は変更無しです。 どうぞご利用下さい。 http://www.box.net/shared/kjq3rnkgso

同時に消えて欲しいのです。

Railsは遅い。というより、静的なHTMLなりなんなりを単に送り返すより動的に内容を作って送り返す形だとRailsに限らずなんだって遅いのは当然。 だから、ページキャッシュを多用すれば高速なアプリケーションが作れる。ただし、困るのがユーザーに合わせた内…

窓の大きさ、結果編。

7日からやっていた、ブラウザのサイズに関するアンケートの結果です。こんな感じになりました。 期間 2008.11.07-2008.11.20 サンプル数 38 幅 高さ 平均値 1084.21052631579 684.5 最大値 2560 1280 最小値 798 487 ご協力ありがとうございました。参考にし…

窓の大きさ。

アンケートです。 皆さんは、いつもどのくらいの大きさでウェブを見てますか?よろしければ教えてください。次のページを開いて、ボタンを押すだけでOKです。 http://static.yumenosora.net/browser_size.html 結果はウチのプロジェクトの開発の参考にすると…

ちょっとあいてた。

今月に入ってから何も書いてなかったので、近況でも書いておこうかと。 Nigawaプロジェクトが終結して、既存4サービスのローンチ・改修が一段落したので最近は細々とした不具合修正をしつつ、内部で使うシステムを作ってたりします。 新サービスの開発はち…

一歩踏み出してみれば。

最近話題のSCM、Git。代表的な採用例としてはLinuxカーネル*1とか、Ruby on Railsとか。GitHubってサイトと併せて個人開発者の間でも流行りみたい。今までうちではSubversionを使ってて、Gitが流行ってるらしいって聞いて以前に少し調べたんだけど、次の点が…

日本語の予定を。

lighttpdで日本語のiCalendarを配信し、それをGoogleカレンダーで文字化け無しに読ませる方法。GoogleカレンダーではContent-Typeで明示的にUTF-8であると指示する必要がある。 まず、lighttpd.confに次のような行がおそらくあるので見つける。 include_shel…

次に来るもの。

Google App Engineのブログに、ロードマップを公開したって記事が載ってました。 Service for storing and serving large files Datastore import and export utility for large-scale databases Billing: developers can pay for more resource usage Suppo…

出来れば、その場で、教えてほしい。

以前書いた、「サインアップを後回しにして、使い始めの動線を短くするといいんじゃない?」という話。確かあの記事を書く前に、いくつかそう言った実装は目にしていたとは思う。けど、そう言う方向論を主題にして書かれた文書を読んでから書いたんじゃなく…

はじまります。

本日Nigawaプロジェクトの成果物を本番環境に投入し、月燈火のバージョンアップが完了しました。今回の更新により、はてな、ライブドア以外のアカウントも(OpenIDでありさえすれば)受け入れるようになりましたので、今まで使ってなかった方もどうぞお試し下…

世界にはどれだけの読み物があるのだろうか。

カゼノキレハシの開発が一段落したので、月燈火の大改修をしていました。*1 今回の改修での変更点は次の通りです。 推奨ページリスト生成方法の全面刷新 ログインシステムの入れ替え サービスの簡素化 推奨ページリスト生成方法の全面刷新 現行のシステムで…