RubyGemsのエラー

uninitialized constant Gem::GemRunner (NameError)

FreeBSD上でgemを最新版に上げたら、↑のエラーが出てgemコマンドが動かなくなったから調べてみた。
結果はこれ。

*** gem Mon Apr 28 17:23:33 2008
--- gem.new     Mon Apr 28 17:23:03 2008
***************
*** 7,12 ****
--- 7,13 ----


  require 'rubygems'
+ require 'rubygems/gem_runner'
  Gem.manage_gems

  required_version = Gem::Version::Requirement.new(">= 1.8.0")

というか、diffも貼れるのか。

参考
Problem with rubygems on Ubuntu (Page 1) - Setup and Configuration - Rails Forum - Ruby on Rails Help and Discussion Forum

学ぶ上で楽しいと感じる瞬間

自分が何か学んでいるときに楽しいって感じる瞬間ってなんだろうとか、最近ぼやぼやーと考えてたからブログに吐き出しておく。自分が今にやってることがプログラミングだからそこら辺中心の話になっちゃうけど、他のことにも共通することだろうし「学ぶこと」ってことでいいかな。

何かを学ぶことって、一つ一つ暗記していくことじゃない。もっと抽象的な概念を自分の中に作り上げていく作業なんだと思う。
1回の講義を聞いただけで、その内容をちゃんと学んだことになるって思ってる人って結構多いかもしれない。でも学ぶことってもうちょっと地道なものだ。自分のものとして理解できる瞬間って講義を受けてる時とか、本を読んでるときじゃない。トイレにいる時だとか、大学の帰りにふらふら歩いてるときだったりする。別に何か考え事をしている時ってわけでもなくて、何か別の作業やってたり、ぼんやりとしてる時。

情報工学科の高校生だった時は今ほど授業以外に専門書読んだり、熱心にプログラム書くこともなかったから、大学生になってから学んだものが今現在の自分の全てだと思ってた時期もあるけど、今はそうは考えてない。高校生のうちに授業で聞いてぼやぼやーっと頭の中に入ってたものが、大学生になって詳しく考えてるうちに、形になってきたんだと思う。

そうやって自分の中で何かの概念が形になって、自分の知識として語れるようになった時っていうのが、学ぶことが一番楽しいって感じる瞬間だと思う。「語れる」って表現したけど、総合的にアウトプットできるようになった時かな。
一つの概念が自分の中で形になると、また更に新しい思考ができるようになったりして、世界が広がっていく感覚がある。自分の周りを包む壁が幾重にもあって、それが一つ取り払われる感じ。そういう瞬間は解放感があって気持ちいい。

すごく抽象的だけど、自分の中ではそんな感じ。
新入生も入ってきたし、こんなことが楽しいよ!とか伝えるときに、どんなこと喋ればいいんだろとか思ってこんなこと考えてた。

お腹空いてるから文の推敲はなしで。

ActionMailerからのメールが一部環境で文字化け

encodingはiso-2022-jpだけど、Windowsの一部環境で文字化けする。
一部環境の条件は不明。

とりあえず
Content-Transfer-Encodingってヘッダー情報を追加してみた。
これで直るかなー。

def hogehoge(user, sent_at = Time.now)
  @subject    = 'hoge'
  @body       = {}
  @recipients = user.mail
  @from       = 'Example<example@example.com>'
  @sent_on    = sent_at
  @headers    = {}
end

def hogehoge(user, sent_at = Time.now)
  @subject    = 'hoge'
  @body       = {}
  @recipients = user.mail
  @from       = 'Example<example@example.com>'
  @sent_on    = sent_at
  @headers    = {'Content-Transfer-Encoding' => '7bit'}
end

Flex Builder 3 Pro for Education

Flex Builder 3 Pro を学生は無料で使えるらしい。ゼミ室にあった複合機で学生証スキャンして昨日申し込んだ。さっきシリアルが来た。はやー。

たぶんそろそろ混んでくると思うから今がチャンスっぽい↓

ERBのtrim_mode

メモメモ

<% for user in @users -%>
 <%= user.name %>
<% end -%>

とか書いた時に改行文字がちゃんと削られないときがあって困ってた。さっきふと思い出して調べてみたら'\r\n'な時は削ってくれないらしい。
すっきり。

プレゼンした時に注意を受けたこととか

一昨日、久々にプレゼンする機会があった。その時注意を受けたことに関して。

「話はうまいと思うんだけど、落ち着かなく動いているのが気になる」とのこと。落ち着かなく動いているというか、もじもじしてるというかそんな感じだと思う。あと立って貧乏ゆすりしてる感じ。
うん、確かにそうだ。多分落ち着かなく動いてるのは、元来口下手で人前に出るのも苦手だから、その恥ずかしさを隠そうとしてるんだと思う。それを無理やり押さえつけようとすると、極度に緊張した状態になってしまうかもしれない。あと話し方が堅くなりすぎるとか。
何にしてもやってみないと分からないから、次回のプレゼンの機会には意識して動かないように話そうと思う。あ、もちろん適度なジェスチャーとかは必要だと思うので入れる。

ちなみに自分の怠慢で発表用の資料がない上にほぼアドリブだった。話を聞いてる人にとっては分かりにくい内容だったと思う。そんな中、「話がうまい」と言われたのはそれなりに長い付き合いのある友達からとはいえ素直に嬉しかった。

ActionMailerではまった

久々にActionMailerの使おうと思ったら単純なところでハマった。また忘れそうだからメモっとく。

class ExampleMailer < ActionMailer::Base

  def foo(user, sent_at = Time.now)
    @subject    = "foo"
    @body       = {}
    @recipients = user.mail
    @from       = 'foo@example.com'
    @sent_on    = sent_at
    @headers    = {}
  end

end

↑みたいな感じでクラスを書いた場合、メール送るときは

ExampleMailer.deliver_foo(@user)

ってな感じでメソッド名の前に'deliver_'をつけて呼び出さなきゃいけないのを忘れてた。完全に忘れてた。ActionMailerのドキュメントを見れば一発で分かる。