地下鉄サリン事件を起こしたオウム真理教が4円を政府に賠償請求した件を話し出し「宗教って最低ですよね」と一蹴する小学5年生に心が痛んだ件

年始に凧をあげようと4歳の息子と1歳の娘を連れて公園に行ったところ、小学五年生の男の子がサッカーボールをもって話しかけてくれました。

とてもいい子で、4歳の息子と遊んでくれました。

娘がベビーカーで寝てしまうと、目が届くように狭い範囲で息子に遊ばせなければなりません。アスレチックに多くの子供がいるので見失うことも多く、その度にヒヤヒヤするのですが、その子はとても賢く、大人びていて、素直で、初対面の息子を連れてそんな親の気持ちも察しながら息子のわがままや身勝手さをてなづけ、いっしょに楽しく遊んでいました。

3時間くらい遊んでいたと思いますが、サッカーが好きだとか、何の教科が好きだとか、そういったたわいのない話もたくさんして私とも少しづつ仲良くなりつつ、正月ということもあり髪ボサボサ無精髭の中年が通報されないかと気をつけながら距離感を持って接していました。

「4歳の子供と遊んでいてもつまんないだろう。ありがとうね。」

と言うと、

「兄弟がいないんで、楽しいです。」

と回答。自分を思い返すと小五にもなるとどんな言葉を発すれば大人が喜ぶか知っているよなぁと考えつつ、自分が小五のころはそんな言葉出なかったなぁと。

話すうちに、かつて地下鉄サリン事件を起こしたオウム真理教が政府に賠償請求したということを私に教えてくれました。「たった4円ですよ」と。

「よく知ってるね」と。計算するまでもなく彼は生まれてないわけですが、おそらくどこか新聞かニュースでやっているのを大人がみて、何かを会話したのだと思います。

「宗教って最低ですよね」と。

純粋な目と当然の無知さと強い正義感に圧倒されつつ「伝えなければならない」という衝動にかられました。

「宗教が悪いという考えは間違いだ。」

それまで自分の言うことをニコニコと聞いてくれたどこかのおじさんが真顔で言ったので、彼はちょっとびっくりした表情をし、私は慌てました。

「日本にいると感じづらいのだけれども、世界にいるほとんどの人がなんらかの宗教を持っているんだよ。宗教が悪いと言うのは、その人たちを悪いと言っているのと同じ。宗教が悪いんじゃない。人を殺したことが悪いことなんだ。いいかい?」

真剣な表情で彼はうなずきます。

大人が発した言葉がどのように子供に伝わるのかはとてもコントロールしづらいことです。彼自身か身近な人がとても辛い思いをしたのかもしれませんし、今となってはロクな考えもなくそう言ってしまったと。ただ確かなことは彼の周囲にいた大人の中で「宗教YES!」と言う人はいなかったのだろういうことです。

とても良い子だったので彼と彼の身近にいる人を信じることを前提としてではありますが、公園で出会った子供によくしらないオジさんが果たす役割はこういうことも一つと思うのです。

自分が生まれていない時代に起きた事件や今起きている宗教関連の数々の悪いニュースが子供達にどのように影響するのかについて私自身とても考えさせられた穏やかな日常でした。

YosemiteにアップデートしたらPostgreSQLが繋がらなくなった。

MacをYosemiteにアップデートすると自動的にYosemiteのPostgreSQLを読もうとするらしく、それまで使ってた(HomebrewでインストールしたものやAppバージョンの)PostgreSQLが繋がらなくなります。

方法としては2つ。

1:Yosemite用のPostgreSQLを使うようにする。
2:.bashrcなどを使ってPostgreSQLの場所を指定する。

実は始め2を使って処理しましたが、この度Yosemiteのアップデートがあり実行したら元に戻ってしまった。うーん。毎回だと面倒。ということで1にシフト。

YosemiteのPostgreSQLをいきなり起動しようとすると怒られるので、ディレクトリを作ってあげる必要があるらしい。

情報はこちらから↓

http://foobartel.com/2014/10/yosemite-upgrade-postgresql/

 

wkhtmltopdfをmac osx(marvericks)にインストールする

railsにpdf生成のgem ‘wicked_pdf’をインストールしたのですが、うまく行かず。
なぜかというと公式では同時にwkhtmltopdf-binaryというgemをインストールする事で根本のライブラリであるwkhtmltopdfが入るのですが、このバージョンが低いのです。

gemでいれると0.9系です(2014年10月1日現在)が最新では0.12系でした。

Homebrewを使おうという事にはなるのですがこれも皆無。

結局こちらの記事通りにやって解決しました。

http://seankibler.com/installing-wkhtmltopdf-on-mbp-osx-mavericks-109

1:

git clone --recursive https://github.com/wkhtmltopdf/wkhtmltopdf.git

2:

$ ./build_osx.sh

このコンパイルがすごく長いです。1時間くらいかかったかもしれません。

3:

$ sudo make install

これでインストール完了です。

$ which wkhtmltopdf
/Users/username/.rvm/gems/ruby-2.1.3/bin/wkhtmltopdf

あれ?まだgem見てるな。

$ bundle exec gem uninstall wkthmltopdf-binary
##Gemfileのwkhtmltopdf-binaryを消す
#gem 'wkhtmltopdf-binary' < delete

 

$ wkhtmltopdf -V
Name:
  wkhtmltopdf 0.12.1 (with patched qt)

ちゃんと 0.12.1を見るようになりました。

 

 

jQuery.validationプラグインでとても複雑なバリデーションを行う

jQuery.validationプラグインのハックテクニックをご紹介します。

http://jqueryvalidation.org/

jQuery.validationプラグインはフォームのバリデーションを簡単に行う事ができ、プロジェクトでとても重宝しているプラグインの1つです。

ただし、複雑なバリデーションを行おうとするとなかなか難しいです。

1つのインプットデータ、あるいは複数のチェックボックスなどをひとまとめにしたものに対してバリデーションを行う場合はプラグインの守備範囲なのですが、以下のような場合に急に難しくなります。

1:1つのフォームが他のフォームの内容に複雑に関係するバリデーション

例えば「3つあるラジオボックスの1つ目をチェックした時はアルファベットのみ、二つ目をチェックした時でかつ別のチェックボックスをチェックした時はひらがなのみ」など

2:フォームの内容ではなく画面の状態などをバリデーションしたい場合や
3:BackboneJSなどでデータを保持している場合

データ入力にリッチなUIを実装しようとするとフォームだけでは難しくなります。そこでデータをjsonなどで保持することになりますが、フォームの内容とjsonの内容の両方に対してバリデーションし、エラーの表示をjQuery.validationで統一しようとする場合、どうしてもbeforeValidationイベントが欲しくなりますが存在しません。http://jqueryvalidation.org/validate/

下記CoffeeScriptですが、まずaddMethodでメソッドを追加します。

beforeValidation ->
 #something code
$.validator.addMethod 'beforeValidation' (value, element, param) ->
  beforeValidation() #スコープに注意
  return true #常にtrueを返す

そしてダミーのinputタグを用意する

 <input name="beforeValidation" type="hidden" />

#readyのあとで
 options = {
   rules: {
     'beforeValidation': {#このルールを必ず初めに記述する
       beforeValidation: true
     }
   }
 }
 $form.validate(options)

jQuery.validationプラグインがフォームをvalidateする際に必ずbeforeValidationを初めに行ってくれるので、実質beforeValidationイベントがトリガーできます。

ここでjsonのデータをチェックして、ゴニョゴニョしてします。

例えばエラーを表示する為だけにinput[type=”hidden”]を用意し、エラーがみつかったら値を空に、エラーが無ければ”ok”とか適当な値を入れて、requiredをあらかじめrulesに入れておけばOKです。

アンパンマンは最高と思う

漫画やアニメなどは”教材としてもすばらしいもの”がありますが、アンパンマンは侮れません。

アンパンマンをよく知らない人にちょっと知ってほしいことがあります。

アンパンマンは子供が理解しやすい単純なキャラクターやストーリーが軸になっていて、夢や希望や正義を示してくれます。でもアンパンマンには次のようなキャラクターがいます。

複雑なキャラクター1:ロールパンナちゃん

アンパンマンの妹分のメロンパンナのお姉ちゃんです。ジャムおじさんによって作られましたがその際にバイキンマンに悪いエキスを入れられて「よい心」と「悪い心」を持ってしまいました。
そのため一緒には住めず、離れたところで一人孤独に暮らしています。

複雑なキャラクター2:ちびオオカミくんとゴミラ

詳しい事情は省きますが、どちらも自分の意思に反して巨大化・凶暴化してしまう。そのことを恥じて悔いるちびオオカミくんやゴミラに対してアンパンマンたちはどう接するかを教えてくれる。

正義が曖昧に設定されているのがアンパンマンなのです。

幼稚園から小学校低学年ぐらいでは、男の子だと戦隊モノ、女の子だとプリキュア。分かりやすい「善と悪」を表現したコンテンツが好まれます。

それらを利用した大人たちの「商業主義」は嫌悪感を抱くほどに節操がなくなりました。

アンパンマンのグッズは確かに高いなーとは思います。

それでもアンパンマンのキャラクターやストーリーの作り方には、それを作る大人の分別や願いが込められているように感じるのです。

ここでやなせたかしさんの言葉をすこし紹介します。

正義のための戦いなんてどこにもないのだ。正義は或る日突然逆転する。正義は信じがたい

それを前提としてこのような言葉も残しています。

困っている人、飢えている人に食べ物を差し出す行為は、立場が変わっても国が違っても「正しいこと」には変わりません。絶対的な正義なのです

復興の状況に言及すること

「美味しんぼ」の内容について波紋が広がっています。

私自身、復興の状況について現場を確かめていないのでよくわかりませんが、仮にそれらを確かめに行ったとしても何かを公共に対し発言するということは極めて難しいのだと思います。

その難しさは

  1. 個人の見解である限り多かれ少なかれ事実と異なるということ
  2. 発言に影響力があればあるほどその「ズレ」の影響も大きくなるということ

にあります。

ポジティブな内容の「ズレ」であれば、市民に事実と異なる安心感を与えてしまいます。
ネガティブな内容の「ズレ」であれば、風評被害や差別を生むきっかけとなる恐れがあります。

情報があふれる中で市民はメディアが発信する内容を鵜呑みにせず、自身でそれを疑い、消化する能力が必要な時代です。
そのような発達した情報の受け取り方を市民に期待するべきだし、教育もそうしていく必要があるし、マスコミもそれを前提に話してほしい。

つまり現実との「ズレ」を各個人で消化しなくてはならない時代だということです。

一人の漫画家が発言したことに対し批判するという現象がおこるのは「個人に大きな影響を与えうる」からです。仮に国民の情報を受け取るスキルがもっと高ければ影響は小さくなります。また発言もしやすくなります。

発言そのものに批判ばかりするのではなく、自身の意見を述べてほしい。
市民が意見を総合して判断する機会をマスコミが作れるように、私たち自身が「何が正しくて何が間違っているのか」を判断できる能力を持たなくてはならないと思います。

多少理想論であることは承知していますが、市民がその能力を放棄するということはプロパガンダや洗脳に翻弄されることを容認することを意味します。
また表現の自由という権利を放棄することにもなります。

fontawesomeとCSSのみでstar ratingを実現する

fontawesomeとCSSのみでstar ratingを実現することができました。

IE9以上が必要です。
※まだIE10以上ではテストしていません。
なにか見つけたら教えていただけるとありがたいです。

http://jsfiddle.net/dyosuke/67XXF/

下記は画像を使用していて大変参考にさせていただきました。

http://jsfiddle.net/LTQrZ/20/

クジラの食肉を主体としたイベントを開催すべきか考えた結果。

これまで特に考えてこなかったのですが、
クジラの肉を私が主催している横浜パパ会に提供してくれるというお話があり、
横浜パパ会でクジラの食肉を主体としたイベントを開催すべきかと考えなければなならないというきっかけができ、
よく考えてみることにしました。

結論としては、そのようなイベントを開催するのは見送ることにしました。

理由としては、国際社会で生きていかなければならない子供たちには
順序立てて丁寧に食を教育していかなければならないと感じたからです。

日本人の多くに「私は自然に生かされている」という感覚があります。
植物も、もちろんクジラも含め、食べる時に感謝し、
自然の一部であること、自然に生かされていることを再確認するのです。

食べる前には「いただきます」と言わせるなど、
子供たちに日本人の食に対する感謝の心をひきつづき伝えたいと思います。

100年前まではそれだけでよかったかもしれませんが、
子供たちは国際社会で生きていかなければなりません。

クジラだけでなく牛や豚、動物自体を食べることに関しても悲しむ人たちがいること。
暴力に訴えて自分の考えを主張する人たちがいること。
他者の考えや文化を尊重しない人たちがいること。
利益至上主義の人たちがいること。

子供たちにはこれらの異なる考えの人々と共に平和に生きてほしい。

相手の気持ちをわかろうとする努力、
わかってもらおうとする粘り強さ、
違うことを許容する心、
暴力にNOという勇気、
真理を読み解く力が必要です。

それらが1つイベントで養われることはありませんし、
問題が複雑すぎて参加者や周囲の人たちにどのように捉えられるか
私の力ではコントロールできないと判断しました。

しかし、子供たちにどのように食育するのかを考えるよいきっかけとなり
お声をかけてくださった方には大変感謝しております。

rails4でacts_as_listをアップデートしたらdefaultのpositionが設定され、topが1になっていた件

acts_as_listをrails3で使っていたのですが、rails4にアップデートする作業中にacts_as_listもアップデートしました。

rspecがエラーを出しまくりましたが、原因はdefaultのpositionが設定され、1になっていたことです。

0を指定すると1より小さいということで強制的に1にされてしまいます。

0にしたかったのでコードを見ていくとConfigurationが。

下記のようにトップのpositionを設定できます。

acts_as_list :scope => :something, top_of_list: 0