!kiyoka.blog.2007_08 RSSPLAIN

Related pages: !kiyoka.blog.list
142155555555555555555333333330333555555555555533333333333333033333333333333333033333333333303333333303335555333333333303333333333333333333333333333333333330333333333333305
1

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

4

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

2

kiyoka.blog_header 

1

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

5

5

 

5

 

5

kiyoka.2007_08_31[OldType開発]WiLiKiとの文法の互換性を確保しつつ、パーサを行指向に改造する

5
Web画面の編集イメージをhtmlとCSSで作ってみる
5

(struggleディレクトリに入れている)

5
WiLiKiのパーサは行指向では無いので、問題が有りそう
5
WiLiKiのパーサはulやolの階層をネストしたSXMLで返すのは問題。
5

1行ずつ '##' マークされた行を編集を行った場合でも、後続行のレイアウトに影響を与えるため、リアルタイム反映が難しくなる。

5

Webページ上で後続行が何十行あっても1行単位でリアルタイム反映を可能にするためには、ul ol などを使ってはいけないと思うようになった。

5

SXMLではなく行指向の結果を返すように作りかえる必要がある。

5
'*' '#' '-' の行頭記号の後に、スペースが1文字入っていないとそれぞれのキーワードとして成立しないことにした。
5

これはWiLiKiオリジナルルールだが、## ( ) というマクロ記述が1行目に書けないという問題を回避しているものと思われる。

5

人間の目にも優しいし、WiLiKiと同じルールにした。

5

5

 

5

 

3

kiyoka.2007_08_28[デザインポリシー][OldType] 悪い方が良い原則

3

The Rise of Worse is Better(悪い方が良い原則)EXT

3

なるべくこの原則に従うように、Wikiエンジンを設計しています。

3

特に、プラグインの作者にとって、普通のUNIXコマンドラインのプログラミングで機能追加できるようにしたいと思っています。

3

理想的には、bashで10行位のプログラムが書けたら、即プラグイン作者になれる様なイメージです。(本当にできるかな、という不安もまだあります...)

3

例えば、wgetでSimpleAPIにアクセスし、結果のサムネイルをページに埋めこむプラグインなんかは簡単にできるかなぁ。

3

仕組みも実装もシンプルになるように設計を練っているところです。

3

 

0

comment (disabled)

3

3

 

3

 

5

kiyoka.2007_08_25[OldType開発]WiLiKiのパーサを流用して !でverbatimルールを追加した

5
  継続渡しベースのパーサで書いてあり、ルール追加は簡単だった。
5
  とにかく、最初はHTMLの変換と外のWikiスタイルへの変換等を試してみたいので次はSXMLのフォーマッターを作る必要がある。
5

5

 

5

 

5

kiyoka.2007_08_24[OldType開発]名前の由来

5
NewTypeの逆説でOldType。(NewTypeでないので以心伝心では伝わりませんよ。文書化しましょう。)
5
MovableTypeに対抗してのOldType。(Typeは文字という意味もある。)
5
OldType的開発者をターゲットにしたWikiエンジンとしてのOldType。(Emacsとコマンドラインからもコンテンツ更新可能)
5

5

 

5

 

3

kiyoka.2007_08_23[OldType] WiLiKiのパーサを流用してパーサを作る

3

WiLiKiのソースを読んでいくと、かなりモジュール化がしっかりしているので、パーサ部分をそのまま流用させてもらう事にしました。

3

これでOldTypeのライセンスは自動的に修正BSDに決定です。(注意:Emacs Lisp部分だけは例外でGPLv3です。)

3

流用したらパーサが簡単に作れました。パーサは1ファイルで独立しています。

3

モジュール化重要ですね。

3

結局、<<< 複数行 >>> で verbatimになるルールはそのまま残して '!' で始まる行を 1行単位で verbatim になるルールを追加しました。

3

実際に元のルールを壊さずにパーサを改変しようとすると勉強になります。

3

元のソースを理解していないと手を入れられないわけですから。

3

さらっと読んで理解したつもりになるのとは雲泥の差があります。

3

(使ったソースはCVS版の parse.scm,v 1.6 2007/05/02 10:37:17 shirok です。)

3

 

3

 

3

COMMENTcut-sea

あのパーサは最初見た時かなり感動しました。

新しく追加するのが簡単になるように作られてて。

parse.scmという風にモジュールになってるのは知らなかったですが、

この作りは私を含めて周囲では流用し(バクり)まくりです。

一体、どう考えたらこういう構成を考えつくんでしょうねぇ。

3

COMMENTkiyoka

私も感動しました。

最初はよく理解できなくて何度も壊しながら試行錯誤したんですが、

いったん継続渡しスタイルの全体像が見えた瞬間、ほんの一部書きかえただけでOKとわかり驚きました。

『継続って便利だ!』って思った初めての瞬間です。

format.scmも見ている所ですが、wiki-nameの処理とか新しいwiki-macro($$date等)とかがプラッガブルになっていて驚きです。

0

comment (disabled)

3

3

 

3

 

3

kiyoka.2007_08_22[創作心理][OldType] 独りで始める Concrete and Specific Programming(CSP)

3

Inemuri nezumi diary(2007-08-22):独りで始める Concrete and Specific Programming(CSP)EXT

3

これは釣り的エントリーでしょうか。ちょっとネタ風味な所があります。まあ、釣られてみましょう。

3

同意できる所と同意できない所があります。

3

同意できる所は、最初に『夢』物語を書くところです。人生を無駄づかいしないためにも、完成イメージを描いてみてダメそうなら捨てるという部分は賛成です。

3

でも、実装をいちばん最後にしてしまうところは賛成できません。

3

なるべく最初にプロトタイプを作って触ってみる事が重要だと思います。

3

関連する内容は次の記事が参考になります。

3

50%の完成度でサービスを出す:近藤淳也の新ネットコミュニティ論 - CNET JapanEXT

3

Getting Real by 37signalsEXT

3

私の場合はこの二つの混合かな。

3

ちなみに、OldTypeEXTは前述の『CPS』には向かないプロジェクトだと思うんですが、出だしはCPSと同じようにドキュメントに傾倒した感じになっています。

3

今後は作っては使うといういつもの繰返しになっていくでしょう。

3

 

0

comment (disabled)

3

3

 

3

 

3

kiyoka.2007_08_19[プログラミング][Life] On Lisp読書会#1に参加した

3

On Lisp読書会#1EXTに参加しました。

3

新しい隠れLisperの方は見つかりませんでしたが、これからLisperになりそうな方はいらっしゃいましたよ。個人的にはGauche本が出ればLisperが増えそうな予感です。(ちなみに、以前からLisperだった方は一人来られてました。)

3

ところで、Extreme Readingはいいですね。一人で読むよりもいろいろな疑問点が挙がるので勉強になります。

3

今回の収穫は『複数言語を扱うメンバーの共通語(公用語?)はRubyが良い』こと、『Rubyの関数をfirst classにしたければ lambda で関数定義すればいい』こと、『関数型プログラミングのメリットは体験してみないと本の説明だけでは伝わりにくい』ことです。

3

特に、最後の件はSumibiの開発を例に補足させてもらいました。

3

興味のある方は是非次回から参加してみて下さい。もちろん、私は次回も参加する予定です。

3

追記: 中本さんがまとめをブログ記事EXTにされています。ありがとうございます。本当に助かります。

3

 

0

comment (disabled)

3

3

 

3

 

3

kiyoka.2007_08_16[プログラミング][Life] On Lisp読書会#1に参加する予定

3

On Lisp読書会#1EXTに参加します。日程は8月19日(日曜日)です。

3

関西の隠れLisperを探しに行くという別の目的もあります。

3

On Lispを持っているけど読めてない方は参加してみてはいかがでしょうか。

3

 

0

comment (disabled)

3

3

 

3

 

5

kiyoka.2007_08_15[OldType開発]sourceforge.jpにプロジェクト『OldType』を作る

5
  SVNに登録したのは、手元にあるWikiコンテンツ一式とoldtype-mode.elだけ。
5
  Wikiパーサが出来たら順次SVNに登録していく予定。
5
  早くWikiコンテンツをWebで公開したいな。でも、その為にはパーサが必要なんだな。
3

3

 

3

 

3

kiyoka.2007_08_14[OldType] とりあえず、sourceforge.jpにプロジェクトを作りました。

3

名前はMovableTypeに対抗して、OldTypeとしました。(笑)

3

SourceForge.jp: Project Info - OldTypeEXT

3

まだoldtype-mode.elとドキュメント類しかSVNに登録していません。

3

今の所、ひとりおきらくWikiモードのような感じで利用している状況です。

3

開発ペースもゆっくりなので、最初のリリースはだいぶ先になりそうです。

3

 

0

comment (disabled)

3

3

 

3

 

3

kiyoka.2007_08_08[コンピュータ][tDiary] PowerBookのフタを開けるとEmacsが飛びこんでくる設定

3

PowerBookのフタを開けると、それを感知してリモートのEmacsが飛びこんでくる設定です。

3

やってみると、意外と良かったので紹介します。

3

Emacsはツールの豊富なDebian GNU/Linux上のEmacsを動かしたいのです。

3

しかもEmacsで画像表示したいのでX版にしたい。

3

でも、PowerBookのフタを開けた後、わざわざリモートのLinuxサーバに入ってEmacsを起動するのがめんどくさいのです。

3

そして、ふと気づいたアイデアが次のようなスクリプトです。

3

PowerBookでXサーバを起動しておき、認証なしにするコマンド 'xhost +' を実行している事が前提です。

3

Debianサーバ側でスクリプトを実行すると、PowerBookへのpingが通るかチェックして通信OKならEmacsを起動します。(無限ループです

3

1分おきに監視しているのでフタを開けて約1分でEmacsが起動します。

3

1日の終わりにはEmacsを終了して1分以内にPowerBookのフタを閉じます。

3

一度お試しあれ。(追記:関係ないですが、tDiaryのソース貼りつけに苦戦した...)

3

 

3
#!/bin/bash -x
3
3
TARGET_HOST=pb
3
ps_result=`ps auxww | grep emacs | grep ${TARGET_HOST}:0`
3
3
while :
3
do
3
    if [ ""="${ps_result}" ]; then
3
        ping -c 1 ${TARGET_HOST}
3
        if [ "0"="${status}" ] ; then
3
            (export SHELL="/usr/bin/zsh" ; emacs -fg black -bg white -fn 7x14 -d ${TARGET_HOST}:0)
3
        else
3
            echo "..." | mail -s "Error: Cannot launch Emacs on ${TARGET_HOST}:0" kiyoka@localhost
3
        fi
3
    fi
3
3
    sleep 60
3
done
3

 

3

 

0

comment (disabled)

3

3

 

3

 

3

kiyoka.2007_08_07[ブログ] tDiaryにプログラムコードを貼りつける方法がわからない...

3

Googleでかなり探したんですが... プラグインが見つかりません。

3

私がブログにコードを貼り付けたことが無い理由の一つです。orz

3

Matz日記にコードが貼り付けてありますが、どうやってるんでしょう。

3

tDiaryに詳しい方、この記事を見たら教えて下さい。お願いします。

3

 

3

 

3

COMMENTただただし

Wikiスタイルなら、コードの行頭に空白を入れると整形済みになります。

tDiaryスタイルなら、pluginにsrc.rbがあるのでそれを利用するといいでしょう。

ちなみにMatz日記はRDスタイルを使っているのであまり参考にならないと思います:-)

3

COMMENTただただし

tDiary-usersのFAQにも「ソースコードを貼り付けたいのですが」というページを起こしましたので、探してみてください(ツッコミにURLを貼ると蹴られるようなので)

3

COMMENTkiyoka

たださん、こんにちは。

FAQのページ参照しました。

src.rbプラグインは外部ファイルを読み込むしかできないのだと思ってスルーしていました。これでソースコードが貼れるようになります。

ありがとうございました。

0

comment (disabled)

5