!kiyoka.blog.2007_10 RSSPLAIN

Related pages: !kiyoka.blog.list
14215555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555533333333333330333555555555555555555555555555555555555555555555555555555555555555555555555
1

kiyoka日記。NendoSekkaの開発や、最近思うことなど

4

最新10件!kiyoka.blog   過去記事一覧!kiyoka.blog.list

2

kiyoka.blog_header 

1

このブログを書いている人: 西山 清香(kiyoka) - twitter: @kiyokaEXT

5

5

 

5

 

5

kiyoka.2007_10_27[プログラミング]全生物の8割が昆虫、全プログラムコードの8割がループ

5

『全生物の8割が昆虫』これは事実かどうかは不明だが、よく言われる。

5

『全プログラムコードの8割がループ』は私が勝手に作った言葉だ。

5

最近、業務向けアプリケーションのコード(JavaとかPHP)を読むことが多い。

5

関数型スタイルのプログラミングに慣れた脳味噌で見るとほとんどがイテレータを回すループだと気づいた。

5

特に、コレクションやリストなどを操作するループが至るところにある。ループ、ループ、ループのオンパレード。

5

さらに、残念なことにイテレータのインスタンスやループ変数の宣言もループの数だけある。

5

全て高階関数に置き換えたらどんなに読みやすく簡潔になることか...

5

未来のC#、C++、Pythonが関数型スタイルをサポートする様だが、そうすれば業務向けコードの風景も様変わりしていくのだろうか。

5

個人的にはそう思う。

5

後はそれをどのくらい早めることができるか、かな。

5

5

 

5

 

5

kiyoka.2007_10_17[Sumibi]mixiのコミュニティー

5

今日存在に気づいた。Sumibi.orgのコミュニティーがmixi上にあるとは知らなかった。

5

それだけヘビーに利用している方がいるということだろう。

5

大変ありがたい。

5

オープンソースプログラマーとしても、サイト運営者としても嬉しい。

5
 Sumibi.mixi_community
5

5

 

5

 

5

kiyoka.2007_10_16[OldType開発]OldTypeがバックエンドで更新するページのプリフィックスを '@' から '!' に変更

5
問題
5
 $ svn ann @RecentChanges
5

では、エラーとなる。

5

理由は『svn ann』 や 『svn log』コマンドで@マークに意味があるから。

5
 $ svn ann @RecentChanges@HEAD
5

とリビジョンまで指定するとエラーとはならない。

5

マニュアルを引くとこんな説明が書いてある。

5
 $ svn help log
5
 log: 一連のリビジョンとファイルの一方または両方のログメッセージを表示します。
5
 使用方法: 1. log [<パス>]
5
           2. log <URL>[@<REV>] [<パス>...]
5

いちばん問題なのは、psvn.elが@で始まるファイルに対して psvn.el が考慮できていないので C-x C-v = でログを見ることができないこと。

5
対処方法
5

しょうがないので '@' から '!' に変更した。

5

URLが変わってしまうのだが、まだ開発初期なのでお許し願いたい。

5

5

 

5

 

5

kiyoka.2007_10_15[Life]音楽産業と日本のテレビ放送業界

5

TechCrunch Japanese アーカイブ >> YahooのIan Rogers、音楽産業に苦言― 「不便の押し付けはいいかげんにしろ」EXT

5
 最後にIanは音楽産業の現在の欠陥だらけのビジネスモデルをこれ以上サポートする気はないと断言した。
5
   私はYahoo!にもうこれ以上ユーザーに不便をかけるだけのサービスには投資
5
   させないつもりだ。私はYahoo!本社に、すばらしいメディア・アプリケーショ
5
   ンを作るための予算はもっと後にとっておいて、今はYahoo!Mailとか
5
   Answersとか役に立つ事業に投資したほうがいいと勧める。私自身の見解と
5
   しても、消費者の利益を無視して自分勝手な制限を課そうとするような試み
5
   にこれ以上付き合う時間も予算もない。人生は短い。私は消費者に喜んでも
5
   らえるようなサービスを作りたい。消費者をコケにするような仕事は御免だ。
5

 

5

日本のテレビ放送業界もデジタル情報のコピー10回制限というような面倒をユーザーに課する様だが、いずれユーザーにそっぽを向かれてしまい、終焉を迎えると思う。

5

いつの時代もユーザーの方を向いている新興企業が出てきて、古い企業はついていけず苦言を呈するという図式のような気がする。

5

はやく、このような面倒はビジネス的に淘汰されてしまうことを願う。

5

5

 

5

 

5

kiyoka.2007_10_14[Life]PCが一台故障する

5

自宅のファイルサーバーとして使っていたマシンが故障した。(自宅の3台のサーバのうち1台)

5

HDDは無事だったが、1時間くらい稼動した所でマザーボードからピーピーというブザー音が鳴って、停止してしまう。

5

急遽、Sumibi.orgの待機系サーバを潰して復旧させた。

5

2年に1台位は定期的に故障するようだ。

5

Sumibi.orgの待機系サーバを再度用意するかどうかが問題だ。そこまでせんでもという気がしている。

5

やるとすれば、ファイルサーバの中のXenの仮想環境の中に構築するのがいいだろう。

5

 

5

5

 

5

 

5

kiyoka.2007_10_13[OldType開発]Subversionの最新版をビルドする

5
Subversion 1.1.4(過去のバージョンの問題)
5
 $ svn info 
5

コマンドが --xml をサポートしていない。

5

--xmlが無いと発生する問題として、svn info の出力は国際化されているのでLANG環境変数によってメッセージが日本語で出たり英語で出たりする。

5

Subversion 1.4.5(最新)の--xmlを使えば、環境変数に依存しない。

5

 

5
ビルド情報
5
OSバージョン
5
 Debian 3.1(sarge)
5
バージョンの組合せとconfigureのオプション
5
apr-0.9.16
5
 configure
5
apr-util-0.9.15
5
 configure --with-apr=/usr/local
5
subversion-1.4.5
5
 configure --prefix=/usr/local --with-apr=/usr/local --with-apr-util=/usr/local/apr --with-neon=/usr/local --disable-mod-activation
5

(--disable-mod-activationはApacheのmod_svnをinstall時に有効にする動作を無効化する。Debianの場合は勝手にenableされるのはイヤなので指定した。)

5

5

 

5

 

5

kiyoka.2007_10_12[Life][創作心理]WIRED VISION / 「ゲーマーの後悔」は終わらないEXTを読んで

5

たしかにゲームを長時間した後の後悔は大きい。

5

私は、それが怖くて10年ほどRPGなどの時間がかかりそうなゲームはやっていないし、据置型ゲーム機も一台も持っていない。

5

ちょっと寂しい人生のような気がしないでもないが、結果としてその時間をオープンソース開発にあてることが出来たと勝手に解釈している。

5

オープンソース開発に使った時間は膨大だが、なぜか後悔しない。

5

それはなぜか。

5

オープンソース開発も複数の人間でコラボレーションして或る種のゲームのような楽しさも持っている。でもゲームでは無い。

5

この記事に答えに近づけるヒントがある。( WIRED VISION / 「ゲーマーの後悔」は終わらないEXTより引用 )

5
 クロスワードパズルの専門家、Will Shortz氏は以前、人が紙とペンを使うパ
5
 ズルを愛する理由は、「人生には答えが1つではない問題が山ほど存在するが、
5
 クロスワードでは答えは1つと決まっていて、それを見つけ出すことができる
5
 からだ」と私に話したことがある。だが、クロスワード中毒と同様、ゲームが
5
 終わった後、われわれに何が残されるのか?達成感だろうか?確かにそれはあ
5
 るだろうが、われわれが成し遂げたことは、この上もなく独断的で、非生産的
5
 な仕事でしかない。ゲームが終わったときに私が感じる喜びにはいつも、少し
5
 のむなしさが付きまとうもっと生産的で、難しくて、やりがいがある何かをし
5
 た方がよかったのではないか?
5

オープンソースソフトウェア開発が後悔しない理由を一言で言い表すとこういうことかなと思う。

5

『ゲームはあらかじめ誰かが答えを用意してくれているが、オープンソース開発のようなものづくりには答えは用意されていない。』

5

つまり、自分が通ってきた道がありふれたものか、それとも自分だけのものかという事ではないかと思う。

5

そんなわけで、オープンソースソフトウェア開発はやめられない。

5

5

 

5

 

5

kiyoka.2007_10_10[OldType開発]svnコマンドのバージョンが古いとマルチバイト対応がイマイチ? → (原因判明)

5
問題
5
 $ svn ann kiyoka:2007_10_10.ot
5

を実行するとバイナリだと言われる。

5
 Skipping binary file: 'kiyoka:2007_10_10.ot'
5

プロパティーは何も設定していないし、同様の設定の別の日付のblog記事は問題ない。

5

svnのバージョンが新しければ問題が修正されているかも。

5

使っているバージョンはコレで、まだutf-8の扱いが完全じゃ無いのかも知れない。

5
 svn, version 1.1.4 (r13838)
5

 

5
原因判明
5

kiyoka:2007_10_10.otは最初にテキストではなく、バイナリでSVNに登録されたためであった。

5

最初にバイナリで登録されたファイルは、annotate機能(blame機能ともいう)が使えないようだ。

5

version 1.1.4の問題では無さそう。

5

対処方法としては、要するに削除して再登録する。

5
 svn remove kiyoka:2007_10_10.ot
5
 svn commit -m ''
5
 svn add kiyoka:2007_10_10.ot
5
 svn commit -m ''
5

次回から、うっかりバイナリにならない様に対策として

5
 ~/.subversion/config
5

という設定ファイルに、拡張子に連動して固定でプロパティー指定するようにした。

5

ついでに、.png と .jpgも画像ファイルと認識されるようにした。

5
 [miscellany]
5
 enable-auto-props = yes
5
5
 [auto-props]
5
 *.ot = svn:eol-style=native;;svn:mime-type=text/plain;charset=utf-8
5
 *.png = svn:mime-type=image/png
5
 *.jpg = svn:mime-type=image/jpeg
5
5

5

 

5

 

3

kiyoka.2007_10_09[OldType][ブログ] ブログを引越し

3

ブログをこちらEXTに引越ししました。

3

tDiaryよりも簡単に書けるということもあって、新しいURLで書いていきたいと思います。

3

まだ、コメントしたり、トラックバックしたりできませんが、そのうちコメントや書きこみもできるようになる予定です。

3

URLも変わる可能性があったり、流動的ですがお付き合い下さい。

3

 

3

 

3

COMMENTshiro

コメント機能つけて〜

ちなみにuniqに相当するものとしてsrfi-1にdelete-duplicatesというのがあります。

3

COMMENTkiyoka

shiroさんコメントありがとうございます。

> コメント機能つけて〜 

ちょいと待ってください〜

OldTypeに、編集機能を付けて、anonymousで書き込みできるようにしないといけません。まだまだ先になりそうです。

それと、delete-duplicatesがあったんですね。

srfi-1はデフォルトで使うので、これに置き換えます。

3

COMMENT@aka

Feed も配信してー

3

COMMENTkiyoka

@akaさん、コメントありがとうございます。

Feedもありますね〜。

blogとして見ると、必要な機能は多いもんですね。

まあ、あせらずやります。

3

COMMENTぴぃ

フランスに留学中の学生です☆こっちのパソコンで日本語が打てなくて困ってましたが、今日Sumibi.orgを見つけて感激してます!ありがとうございます。今もサイトを使って打ってます(笑)

3

COMMENTkiyoka

ぴぃさんコメントありがとうございます。

おお、フランスからですか。お役に立ててなによりです。

これからもがんばって運営していきますので、応援お願いします。

0

comment (disabled)

3

3

 

3

 

5

kiyoka.2007_10_07[OldType開発][プログラミング]必要からlistのuniqを作る

5

Gaucheにはuniqはないんだね。

5
で、ごく普通の教科書的コードを書いた。
5
(define (uniq lst)
5
  (cond
5
   ((null? lst)
5
    '())
5
   ((memq (car lst) (cdr lst))
5
    (uniq (cdr lst)))
5
   (else
5
    (cons (car lst)
5
          (uniq (cdr lst))))))
5
使いかた
5
gosh> (uniq (sort '(3 3 6 6 4 2 4 2 6 2 1)))
5
結果
5
(1 2 3 4 6)
5

もうちょっと短く書けそうなんだけど。

5

 

5
実はmemqを使っているのでソートする必要はない。
5
gosh> (uniq '(3 3 6 6 4 2 4 2 6 2 1))
5
結果
5
(3 4 6 2 1)
5

 

5
追記: どう書く?orgで出題されていたんだね。
5

アレイのuniq どう書く?orgEXT

5

 

5
追記: Shiroさんが古いkiyoka日記(tDiary)EXTにコメントに書いてくださいました。
5

以下、Shiroさんのコメント引用。

5
 ちなみにuniqに相当するものとしてsrfi-1にdelete-duplicatesというのがあります。
5

5

 

5

 

5

kiyoka.2007_10_06[OldType開発]情報鮮度の視覚化に挑戦

5

お手本はこちらの増井さんの考えかたを参考にした。界面駭客日記(23) - 情報鮮度の視覚化増井俊之EXT

5

そして技術的手段は BitChannel : AnnotateEXT を参考に。

5

CVSとSubversionは同じ機能を持っているので同様の機能は簡単に実現できる。

5

OldTypeでは、さらに、Annotateモードに入らなくても普段から情報鮮度が見れる様にする予定。

5

OldTypeの名前の由来はここからなのかなと思ってもらえたとしても、これ幸い。(本当はちがうのだけど...)

5

それにしても、BitChannel : AnnotateEXTの色まで同じにせんでも... というツッコミがあるかも。

5

いろいろやってみたけど、白地に赤系が一番視認性、デザインのバランスともに良かったので。

5

5

 

5

 

5

kiyoka.2007_10_02[言語]配列ベースプログラミング言語「ざぼん」EXT

5

趣味的にっき - 配列ベースプログラミング言語「ざぼん」EXTより

5
 LispにS式があってマクロがあるように。
5
 Rubyの配列を使ってプログラミング言語を書いてみました。Ruby本体を使ってプログラム(= 配列)を操作することで、Lispのマクロのようなことができます。言語の名前は「ざぼん」です。「ざ」をいただきました。
5

 

5

面白い。Lisp慣れしている人は簡単にはじめられそう。

5

ライブラリはRuby標準が使えるので、ライブラリに不足は無し。

5

但し、関数型プログラミングの為のライブラリが無いと実用的には使えないかも。(ネタにマジレス?)

5

5

 

5

 

5

kiyoka.2007_10_01[OldType開発]RecentChangesページを生成する機能を追加

5

何は無くともこの機能が必要。

5

shiroさんとこのWiLiKiEXTサイトでも一番使うのが、このRecentChangesページ(『WiLiKi: 最近の更新EXT』ページ)です。

5

Subversionのリビジョン管理情報から生成している。

5

こんなコマンドを発行している。

5
 svn -xml log *.ot 
5

Gaucheでうまく加工して、bashで関数型チックなコーディングができるようにしてみたが、うまく書けているかな。

5

最後はot_mapとかot_filterとか言う高階関数っぽいshellスクリプト用ユーティリティーを書こうと思っている。

5

が、まだどんな仕様が美しいのか考えきれていない。

5

 

5

[プログラミング]関数型言語脳

5

Functioal Programming IATEXTをやってみた。

5
 関数型指数 (潜在的な関数型プログラミングの嗜好度) をはかる IAT のつもりです。
5

結果

5
 あなたの関数型指数は 0.509561078286635 です。正が関数型、負が手続き型です。
5

かなり関数型思考が高いかもしれない。

5

最近関数型のメリットを享受することが多いので、結果は想定範囲内か。

5