2013Kotorelコトレル2013/08/29OKWave何か分かんないことがあってGoogle検索するとOKWaveとその提携質問サイトが上位に来ることが多い。同じQAの別サイト版として複数出てくる。これが邪魔だったりするんだが、、そのQAサイトにはプログラム系のカテゴリもあるので、ふと思いついてユーザ登録し、回答してみた。お礼が2件来たよ!「困ってます」「○○する方法知りませんか?」などと書き込んでおいてそれに対する回答やアドバイスがあっても無視ですか...(遅れてお礼が来たよ)他の質問のページではお礼、補足などがあたり前のようにあるからそういうもんだと思ってたが、3人に無視されてさすがに意気消沈し、「OKWave、放置」で検索すると同様の経験をした人も多いようだ。気になって幾つか覗いてみると他の質問ページでも質問放置はかなり多かった...何度か海外製のライブラリやソフトウェアのコミュニティに質問を投稿して回答を貰ったことがあるが、プアな英語の質問に対して「お前の言うことはよく分からんがこうしてみたらどうか」的なレスポンスがあり、なんとか解決できた時には大急ぎでお礼を書込んだもんだ。解決したとか、諦めたとか、そういう意味じゃないとかさ、質問して回答があったんだからその後の経過くらい書くのが常識じゃないか。考えてみるとその思い付きのおかげで全く触ったことのないものに触ることが出来た。Appletを触ったりできたのでまぁ気分的にはプラマイ0かなぁ。解決したようで良かった。何でも2013/08/285分ごとにベルを鳴らして「1から10まで足してくれ」という作業は比較的簡単にプログラムで書いてコンピュータにやってもらうことが出来るけど、「5分ごとにベルを鳴らして」ってのは簡単な作業だけどコンピュータでも分かるように書くのは??簡単そうだけど、、まず現在の時間を記録して、無限ループに入り、「もし、5分過ぎてたら、ベルを鳴らす」というプログラムを書きそうじゃない?それではCPUがホットプレートみたくなっちゃう。ぶっちゃけプログラムとしては間違ってないと思うがコンピュータはまじめすぎるので、こう書くと5分過ぎるまで1秒間に何千万回(最新のCPUならもっともっとたくさん)も時間をチェックしようとしてパンクしちゃう。正しくは無限ループの中で「もし、5分過ぎてたらベルを鳴らす、んで、まぁ、5分たってなかったら1秒くらい休んでていいよ、どうせ5分1秒でも誰も気にしないし」と教えてやんないとダメ。これは「無限ループにはsleep(休憩)が必要」って知ってるのと「5分ごとにベルを鳴らす」のに加えて「5分1秒でも良い」と決めないといけないことだ。「ずれて良いのは100分の1秒まで」ってんなら「100分の1秒だけ休んでいい」に変わるだけだ。「5分ごとにベルを鳴らして」っていう課題に対して「5分1秒でも良いですか?」なんて聞くのは馬鹿げてるよね(どうせ研究発表のベル鳴らしとかを自動でやりたかっただけでしょ)。プログラマが勝手に仕様書に無い仕様を作りこんじゃうんだよね。出来上がったものを見せて「ベルの間隔が1秒ずれるんだけど!」って怒られるんだよね。実は「100分の1秒だけ休んでいい」に変えてもそんなに変わんないし、、、この場合、コンピュータに楽をさせようと1秒も休ませちゃったプログラマが悪いってことになりがちだし。プログラマはなぜかコンピュータに楽させようと考えるんだよね。その方が効率的で速いプログラムってことだからね。ほんとは「誤差100分の1秒まで」ってのを要求に入れなかったのも悪いんだよ。すりゃプログラマはコンピュータに楽させつつ誤差100分の1秒のプログラムを考える分けだ。「5分までまだまだある」なら「1秒くらい休んで良いよ(5秒くらい休ませても良いかもしれない)」で「もうすぐ5分だ」となったら100分の1秒に1回のペースでチェックさせるんだ。実は人間も無意識にこうやってるよね(きっと)。これは「1秒休む」のに比べたら複雑なプログラムだけどね。(この問題、いきなり300秒休んでからベルを鳴らす、にしたらどうなるんだろう?多分、sleepっていう関数はあまり正確じゃないんで、コンピュータの時間を取得するAPIを使った方が正確に5分測れるって感じだと思う。コンピュータの時計以上に正確ではないけど。)(「1から10まで足す」というのはプログラム的には普通はfor文使って書くけど、「((1+10)*10)/2」という公式があるよね。いう最適化するとプログラムが柔軟じゃなくなっちゃうけど、こういうことが出来るって覚えておくのは悪くない。)VC++版、5分ごとに「Bell.mp3」を鳴らすプログラム。mciSendStringって面白いね。プログラムの中でコマンド叩いてるみたい。currentTの差によってSleep間隔を調整する、なんてしないでも十分。プログラミング2013/08/27Watch腕時計について革バンドの渋いやつを付けたところかぶれてしまって付けられなくなった。(かぶれるって漢字が無い?)それ以来付けるのは貰い物のチタンバンドのやつになった。高くも安くもないと思う値段だが、チタン製で軽く、電波時計で狂わない上にアナログ+デジタル表示で見やすく、ソーラー充電で電池切れも無い。LCW-M100TD-1AJF難点は若干風防に傷が付きやすいかな?特に強いガラスって訳じゃなさそうだ。何でも2013/08/26Excelごときで...エクセルで空白セルに対して数値計算の関数を通すと0扱いです。四捨五入したい場合、=ROUND(E13,15)これはE13のセルを15ケタで四捨五入(?)する命令なわけですが、E13のセルが空白の場合0になります。ほんとは、0なら0、空白セルなら空白セル、と出力して欲しい気がします(そうでもない?)。ROUND(E13,15))とするとE13が空白なら空白、それ以外なら計算。E13が空白でなく文字列だった場合やエラー値だった場合、出力はエラーになるが、用途によってはエラーでも空白で出力してしまいたい、と思ったり思わなかったり。これが案外難しくて、試行錯誤中。ROUND(E13,15)とかなんとかだと思うけどこれを1セルに書込むと見辛いし、もう混乱して正しく動いてるのか意味不ちょっと嵌ったのはROUND関数で13桁で四捨五入しても、標準だと表示桁数は変わらず10桁しかないってこと。何となく13桁で四捨五入したんだから13桁表示してるんじゃないかと勝手に思ってた。実際数えてみると10桁しかないのでセルの書式を変えて数値、小数点以下15桁表示、にした。プログラミング2013/08/22eelお盆は久しぶりにお家に帰ってました。北海道は涼しいはずなのに暑く感じたのは実家のエアコンが弱いせいでしょうか。北海道は冬はストーブオンリーでエアコンは使いません。室外機が凍りついてて無理に動かすと壊れると思います。冷房にしか使わない→そんなに良いやつじゃなくていい。感じになってると思います。あれだけ批判したのに鰻食べてしまいましたなぁ。...」と言ってみたんですが「食べれなくなる前に食べる」という例の理論です。これで僕は年に2度ほど鰻を食べていることになるのですが、4人家族で年に2回、鰻は1匹で2人分くらいあるんでしょうか。4人家族で年に4匹ほど?このペースなら絶滅しないと思いましたが。ウナギについてちょっと計算してみました。だいたいこんな数字かな~とは思いますが間違ってても責任取れません。現在は年1~2回て感じ?16万トンとかの数値は消費量ではなく国内に出回った量だそうですがまぁ消費量と考えても大きく違わないはずです。(・∀・)休みが長かったせいで頭がだるい。こんなときは面白そうな作業、簡単そうな作業、から手を付けて慣らすのが良いでしょう。いうわけでrailsアプリの修理。railsアプリで登録したデータを削除するボタンがDestroyという名前。デストロイという物騒な名前は如何なもんかと思ったが、scaffoldで作った時のデフォルトらしい。その削除ボタンは滅多に押さなかったし、まさか動いてないとはしばらく気が付かなかった。直そうと思ったらなかなか直らない、というか削除の仕組みがよく分からない。controllerにはdestroyというメソッドで作ってあるのにリンクのところにはdeleteとなっているじゃん。リンク先のアドレスは表示用と同じアドレスだし、なにがどうなって動いてるのかさっぱり。分かったことはjquery.js、jquety_ujs.js、を読込んでないとデストロイが効かないということのようだ。これらを配置すれば対処療法的に解決はするが、そもそもの原因はjavascriptの管理がassetとかいう訳分かんないのに変わってて訳分かんなかったので無視してたってこと、とprototypeで作ってて「jquery...まぁいらねぇかなぁ」となったことだろうか。別にJQueryが嫌いではないけどPrototype、ExtJS、は使ったことがあって、たまたまjqueryとは縁が無かったんで。jsライブラリにはそれぞれに特長があるだろうけど余程のことをするんでなければ、どれか一つだけを深く知ってた方が良いと思う(根拠は無いけど)。それはそれとして、assetが本気でよく分かんないので、とりあえず静的配置で直しつつ、ちょっと真剣にasset使ったテストプロジェクト作って試さないとダメな感じ。Rails2013/08/09scarecrowスケアクロウ日本語訳はカカシ(カラスを除けるあれ)ロードムービーということで見てみたが、アメリカンなノリについていけなかった。何をそんなに騒いでるんだろうと。あとこういう喧嘩っ早い男はダメだと思う。それは置いといても、正直結末の意味が分かんなかった。最期まで描いてくれないとダメなんじゃないかと。引き込まれて見ている人はあれで分かるのかもしれないけど、終わり近くなっても興味を持てなかった人はあれで完全に放り出されてしまう。いうかあらすじを先に見てたから良いものの、最初も唐突過ぎて意味分からなかった。1から10までの4,5,6くらいを見せられた気分。これじゃ好き嫌い割れるだろうなーと思ったら意外と高評価な映画らしい。映画2013/08/01HTMLのSelectタグやInputタグのRadioボタンをReadOnlyにする方法チェックボックスをリードオンリーにする方法を調べていたとき、実はコンボボックス(Selectタグ)をリードオンリーにする方法も同時に調べていて、挫折した。