いろいろ
Seize the day.
2007-01-02 [長年日記]
2007-01-03 [長年日記]
2007-01-05 [長年日記]
■ [comp] Apache + PHP
某所で新しくウェブサーバを立ち上げることになったんだが,PukiWiki を使いたいという声があったので PHP を組み込むことにした.まず HTTP サーバ Apache のインストール.実はサーバには Apache がプリインストールされていたんだけど,設定を変更するのがかなり大変そうだし,そもそも最新版ではなかったので,新しくインストールし直した.その際,./configure で --enable-module=so オプションをつけて,動的モジュール組み込みができるようにする.これをしないと PHP が使えない.
続いて PHP のインストール.
% ./configure --with-apxs=/usr/apache/bin/apxs --with-pgsql=/usr/local/pgsql --without-mysql --enable-mbstring --enable-mbregex % make # make install Installing PHP SAPI module: apache apxs:Error: Activation failed for custom /usr/apache/conf/httpd.conf file. apxs:Error: At least one `LoadModule' directive already has to exist. make: *** [install-sapi] Error 1あ,先に書かないとだめなのか.というわけで httpd.conf に
LoadModule php4_module libexec/libphp4.soを足してから再度 make install.さらに httpd.conf に
AddType application/x-httpd-php .phpを追加し,DirectoryIndex に index.php を追加.
DirectoryIndex index.html index.php
続いて
# cp php.ini-dist /usr/local/lib/php.iniして適当に編集.
mbstring.language = Japaneseのコメントを外すくらいかな.凝りたい人ははいろいろぐぐると出て来る.
最後に,
<?php phpinfo(); ?>という内容のファイル phpinfo.php を作って,ブラウザでアクセスして確認する.
なお,Apache のエラーログに
[warn] module php4_module is already loaded, skippingというのが出ていたので,httpd.conf を見たら
LoadModule php4_module libexec/libphp4.soがなぜか 2 行もあったので,make install 時に追加されたのかも知れない.1 行削除しておいた.謎.
2007-01-08 [長年日記]
2007-01-09 [長年日記]
2007-01-10 [長年日記]
■ [misc] 凡人以下なりに
先生,自分が部屋で一番優秀でない (not smartest でなくて least smart の意.一番ダメな) 場合はどうすりゃいいんですかね.…それはそれでやっぱり飛び出したほうが良いんだろうか(激ぉ
大学に入ってみて,世の中にはとんでもなくデキる奴がいるということを知る,というのはわりと普遍的な体験なんじゃないかと思うんだが,自分の場合,そういう非凡な人達は「一握り」なんてもんじゃない,会う奴会う奴みんな自分よりよっぽど優秀だったorz.特に今いる職場は本当に異能集団で,上司,同僚はもちろん後輩までもが自分にはとうてい到達できない何かを持っているのですよ.自分がいる部屋なんてマジで洒落にならん.
ここにいていいのかという迷いは今でも消えはしないけど,自分としてはこの場にいられることをとんでもなく有難いチャンスだと思っている.非凡な彼らの会話はついていくのがやっとだけど,少しでもそのものの考え方を吸収しよう,貪欲に自分の糧としよう,というかまず会話の内容を理解できるようにしよう,という気で,仕事以外でのコミュニケーションを意識的に持つようにしてるつもりだし (往々にしてわかったつもりで終わるが),良いと思ったところは恥を捨てて猿真似したりして,ダメ人間なりに少しでも凡人レベルまでは行けるようにと思ってはいる.自分が底辺という環境は,周囲の人間にとってははた迷惑だろうが,本人にとってはブラッシュアップのためのこのうえない環境なわけですね.学べることが山ほどある.いつまでたっても底辺から抜け出せないのが悲しいけど….逆にいつか彼らと離れた時,自分はやっていけるのか? みたいな不安も頭をよぎったりよぎらなかったり.
それにしても,sumii さんとかかがみさんみたいなとんでもなく頭の良い人達 (sumii さんは面識があるわけではないけど,Caml の話 [2005-10-27] とか読んだ時にうわこの人すげーと思った) がこういうことを考えている,というのは,ある意味ほっとする,と同時にめっちゃ凹みますな…(笑).でも多分,彼らのそういう物の考え方こそがその知性の根幹をなしているんであって,自分も見習っていきたいです.日々是勉強です.ちょっと遅れましたがこれが今年の抱負.
本日のリンク元 | 9 | TrackBack(0)
2007-01-11 [長年日記]
■ [misc] うたバトンツリー
うたバトン [2006-12-31] に回答下さった皆様,お忙しいところ本当にありがとうございました.前回ゼロだったのに比べてなんという反応率!ところで,前回と同様,ツリーを作ってみました. 今回は 5 ホップで mixi に入ってしまうのでだいぶ規模が小さいです.あと止めちゃう人,放置な人が増えましたね.ブロガーにスルー力がついてきた証拠か? あとなんつーか,親ノード以遠はけっこううちと文化の違いを感じる.
2007-01-12 [長年日記]
■ [comp] 10 年前の WWW で良く見掛けたもの
最近見ないな.- Under Construction と書かれたページ
- そういうページにはたいてい道路工事のイラスト画像が貼ってあった
- 「日本の WWW」「世界の WWW」へのリンク
- blink タグ
- インタレース GIF
- GIF アニメ
- この手の 3D ロゴ作成ページで作ったロゴ
- 「ネチケット」という言葉
- VRML
- "BACK" ボタン,"HOME" ボタン (ブラウザのではなく)
- RCAAU Mo-n-do-u,ODiN,千里眼,NTT DIRECTORY,Yahho
- 同じ画像がひたすら並んでいる背景
- Perl ベースのチャット
- marquee タグ
- Gopher
- なぜかホワイトハウスと NASA にリンク
- Mosaic (まだある!)
2007-01-13 [長年日記]
■ [comp] カラー EPS 画像をコマンド一発でグレースケール変換するワンライナー
カラーの EPS 画像をコマンド一発でグレースケール変換するワンライナーです.特に,Illustrator などでグレースケール化するとファイルサイズが肥大して嫌だという人や,ファイルが大量にある人には便利かと思います.MATLAB R2006b が吐いた EPS (RGB カラー) の場合,
% perl -p -i.bak -e 's/([0-9.]+) ([0-9.]+) ([0-9.]+) sr/0.299*$1+0.587*$2+0.114*$3." sg"/e;' hoge.epsIllustrator 10 が吐いた EPS (CMYK カラー) の場合,
% perl -p -i.bak -e 'use List::Util qw(min);s/([0-9.]+) ([0-9.]+) ([0-9.]+) ([0-9.]+) cmyk/"0 0 0 ".(0.299*min(1,$1+$4)+0.587*min(1,$2+$4)+0.114*min(1,$3+$4)." cmyk")/e;' hoge.epsでいけます.ただし,特殊な図の場合は無理かも.汎用性はあまり確かめてませんし,バージョン依存の可能性もあります.他のアプリケーションで生成した EPS にも使える場合があるかも知れません.バックアップがいらない人は -i.bak を外して下さい.なお,変換式には諸派があるので,あくまで「なんちゃってグレースケール」ということでよろしく.
発端は昼飯時の職場の後輩との会話.
後輩: カラーの PDF をグレースケールにする簡単な方法ってありませんかね?
私: うーん… Illustrator で読み込んでモノクロにできなかったっけ? 自信ないけど.
後輩: できるんですかね? Photoshop でやろうとしたら全体が画像になっちゃってダメでした.
私: あ,Acrobat Distiller にそういう機能なかったっけか?
後輩: それがないんですよ.ていうか MATLAB が吐いた EPS 画像を全部グレースケールにしたいだけなんですけどね.
私: え? 普通に Illustrator で EPS を開いてグレースケールにするんじゃだめ?
後輩: いやー,MATLAB が吐いた EPS を Illustrator で開くととんでもなく肥大化しません? あれが嫌なんです.
私: あーなるほど.うーん…,EPS の PostScript を直接書き換えちゃえばいいんじゃね? …ていうか昔そういうことをやったような記憶が微かにある.むはー.調べてみるか.
後輩: (やや引きつつ) お,おながいします….
というわけで,記憶をひもといてみたところ,昔やったのは「カラー文書を Unix から PostScript プリンタに印刷する時に,プリンタ固有のコードをジョブに追加することで無理矢理モノクロ印刷させる hack」であって,今回のようにファイルそのもののモノクロ化ではなかった (この話はいつか書くかも).あとは EPS 画像内のハイフン記号をマイナス記号に変換する話とかもあったか [2005-11-18].でもまあ,今回も同じ手法が使えるはず,ということで,今日締切の仕事をほっぽりだして現実逃避開始(激ぉ
まず,MATLAB の場合から.同じ図をカラー化したものとモノクロ化したものをそれぞれ保存して diff をとる,というのが基本方針.
MATLAB プロットでは,RGB カラーテーブルは例えば以下のように表現されていることがわかった.
0.000000 0.000000 0.000000 sr 1.000000 1.000000 1.000000 sr 0.900000 0.000000 0.000000 sr 0.000000 0.820000 0.000000 sr 0.000000 0.000000 0.800000 sr 0.910000 0.820000 0.320000 sr 1.000000 0.260000 0.820000 sr 0.000000 0.820000 0.820000 sr小数の triplet が RGB 成分を,sr が RGB カラーであることを示している (ただし,数値は MATLAB のバージョンによって異なるようで,以前は原色が使われていた).順に black,white,red,green,blue,yellow,magenta,cyan に相当する.
いっぽう,グレースケールの場合は,
0.50000 sgのように表され,数値が輝度,sg がグレースケールであることを示している.なので,前者の表現から後者の表現に変換してやればよいことになる.
ではどのように変換するか? ここでは,よく使われている RGB→YIQ 変換を使うことにする (人間の視覚特性を考慮した重みづけがなされている).ここで,Y が輝度を表す.
Y = 0.299R + 0.587G + 0.114Bつまり,EPS ファイルの中から RGB 成分を抜き出して上式で変換したもので置換してやればよいわけだ.このワンライナーでは Perl の s 関数に e オプションをつけて,置換部分を式として評価させている.
いっぽう,Illustrator の吐くファイルの場合はもう少し複雑で,色は CMYK 空間で表現されている.
.0157 .2431 .2863 0 cmykそこで,CMYK→RGB→YIQ 変換を行う.RGB と CMYK の関係は,
R = min(1, C+K) G = min(1, M+K) B = min(1, Y+K)となっているので (諸派あるが,最も単純なものを用いた),これを用いて
0 0 0 0.1800322 cmykのように K 成分のみに輝度情報を入れてやれば OK.Illustrator でグレースケール化したものと値を比べてみたが,だいたい近い値にはなっているようだ.
ワンライナー万歳!
本日のリンク元 | 1 | TrackBack(0)
2007-01-14 [長年日記]
■ [space][comp] Mars Global Surveyor の通信途絶の真の原因はソフトウェア更新時の人為ミスか
昨年 11 月,NASA の火星探査機 Mars Global Surveyor (MGS) が突如通信を途絶した.運用中の他の探査機などを総動員して懸命の捜索が続けられたが,MGS からの通信は二度と戻らなかった. 12 月には ESA の Mars Express によって MGS らしきものがとらえられたが,姿勢を喪失していると推測され,復旧の見込みはほぼゼロとなった. 当初,老朽化が原因の可能性が高いとされてきたが,ここへ来て 1/10 に NASA の調査で人為ミス説が浮上した.- http://www.spaceref.co.jp/news/5Fri/2007_01_12mars3.html
- http://www.spaceref.com/news/viewnews.html?id=1185
NASA の John McNamee が語ったパブリックコメントによると,
- 昨年 6 月にソフトウェア (2 台の CPU 同期用) を送信した際,アドレスが 2 箇所間違っていてメモリが上書きされた
- 探査機は異状事態モードに移行した
- バッテリのラジエータが太陽の方を向いてしまって過熱し,バッテリが逝った
- 自分は MGS に関わっていないし,かつて関わったこともないが,似たアーキテクチャを扱ったことがある.
- NASA は現在調査委員会を招集している段階であり,したがって調査が終了しないうちは以下は全て仮説である.
- 以下の情報の一部は過去に MGS に関わっていた友人から得たものなので,MGS 特有の話については基本的に 2 次情報である.
- MGS の搭載電子機器は,Mars Observer (MO) という探査機のフライトモデル予備機を流用したものであり,MO は Satcom-K や DMSP / TIROS といった衛星に基づいて作られている.つまり MGS (1996 打上げ) のエレクトロニクスとソフトウェアアーキテクチャは 1980 年代初期のものである.
- MGS に搭載されている多くのコンピュータのうち,SCP (Spacecraft Control Processor) と呼ばれる 2 台のメインコンピュータのメモリはわずか 128KB RAM であった (今時の携帯電話のメモリより遥かに少ない).
- SCP は Marconi 1750A マイクロプロセッサをベースとしていた.当時,国防総省は衛星ソフトウェア関連コスト削減のために 1750A の軍用規格で命令セットの仕様を定めており,当時の衛星の多くは 1750A を用いていた.その後次第に Intel *86 や IBM PowerPC などの商用アーキテクチャが国防総省や宇宙関連でも使われるようになり,1996 年以降は 1750A は使われていない.
- 1750A のプログラミング手段としては,アセンブラ,JOVIAL (空軍特有の言語),Ada か C,の 3 つの方法がある.MGS ではアセンブラと JOVIAL が使われていた.どちらも obsolete な言語であり,経験者を探すのが年々難しくなっている.
- Mars Pathfinder 以前の探査機は OS を積んでいない (そこまで計算資源に余裕がなかった).よって,メモリ管理は「人間が手動で地上から」行うことになる.
- 近年の衛星では,プログラム中の定数パラメータはオンボードのデータベースかファイルに格納されている.しかし MGS にはそもそも OS がなく,データベースもファイルシステムも存在しない.なので地上の人間が「メモリのどこにどんなパラメータが格納されているか」を常に追跡しつづけなければならない.
- MGS のメモリはワード (16 バイト) 単位でアドレシングを行うようになっている.単精度整数型は 1 ワードだが,倍精度整数型や浮動小数点型などは 2 ワード,もっと複雑なデータ型の場合はそれ以上のワード数をもってメモリ内に格納されている.
- ここで問題になるのがビッグエンディアン/リトルエンディアンである.つまり,2 ワード以上のサイズのデータをメモリ内に格納する時,どっちのワードをどっちに格納するか? ということである.この件が今回の MGS 通信途絶に関係していたかどうかはわからないが,ともかく地上の人間がパラメータを更新する際,相当注意して作業しないと容易に混乱が起こり得る (地上系システムと衛星系システムとでエンディアンが違うことさえありうるらしい!).
- 2006 年夏,冗長系をなしている SCP の 1 台 (SCP-1) に問題が起こったため,バックアップである SCP-2 に切替えた.SCP-1 のメモリの内容に欠陥があったので,その後数ヵ月をかけて大量のコマンドを送信して欠陥を修復する作業が行われた.
- この作業を行っていたのはたった一人だった.彼は 1750A や JOVIAL を扱った経験がわずか数ヵ月と浅かった.ミッション初期からずっとこの作業を行っていた人間が退職したため,彼が投入されたのだ.
- この新人がパラメータを更新している時,2 ワードパラメータの開始アドレスをうっかり間違えた.
- アドレスが 1 つずれたことによって,更新していたパラメータが余計に破損しただけでなく,近傍のメモリの内容も破損してしまった.その中には,異状事態モード時の太陽電池アレイの姿勢や,太陽電池アレイの機構に関するパラメータが含まれていた.
- 2006 年夏のこのミスは数ヵ月誰にも気付かれなかった.11/5 の合運用からの復帰の際,太陽電池アレイを正しい向きに直すコマンドが送信された.この結果,一つの太陽電池アレイ機構が端まで動いた.通常はこれは全く問題ではない.しかしパラメータが破損していたため,衛星は太陽電池アレイが限界までねじれていることに気付かず,モータが故障したと判断して異状事態モードに移行した.
- この過程で太陽がバッテリラジエータに直接当たってしまい,バッテリは過熱して破損した.他のバッテリは既に経年劣化しており,食の間に十分な電力供給をすることができなかった.
参考: Mariner 1,Mercury,Mars Climate Orbiter のソフトウェアバグ [2005-12-13]
追記 (2007-04-19): あれ,Geek Counterpoint Blog の当該記事がなくなっちゃってますね.がーんん.まさか消されたのか.
関連記事: 宇宙開発をめぐる噂の真相シリーズ
- 第 1 弾: 宇宙開発におけるソフトウェアバグ [2005-12-13]
- 第 2 弾: チャレンジャー号の都市伝説 [2006-05-18]
- 第 3 弾: 「一方ロシアは鉛筆を使った」の真実 [2006-07-31]
- 第 4 弾: Mr. Gorsky の真相 [2006-11-18]
- 第 6 弾: ガチャピンは本当に宇宙へ行っていた [2007-08-25]
- 第 7 弾: ガチャピン「また宇宙に行きたい」 [2008-05-23]
2007-01-15 [長年日記]
■ [misc] マクドナルド新製品の殺人的カロリー
電車の吊り広告で見た「メガマック」の広告.肉 4 枚に度肝を抜かれて公式サイトを見てみたら,恐ろしいセットメニューが載っていた. 「メガマックセット」650 円に「メガマックスペシャルセット」730 円.前者はメガマック+ポテト(M)+ドリンク(M),後者はメガマック+ポテト(S)+ナゲット+ドリンク(M).カロリーを計算してみると,前者は 752+420+156 (ファンタグレープ)=1,328 kcal,後者は 752+230+256+70 (マスタードソース) + 156=1,464 kcal.ついにメガカロリーの域.さすがメガマック.成人男性の 1 日の基礎代謝 (1,400 kcal 程度) を超えてるし.ちなみに本日からは朝マックで「マックグリドル」 なる新製品が出てるんだけど,なんとバンズの中にメープルシロップが「注入」されている (練り込んであるとかいうレベルじゃない) というなんともアメリケンブレックファストな品.こちらのカロリーは,ソーセージ & エッグ・チーズで 554 kcal.おやつならまだしも,朝からこんな甘ったるいものを食べる気にはならんなあ.そういえばかつて知合いのアメリカ人にキャラメルコーンを食べさせたら,「おお! アメリカの朝ごはんはまさにこういうやつなんだよ! 懐かしいなあ」とか言われてびっくりしたことがある.
でもジャンクは好きなので(ぉ,いつか食べてみるかも知れない.
追記 (2007-01-25): キャラメルコーンじゃなくてしみチョココーンだった.揚げたコーンスナックにチョコをしみこませたやつ.どっちにしろ油脂+糖分+炭水化物で最強.
本日のリンク元 | 2 | TrackBack(0)
2007-01-16 [長年日記]
■ [comp] サイドバーお気に入り議論
世の中の常識だと思っていたものが音を立てて崩れ去る瞬間を久々に経験した.「一般人は常にお気に入りを表示している」らしい. この記事を書かれた方とまったく同じ価値観を自分も持ってたので,最初は「は? 何で??」とか思ってしまったんだけど,まあサイドバー出すよ派の人の意見も一理ある.もしかしたら Outlook や Outlook Express の影響とかがあるのかもなあ.あと,古いネットユーザの場合は出さないよ派が多いかも知れない.Netscape Navigator とか Mosaic にサイドバーなんてなかったからね.人は最初に慣れ親しんだ環境に固執する傾向がある (未だに XP をクラシック表示させているのは私だ).
ていうか,自分の場合,Firefox の Session Saver で毎回保存するタブと,Bloglines のマイフィードが,ちょうどお気に入りサイドバーの役割を果たしてるんだろうと思った.結局やってることは同じ.
2007-01-17 [長年日記]
2007-01-20 [長年日記]
■ [space] 驚異のマックノート彗星
なんだか Powerbook みたいな名前の彗星ですが,ヤバイです.こんなのが空に見えたら度肝抜かれます.
[antwrp.gsfc.nasa.gov]マイナス 5.5 等級というすごい明るさで,過去 40 年間で最も明るい彗星らしい. 以下,すごい画像いろいろ.日本国内で撮影されたものも多数.
- http://skytonight.com/community/gallery/skyevents/5129766.html
- http://www.flickr.com/groups/cometmcnaught/pool/
- http://news.local-group.jp/style/star-white.png
- http://www.astroarts.co.jp/gallery/comet/c2006p1/gallery8-j.shtml#work070118_003876
- http://www.spaceweather.com/comets/gallery_mcnaught_page11.htm
- http://www.spaceweather.com/comets/gallery_mcnaught_page12.htm
- (via http://news.local-group.jp/)
2007-01-21 [長年日記]
■ [comp] 休止状態からの復帰に異様に時間が掛かっていたのは Firefox のせいだった
長らく Let's note W2 をモバイル PC として愛用している.いつも電源を落とす代わりに休止状態を使っていたんだけど,いつからか休止状態からの復帰に異様に時間が掛かるようになった.「Windows を再開しています...」というプログレスバーまでは順調だ.その後,ログイン画面が出るまでに 10 分くらい掛かる.場合によっては 20 分くらい掛かる時もある.HDD へのアクセス自体がなんだか非常に疎になっている.ログイン画面が出ても反応が異様に鈍く,やっとログインしてもマウスポインタの動きさえカクカクしていて使い物にならない.ログアウトもできないので強制終了することもよくあった.ちなみに普通に起動させると全く問題はない.
明らかにおかしい,どこか壊れている,と思いたいところなんだが,この PC,なんと空気を読むのだ.職場や出張先でのプレゼン直前なんかにこれが起こったら目も当てられないはずだが,そういう時にこの症状が出たことは 1 度もない.それなのに,この PC でちょっとネットサーフィンしようとか,そういう不純な (?) 動機で PC を復帰させようとすると,8 割方この症状が出る.主人と違って空気読み過ぎ.
でまあ,そんなわけで実害はないので(笑),ほったらかしにしてたんだけど,ふと思い立ってぐぐってみたら,まさに同じ症状がマイクロソフトのサポートページに載っていた.
この問題は、システム メモリが少なくなると発生します。むむ,メモリ不足だったのか! あまり思い当たる筋はなかったんだけど,とりあえず一番メモリを喰う Firefox が怪しいかなと当たりをつけてみる.すると,もじら組フォーラムに載ってた! やっぱり Firefox を立ち上げたまま休止状態にすると,メモリリークのバグのために復帰に異様に時間が掛かるとのこと. というわけで Firefox を閉じて何度か休止状態からの復帰を試みたところ,例の症状はまったく出なくなった.当初はハードの不具合を疑っていたので,問題なかったのは非常に嬉しい.空気読んでたように思えたのも,単に出先のプレゼン準備時はブラウザ立ち上げてなかったからだったのか….それ以降,休止状態の前には Session Saver で Firefox のセッションを毎回保存してから Firefox を終了させるようにしている.なんかもう休止状態にする意味もないような気もして来たが….
本日のリンク元 | 2 | TrackBack(0)
2007-01-22 [長年日記]
■ [comp] 京ぽん 2 のある暮らし
京ぽん 2 (WX310K) を導入して 1 年が過ぎた [2006-01-09].それまで自分の使っていた PHS ははっきり言って biff 代わりだったんだけど (PC へのメールを転送していたので),京ぽん 2 になって新たに加わった強力な使い途がある.フルブラウザだ.いつでもどこでも起動時間 2 秒でウェブにアクセスできるなんて夢のようだ.おかげで,毎日通勤中に Bloglines の携帯機器対応版から大量の RSS フィードをチェックするのが日課となった.画像が多いサイトや他へのリンクが多いサイトはやはりきついので PC からチェックするが,テキスト主体のブログ等であれば特にストレスを感じることなく,通勤時間だけでだいたいをチェックできる.素晴らしい.2ch の巡回や,気になるページのはてなブックマーク追加も京ぽん 2 からできる.
ひとつだけ京ぽん 2 の不満を挙げるとすれば,データフォルダの貧弱さだ.特にメール保存領域は 1MB 程度しかない.せっかく miniSD スロットがついてるのに,なぜかメールは miniSD に記録できない.ちょっと大きなデータが来るとすぐに他のメールが消えてしまう.せっかく PDF やら Word やら Excel やらのビューアがついてるというのに,ひどい仕様だ.ファームウェアアップデートで改善してくれないかなあ.
ところで先日後継機種の WX320K が出たらしいんだが, なにやら退化しているようで…orz.まあ数年は買い替えないつもりだからいいんだけど.
2007-01-23 [長年日記]
■ [comp] 京ぽん 2 から「はてなブックマークに追加」ブックマークレット
昨日の記事 [2007-01-22] で書いた,京ぽん 2 (WILLCOM WX310K) 上の Opera から,「今見ているページをはてなブックマークに追加」する手順についてまとめておく.京ぽん 2 以外の携帯,PHS でも使えるかも知れない.- まず,京ぽん 2 から一度もはてなにログインしたことがない場合は,ログインする.これで Cookie を登録しておく.
- 次に,京ぽん 2 のメールアドレスに向けて,以下の内容をメールする.受信したら,この JavaScript をクリップボードにコピーする (打ち込んでもいいけど,面倒なので).
javascript:window.location='http://b.hatena.ne.jp/add?mode=confirm&title='+escape(document.title)+'&url='+escape(location.href);
- 京ぽん 2 の Opera で,適当なページをダミーとしてブックマークする.
- このダミーブックマークを編集する.URL 部分をさきほどコピーした JavaScript で置き換え,ブックマーク名を「はてなブックマークに追加」とでもしておく.
ダミーを JavaScript で置き換えるのがミソ (「京セラユーティリティー」を使ってもできるそうだけど,自分としてはこっちのほうが手軽).多分,他の似たようなブックマークレットにも有用な手法だと思う.
2007-01-24 [長年日記]
■ [misc] 抹茶ティーラテの味が変わった?
愛飲しているスターバックスの裏メニュー・抹茶ティーラテ [2006-10-17] が,この冬から再びレギュラーメニューに返り咲いていたんだけど,味が変わったような気がする.2 店舗で飲んだんだが,どちらも牛乳分がかなり多くなって,以前は乗ってなかったフォームミルクが乗るようになった.濃茶みたいだった抹茶分,糖分はかなり少なくなり,より一般的な味になったと思う.うーむ.あのジャンキーな甘さが良かったんだがな(ぉ
本日のリンク元 | 1 | TrackBack(0)
2007-01-25 [長年日記]
■ [misc] 繰り上がり足し算をどう脳内処理してますか? 〜10 の補数 vs. 暗記〜
週刊モーニングに「ドラゴン桜」とタイアップした「親が手伝える勉強のポイント!!」というコラムが毎週載っている.小学生の子供を持つ親がターゲットで,小学校の色々な教科の勉強のポイントを紹介しているんだけど,ここ数回は「繰り上がりのある足し算」がテーマになっている.コラムによると繰り上がりの足し算でポイントなのは「10 の補数」であるという.10 の補数というのは,その数に足すと 10 になるような数のことで,例えば 4 に対して 6,8 に対して 2,というような具合だ.
で,実際に足し算をする時には片方の数を分解して補数から 10 を作り,そこに残りを足すということをやる.具体的にいうと「8+7」を計算する場合,7 を 2 (8 に対する補数) と 5 にわけて,2+8=10,10+5=15,と計算する.あるいは 8 を 3 と 5 に分けて以下同様,という方法も考えられる.それでもって「8 が来たら 2」「7 が来たら 3」というように,ある数に対する 10 の補数がぱっと答えられるようになることが必要不可欠ですよ,というような話が書いてある.
この一連の話を読んでて,当初,わけがわからなかった.
…はあ? なんでこんなわけわからん複雑な処理をしてるんだ??
補数を想定し,被加数を分解し,10 を作り,残りをさらに足すだと? なんか一時レジスタがやたらと必要じゃね? ほんとに小学一年生の短期記憶でこなせるのか? えーと,
a ← 8; b ← 7; c ← complement(a); # (=2).complement() は 10 の補数のルックアップテーブル.覚える. c ← b - c; # (=5) return (10 + c);みたいなことをやるわけだから,脳内では常に一時的なレジスタ c を保持しなければならない.しかも 2 になったと思ったら即 5 になるので混乱しやすい.また実質的に引き算を含んでいるのでさらに混乱する.さらに上記は多分かなり慣れて来た頃の処理を表してて (「8 の補数は 2!」→「7-2=5!」→「機械的に 10 を足して 15!」),最初のうちは 2+8=10 という別の足し算と,それをさらに保持するレジスタが必要になるはず.
…多分こういう教え方をしているというのは,皆さんこの方式で処理してるってことなんだろうな.えー,実は自分は脳内でこういう処理はまったくやってません.ではどうしてるかというと,一桁の数の足し算 ([1-9]+[1-9]) の結果は全部暗記してます.単なるルックアップテーブルです.7+8=15 ってのは導出するものじゃなくて,2+4=6 や 7×8=56 と同様,単に答えを暗記.メモリは喰うけど,[1-5]+[1-5] の組合せよりたかだか 26 通り分多いに過ぎません.演算上は 2 ステップ少ないし.小学生の頭にはこっちのほうが楽な気がするんだけど.
ちなみに自分が小学校でどういう教わり方をしたのかは全く記憶にない.なんかオレンジ色のマグネットタイルで教わったのは覚えてるが,10 の補数方式だったのか暗記方式だったのかは不明.多分,導入時は 10 の補数的な教え方だったんじゃないかと思うが,気がついたら暗記してた.そもそもこのコラムを読むまで自分で計算の過程を意識したことがなかった.「ああ,暗記してたのか」と気づいたのはつい最近.
なので,もしも世間のほとんどの人が 10 の補数方式で計算してたとしたらちょっとしたカルチャーショックだ.自分としては,レジで 768 円と言われて 1,273 円出すのと同じくらい頭を使う感じがするんだよなあ.慣れてしまえばどうってことないのかも知れないが,慣れない.繰り上がりでこれだけ混乱するのだから,繰り下がりの引き算なんてどうなってしまうのだろう.恐ろしい.みんなマジ頭いいな.皆さんはどちらの方式で計算していますか?
追記: そういや暗記に比べて計算が不得手な小学生だったので,やたらいろいろな計算を暗記に頼っていた.2 のべき乗とか (16,384 までは暗記してた.これは今でも役に立つ),3.14 の倍数とか,7 で割った時の循環小数 (142857) とか….
追記 (2007-01-29): 皆様からの反応とそれに対するコメントをまとめました.[2007-01-29]
関連記事:
- 「繰り上がり足し算の脳内処理」への反応 [2007-01-29]
- 「繰り上がり足し算をどう脳内処理してますか? 〜10 の補数 vs. 暗記〜 」にさらに反応が [2007-09-19]
2007-01-26 [長年日記]
2007-01-27 [長年日記]
■ [comp] PukiWiki にスパム対策 Akismet をいれてみる
某所の PukiWiki が微妙にスパムに悩まされていたんだけど,「最強の呼び声高いブログ用対スパムプラグイン」Akismet というのが PukiWiki に対応していると知って,入れてみることにした. 手順は以下で丁寧に説明されている. ただし注意点が一つ.こちらからダウンロードできる PHP4 用の Akimset クラスの最新版がいつの間にかバージョンアップしてて,akismet_filter.php と整合性が取れなくなってしまってるのだ.そのままでは動かない.幸い,前のバージョンがまだ残っているので,こちらをダウンロードすれば大丈夫.手元で試してみたけど,かなり強力にスパムをはじいてくれるようだ.誰か tDiary 用にもプラグイン書いてくれないかな.
追記 (2007-02-16): 作者の小沼さんが Akimset クラス最新版に対応させてくださいました.ありがとうございます.ですので上記の注意点は今や obsolete です.
2007-01-28 [長年日記]
■ [comp] API を用いて「複数 URL のはてなブックマーク件数の合計」を表示する tDiary 用 Ruby スクリプト
「複数 URL のはてブ件数の合計」を表示するスクリプトです.なんでそんな奇特なことを,と思った方も多いと思うが,あれなんですよ.えーと,tDiary って記事単位の permalink がなくて,各記事はアンカーで区別されてるので,あるページへのブックマーク URL にアンカーがある場合とない場合があるんですよ.何言ってるかわかりませんね.ええと,例えばこの記事をブクマするのに,
- http://nao.s164.xrea.com/td/2007-01-28.html (日付単位の permalink)
- http://nao.s164.xrea.com/td/2007-01-28.html#p01 (記事を指し示すアンカー)
なお本方式では,同じ日付に複数の記事エントリがあった場合に,それぞれを指すブックマークが無理矢理足されてしまって日付単位のブックマーク数になってしまうわけだけど,別にそれでいいやってのが自分の考え.昔はともかく,最近は諸般の理由から意識的に 1 日 1 エントリを心がけているから問題はあまりないはずなのだ.また,本来は記事ごとにブクマ数を表示すべきなんだろうし,そういうプラグインもいくつかあるが (これとかいしなおさんのとことか),キャッシュが必要だったりして面倒くさい.何より,そこまでのスキルが自分にはない.
前置きが長くなったが,とりあえずまずは件数を取得するところから.単にある記事の件数を画像で取得するなら この API [2006-07-16] で十分なんだけど,今回はその件数を足し算したりしないといけないので,コードをかくことにした.「はてなブックマーク件数取得API」の仕様は以下に詳しい. で,tDiary に載せるためには Ruby で実装する必要があるわけだが,自分は Ruby が全然わからない(激ぉ.なので,とりあえず他人様のコードを参考にさせてもらう.ここのコードが,すぐにライブラリとして使えるようになっていて激しく便利そう. ただしこれは「サイトのはてなブックマーク総数」を取得するコードなので,bookmark.getTotalCount が使われている.今回は記事ごとの件数を取得するので,bookmark.getCount にしないといけない.しかもその場合は「URL と被ブックマーク件数のペアの構造体」が返ってくるので,件数だけを取り出さないといけない.
というわけで,さらにこちらのコードを参考にする.ここのコードは複数 URL の処理も扱っているので,なにげに自分の野望にとっては大変都合がよい. 結局,以下のようなコードを hatena_bookmark_count.rb として,tDiary のトップディレクトリに置いた.
#!/usr/bin/ruby
# http://www.smallstyle.com/20061004.html
# http://d.hatena.ne.jp/toward/20051222/ruby_xmlrpc_client_hatena_bookmark_count
require 'xmlrpc/client'
class HatenaBookmarkCounter
def initialize
@s = XMLRPC::Client.new('b.hatena.ne.jp', '/xmlrpc')
end
def count urls
begin
@s.call('bookmark.getCount', *urls)
rescue XMLRPC::FaultException => e
e.faultString
end
end
end
if __FILE__ == $0
if ARGV.size != 1
print "usage: #{__FILE__} \n"
exit
else
result = HatenaBookmarkCounter.new.count(*ARGV)
result.each do |url, count|
puts "#{url} #{count}"
end
end
end
一応コマンドラインからも使えるようにはなっていて,
% ruby hatena_bookmark_counter.rb http://nao.s164.xrea.com/td/2007-01-28.html http://nao.s164.xrea.com/td/2007-01-28.html 2とかできるのはオリジナルと一緒.
さて,次はこれを permalink プラグインから呼び出す.permalink プラグインというのは,[2005-09-01] [2006-07-16] あたりで適当に作ってみた permalink やはてブ数表示用のごった煮ルーチン.この内部で,
require 'hatena_bookmark_counter'した上で,
pml = "#{@conf.base_url}#{@pl_date.strftime( '%Y-%m-%d' )}.html"
hbc = 0
urls = [pml,"#{pml}#p01","#{pml}#p02"]
res = HatenaBookmarkCounter.new.count( urls )
res.each do |url, count|
hbc += count
end
として hbc に合計件数を入れている.ここで,ある日付のページに対し,「そのページ自身」「そのページの第 1 エントリ」「第 2 エントリ」に対する各ブックマークの合計を出しているのがちょっとしたインチキである.本当はそのページに含まれるエントリ数を参照して,その分だけ urls の要素を増やせれば良かったんだけど,やり方がわからなかった.誰かご存知なら教えて下さい.で,こんな風にして件数画像を取得している.
<img src="http://b.hatena.ne.jp/images/users/large/#{'%05d' % hbc}.png" style="border: none;" alt="はてなブックマーク数" title="はてなブックマーク数" align="absmiddle" />
PNG 画像を直接参照しているのもなかなかバッドノウハウ的だけど,まあいいよね(ぉというわけで,例えばこのページ (2007-01-28.html) へのブックマーク数は現在
念のため,現在のごった煮 permalink.rb の内容は以下の通り.プラグインディレクトリに置いている.
require 'hatena_bookmark_counter'
add_body_leave_proc do |date|
@pl_date = date
''
end
def comment_new
cgi = @options['tb.cgi'] || './tb.rb'
url = "#{cgi}/#{@tb_date.strftime( '%Y%m%d' )}"
pml = "#{@conf.base_url}#{@pl_date.strftime( '%Y-%m-%d' )}.html"
hbc = 0
urls = [pml,"#{pml}#p01","#{pml}#p02"]
res = HatenaBookmarkCounter.new.count( urls )
res.each do |url, count|
hbc += count
end
%Q| ツッコミ</a> \| <a href="#{@pl_date.strftime( '%Y-%m-%d' )}.html">permalink</a> \| <a href="#{@tb_url}">trackback</a> \| <a href="http://b.hatena.ne.jp/entry/#{pml}"><img src="http://b.hatena.ne.jp/images/users/large/#{'%05d' % hbc}.png" style="border: none;" alt="はてなブックマーク数" title="はてなブックマーク数" align="absmiddle" /></a> <a href="http://b.hatena.ne.jp/append?#{@conf.base_url}#{@pl_date.strftime( '%Y-%m-%d' )}.html"><img src="http://d.hatena.ne.jp/dav/images/icon/bookmark/bookmark_br.gif" style="border: none;" alt="このエントリーをはてなブックマークに追加" title="このエントリーをはてなブックマークに追加" width="16" height="12" align="absmiddle" /></a> |
end
def comment_description; 'ツッコミ・コメントがあればどうぞ! E-mail アドレスは公開されません (省略可).'; end
def navi_index; 'home'; end
*1: 記事ごとに permalink が発行できないのは tDiary で個人的に気に入らない点の一つ.じゃあ BlogKit 使えよという話もあるけど,日付の概念がなくなってしまうのが気に入らない.追記: 時々うまく画像が取得できないことがあるようで,リロードすると出て来ます.うーむ.なんでだろ.
2007-01-29 [長年日記]
■ [misc] 「繰り上がり足し算の脳内処理」への反応
なんか先日のエントリ「繰り上がり足し算をどう脳内処理してますか? 〜10 の補数 vs. 暗記〜」 [2007-01-25] に思いがけずたくさんの反応を頂いた.ありがとうございます.普段なかなか反応が来ないので素直に嬉しいです.しかも非常に興味深い話が集まりました.まず,フケ顔男爵さんの反応.
補数派です。中学受験の際に四●●塚で習った気がする。言われてみると手間がかかっているのですが、私の場合、答えが 10 を越えてしまう足し算を1回やるよりも、 答えが 5 以下になる引き算を 2 回やる方が脳の負担が少なくて早いのですよ。やはり世の中は補数派が主流でしたか….いや,マジで,補数で計算してる人尊敬します.頭の構造が違うのかな.
補数はむしろ掛け算の暗算に役立ちます。 たとえば 28 × 29 = ? なんてのが出てくると普通は紙に書くか電卓を探すかですが、歩数を使えばあら簡単。28 × 29 = (30-2)×(30-1) = 30^2 - 30 ×(1+2) + 2 = 812。掛け算は 10 が出てくると俄然簡単になるので補数大活躍というわけです。あー,これ,「ドラゴン桜」にも出ていました.他にも 17× 23 = (20 - 3) × (20 + 3) = 20^2 - 3^2 = 391 とかこの手の受験テクニック.これ読んだ時「すげ−! でもこんなの思いつかね−よ!」と思いました.「ドラゴン桜」って編集担当が東大卒で,自分の受験テクニックを紹介してるらしいので, 受験テクニックとしては定番の部類なんだろうかこれって.
上記のエントリに対するすどさんのツッコミ
場合の数で,式が 13×11×9 になったので,生徒に「これは簡単に暗算できるからやっちゃおう」と言ったら 13×11 を必死に始めるわけですよ。で「ちょっと待った 13×(100−1)だよ?」って言ったら「そんなの絶対気づかないよ〜」だって。彼女はセンター数学で 9 割取るくらいの実力なんだけど,それでも補数はすぐには思い浮かばないみたい。もそうなんですが,いや,ほんと,そんなの絶対気付かんわ orz.そういう人でもセンタ−で 9 割取るというのがせめてもの救いですが….
ちなみに,自分も中学受験したんだけどな? おかしいなwwww.まあ,あまりレベルの高くない中学を目指してたし,塾に行き始めたのも小 6 の途中からだし,その塾もあまりそういうテクニックは教えてくれなかったので,いわゆる受験テクニックはほとんど知らないんですよね.だからこそ「ドラゴン桜」が面白く読めるわけなんだけど.
続いて,AC さんのツッコミ.
10の補数を使うのは、算盤のやりかたにとらわれているからかもしれませんね。算盤というレジスタが目の前ないし脳内にあることが実は前提になっているのかも。なるほど,そろばんは実質的に 10 の補数を計算してることになりますね (←そろばんの使い方を全く忘れていたので急いでぐぐってみた人).もしかしたら「10 の補数」方式はそろばんがル−ツかも知れないし,日本固有の教え方なのかも知れない.
繰り上がりのある1桁の足し算について、他に、「小さい方の数の2倍をして、大きい方と小さい方の差を後で足す」というやり方で脳内処理している人がいるようです。(7 + 6 = (6 * 2) + 1 = 13) ←足し算を完全にマスターする前に2の桁の九九を覚えた人?言われて気がついたんですが,自分はこの方式も脳内採用してました.ただし 2 数の差が 1 の時に限ります (7+6 とか,8+9 とか).考えるに,どうも 6+6 とか 8+8 とかの結果には自信があって ( 6×2 や 8×2 が使えるからか?),「6+7…え−と,6+6=12 で,それより 1 大きいはずだから,13!」という感じの処理を脳内でやってます (ひでえ).というか,7+6=13 の暗記テ−ブル法と,この方式とが,脳内でパラレルに走って照合されてる気がします.
自分の脳はどうも暗記だけでは自信がないらしく(笑),裏で他の処理が走って照合をとってるふしがあります.奇数と奇数の和だから偶数にならなきゃおかしいとか,9+7 は 17 より 1 小さいはずだとか (…なんか 9+[1-9] に関しては補数式使ってるようではある.謎).
続いてかがみさんの方式.
どう習ったかはちっとも覚えてませんが,私の脳内では「補数で計算する」というイメージが「暗記」されているようです.ここでいうイメージってのが本当に文字通り視覚的なもので,例えば「8 + 7」だったら,7 がピョンと飛び上がって宙返りして,8 の右上あたりに半分くらい吸い込まれて,5 が残る映像が見えます.いや比喩ではなく本当に.吸い込まれる場所も,宙返りするかどうかも数字によって決まってるっぽいです.すげえ.何か脳の構造が違う.
ていうか,こういう「数学やロジックが視覚的に見えたり体感できたりする」人って自分の周囲にもけっこういるんですが,自分はどうしてもその境地には至れません.自分の職場にいる複数の人間の話によると,「自分が数式やプログラムになって何かを処理している夢」を見たり,「LSI になって何やら電気信号を処理している夢」を見たりするそうです.それで夢の中でコードにバグがあって自分自身の矛盾に苦しんだりしているそうです.そのくらいプログラムや回路のことを考えてやっと一人前なのかも知れませんが,一生たどりつけない気もします.
このあたりでかなり落ち込んできましたが,sshi さんのはてブコメントを読んでようやく安心.
あ。おなじおなじ。7+8->15はテーブル引いてる。良かったあああ.テーブル派の人がいた.しかもなんかプログラムばりばり書ける方らしい.こんなすごい人でもテーブル派だよ.いやー良かった.
それにしても色んな人の脳内処理を聞いてみると結構面白いなあ.はてなで聞いてみたいw.ちょっと前に,「脳内で数字の処理を行っている部位が特定された」っていう楽しいニュースがあったが 繰り上がりの足し算の処理も fMRI で見てみたい.
追記: deep_breath さんからも反応頂きました.補数派だそうです.しかも視覚派.しかしその奥様は暗記派だそうで,大変心強い限りwwwww
自分の場合は8が7を掃除機のように吸い込んでしまい、 ちょうど5の分だけちぎれて転がってる、という風な感じ・・・こういう脳内イメージ湧く人ってなぜかうらやましいです.
「63 - 28」ならば、28を足して63になる数は…35だ、 ってのが一瞬で検索されて出てくる感じ. その一瞬の検索アルゴリズムの中身は良く分からないけど. イメージ的にはスロットが回っていて、 まず10の位が3でとまり、次に1の位が5で止まるのが見えてます. なんなんだか.ほえー.
やっぱみんなすげえわ.ていうか自分がほんとダメに思えてくるわ.「63 - 28」? えーと,3 から 8 は引けないから隣から 10 を借りてくるんだよな? で 13-8=5 (テーブル).で,10 の位は 1 つ減って,5-2=3.で,あれ? 1 の位なんだったっけ? あ,5 か.ってことは,答えは 35.…で合ってるかな? (軽く 5 秒).死ねる.
追記 2: てらさわさんからも反応頂きました.ひゃあ.何このフィーバー.ありがとうございます.
繰り上がりのある足し算を私は下図のように処理しているようである。図解での説明,どうもです.だいたいにおいて暗記,一部を補数に頼る,という意味では,自分と似ている気がします.パターンは若干違っていて,自分の場合は上述したように 9 に何か足す場合に補数に頼っています.てらさわさんのようなデキる方が暗記メインというのは,なんかこう,ものすごく自信が湧いてきました.
・かけ算の九九について、対称性を利用して片方しか覚えていないもの (たとえば、 9×3 を見たら、 3×9 に変換してから答えるというような) はどれか。 ・かけ算の九九を記憶から呼び出すとき、音声を鍵として呼び出すか、あるいはイメージを鍵として呼び出すか。うーむ.音声呼び出しは可能だし,かなり信頼性高いんですけど,処理が遅いのであまり使いません.イメージ呼び出しに近いんだけど,かがみさんや deep_breath さんのように数字が視覚的に見えるわけではなくて,純粋に数が数として即座に呼び出される.シンボル呼び出しとでも言うんでしょうか.音声も映像も介在してない気がします.しかも,そこでは 2 数の順序はまったく考慮されず同等に扱われてるようで,9 × 3 も 3 × 9 も全く差を感じません.
ただ,まだ九九を習い立ての頃,いろいろと関連づけしたり,イメージや音声に頼ったりしていた記憶はあって,それをなんとなく思い出すことはできます.
ダメだ.この話題,自分で振ったわりには面白すぎる.引続き反応お待ちしております (もうそろそろ読者が飽和状態な気もしますが).というかけっこう知合いの方々が読んで下さってるんだなあと嬉しい驚き.
追記 (2007-02-06): な,なんと,反応して下さってる方を他にも見つけました.ikazoike さんです. といっても実はうちへの言及は全くないので,反応してくださってるわけではないかも知れないけど,先日うちの記事を引用して下さったりなどなどしてることから,多分うちへの言及なき反応だと勝手に解釈しました.いやーありがとうございます.
ex.)6+7=13 7←○○○○○○ 7,○←○○○○○ … 7,○○○|←○○○ 13か…おお,なんか新方式ですかね.補数に似てるけど,加点法っぽいところがちょっと違うのかな.欧米のお釣りの計算の仕方に近いか.
9+「なんとか」のたしざんは「何とか」のほうが一個減るから10+「何とか」-1という計算をしているのは明らかだから???やっぱそうかな。わからん。後よくやるのは8+6とかが苦手なのでそれの近辺9+6とか8+7とかと比べて一個前とか言うように考えていたりもする。得意な近辺から類推。あるいは8+6=9+5とか6+7=5+8みたいに繰り上げがしやすい形に瞬時に変換するようなそういうような。はっきりと意識してないからパターン認識かもしれないけど。なるほど.ローカルルールは人それぞれで面白いなあ.10+「何とか」-1,ってのはわりと使用人口多そうですね.
引続き,反応お待ちしています.つーか,なんか今までの方々は多分だいたい理系だし,しかもとある特殊なコミュニティの中の人間が大半を占めてるので(笑),根っからの文系の人とかの思考も知りたい.
追記 (2007-02-13):
そういう変人と一緒にすんなと声を大にして言いたい(ぉすいません.ていうか追記に気付くの遅すぎだ>自分
彼らはやはり変人なのか…わりと普通の人の部類に入ると思っていたんだが.うちの職場にいるとだんだんいろんなものが麻痺して来るよ…orz
追記 (2007-04-03): baby_touch さんと kensuke1108 さんからトラックバックを頂きました.ありがとうございます.baby_touch さんはなんと「大量の東大生」を相手にこの問題を調べて下さったそうで…おおお,感動.
・・・聞いてみたところ分かれる分かれる,補数派・テーブル暗記派・それら2つのハイブリッド派.こんなに綺麗にてんでばらばらになるのか!?というくらいばらばら.東大生にも暗記派が少なからずいるらしいという事実,心強い限りですな.
ちなみに私は『ビジュアルベースの補数派』で,8+7だと8が7の一部をショベルカーのように削り取って10になり,5が残る感じ.ただ,5+6だと6が5に揃うようにちょん切られて5が2個できて10になって,残りの1で11,という感じになるので,5に揃える感覚もあるらしい.なるほど.同じビジュアルベースでもその内容が人によって違うのが面白いですよね.ショベルカーだったり掃除機だったり….
kensuke1108 さんはどうやらハイブリッド派ですか.かなり細かくルールが分かれているようで,最適化っぽいものを感じますね. 追記 (2007-09-19): さらに新方式登場! 個人的にメール頂いたのですが,非常に面白い方式だと思いますので,許可を得て転載します.考察もなかなか興味深いです.計算機アーキテクチャの例題になるかも??
ブログの該当エントリにコメントすべきなのかもしれませんが,おもしろかったので,自分が10までの加算の暗算をどうやってるか考えてみました.すると,[6-8]との足し算で桁上がりがある場合は,[6-8]を 5+x に分解して,xともう一方の足し算をやっています.
例えば7+8 の場合,(5+2)+(5+3)=10+(2+3)=15という感じです.5以下の足し算しか覚えられなかったということでしょうか?とにかく,5以上の一桁の数は,「5+x」という風に,脳内ではイメージされています.暗算中は,5を単位にしたブロックが,脳内で高速に分離合体しています.
ただし,ややこしいのは,9だけが例外処理になっていて,9を足すと1桁目が1減る,というルールで演算しています.例えば,24+9の場合,24を基準に考えて,まず2桁目が桁上がりして「20→30」になる一方,「24」の一桁目の「4」が一つ減って「3」になるので,「30」と「3」で「33」です.どうもかったるいですね.いつも9足す時は,半信半疑で計算している自分がいます.
こうやって書いてみると,頭悪いんじゃないかと思うくらい,ややこしいことやってますね.意識したことなかったので,非常におもしろいです.nao さんのように,全部覚える,ってのが,一番合理的な気がします.ここらへん,FPGAの回路設計のセンスなんですが,演算は,全部ROMでテーブルにしてしまうのが,一番楽ですよ.リソースさえ許せば...
どれくらい,演算の種類があるんでしょうかね.「加算器を使わないで足し算の回路を設計しなさい」という問題になるんですかね.例えば,極めて基本的な解法として,カウンタを使う方法で,まず加算数をプリセットして,次に被加算数分をカウントしていけば,足し算の演算ができます.これは,子供が一番最初に,指折り数えて足し算する方法と同じですね.各機能要素(メモリやレジスタや条件分岐の演算器)ごとの,処理速度と回路規模を与えれば,どの方法が最適なのか,比較できそうですね.全然おもしろそうじゃないけど.
念のため,修正して整理しておくと,追記 (2008-01-03): ここへの反応というわけではないですが,あの森博嗣氏はどちらかというと暗記派のようです.これは心強いwwww 関連記事:
1桁どうしの桁上がりのある足し算で,5はひとつのブロックとして意識されていて,脳内イメージで固まりとして,分離,合体しています.小さい頃よく遊んでいたダイヤブロックの影響かなー.
- 9を足す場合:桁上げして,1桁目から1引く (9+7 = 17-1)
- 同じ数どうしの場合:2倍する (8+8=8*2)
- 上記以外の場合で
- 5以上+4以下の場合:10の補数 (7+4=(7+3)+1)
- 5以上+5以上の場合:5+x に分解してxどうしを足す (8+7=(5+3)+(5+2))
- 繰り上がり足し算をどう脳内処理してますか? 〜10 の補数 vs. 暗記〜 [2007-01-25]
- 「繰り上がり足し算をどう脳内処理してますか? 〜10 の補数 vs. 暗記〜 」にさらに反応が [2007-09-19]
以下の広告はサーバによって自動的に挿入されています.
Copyright © 2004-2006, nao. All rights reserved.

* Sola [深海生物の図鑑かと思った。眼科(ry スタートレックのテーマ曲って、我々の世代的には「スタートレックの」じゃないで..]
* nao [そうですね(笑)うちのブログを読んでいれば察しはつくと思いますが,「ニューヨークへ行きたいかーっ!」しか思い浮かびま..]