最終更新: 2010-05-08T15:45+0900
「良いプログラマへとこっそり導く仕様」というのは確かに素晴らしい。Rubyの変数名規則や Pythonのインデントにもそういう効用があると思ってるし、Rubyのブロックは考え方を一変させる力を持っていたけれど、Scalaにもそれがあるという。関数型言語の良さや並列処理支援が使いやすく組み込まれているなら、プログラムの組み立てを一変させる力も持ってるだろう。コップ本の帯の文句「Java、Rubyにつづく次世代言語」が単なる惹句ではない中身のある言葉として迫ってくるよ。
リストの前半は、それ○○でできるよ、というのがすぐ頭に浮かぶけど一つの言語でできるというのはないだろうなあ。リストの 13番目以降になじみがないのでそこの説明をこそ希望する、と思っていたら追記されていた。でも 15まで。dqm2はいいから続きを!
Rubyの引数チェックコードが比較にあがっているが、型指定があっても引数の正当性チェックは避けられないと思う。C++でもガード節や assertから逃れられないし、これはスタイルや信頼するコードの範囲の問題。
それはインターフェイスなんでは?、と思ったけど、型を定義するときではなく型を利用する側で付ける制約なのなら新しいかも。(Interfaceを継承してなくても、Interfaceの要求を満たしているならアヒルさんだと認めてもらえる、みたいな)
コンセプトに対応したテンプレートみたいなものをイメージしてる。(ダックタイピングはメソッド名による、テンプレートはソース上の表記(シンタックス)による制限・汎化だけど、自由すぎるし要求が不明確)
varと valでこれができるって。たったの一字違い。C++は constを書かせすぎるから valが本当にうらやましい。
メソッドの仮引数は自動で valだって。すばらしい。
well-formedな HTMLや XHTMLを書くのに重宝しそう。ヒアドキュメントより進んでる。
そのガードを、例のように for文と別のところに用意しないといけないなら魅力はないけど、どうなんだろう。
Scalaの魅力は十分伝わったから、とりあえずコップ本買ってきた。自分で確かめる。
Scalaスケーラブルプログラミング[コンセプト&コーディング] (Programming in Scala)
インプレスジャパン
¥ 4,830
朝日でも少年同士の恋愛漫画が「有害」みたいな見出しを付けてて、これはもめるなあと思ったんだけど、中身を読めば結局のところ、性描写のあるページ数や割合が一定以上のエロ雑誌を有害指定しているが、BLは必ずしも性衝動を喚起するものではないという理由で例外扱いしていた。その例外扱いをやめる、ということらしい。BLと関係ないところで有害図書指定の是非を問うのは構わないけど、「『トーマの心臓』が 、BLだから、有害」みたいな書き方は朝日以上の悪意を感じるよ>>>GIGAZINE
成人向けと有害を混同してたみたい。エロだけでは有害とならないなら、性行為の描写を含むページ数やページの割合というのは必要条件の一つってだけなのか。大阪の図書館の蔵書に BLが含まれていることの関連がささやかれてたりもする。お決まりの問題。ジャッジする人間の正当性をだれが判断するのか。有害図書指定がありきたりのルーティーンではないらしいことが想像できるようになった。してみると松文館が事件になってたのも有害図書関連なのかと検索すればそちらはわいせつ物。野放しはなんとなくダメな気がするけど、多数決はセンシティブな問題だけにありえない。明確な判断基準を作ってのフィルタリングもそこで思考が停止してしまってしょうもない運用がなされる未来が見える。結論なし。
最終更新: 2010-04-27T04:54+0900
歩道にはいろんな障害物がある。街灯、バス停、標識、工事の看板、車止め。車。目の悪い祖父いわく車の出入りのために(背の高い歩道に)設けられた傾斜が困るらしい(つんのめったりバランスを崩したりするだろう。少し関連して、バリアフリー - Wikipediaの観点からはあからさまな段差だけでなく、あるかなきかの段差が問題になったりもする)。
最近、自転車を推進するということで歩道にペイントがなされた。自転車や歩行者に区分を強制する自転車道ではなく、自転車が歩道を走るときは車道側を走ることをわかりやすく示したものだと思っていて、それ自体は望ましいのだけどそれで終わりではなかったらしく、ある日予兆もなく 30cmか 50cmの長さで弾力性のあるオレンジの突起が、3メートルおきに、林立する光景を目にすることになって呆れた。自動車のための障害物だけでなく自転車のための障害物までが歩道に溢れることになったんだから。手間暇かけていらんことするよね。この歩道はまた、車の出入り口の両脇に緑が植わっていたりもして、人(と自転車)と車が交差する部分の見通しが悪い。
最終更新: 2010-04-19T06:03+0900
Rails以前の化石級の知識をアップデートすべく手に入れた。10ページ目でみかけた、モジュール定義での extend self (module Foo; extend self; ~ end というような)。テストの章だから説明がなかったけど、これは当たり前には出てこない。一括 module_functionか?先頭に置いても平気なのか?検討が必要。できるだけ実際のコードを使用するという方針のメリットが早くも得られたかたちで、先が楽しみだ。
昨年末の記事だけど Gmailが対応したことで知った。非同期ファイルアップロード(20100415p01)はまだ便利なように拡張できるってわけだ。
機能するブラウザが限定される&スクリプトがないと機能しないのであれば、ドロップエリアもスクリプトで用意しないといけないだろうな。
最終更新: 2010-04-04T06:25+0900
そんなあなたに、とある科学の超電磁砲の 4巻はいかがでしょう。俺はこの巻を読んで、作者は冗談では済ませられない、のっぴきならない一歩を踏み出したと感じた。まだ失望してもムカついてもいないが、危ういものを感じながら 5巻を待っている。
最終更新: 2010-04-17T12:02+0900
「全長200kmの道路があります。 最初の100kmを時速50kmで、 次の100kmを時速100kmで走りました。 200kmの道路全体では時速何キロで走りましたか?」 に非常によく似た問題があった。 「(100km/h + 50km/h) ÷ 2 で 75km/h!!」 とお客さまに答えそうになる馬鹿が出た…。 (省略)
悲しいことに全然笑えない。100km(50km/hで走った距離)と 100km(100km/hで走った距離)を見比べて 1:1だから、足して 2で割って平均を出せばいいやと考えるのは仕方がないというか、頭の中で方程式は解けないからと目の前の数字に飛びついちゃったんだよね。(上の問題はただのたとえらしいけど)算数の問題って火曜サスペンスと同じで与えられる判断材料(数字)に過不足がないことが当たり前になってるから、それに慣れてると考えずに反射的に数字をこねくって答えを出してしまいがち例えばというのもありそう。
(馬鹿ですが)気を取り直して、この場合は走行距離でなく走行時間の比率を基にすれば暗算できたんだろうか。
「全長200kmの道路があります。 200kmを走り終わったとき、 2/3の時間を時速50kmで、 1/3の時間を時速100kmで走っていました。 道路全体では時速何キロで走りましたか?」 50 × 2/3 + 100 × 1/3 = 66 (km/h)
ブコメを見た。水溶液濃度の話も出てた。そして最も簡単な考え方は「200km ÷ 3h = 66km/h」だった。ああなんて遠回り。
「調和平均だっけ」とも書かれていた。調和平均の定義を調べて計算したら「2×100×50÷(100+50)」なぜだか(自分の頭ではマジカル)答えが出た。でもこれだと走行距離が 95kmと 105kmだったときにどうすればいいかわからなくなりそう。
例えば 「100gの水に 5gの NaClを溶かしてできる食塩水の質量パーセント濃度は?」という問いに 5%と答えてしまうおバカな中学一年生でした。<<こねくってさえいなかった!
最終更新: 2010-03-29T02:44+0900
Alt+←で前のページに戻れるようになっている。余計な閲覧履歴がはさまって一回で戻れなかったりもしない一方ソニーは。ただ、一瞬前の画像に戻るような動作を見せてから前のページに移動するのが後付けっぽくてスマートでないし、まれにページ移動に失敗して前の画像に移動するだけのことがある。行き過ぎて前の画像に戻りたいこともあるだろうし、どの画像から第二のモードに入ったかを覚えておいたらいいと思うんだけどね。
一方ソニーは Cyber-shot DSC-HX5Vのページ<http://www.sony.jp/cyber-shot/products/DSC-HX5V/>を表示すると閲覧履歴に 4つのエントリが追加され、戻るボタンなど一つ前のページに移動する操作を連打しても抜け出すことができない蟻地獄。しかしそれが 5つのブラウザのうち Firefox3.6だけの現象となると Firefoxがいけてないだけかもね。
最終更新: 2010-03-19T03:37+0900
ヘリコプターには、テイルローター部分にプロペラ(地面に近いから人に当たりやすい)ではなく空気の排出口を設けて、メインローターから吹き下ろしてくる風の流れをコアンダ効果でコントロールして左右方向の機体制御に用いるものがあるらしい。(すべて Wikipedia:ヘリコプターからの受け売り)
コアンダ効果で、なぜか、思い出したのがダイソンの"羽根なし"扇風機。この連想の根拠を検索で探してみたけど、動画の紹介やこうしたらこうなった的な解説がほとんどだったので、ようやく見つけた数少ない読める記事へのリンクをはる。(※コアンダ効果は関係ありません)
Javaの良いところは、String#substring, split, replace, +, +=, equalsだけ知っていれば処理時間がグレートなコードが書けることだ。
このあと頭の悪そうな(そう見える。「牛刀をもって鶏を割く」ような)コードが例示されているから"グレート"は皮肉なのかと思ったんだけど、Javaのコンパイラが"グレート"な可能性も捨てきれないでいる。最後に
もっと処理時間をグレートにするにはどうすればよいだろうか?
なんてあるから、グレートな処理時間はコンパイラでなくコードに由来するものらしく、やっぱり皮肉なのかなとも思うけど……。
最終更新: 2010-02-26T20:42+0900
いやはや、数字を数えるのも難しいものですよ。 {}の次が{{}}で、その次が{{},{{}}}で、次に{{},{{}},{{}, {{}}}}くらいまでは、すぐに分かりますが、 数学が苦手な私には、その次の{{},{{}},{{},{{}}},{{},{{}}, {{},{{}}}}}はなかなか出てこないですねぇ。
こういう話をかみ砕いて順々に展開していっていたのが『[単行本] ドナルド・E. クヌース【至福の超現実数―純粋数学に魅せられた男と女の物語】 柏書房』だったっけ。
1、2週間前の大雨の日に乗って以来、シフトの調子が悪かった。重いし変わらないし。シフトワイヤー(in&out)を交換してもらったらワイヤーの先に何もつながってないんじゃないかという軽さ。忘れていたよ。調整後にさらにちょっと伸びたのか、チチチチチとシフトダウンに失敗する段があって手元でアウターをちょっと延長した。購入した店だと完璧にやってくれるんだけどね。