「オープンソース」カテゴリの記事
個人プロジェクトこそTDDでやるべき
個人プロジェクトは、プライベートな空き時間にちょっとづつ開発を進めていくというスタイルが大半だろう。 そういう場合こそ、TDDを積極的に使おう。
ソーシャル化するOSS開発者たちを読んだ
Subversionとgitについて書かれている。 私はまだgitを使ったことが無いのだけど、そんなに速いのか。
いつのまにか Debian 5.0 がリリースされていた
Debian GNU/Linux 5.0 “Lenny” リリース!!! 以前のリリースから約2年近くを経て、Debian GNU/Linux 5.0 コードネーム “Lenny” が 2009/02/14、ついにリリースされました 今 Debian GNU/Linux 4.0を使っているが、特に4.0に不満が無かったので気がついたら次の5.0がリリースされていたという感じ。 Windows XPユーザにも言えることだと思うが、どのOSもこれ以上のバージョンアップはあまり重要ではない気がしてきた。 ソフトウェア開発はWebアプリケーションにシフトしているし、OSやサーバマシンは自分で管理するよりは、Amazon EC2の様に誰かに管理してもらった方がラクだと思うようになってきた。 もし、Amazon EC2がもっと安くなったら契約しようと思っているのは自分だけではないと思う。 もっとも、Amazon EC2上で動かすOSは Debian GNU/Linux 5.0 “Lenny” を使うだろうけど。 それまでは差し迫ってバージョンを上げない可能性が高い。...
セルフパトロンシステムの限界
ノンプログラミングでWebアプリを作るシステムについて調べている。 (参照:[kiyoka.調査.簡易Webアプリ作成ツール]) その中でTuigwaaというオープンソースプロジェクトを見つけた。 過去にIPAの未踏プロジェクトにも採択されており、可能性があるのかなと思ったのも束の間、Tuigwaaのサイトには開発終了宣言が出ていた。 2008/08/18 重要なお知らせ WebUDA Tuigwaa プロジェクトは、新機能開発を停止することとなりました。
オープンソースソフトウェアの布教活動もライブが基本?
ミュージシャンの活動とOSSの布教活動の共通点に気がついた。 OSSを黙々と作っても、なかなか使ってもらえない。 その前にまず認知されるまでが大変。そこでライブの必要性が出てくる。 ミュージシャンがライブで新曲を披露するのと同じ。 OSS開発者もLightning Talk等のチャンスを使ってプレゼンする必要があるし、効果は非常に大きい。 実際に私も、Lightning Talk等をやった直後に実際にユーザが増えるということが過去に何度もあった。
Gaucheのsvnバインディング:調査編2
[kiyoka.2008_04_15]の話に続き、Pythonのbindingを調査してみた。 pysvn: Downloadsからダウンロードできる。中身を見てbindingを真面目に作るのは大変そうなことが分かった。 メソッド数が半端じゃない。 以下、psvn_client.cppのクラス定義部分の引用。 ```c++
Gaucheのsvnバインディング:調査編1
Version Control With Subversion 著者: Ben Collins-Sussman,Brian W. Fitzpatrick: 洋書 Amazonで見る をO’Reilly - Safari Books Onlineで読みながら、svnのバインディングの書きかたを調査中。 このブログにコメントを付けたいというのが、一番の動機。 本当は、svnコマンドをGaucheから子プロセスで起動すれば良いのだけど、 この本には、バインディングを書かないとちゃんとしたエラー処理はやりにくいよ、と書いてあったので 真に受けて調査してみている。 世間には、既にPythonとRubyのバインディングが存在するようだが、それにとらわれず、 Gaucheらしいバインディングが作れれば良いのだけど。 手始めに、もっと簡単なバインディングを書いて練習してみようかな。
Firefox 3 Beta 5にした
とりあえず気づいた点 ページをレイアウトする速度が速い ページ全体のズームがサポートされた 以下Mozilla Japan - Firefox 3 Beta 5 リリースノートからの引用 ページ全体のズーム: 表示 メニューとキーボードショートカットから、新しいズーム機能によっ てページ全体をズームイン・ズームアウトして、レイアウトテキストおよび 画像、またはオプションで文字サイズのみを拡大・縮小することができます。 ここでの設定はサイトごとに記憶され、再びそのサイトを訪れると復元され ます。 [OldType]でこの機能をJavaScriptを使って実装しようと思っていたが、やっぱりやめた。 ブラウザでサポートされるんだったらもういいや。
Ruby1.9とVMの状況
最近Rubyの1.9とVMの情報を追いかけて無かったので、ささださんのプレゼンを探して観てみた。 LingrでささださんとshiroさんがVMの最適化について議論されているのを読んで興味が出たのもキッカケになった。 ちょっと古いけどRuby会議2007の時のプレゼンだ。 日本 Ruby 会議 2007 プログラム / Ruby 1.9実装の現状と今後 1/3 日本 Ruby 会議 2007 プログラム / Ruby 1.9実装の現状と今後 2/3 日本 Ruby 会議 2007 プログラム / Ruby 1.9実装の現状と今後 3/3...
] will never be A Ghetto.
スラッシュドット ジャパン / Ruby on Railsはゲットーだを読んで。 TechCrunchの記事Zed Shaw Puts The Smack Down On The Rails Communityも参考に。 Zed Shaw氏の原文はちゃんと読んでいないけど、Ruby/Railsコミュニティーからはもう手を引くとのこと。 要するにPHPコミュニティー見たいに『A bunch of half-trained former PHP morons』が押し寄せてきてひどい状況になっているということらしい。 私もちょっとの間PHPメーリングリストを読んでいて、質の低さにウンザリした記憶があるので多少は納得できる。 一方の[Kahua]コミュニティーには、良くも悪くもS式暗号(過去のkiyoka日記より)という高い参入障壁があるので、そうは成りそうにない。 要はバランスで、WebフレームワークのコミュニティーにはPHPコミュニティーからSeaside.stコミュニティーまでいろいろあるが、ちょうど中間地点がいいと思う。 [Kahua]はどちらかというと、Seasideよりだと思うので、もうちょっと中間地点側に寄せた方がいいと思う。 どうやって寄せるかは、キラーアプリを作って見せるのが一番だが、言語がSchemeだということもあって、それだけでは駄目なのかも知れない。...
KOFで『なでしこ』のクジラ飛行机さんと会う
KOFでブースに立寄っていろいろお話しさせて頂きました。クジラ飛行机さんと言えば、日本語プログラミング言語『なでしこ』、『葵』等の作者の方です。 やはり、面白い物を作られている方は自分と同じような空気を持っていらっしゃる方が多いと再認識しました。 まだ世の中に無い物、技術的に新しいものには自然と引き寄せられてしまうサガの様なものでしょうか。 今回は、直接お会いできたのでJoy programming languageというのがありますよ、と紹介させて頂きました。 『これを使えば、日本語で関数型プログラミング出来るんじゃないでしょうか』なーんて生意気にも進言させて頂きました。 短い時間でしたが『それは面白い』『かっこいいですねー』と言いあいながら楽しい時間を過ごさせて頂きました。 クジラ飛行机さんはご自分の技術を使って、『なでしこ』、『葵』という形で『これからプログラミングに挑戦する人』に向けてプログラミング言語を提供されています。 つまり、ターゲットがGeekではない人たちなんですね。 考えてみれば、私もマニアックな技術をGeekではない人たちにわかりやすい形で提供するという事に高い満足を覚える人間です。クジラ飛行机さんを見習って行きたいと思います。 技術的には結構なことをやっているんだけど、それを誰にでもわかりやすい形でシンプルに見せていく。 難しいですが、挑戦しがいのあるテーマです。これからも負けない様にがんばって行こうと思いました。
GaucheFestに参加した
GaucheFest第12回に参加しました。 特に実作業でGaucheのプロジェクトに貢献出来ている訳けではないです。(ずっとSumibiの作業をやっていましたので。) リモートからの参加ですが、仲間がいるという安心感のもと、いつもとは違うマインドで作業ができます。 また、IRCでちょっと会話をするだけですが、Inspireされて、いろんなアイデアに繋がります。 Sumibiの改良を続けていくことで、『Gaucheでもいろいろ作れるんだ』という認識が広がっていけばいいなと思います。
良きライバルは必要か
最近、SumibiのEmacsクライアントの改善を行っていました。 Emacsのoverlayという機能を使って実装したのですが、一番苦労したのは、GNU EmacsとXEmacsの両方で動くようにする作業です。 僕は普段GNU Emacsを使っているのですがGNU Emacsで『上手く動いたー』と思うのも束の間、次の瞬間にはXEmacsではちゃんと動かないことを知って愕然とします。 Emacsは一つでいいと思っているのは僕だけではないはず。 それともIEとFirefoxの様に何でもライバルの存在は必要なのでしょうか? XEmacsが存在したことで競争を促しGNU Emacsが今の様な画像表示機能やその他諸々の機能を実装したといえなくもないかな。 やっぱり受け入れざるを得ないのでしょうか。
CodeFest Kyoto 2005参加
CodeFest Kyoto 2005という、イベントに行ってきましたので一応どんな事をしていたか書きます。(Sumibi-dev MLに書いた内容とかなり被っています。) 金曜日の17:30くらいに会場に到着し、ちょっと上記のWikiの設定などを行った後、Anthyの田畑さんと同じくAnthyの吉田さん(oxyさん)とSumibiの変換アルゴリズムや、辞書の構造などいろいろ雑談っぽくお話しさせて頂きました。 shelarcyさんとも初めてお会いしました。僕の作ったSxmlcnvというソフトウェアを使っていただいています。Kahuaはsxmlライブラリのバグが直ているので参考に直してくださいとのことです。了解しました。 後、Sumibiの辞書の再配布方法など田畑さんに助言を頂きました。また、oxyさんにSumibi.orgで遊んで頂き、『えっ?SOAP?』と興味を持っていらっしゃったのでネタでsim-sumibiを作って頂けるかも知れません。もちろんプレゼンでのつかみネタ程度のモノを考えておられると思いますが… 他にも、今後AnthyもWikipedia日本語版を読み込んで統計的アプローチも取り入れる予定だという話をされていました。 最後に、田畑さんが漢字変換エンジンなんか作ってても尊敬されないとか、PRIMEを開発されている方から『Anthyがちゃんとしているから、他の漢字変換エンジンが心置きなくネタに走れる』と言われたとぼやいていらっしゃったのが印象的でした。ついでに『すごく共感します。Sumibiもネタに走れるのはAnthyがちゃんとしているからです。』という事を伝えておきました。(^^;) 僕はその日の22:00頃 会場を出たので、それまでの間Anthy関連の人を質問攻めにして一行もコードを書いていません。もしかしたら、コンピュータ持たずに手ぶらで行っても良かったかもと思っています。^^; 自宅に戻ってからはドキュメントしか書いていませんし。 コードは一行も書いていませんが参加してみて有意義なイベントでした。また、関西で開催されれば参加したいです。
紙飛行機の思い出
ふと、僕が小学生の時、近所の幼なじみと紙飛行機を作って遊んだことを思いだしました。 僕は昔から、何かを作るということが好きでした。 特に、ねんどやダンボール箱をこねくりまわして、車やヘリコプターなどを作った事を覚えています。 ある日、いつものように幼なじみと紙飛行機を作ってどちらが遠くまで飛ぶか競争をしていました。 二人とも試行錯誤を繰り返したあげく、遠くまで飛ばすのにも飽きてしまいました。 そうなると、僕は距離よりも少しでもかっこよく速く飛ぶ飛行機の製作に興味は移って行きます。 結果思いついたのが、紙飛行機の先端を折鶴の頭部の如く下向きに折り曲げて、先端を重くして航行速度を上げるという アイデアでした。作ってみると外観も本当にかっこよく、真っ直ぐ飛んだのをよく覚えています。 続いて、幼なじみも負けじと同じアイデアで先端の折り曲げる量を変えたりして、宙返りが簡単にできるカッコイイ紙飛行機を作りました。 その時、僕はなんと子供だったのでしょう、『人の真似は禁止』とつっかかっていって、その幼なじみの紙飛行機がどんどんかっこよくなっていくのを根本から阻止しようとしました。 普通ならタダのガキのよくある風景だなと思うだけで通り過ぎるかも知れませんが、僕はここで知的財産権とソフトウェア特許に重ねあわせて考えてしまいます。 『自分のアイデアを真似されたくない』これは根源的なものなんでしょうか。 オープンソースソフトウェアのメリットを実体験している今となっては、過去の自分が愚かしく見えますが、子供の頃の自分がそんなことを言ったということは、なんの疑いもなくアイデアの無断利用は間違いだと思っていたし、それが常識だったのかもしれません。 その後は、幼なじみの抗議を受け入れ、仲直りして紙飛行機を改良しては二人でスゴイスゴイと言いながら楽しく遊びましたが、今でもその時の幼なじみの抗議での『なんと理不尽な』という表情は忘れていません。 アイデアの再利用のメリットは大きいけれども、それを身を持って体験するというのは貴重です。 僕は、何時からアイデアの再利用・共有の推進派になったのでしょう。しかもオープンな再利用の推進派に。 残念ながら何時からかははっきりしません、こういう経験の連続で少しずつ考えが固まっていったのでしょうか。
オープンソース参加を経済の言葉で考える
少しばかりオープンソースの世界に参加してきた僕の経験をもとに、オープンソースの世界に参加する場合のコツをお教えします。ポイントは投資と回収のバランスです。オープンソースに参加するには自分の使った時間または満足度が黒字化しているかどうかに思いを巡らせながら活動すると幸せな生活が送れるんじゃないかと思います。投資とは、日頃あなたが使用するソフトウェアを改善するために使う労力です。回収とは、そのソフトウェアを使って得られた生産性や満足度ということになります。もし、それが黒字化していればあなたは幸せでしょう。 一般にオープンソース開発やバグフィックス・テスト等はボランティアといわれますが、上記の用にコストとベネフィットという考え方に置き換えれば、開発者は受益者でもあるといえます。また、無数のオープンソースソフトウェアを大きなポートフォリオと考えるなら、一部のソフトウェアに投資して、別のソフトウェアから回収しても良いでしょう。問題は、「フリーライダー」と呼ばれる人々です。この人達は投資を行っていないにもかかわらず、先に利益だけを得ようとしています。人にもよりますが、これは精神衛生上幸せではないでしょう。ちょうどいい黒字バランスが幸せを生むのだと僕は考えます。
Olegさんよりメールをもらう
本記事で言及しているOlegさんのサイトは http://okmij.org/ftp/README.html です。 いつも僕のようなへっぽこプログラマの相手をしていただいてありがたく思う。メールの趣旨は、最近Lisp/Schemeの価値が少しずつ理解されてきたという内容。ボストンのUsenixコンファレンスでSXMLを銀行のトランザクションとして使おうとしている人と話をしたこと、有名なNetBSDカーネルハッカーと話をして、その人はLisp/Schemeの価値に気 づいていることなど。(Olegさんも十分有名人なんですけどね)。こんなメールを頂けるなんて、オープンソースに携わっている身としてはうれしい限りである。今後も微力ながら役に立つも のを作っていきたい。(僕の場合、アイデア一発物ばっかりなんだけどね。)
17件の記事があります。