パスワードを忘れた? アカウント作成

yukichiさんのトモダチの日記。 みんなの日記はここから一覧を見ることができます。

89406 journal

tabateeの日記: リリース経路

日記 by tabatee
以前に開発したanthyというカナ漢字変換のソフトがユーザの手元に届く経路が複数あったので、ちょっと比較してみました。
  • OSS的なリリース: sf.jpでプロジェクトを持ち、MLで議論、ディストリビューションへの収録がメインの経路。
  • Webアプリ(Social IMEのバックエンド)としてのリリース:広く使われるクライアントもリリースされているが、webでのAPI公開によって色々な使い方が試行錯誤されているのが興味深い。
  • Windowsアプリ(WinAnthyのバックエンド)としてのリリース:Windows向けの単発のアプリであり、物議を醸す機能もないため使える環境は多い。
  • コミケ向けリリース(cシリーズ):内輪受け用。

コミケ向けを除けば、ネット上のあちこちでポジティブな言及(「設計がcool」「こんなのが欲しかった」等)やネガティブな言及(「この作者はアホ」「この動作は最悪」等)があり、適当に探せば作者として受けているであろうフィードバックが推測できるかと思います(当然、作者の所にしか来ないためネット上に公開されていないものもあるはずです)。同じソフトでありながら、出した経路によってフィードバックの性質が異なる点はかなり興味深いと感じます。

この例に限らず、作ったソフトに対するネガティブなフィードバックがいっぱいあればダメというわけでもなく、開発を楽しめるかどうかは個人の感性やら状況、虫の居所などに依存しそうです。自分としては、アマチュアとしてやる場合には、開発者への共感が得られることが重要だと考えています。(参考になりそうなストーリー)

リリースの経路の違いよりもソフトの性質や開発者の違いに依存する部分が大きいかもしれませんが、これから非ビジネスでソフトを作って楽しもうとする人がどの経路からどのようにリリースするのか考える時の参考になればと思います。


(このエントリ書く前に不適切な悪口のエントリを書いてしまったので削除済み)
そう言えば、夏が近い...

62978 journal

tabateeの日記: key/value storageの話 1

日記 by tabatee
key/value storageの話を聞きに行くので、ちょっと予習
人によって色々なのを思い浮かべそうなので、思いついたポイントを列挙。
  • 速度: 超高速(数十クロック~数百クロック/look up)←→人が見てインタラクティブ←→低速
  • キー: 数値、文字列、バイナリ
  • 更新: 不可、高速、低速
  • lookup: 1 per 1 operation, multiple keys
  • backing store: 無し、ディスク、ネットワーク
  • 構成: 1thread, multi threads, cluster
  • 記憶効率: compressed, succinct, 普通, 富豪
  • 信頼性: 耐タンパ、耐故障(RAMのソフトエラー等)、ACID、特になし

例によって何か抜けてるとは思いますが、こんだけ組み合わせがあると既存のものがフィットしないで悩むことも多そうです。SQLサーバが全部をカバーしてくれると楽で良いんですが…

454753 journal

tabateeの日記: implicit tasks 1

日記 by tabatee
下記のリストはオープンソースのソフトを作ってた時の経験を内輪で議論した時の資料で、資料としてはウケが良かったのでメモ的に公開しときます。(作るソフトの内容やユーザ層によっては意味のない項目も含んでいます)
自分としては、アマチュアとしてソフトウェアの開発を楽しみたい人が(ソフトの種類や開発者の気分によって異なりますが)どういう所を活動の場とすると良いのかに興味を持って議論していました。ありそうな選択肢としては、(1)sourceforge等にあるようなOSSとして、(2)vector.co.jp等、(3)コミケ等のイベント、(4)ウェブアプリ等、が思い浮かびます。
  • ソフトウェアの名前は十分に考えてつける
  • 一貫性のあるバージョン番号付けをする
  • 定まったリリースプロセスを持つ
  • 気まぐれに開発を終わらない
  • READMEやCOPYINGといったファイル名の慣習に従う
  • 公開リポジトリを持つこと
  • 各commitは論理的に一つの変更であること
  • 各commitには説明的なlogがあること
  • セキュリティ問題が発生した時には標準的なプロセスに従って迅速に対応する
  • API/ABIはむやみに変更しない
  • API/ABIを変更するときは前もって移行プランをアナウンスをする
  • API/ABIの変更時には適切なバージョン付けをする
  • リリース時には変更点の説明を付ける
  • 同じ名前でリリースしたものをさしかえない
  • 開発に参加する人向けの公開MLを作る
  • エンドユーザが参加できる公開MLを作る
  • MLで誰も返事しない質問には返事する
  • バグの対応方針をすぐに言う
  • 隣接レイヤーの開発者に負担をかけていないか確認する
  • ディストリビューションの担当者とのコミュニケーションを取る
  • 評判を適宜検索し、報告されていない問題がないか確認する
  • 一般的なスペックの環境でそれなりに動くようにする
  • メジャーでないOSでも動くようにする
  • メジャーでないCPUでも動くようにする
  • メジャーでない環境で動かせるようにする変更を受け付ける
  • リソースの消費は同等機能を持つ商用ソフトの数倍以内が望ましい
  • マイナーなライブラリ等への依存を避ける
  • パッケージのどのファイルにもライセンスを記載する
  • ソフトウェアを作るのに使うデータ、ツールもオープンソースで入手可能なものを選ぶ

(適当に過不足があるので真に受けないでください。アマチュアの場合は全部やるのは無理っぽいので、どれを省くかの選択も重要になってくるかと思います)

457909 journal

tabateeの日記: late excuse

日記 by tabatee
Linux等で日本語入力のソフト等を色々なレイヤーで協調して開発ができてるうちに開発者の誰かが日本OSS貢献者賞(参考)を取れたら良いなあなんて思ってたのですが、結局、誰も受賞しないうちに現役開発者と呼べそうな人がほとんどいなくなってしまっているのが現状だと思います。
実際のところ、審査に関わられたmatz氏の日記によると、ビジネス的な側面も求められるようで、さもありなんという感じです。

...という感じで残念と思ってたところで、anthyをバックエンドに使ってくれているSocial IMEネットランナーの賞受賞したというのを知って、ちょっとうれしかったです。

#IPAのOSSなんとかによる頭越しの"標準化"に嫌気がさしてinput methodsの周辺から逃げてしまった身としては色々申し訳なく思う今日この頃です。(2004年頃のフレームワークがどうとかの時は対立を辞さなかったのですが…)
45659 journal

tabateeの日記: rx

日記 by tabatee
Tx: Succinct Trie Data structureというライブラリのサブセットをCで書いてみました。rx-0.1
Txより良い点や今後の見通しがあるわけではないですが、色々と勉強になって面白かったです。

追記:構築の時にメモリをバカ食いするのを修正したrx-0.2に更新しました。trieの実装で素直に長さ256のポインタ配列を使ってたのが原因です。trieを使うのを止めて構築を高速化するのと、pop countで遊んでアクセスを高速化することぐらいが次のネタでしょうか。
追記:rxのページ作りました。ライセンスの変更、高速化、8bitより小さい文字のサポート、ついでに、高速かつコンパクトで要素が可変長な配列のライブラリの追加をやってます。
466237 journal

mumumuの日記: strm: ping

日記 by mumumu

[2008-06-13 03:35:28] (mumumu_n) Sho_: called me? I'm testing build +3233 now.
[2008-06-13 03:35:56] (Sho_) mumumu_n: I was just wondering if you know where strm is
[2008-06-13 03:37:04] (mumumu_n) Sho_: maybe he is busy with university's work. call him on my blog again?
[2008-06-13 03:37:52] (mumumu_n) hmm .. strm did not update his blog since May 25 2008.
[2008-06-13 03:38:13] (mumumu_n) about IBM Laptop trap, lol.
[2008-06-13 03:38:37] (mumumu_n) Sho_: ok, I'll call him again.
[2008-06-13 03:39:22] (Sho_) mumumu_n: well it's not important today, I'm not here much longer

----

スラッシュドットの日記を見ている可能性もあるので bloggerの内容をこちらにも追記。
ということで、至急ではないようですが hein が用事があるそうです。多分 1.1 のことじゃないかな > strm

typodupeerror

計算機科学者とは、壊れていないものを修理する人々のことである

読み込み中...