ベスパリブ

プログラミングを主とした日記・備忘録です。ベスパ持ってないです。

Unityのアセット集

【全部タダ!】無料で使える Unity Asset 50選 -3Dモデル編- | syyamalog

Unityで制作する際のアセット集。とても良さそうなのをまとめているサイトがあったのでメモとして残しておく。

それにしてもUnity、アップグレードする際の不具合が怖い。アニメーションとか動かなくなったりして笑える。

Ruby on Railsチュートリアルを進める


Ruby on Rails チュートリアル:実例を使って Rails を学ぼう

Ruby on Railsチュートリアルやっています。
いろいろ調べた結果、上記のチュートリアルがとても勉強になりそう。Ruby、Webアプリケーション、gitなどが学べるらしいです。

で、以前の記事rubyrailsをインストールしましたが、せっかくなのでチュートリアルの通りにインストールしなおしました。
・ruby2.0.0
・rails4.0.5
rubyはバージョン違いでエラー出まくりなようなので、おとなしくチュートリアルと同じ環境にしました(2014年10月24日現在)。

しかし、エラー出まくり。なかなか進まない。
1.2.5節でつまずく。

$ rails server

サーバを立てる。しかし、

Internal Server Error

You must set config.secret_key_base in your app's config.

エラーが出る。
とりあえず上記のエラーメッセージで検索すると、同じエラーが出ている人がいた。
Ruby on Rails チュートリアル メモ① - NOODLECH
と、
ruby on rails - DEPRECATION WARNING: You didn't set config.secret_key_base - Stack Overflow

よくわからないが、現在のrailsのプロジェクトにsecret_keyを設定してあげないとダメらしい。
ターミナルで以下を実行。

$ rake secret

するとドバーッと長い数字と文字列が得られるので、それをコピーする。
次に、first_app/config/initializers/secret_token.rbを適当なエディタで開く。secret_token.rbがない場合は作成する。first_appは私の環境のディレクトリ名なので、適宜自分のディレクトリ名に変えてください。

$ vim config/initializers/secret_token.rb

エディタを開いたら、下記のように設定する。

YourApp::Application.config.secret_key_base = '$YOUR_SECRET_KEY'

YourAppは適宜アプリケーション名に。$YOUR_SECRET_KEYはさっき取得した文字列を入れる。ちなみに私は以下のような感じになった。

FirstApp::Application.config.secret_key_base = '012345ab....'

設定したあとは、もう一度rails serverしてブラウザで確認。エラーがなくなって”Welcome Aboard”が表示されたら成功。

Macの開発環境を整えた

Macを使い始めたのだが、まったくわからん。メモ帳の開き方すらわからん。という状態。とりあえず開発環境を整えたい。あとruby on railsを始めたい。そんな感じで始めたMac。なにはともあれ環境を整えねば。
いろいろ調べたけど、以下のサイトを読み進めたら大体やりたいことはできた。
ゼロから始めるMacintosh開発環境構築(OS X Mavericks編)ーこれからプログラミングを始める人のためにー(1) | IT系のインターンシップならエンジニアインターン

上記サイトを読んでできること。

xcodeのインストール
テキストエディタ"sublime Text"のインストール
・パッケージ管理システムHomebrewのインストール
・gitのインストール
Mysqlのインストール
Ruby on Railsのインストール
RubyRuby 1.9.3-p547をインストールした。
・node.jsのインストール
他にもApachやPHPもインストールできるが、Rubyを使いたかったのでそれ以上はしていない。

つまずいたところ

メモ帳の開き方すらわからないと書いたが、ターミナルの開き方もわからなかった。画面下にズラッと並んであるアプリ群のことをDocというらしいが、そのDocの左から二番目くらいにLaunchpadなるものがある。それを開くと検索バーがあるので、そこで"terminal"と入力するとターミナルを開ける。

感想

最初はキーボード打ちにくいと感じたが、慣れればいつも使っているWindowsノートPCよりも使いやすいかも…と感じた。あとフォントが綺麗。

冷凍食品の「レンジで2分50秒」という表記の意味と必要性

電子レンジの時間調整の種類には2つある。ダイヤル式とボタン式とだ。
ダイヤル式は昔のテレビのチャンネルを変えるときみたいに、ダイヤルを回転させて時間調整をする。それに対してボタン式は「10分」、「1分」、「10秒」みたいにボタンがあって、そのボタンを押す組み合わせで時間を調整する。

今回はボタン式の人向けの話である。

本題

さて本題なのだが、「レンジで2分50秒」という表記を見たとき、あなたならどうするか。素直に2分50秒温めるならば、「1分」のボタンを2回、「10秒」のボタンを5回押すことになる。しかし僕は違う。「レンジで2分50秒」という表記を見たとき、3分温める。つまり「1分」のボタンを3回押すだけでよい。正しい温め時間との誤差は10秒であるが、この10秒で冷凍食品のおいしさが劇的に変わるだろうか。いや、ない。本来ならば7回の手続きを、僕は3回で済ますことができるのである。これはライフハックである。

というかめんどうくさいのである。たかが電子レンジに入れて指定時間温めるだけの行為が、非常に億劫になってしまったのである。2分50秒という表記になんの意味があるのか?
7回のボタン操作をさせるほどにその時間指定にこだわる必要性は?開発者が3分と表記してくれれば、7回の操作を3回で済んだ人がどれだけいただろうか。差分4回分の時間損失である。いや、操作回数が多ければそれだけヒューマンエラーも多くなるはずなので、実際の時間損失は4回分を超えると見込んでもよいはずだ。ちなみにこれは大げさな話である。

2分50秒という表記の意味、その表記にこだわる必要性

意味は?必要性は?と疑問を呈したが、答えは出ている。その表記の意味は「最もおいしく食べられる時間」であるし、その表記にする必要性は「最もおいしく食べてほしいから」に相違ないだろう。はじめから答えを持っていることだが書かずにはいられなかった。めんどくさいのに7回操作させようとする冷凍食品に腹がたったからである。ぼくはこれから3回操作で生きていく。

ところで、「2分50秒表記を3分表記にするべき」というのは通用しないと考える。というか、してはいけないことだろう。開発者は正しい時間表記「2分50秒」を提示すべきだし、それを2分50秒温めるか3分にするかはユーザが勝手に決めればよい。この「ユーザが勝手に決めればよい」という部分を、ライフハックだなんだの言って、「3分表記にするべき」となったとき、その冷凍食品がおいしく食べられる正しい温め時間は失われてしまうだろう。

結局何が言いたいのか

自分でも意味が分からない文章になってしまったが、まとめると、

1.「レンジで2分50秒」の冷凍食品を2分50秒温めて食そうが、3分温めて食そうが、美味しさは大して変わらないはずである
2.2分50秒のボタン操作は7回。3分のボタン操作は3回。4回分の時間損失がある。
3.この「レンジで2分50秒」という表記は、上記の時間損失に見合うほどのおいしい温め時間であるのか?
4.時間損失に見合う見合わないの問題ではなく、温め時間は正しく表記するべきであるので、3.の問題提起は間違っているか、あるいはすべきではない。
5.2分50秒温めるか3分温めるかはユーザの勝手にすればよい

以上である。
もしかして冷凍食品の「レンジで2分50秒」という表記は、マニュアル通りに操作することだけが方法ではないということを教えてくれているのかもしれない。やはり大げさな話であった。

Aviutlで音ズレの直し方

Aviutlで動画編集するとき、二つの動画を同時に重ねあわせた動画を作りたい。例えば、実験映像の画面映像と、カメラ映像を同期した動画を作りたい時がそうである。
しかし、動画の高半になるにつれ、片方の動画に音ズレが発生し、うまく動画が作れないという現象が起きた。それの解決方法を載せる。

原因

Aviutlは固定フレームレート

動画のビットレートには固定フレームレート(CFR)と可変フレームレート(VFR)があるが、どうやらAviutlはVFRに対応していないらしい(たぶん)。なので、元動画をまずCFRに変換することが必要。

オーディオのサンプリングレートを同じにする

片方の動画の音声(オーディオ)のサンプリングレートが48000Hz、もうひとつが44100Hzとかの場合、これらを同じにしたほうが良い。

解決方法

お手元のエンコーダーやらで元動画のフレームレートをCFRに、音声のサンプリングレートを両動画で同じ値にしてやり、Aviutlに読み込ませれば良い。このとき、Aviutl側のサンプリングレートが元動画と異なる場合、また音ズレするおそれがあるので、もう一度新規作成からやり直すことをおすすめする。

使用したツール

Expression Encorder 4

画面を動画でキャプチャーでき、エンコードもできる。

XMedia Recode

動画の拡張子を変えたり(wmv,avi,mp4...)、VFR→CFR変換に使用した。サンプリングレートの変更などもできる。ただし、44100→48000へのサンプリングレートの変更はできない場合があるので、元動画を最初にエンコードするときに設定しておいたほうが良いかもしれない。48000→44100は可能だった。

うどんの話

ほぼ毎回、コンビニでうどんを買うときはどん兵衛を買うのだが、当然ながら毎回どん兵衛だと飽きる。ある日、緑のたぬきが無性に食べたくなって4件のコンビニを回ってみたが、緑のたぬきはなかった。大体のコンビニはどん兵衛だけしか置いてないのだ。ちょっと前は赤いきつね緑のたぬきも置いてあった気がするのだが。よく行く近くのスーパーにも置いていなかった。緑のたぬきはどこに行ってしまったのか。

話変わって最近ローソンで「ごんぶと」なる商品が出た。これが生麺なのだが、美味しい。どうしてカップラーメンの生麺はすごいどうでもいいのに、カップうどんの生麺は美味しいのか。これがラーメンとうどんの差である。
生麺なので作リ方の工程が一手間増えている。うどんのパック開けて、カップに入れて、お湯入れてほぐして、お湯捨てて、もう一回お湯入れる。私はこのようなインスタント食品の分際で工程が多いものは大嫌いである。しかし美味しいから買っても良いと思えるのであった。

ところでうどんといえば香川県である。以前香川県でうどんを食べに行ったことがあるが、やはり美味しかった。自家で製麺も行なっているお店にいったのだが、非常に良かった。ただのきつねうどんがこんなに美味しいとはと感動したものである。しかも安い。一杯250円くらい。安くて美味しいとはこのことである。つゆが甘くておいしかった。麺もコシがあった。香川県でうどんを食べるなら、製麺所から直販売しているお店がおすすめだ。
そして面白いことに、香川県の学生は学校帰りにうどんを食うようだ。その店にも何人か学生が並んでいて気づいたのだ。私が学生の頃は学校帰りにラーメン屋に寄ることはあっても、うどん屋に寄ることはなかった。さすがうどん県といったところか。

うどんは安い。スーパーとかで30円くらいで売っている。家で作れば安上がりなのだが、作るのが面倒くさい。茹でるだけなのだが、その茹でる工程が嫌いなのだ。面倒くさいことはやりたくない。やりたくないことは極力やらない主義であるから、家でうどんは作らないのであった。あとうどんつゆを買うのももったいない。どうせ一回うどんを食べれば当分食べなくなるのに、そのためだけにうどんつゆを購入するのが嫌なのである。そばを食べたいと思ったときも同様のことを思う。

うどんは安いと言ったが、お店で食べるときはそうとは限らない。丸亀製麺的なところで食べようとすると、500円位はかかる。素うどんだとそんなにかからないが、かぼちゃの天ぷらとかイカ天とかのせちゃうからである。うどんと天ぷらは一緒に食べると美味しい。うどんになんで500円も払ってんだろうかとかちょっと考えちゃうけど、美味しいからまあいいやなのであった。

駅前の立ち食いとかだともっと高い。やはり素うどん300円くらいなのだが、天ぷらうどん、定食とかなってくると700円、800円くらいはとられちゃうのである。さすがにうどんでこんなに払わんわと思うが、以前食べた鴨肉の入ったうどんは美味しかった。鴨肉を食べたくてつい注文してしまっい800円位したが、満足であった。鴨肉は美味しい。どん兵衛でも鴨だしそばが一番好きである。

うどん美味しいよなあ、そんなことを思う今日このごろであった。

ぐりとぐら問題

[日記]

f:id:takeg:20141002031425p:plain

ぐりとぐら問題とは

ぐりとぐら問題とは、「ぐりとぐら」の絵を見た時にそれが「ぐり」か「ぐら」かはわかるが、どちらが「ぐり」か「ぐら」か判別できない問題のことを言う。

一般的な現象

過去に記憶したAとBのペアを再度目にした時や耳にした時に、AとBの両方の名称は思い出せるが、どちらがAでどちらがBかわからない現象の問題である。

  • 例1:「ダブル・ユー?あ、加護ちゃん辻ちゃんだ。懐かしいな~、いたっけね、そんなグループ。(写真を見ながら)えーっと、どっちが加護でどっちが辻だっけ?」
  • 例2:「あ、おすぎとピーコだ。どっちがおすぎかピーコかしらんけど」
  • 例3:「スコーンを食べるときにはジャムファースト、いや、クリームファーストだっけか?」

解決方法1)順番に意味があると考える

名称を思い出した順番に意味があると考え、思い出した名称を左から順番に当てはめる方法であり、よくやる解法。
ぐりとぐらのケースで考えると、左の生物が「ぐり」、右の生物を「ぐら」とする。

  • 例1:ダブルユーの写真を見た時には、左の人物を加護、右の人物を辻とする。
  • 例2:左に立っているのがおすぎで、右に立っている人物がピーコである。
  • 例3:ジャムファーストを先に思い出したので、ジャムファーストである。

解決方法2)二つで一つと考える

個々を判別することは意味のないことであると考え、ペアであることに意味を見出す解決方法。
「ぐり」と「ぐら」ではなく「ぐりとぐら」と考えるべきで、どちらが「ぐり」か「ぐら」かは問題ではないと考える方法。

  • 例1:加護辻は二人だからこそダブルユーである。
  • 例2:おすぎとピーコはおすぎとピーコという一つの運命共同体である。
  • 例3:ジャムもクリームも結局は一緒に食べるから、順番なんてどっちでも良い。

解決方法3)内容こそが重要である

どっちがどっちということよりも、その内容に重きを置くことによって問題をすり替える方法。
どちらが「ぐり」か「ぐら」かを思い出すより、「ぐりとぐら」の本の内容が思い出すほうが重要である。

  • 例1:ダブルユーの代表曲ってなんだっけ。
  • 例2:おすぎとピーコはなぜ人気なのか。
  • 例3:スコーンを食べるときのマナーよりも、美味しく食べる方法が知りたい。

解決方法4)ググる

スマートフォン等を持っていればすぐに集合知の恩恵に授かることができる。現代人がよくやりがちな解法。多用すると考える力が失われると言われている。
画像検索をした結果、タイトルの「ぐりとぐら」は「ぐり」が青字、「ぐら」が赤字だから、青い服を着ている左の生物が「ぐり」で、赤い服を着た右の生物が「ぐら」である。

  • 例1:「加護と辻」で検索した後に、別タブで「加護」で検索。正直女の人の顔って判別しにくいけど、どちらかというと広末涼子っぽい顔しているこっちが加護、だよな?よし決定。
  • 例2:色メガネかけてるほうがピーコなのか。
  • 例3:クリームを先につけるとスコーンの熱でクリームが溶けちゃうからジャムファーストって書いてあるけど、別のサイトではジャムファーストはコーンウォール式、クリームファーストはデヴォン式って呼ばれてるらしくてイギリス人の間でも議論があるって書いてあるな。じゃあどっちでもいいか。

解決方法5)不良設定問題であるとする

ぐりとぐら」の画像を見る限り、「ぐり」と「ぐら」は非常に酷似しており、その個体判別方法は服の色くらいしかない。服を入れ替えられたら判別不可能であるし、そもそも絵がいびつだ。作者のさじ加減で「ぐり」と「ぐら」はその存在を入れ替わることが可能であるとし、これは不良設定問題である。

  • 例1:加護と辻は整形手術で入れ替わることが可能である。
  • 例2:色メガネを交換されたらたまったもんじゃない。
  • 例3:ジャムファーストもクリームファーストも存在する。どちらか片方しか先に塗れないのに、両方共ファーストとはおかしい。これは矛盾である。

おわりに

先日初めてスコーンを食べましたが、スコーンはやわらかいクッキーみたいな感じでした。クロテッドクリームはバターのような優しい味がし、ジャムは苺で、両方つけて食べると美味しいし、片方だけつけて食べても美味しい。色々な食べ方をして楽しみました。もちろん紅茶と一緒に頂きました。とても美味しかったです。