Just another Ruby porter,

〜2005年3月中旬〜


<Prev(,) | Next(.)> | Recent(/)>> | RDF

2005-03-11 (Fri)

[Firefox] ForecastFox 0.7

0.6はどうなったんだろう? それはそれとして、新機能の

Added: Options for today's forecast.

がうれしい。 現在と3日間という指定だと、現在、今日、明日、明後日となってしまい、 いまいち今日の予報は邪魔に感じていた。これを削除できるようになった。


2005-03-12 (Sat)

[Soft] sdelta

About:

sdelta is a dictionary compressor that analyzes the differences between two files and outputs a very small delta that is highly compressible. It is optimized to produce deltas of source tarballs. The patches it produces are larger than xdelta patches, but are often between 30% and 60% smaller after bzip2 compression.

bzip2で圧縮するとxdeltaよりも小さくなるらしい。READMEを見ると

bytes           file name
197888000       linux-2.6.7.tar         <- dictionary file
200847360       linux-2.6.8.1.tar       <- message    file

2060961         linux-2.6.7-linux-2.6.8.1.tar.sdelta.bz2
3190401         linux-2.6.7-linux-2.6.8.1.tar.xdelta.bz2
<中略>
13M  sdelta bzip2 compressed becomes 2M
6.9M xdelta bzip2 compressed becomes 3M

ということで、確かに圧縮しやすいデータ構造になってるようだ。


2005-03-13 (Sun)

[Ruby] An open-source web-based slideshow application

これはなかなかすごいね。Wikiでプレゼンが作れるわけだ。 Autohide と組み合わせれば、Firefoxでも完全なフルスクリーンが可能になる。 スペースバー、リターンキー、カーソルキーなども使えるあたりが気が利いてる。 まだ試してないんだけど、だれもaccountを作ってないからちょっと躊躇してしまう。 RDocで記述できるらしい。Railsである必要がどこにあるのかがよくわからん。 まずは S5を調べてみよう。

Link: s5presents RDoc power up!


2005-03-14 (Mon)

[Web] RubyURL

ruby-talk MLで最近 TinyURLが話題になっていたけど、 1時間ぐらいでできちゃったよってこと? それはすごい。しかし、最近は何でもRoRだなあ。


2005-03-15 (Tue)

[Ruby] news gateway復活

ruby-talk MLからcomp.lang.rubyへの一方通行だったnews gatewayが復活したようだ。 突然記事が増えた。

でも3日以上経ってる記事はrejectしてるんだよねえ。

[Gmail] From any label, 'y' means Remove the label

Gmailでラベル付けしたメールを見て終了時についyを押してしまう。 ここではラベルを消すという意味らしい。ヘルプを見てやっと理解。 どこに消えたのかと思えば。 しかし、過去に消しちゃったのはもう見つけらんないよなあ。


2005-03-16 (Wed)

[Firefox] Keyconfigでless key binding

やっぱgで先頭に移動したくなったので、 Keyconfigを試してみた。 というか、完璧に Firefox Keybindings (vi/vim-like in my case) を参考にしただけなんだけど、

user_pref("keyconfig.main.xxx_key_ScrollBottom",
  "shift][G][][goDoCommand('cmd_scrollBottom');");
user_pref("keyconfig.main.xxx_key_ScrollTop",
  "][G][][goDoCommand('cmd_scrollTop');");

ってのをprefs.jsに追加。快適。

user_pref("keyconfig.main.xxx_key_PageDown",
  "][F][][goDoCommand('cmd_scrollPageDown');");
user_pref("keyconfig.main.xxx_key_PageUp",
  "][B][][goDoCommand('cmd_scrollPageUp');");

とか追加していったら、もう userHTMLBindings.xmlで設定する必要ないな。


2005-03-17 (Thu)

[Ruby] Ruby Webgen 0.3.2

0.3.1が出たなと思ったらすでに0.3.2が出てる。 3つの Philosophyがなかなかいい。

インストールはgemで

% gem install webgen

でok。とはいうものの、サンプルがないのでソースを取ってきたほうがいいかな。 testsite/でwebgenを起動すればいいはずだけど、なんか盛大のエラーが出る。 でも、眠いから寝る。


2005-03-18 (Fri)

[Linux] Adobe Reader 7.0

Linux版のAdobe Reader 7.0を入れてみた。

This version has been completely redone in GTK. PDF 1.6 is now supported.

ということらしい。日本語も問題なく表示される。 しかし、相変わらずスペースバーでページ送りはできない。 Windows版では6からできるようになったのにねえ。


2005-03-19 (Sat)

[CSS] 角

そういえばGmailも角が丸いな。 でもソースを見てもどこにCSSがあるんだかわからない。 さすがGmailだ。

[RoR] Ruby on Railsのインストール

今日は勉強会をやってるということだけど、花粉がいやで家でおとなしくRuby on Railsをインストールしてみたりする。 RubyGemsを使えば適当にリターンキーを押すだけでインストールできる。

% gem install rails
Config file /home/eban/.gemrc does not exist
Attempting local installation of 'rails'
Local gem file not found: rails*.gem
Attempting remote installation of 'rails'
Install required dependency activesupport? [Yn]
Install required dependency activerecord? [Yn]
Install required dependency actionpack? [Yn]
Install required dependency actionmailer? [Yn]
Install required dependency actionwebservice? [Yn]
Successfully installed rails, version 0.10.1
Installing RDoc documentation for rails-0.10.1...
Installing RDoc documentation for activesupport-1.0.1...
Installing RDoc documentation for activerecord-1.8.0...
Installing RDoc documentation for actionpack-1.5.1...
Installing RDoc documentation for actionmailer-0.7.1...
Installing RDoc documentation for actionwebservice-0.6.0...

ここで、はたと気づく。railsって結局なんだっけ? るびまも読んでないしなあ。

とりあえずrails -hしてみるとExampleが出てきた。

Description:
    The 'rails' command creates a new Rails application with a default
    directory structure and configuration at the path you specify.

Example:
    rails ~/Code/Ruby/weblog

    This generates a skeletal Rails installation in ~/Code/Ruby/weblog.
    See the README in the newly created application to get going.

ふむふむ。じゃ、適当にディレクトリを指定してみるか。

% rails ~/rails
      create  
      create  app/apis
      create  app/controllers
      create  app/helpers
      create  app/models
      create  app/views/layouts
      create  config/environments
<中略>
      create  public/404.html
      create  public/500.html
      create  public/index.html
      create  public/favicon.ico
      create  doc/README_FOR_APP
      create  log/server.log
      create  log/production.log
      create  log/development.log
      create  log/test.log

なんかすげー。で、~/rails/READMEを読む。ruby script/serverで動くらしい。 URLはhttp://localhost:3000/か。Congratulationsが出た。 なるほど。インストールはできたようだ。

[RoR] チュートリアル

続いて チュートリアルを実行してみる。 Step One を見るとMySQL, PostgreSQL, SQLiteが使えるようだ。 例ではMySQLが使われているが、ここでは迷わず横道にそれて SQLite を選ぶ。そのままsqlファイルを保存して~/rails/dbで

% sqlite rails_production.db <rails_production.sql

と実行。これでデータベースが作られた。

次に Step Two。 config/database.ymlを編集してSQLiteを指定。 注意する点はSQLiteの場合、ファイル名はdatabaseではなくdbfileで指定する。 sqlite-rubyはインストールしてあったけど、ついでにgemでインストールしとこう。

% gem install sqlite-ruby

なんかいっぱい候補が出てくるが、1の最新を選べば無事にインストールできた。

Step Three, Step Four を実行。

% ./script/generate controller Friends list display new edit
      exists  app/controllers/
      exists  app/helpers/
      create  app/views/friends
      exists  test/functional/
      create  app/controllers/friends_controller.rb
      create  test/functional/friends_controller_test.rb
      create  app/helpers/friends_helper.rb
      create  app/views/friends/list.rhtml
      create  app/views/friends/display.rhtml
      create  app/views/friends/new.rhtml
      create  app/views/friends/edit.rhtml
% ./script/generate model Person
      exists  app/models/
      exists  test/unit/
      exists  test/fixtures/
      create  app/models/person.rb
      create  test/unit/person_test.rb
      create  test/fixtures/people.yml

Step Five のrakeの実行は必要ないらしい。

Step Six に従い app/views/friends/display.rhtml, app/controllers/friends_controller.rb を編集。 あとは http://localhost:3000/friends/display にアクセスすればいいわけだが、なぜかエラーになるな。

NoMethodError in Friends#display

Showing /friends/display.rhtml where line #6 raised undefined method `name' for nil:NilClass

3: <h1>Friends#display</h1>
4: <p>This page will display one friend</p>
5: <p>
6: <%= @person.name %><br />
7: <%= @person.street1 %><br />
8: <%= @person.street2 %><br />
9: <%= @person.city %><br />
<後略>

なんかエラーの表示もすばらしい。さて、原因はなんだ? あ、sqlがpeopleになってんじゃん。personに書き換えてもう一度やりなおし。 だめだな。同じエラーだ。


2005-03-20 (Sun)

[Last.FM] Last.fm Radio is offline, but will return in time for Sunday Lunch.

昨日の夜中から突然切れたままだけど、Sunday Lunchってどこ時間だ? とりあえずKAELAを聞きまくる。

夜に復活したが、なんか切れ切れで安定しない。 結局バッファを大きくしても何の解決にもなってないようだ。

[Mook] 『WEB+DB PRESS特別総集編』発売のお知らせ

これは買うしか。

本誌は『WEB+DB PRESS』の創刊号からVol.24(2004年12月)までの4年分の記 事(5,384ページ)を、PDF形式で1枚のCD-ROMにまとめた特別総集編です。

[Network] routerが不安定

突然routerがつながらなくなる。電源のoff/onで復活する。というのが日に3度ほど。 買ってから1年ちょっとしか経ってないのになあ。

[RoR] Howto make a TODO List Application

この tutorialを試してみたら、うまくいった。 ってことはSQLiteが別に悪いわけでもないわけで、どこかtypoがあるんだろうなあ。

sqlはこんな感じ。

CREATE TABLE todos (
  id INTEGER PRIMARY KEY,
  description TEXT,
  done INTEGER
);

この複数形のあたりに秘密があるんだろうか? 昨日もpersonsにしてみたりしたんだけど、全然変わらなかったんだよなあ。

[Ruby] callの省略

Ruby 1.9ではcallを省略してProcオブジェクトが呼べるようになっていることに、ruby-talk MLをぼーっと眺めていて気づいた。

% ruby -ve 'foo = proc{|x| p x}; foo("hoge")'
ruby 1.9.0 (2005-03-20) [i386-linux]
"hoge"

提案だけじゃなくてすでに実装されてたとは。


<Prev(,) | Next(.)> | Recent(/)>> | RDF


WWW を検索 jarp.does.notwork.org を検索

わたなべひろふみ
Key fingerprint = C456 1350 085F A320 C6C8 8A36 0F15 9B2E EB12 3885
Valid HTML 4.01!