<< 2003/10/ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1. iTunes 4.1 for Windows
2. VeriSign の野望
3. ちょっと気になるデジカメ
18 19 20 21 22 23 24 25 26 27 28 29 30 31 >>
トップ «前の日(10-16) 最新 次の日(10-18)» 追記

2003-10-17

_ iTunes 4.1 for Windows

http://www.apple.co.jp/itunes/

日本語版ダウンロードは 10/21 から。英語版 20MB ほどありますなぁ。あと、AAC を利用するには QuickTime 6.2 以降も必要、と。 というかインストーラが QuickTime 6.4 を入れてくれた気がするのですが。Windows 版だからか? も〜ぅ 6.3 入ってたの確認してくれって。

考えたらこのアプリは Music Store への誘導と iPod への誘導がカギなんですよね。

そこで食指が動かない人間にはアプリ単体としてみると他のメディアプレイヤーに勝る部分てないので、あとは「雰囲気を楽しむ」くらいしかないんですよね。うーむむむ。長いこと Winamp で過ごしてきた人間には無用の長物か。

Windows で Rendezvous が使えるのは面白いけど、周りにユーザーがいないと意味ないっすねぇ。

あ。忘れてた。ラジオが聞ける。これはいいかも。

Tags: Tool Music Net

_ VeriSign の野望

http://www.zdnet.co.jp/news/0310/17/nebt_09.html

うーん、正直、site finder は Network Solution 部門の暴走だと思っていたんだけど、そういうことじゃなかったのかぁ。

Tags: Biz Net

_ ちょっと気になるデジカメ

http://www.zdnet.co.jp/products/0310/15/rj01_f700.html

でも FUJIFILM ってとこが。。。Kodak 派なもので。

Tags: Tool

2004-10-17

_ 思わずるびまから日記探訪へ

前田さんは賢いけどドキュメント書いてくんないからなーなどと思ったりしながら時間と体力を消費する午前 3:30. まずいんじゃないだろうか、この状況。一応仮眠は取ったので体力的にはなんとかなるでしょうけど。

Tags: 日々

_ 終了ぅ〜

いきなり街のマンキツにきてこんなもん書いてるのもどうかと思うが。しかもさっきドトールでコーヒー飲んだじゃん、おれ。

とりあえず手応えとしてはそこそこいい感じ。正解って発表されないんだよね? このそこそこ感がいちばんドキドキしていやかもしれん。

さーて。早速飲み行っちゃうかぁ?

Tags: 日々

2005-10-17

_ FreeBSDグループは参加拒否か?

いつまでも承認待ちの状態から進展がない。まぁさすがに参加申し込みの一言に

Otsune, the Jail Master にあこがれて。

と書いたのはまずかったか。というか自分の日記の URL も何も情報がないんだもの、判断しようがないよね。すいません。とりあえずはてなの方に何か書こうかな。

Tags: Web Unix
本日のツッコミ(全2件) [ツッコミを入れる]

_ otsune [単に管理者の人がはてなグループにログインしていないだけなのかもしれません。誰が管理者なのかよくわかっていませんが。]

_ wtnabe [master じきじきではございませんか! いや私もそんなもんだろうと思ってます。活動もちょっと停滞気味っぽいです..]


2006-10-17

_ JavaScript 周りをもう一回確認しなきゃな

class ベース OO をマネっこしてるフレームワークは class 名というかコンストラクタというか、それを取得できなくなるよね?と不安になり、確認してみた*1。あと、コンストラクタや prototype プロパティへあれこれ追加する記法が変わっちゃうとドキュメンテーションツールが対応できなくなるんじゃね?と思い、それを確認…しなきゃと思っているところ。(つまりまだ確認していない。)

挙げたのは小さめで目に留まっているものだけ。別にフレームワークを網羅するつもりはないし、大きいものは扱いに困りそうで敬遠してるところ。

class名

prototype(1.4)
constructor も instanceof も意図通り動作せず
jQuery(1.0.2)
独自の class 構文はない
mootools(rev.64)
constructor は意図通り取得できないが、instanceof での確認は可能

こうして見ると Web に特化しちゃうなら jQuery もアリかなと思わなくもない。mootools は全体の構造も丁寧に整理されている感じで好感が持てる。

prototype は最初のインパクトはすごかったが、インスパイアされた後出しのものが結構いいし、使うなら上のような問題がないものの方が嬉しいな。まぁ prototype が現状ではいちばん情報が豊富っぽいんだけど。

ドキュメンテーション

class の構造やツリーをドキュメント生成ツールが正しく認識できなくなるとドキュメントの自動生成ができなくなり、結果、ドキュメントのないコードだけが残り、「最初に書いたもん勝ち」というありがちな状況を生みそう。ということでドキュメント生成ツールとの相性を確認しなきゃな、と思っている。

今回、気になって調べたら Natural Docs という、これまた Perl で書かれたツールがあるみたいなので、それの動作も確認できたらいいなと思っている。

jsDoc × prototype
jsDoc × mootools
Natural Docs × prototype
Natural Docs × mootools

jQuery は独自の class 構文がないのでドキュメント生成ツールの対応を考える必要はたぶんないと思う。

Ajaxian >> Natural Docs: Better Javascript Doc によると、DoJo と Natural Docs の相性は悪くないのかな?

Tags: Ecmascript

*1 そんなもん分かんなくたってメソッドがあったら動けばいいじゃないという考え方はもちろんアリ。


2007-10-17

_ はてなの新編集機能に(悪い意味で)ビビる

なんかはてなの編集機能が Ajax になったっぽいという記事をどこかで見かけてふらふらとはてな村へ出かけてみた。

どこからそんな編集機能を利用するのか分からない。

なんかセクションタイトルの部分に mouseover したら色が変わったので試しにクリックしたらテキストが textarea になった。あー edit in place ってやつでしたっけ、これ。

でだ。これ、なんで機能が明示されてないの? 普通に表示されてる [ 編集 ] リンクが従来通りなのはいいとして、新しい機能って試しにクリックしてみた人か真面目にはてなダイアリー日記を追いかけてる人か、はてな村の中にはてなの追っかけみたいな親切なお友達がいない限り気づかなくない?

あと。

他人の日記でも textarea になっちゃうのはすごいビビるのでやめてほしいよ? まぁ実際には編集結果を送信するボタンがないのでたぶん編集できないんだけど、それにしたってビビるじゃないか。

まぁ慣れてる人ははてなってこんなもん、と思うのかもしれないけど。

Tags: Web

2008-10-17

_ git の pull request は fork 前提って理解で合ってますか

なんか github の pull-request の説明はすでに fork -> commit -> push 済みなのを前提に説明されているようで、他の方法がよく分からなかったのだけど、考えたら pull request ってのは「ここの repository にあるこの commit をそっちにも merge してくんねーか?」という意味だと思えば fork が公開されてなきゃ意味ないんですよね。

まだ github のサイト上でしかやったことがないけど、git-request-pull でも同じこと、、、なのかな。なんか man 見てもドキュメント読んでもこの辺の記述が見つけられないんだよなぁ。まぁ github 以外では git 使って分散管理する必要ないからこっちは困ってないんだけど。

Tags: Git

_ Trac の feed を merge する Yapra の YAML を ERB で作る

タイトルなげぇ。

昨日 Yapra で Trac の timeline feed を 1本に を書いてから、Plagger の assets みたいな仕組みがあればベタに書かなくて済むのかなーとか思ってはいたんだけど、うまい方法も思いつかないので今日とりあえず ERB を使って一つのテンプレートから生成するようにしてみた。

想定しているパターン

  • 複数の Trac を運用しているがチェックが面倒なので Timeline の feed を一本化したい
  • それぞれの Trac に対してユーザーが複数いるので、各自の横断的な My Tickets の feed を生成したい

場合に役に立つ Yapra 用 YAML を作ります。そのために ERB を利用します。

基本構成

スクリプトと、それを動かしてできた結果のファイルがこんな風に一つのディレクトリに収まる形を想定しています。

.
|-- jane_tickets.yaml        My Tickets 用の YAML
|-- john_tickets.yaml        My Tickets 用の YAML
|-- merge_trac_timeline.erb  timeline 用の YAML のテンプレート
|-- merge_trac_timeline.yaml timeline 用の YAML
|-- prepare.rb               スクリプト
|-- smith_tickets.yaml       My Tickets 用の YAML
`-- user_tickets.erb         各 user の My Tickets 用の YAML のテンプレート

で、yapra からは

ruby YAPRA_PATH/bin/yapra -d /PATH/TO/ABOVE

という具合にファイルを置いたディレクトリを指定してやると

*.yml
*.yaml

以外は無視して動作してくれます。

スクリプト

users, sites などを適宜調整してください。

#! /usr/bin/ruby

require 'erb'
require 'optparse'

class TracMergePreparer
  class FileCannotOpen < Exception; end

  def initialize
    @path = nil
    @name = nil
  end

  def run
    if ( parse_args() )
      erb = ERB.new( File.read( @path ), nil, '-' )
      if ( @name == 'user_tickets' )
        users.each do |user|
          File.open( "#{user}_tickets.yaml", 'w' ) do |f|
            f.write( erb.result( binding ) )
          end
        end
      else
        erb.run( binding )
      end
    end
  end

  def parse_args
    ret = false

    opt = OptionParser.new()
    opt.on( '-f', '--format ERB_NAME' ) { |file|
      path = File.join( File.dirname( __FILE__ ), file )
      if ( File.exist?( path ) ) 
        @path = path
        @name = File.basename( file, '.erb' )
        ret   = true
      else
        raise FileCannotOpen
      end
    }
    opt.parse!

    return ret
  end

  def users
    return %w(
               john
               smith
               jane
              )
  end

  def sites 
    return %w(
               foo
               bar
               baz
             )
  end
end # of class

if ( __FILE__ == $0 )
  app = TracMergePreparer.new()
  app.run()
end

timeline merge 用の YAML を作る

erb はこんな感じ。

<%-
# Usage: ruby prepare.rb -f merge_trac_timeline.erb > merge_trac_timeline.yaml
-%>
- module: RSS::load
  config: 
    url: 
      <%- sites.each do |site| -%>
      - http://HOST/PATH/<%= site %>/timeline?changeset=on&milestone=on&ticket=on&wiki=on&max=50&daysback=90&format=rss
      <%- end -%>
- module: Filter::sort
  config:
    method: date
- module: reverse
- module: Filter::ApplyTemplate
  config: 
    title: '<%%= "[#{item.link.split( /\// )[4]}] #{item.title}" %>'
    description: <%%= item.description.gsub( /<[^>]+>/, '' ) %>
    content_encoded: <%= item.description %>
- module: RSS::save
  config:
    title: "multitrack"
    link: http://HOST/PATH/TO/FEED
    filename: /PATH/TO/FEED

Trac を設置している HOSTNAME や PATH、あと item.link から title に Trac の名前を埋めている部分も PATH の深さによって変わるので注意してください。それぞれ適宜修正のこと。

使い方は上の例で言うと

ruby prepare.rb -f merge_trac_timeline.erb > merge_trac_timeline.yaml

として使う形を考えています。

各ユーザーの My Tickets 用の YAML を作る

<%-
# Usage: ruby prepare.rb -f user_tickets.erb
-%>
- module: RSS::load
  config: 
    url: 
      <%- sites.each do |site| -%>
      - http://HOST/PATH/<%= site %>/report/7?format=rss&USER=<%= user %>
      <%- end -%>
- module: Filter::sort
  config:
    method: date
- module: reverse
- module: Filter::ApplyTemplate
  config: 
    title: '<%%= "[#{item.link.split( /\// )[4]}] #{item.title}" %>'
    description: <%%= item.description.gsub( /<[^>]+>/, '' ) %>
    content_encoded: <%= item.description %>
- module: RSS::save
  config:
    title: "<%= user %>'s tickets"
    link: http://HOST/PATH/<%= user %>_tickets.xml
    filename: /PATH/TO/<%= user %>_tickets.xml

これも必要に応じて修正してください。使い方は

ruby prepare.rb -f user_tickets.erb

を想定しています。この名前はスクリプトの中で決め打っちゃってます。実行すると users に登録してある user の分だけ

#{user}_tickets.yaml

を生成します。

制限

それぞれの Trac に登録されているユーザーが同じでない場合は考えていません。feed が fetch できないとエラーで止まるかも。

また description 内で HTML タグらしき形のものを片っ端から除去しています。読めば分かるように副作用がありますので、注意して使うか、不要ならこの処理は捨てちゃってください。

Tags: Yapra Ruby