0706
*1341581311*EDSACのWadaSeiveがわからない日記
自作のEDSACシミュレータで平方数を表示するプログラムが動くようになったので、次はWadaSeiveを動かそうと思ったのだが…
このプログラム、1文字目がTで始まってないよね。僕の現状の理解では、イニシャルオーダーはプログラムの冒頭に置かれたT(addr)Sを読んでテープをどこまで読んだらいいかを判断するってことになってるのだが…。P6って書かれているサブルーチンの後の T834K から読まれるんだろうか。その場合サブルーチンはどうするんだろう。テープからじゃなくてイニシャルオーダーと同じように入れるんだろうか。でもそれによってイニシャルオーダーが読んだデータを書き込んでいくアドレスは変えないといけないよなぁ。どうするんだろう。
あと、最後の1ビットはLかSだと思っているのだが、このコードだとKとかFとかDとかが出てくるな…。どういうことだろう…。
*1309892217*英単語日記10
**過去の記事
||
7/13 16d 9
7/10 8d 26
7/8 16d 34
7/7 1m 29
7/6 8d 17
7/5 8d 20
7/1 8d 16
7/1 4d 28
6/30 2d 14
6/29 8d 14
working 0
total: 207
score: 873
||
** 6/29の学習
8dテスト14枚 OK 14。
** 6/30の学習
12枚テスト OK 9 NG 3。2dテスト14枚 OK 9 NG 5。単語学習テストが上手く回り始めたことと、枚数が少なすぎると面白くないってことを勘案して単語を追加した。31枚になった。
**7/1の学習
金曜日、所用のため有休で週末自宅にいません。だが英語の勉強は実行できた。1ヶ月前の自分よりは進歩したという実感が得られる。
しかし、また先週同様に復習用の単語カードを持って返ってくるの忘れたわけだが…。まあ来週末は復習用カードを忘れないことを目標にしよう。
電車の中でテスト31枚 OK 23 NG 8。このままでは明日8枚しかテストするカードがないので、飛行機の離陸待ちやレストランでの料理待ちのスキマ時間を利用して単語を35枚追加した。英英辞典で調べたりする余裕が無くてほぼリストからの転記だから明日の正解率は高くないだろうな。
** 7/2の学習
43枚テスト、OK 26 NG 17。まあ正解率低いわな。
** 7/3の学習
17枚テスト、OK 11 NG 6。「前日にテストしただけ」だとおおよそ3割はNGになる。むしろ真面目に繰り返し勉強とかしてないのに6割覚えられているんだから儲け物ですな。ここでパスしたカードが例えば4日後とか8日後にどの程度の正解率なのかが問題だが。
2d復習テスト23枚、OK 22 NG 1。
そろそろ覚えるための単語を獲得するために単語帳などを買うべきだろうか。
これともうひとつ難しい4とをALCにはすすめられているのだけども、基礎固めのために一つやさしい2からスタートするべきか素直に3からやるべきか悩んでいる。
明日は復習テストが70枚くらいあるけど、1枚5~10秒だからかかっても13分くらいだろう。こういう見積ができるようになったことも進歩だ。で、1ポモドーロの勉強をすると12分くらいあまるので、その残り時間で記憶が曖昧なカードの改善を行おう。カードの改善にどれくらいの時間がかかるのかはあんまり把握していないなぁ。ばらつきが大きいことも原因だけど、それでも平均を出せるくらいのサンプルはあったはず。記録を取っていないことが失敗だな。
** 7/4の学習
7枚テストOK5NG2。7/1付8dテスト16枚、OK15NG1.7/1付4dテスト28枚OK26NG2。7/4付2dテスト26枚、OK26。
7/2付2dテスト9枚、OK7、NG2。7/4付4dテストOK7,NG2
** 7/5の学習
復習テストのカードを行きの電車でやろうと思って持って帰ってきたがやるの忘れてた。
復習 OK9 NG1。2dテスト OK8 NG3。8dテスト OK19 NG 1。
昨日小さいリングを買ったけど、これ開けるのに力がたくさん必要でちょっと失敗だった。
5分間でいくつ単語を追加できるか挑戦。7枚半。25分で35枚くらいか。
|python|
from DictionaryServices import DCSCopyTextDefinition
fi = file(basicwords.txt)
words = [[] for level in range(13)]
for line in fi:
if not line or line0 == #: continue items = line.split()
try:
alc = int(alc)
except:
continue
for level in range(1, 13):
fo = open(words%02d.txt % level, w)
for i, w in enumerate(wordslevel): print fo, i, w
print fo, DCSCopyTextDefinition(None, w, (0, len(w))).encode(utf-8)
print fo
||
一部フォーマット通りでない行があるみたいでエラーが出るのを握りつぶしているけどレベルごとに得られた単語数が0, 999, 998, 999, 999, 1000, 1000, 1000, 1000, 998, 999, 999, 999なのでおおよそ全部取れている。後半部ではMacにデフォルトで付いてくるNew Oxford American Dictionaryを使って単語の意味を調べて出力している。こんな出力が得られる: ||
0 abate
verb
(of something perceived as hostile, threatening, or negative) become less intense or widespread See note at alleviate .
1 abdicate
verb
(of a monarch) renounce one's throne
DERIVATIVES
abdication noun
2 abdominal
noun
the part of the body of a vertebrate containing the digestive organs; the belly. In humans and other mammals, it is contained bounded by the diaphragm and the pelvis.
DERIVATIVES
abdominal adjective
||
これで電波がない電車の移動中とかでもさくさく単語カードを作れるね。英英辞書での説明を見ていて思ったんだけど、難易度12をやるより、1から上がっていったほうがよさげ。大部分が分かっている単語だからサクサク進められるし、やっぱ基礎をしっかり固めることは重要だし、意外と面白い。aとか中学1年で習ってわかったつもりになってるけど、じゃあそれ英語で説明してみてよ、って言われるとできないんだもん。簡単で頻出な単語ほど、それを別の言葉で言い換えるのは知識のネットワークの充実になる。
used when referring to someone or something for the first time in a text or conversation Compare with the .
アンテナって触角って意味もあるのかーとか、説明に使われている単語のほうが難しいじゃん、とかw
39 antenna
noun
1 Zoology either of a pair of long, thin sensory appendages on the heads of insects, crustaceans, and some other arthropods.
2 ...
興味深い。簡単な単語ほど説明が長い傾向が明確に出ている:
||
352810 words01.txt
299735 words02.txt
259898 words03.txt
234986 words04.txt
221658 words05.txt
197020 words06.txt
192413 words07.txt
196524 words08.txt
181975 words09.txt
182344 words10.txt
174228 words11.txt
171660 words12.txt
||
1000単語ずつのテキストファイルにしたらちょっとでかすぎるのでさらに10分割した。
単語カードの分量が増えてきて(もう250枚くらいあるもんな)管理の仕方に悩むようになってきた。いままでは「とりあえずリングを買い足し」「机の隅に溜める」だったのだけど、そろそろ崩れたりしそう。悩ましい。あとで写真をここに貼る。
f:id:nishiohirokazu:20110705140224j:image
id:higepon さんにどうしているのか聞いてみたところ「箱の中に日付ごとに並べている」とのこと。今僕は平均20枚くらいで束を作っているので、それぞれ個別にリングに通すとさみしいしリングがもったいなくて一つのリングに異なる日付の束を入れてしまい、その結果、ソートをするのに手間がかかってしまっている。hogeponさんは一つのリングには一つの束しか入れていないらしい。そのかわり「束多すぎ問題」をバッファリングで解決しているとのこと。バッファリングとは僕も前回の記事で導入した「ある程度溜まってから束にする」という手法。僕は「4枚で束にするとかさすがに少なすぎるだろ」ということで10枚溜まるまでバッファリングすることにしたのだが、higeponさんは100枚程度(厚みで判断)溜まるまでバッファリングしているそうな。僕の場合、復習間隔が2日、4日、8日、からスタートしていて、単語の追加は気が向いたときに気が向いただけやっているので1日平均10枚くらい?だから、それを導入すると2日目テストが平均10日遅延することになるよな…。2日目テストを10枚バッファリング、4日目テストを25枚バッファリング、8日目テストを50枚バッファリング、16日テストを100枚バッファリング、ってやろうかな。
level2の単語リストを眺めていて、自分の知らない意味を見つけてしまった。これもまたoffsetやexploitと同じ、ひとつの意味を覚えて、わかったつもりになって残りの意味に気が回らない現象だな。単語はaccountなんだけど、もちろんアカウントとか口座とかの意味は覚えているけど、動詞としてはどういう意味があるか?いやはや、accountabilityって単語を覚えたんだからそれがaccount+ableであることくらい気付くべきだったなぁと思う。やはり基礎から固めるべきだな。
** 目標の確認と更新
- 土日も勉強する(出かける用事があるけどね!)→達成!!
- 次の土日は復習用カードを忘れないようにする
- 7/7でこの暗記システムを始めてから1ヶ月だ。1ヶ月でどれだけの単語を覚えたか全体テストをしよう。
*1278419692*Haskell Quizに関して追記
($)を再定義していないって書いていなかったのは、素でうっかりと…。なんというか「一意に決まる」って言わない方がよかったかなぁ。こういうケアレスミスで余詰めが発生してしまうとか僕にはありがちすぎる。
前半がまるごとダミーだなんてことはなくて、あとそんな演算子が再定義できる言語ならなんでもできるようなことだったらクイズになんかしなくて、一応僕としてはHaskellのHaskellらしい機能を使っているつもりだったりするわけだ。
あと、この問題を聞いて id:n_shuyo さんに「PHPとかだと簡単に作れそうですね」とコメントされたのが一般論としては結構すばらしい洞察かと思う。PHPやPerlやJavaScriptで「数学的に考えると変な挙動」を簡単に起こせるのはなぜか。
|javascript|
// JS
a = 9
b = 10
c = 100
console.log(a b) // true
console.log(b c) // true
console.log(c a) // true
||
それは、プログラミング言語が数学的な振る舞い以外に色々な余計なことをするから。そのほうが便利だろうと思って、良かれと思っておせっかいを焼くから。この場合「文字列と数値を比較したときに勝手に数値に変換する」ってのね。まあ、実際にそれが便利であるケースの方が多いんだろうけども、便利な道具を深く理解しないで使っていると複雑なケースで手を咬まれるよね。そういう複雑なケースを作ってクイズにしているつもりだったりする。つまりそういうHaskellのPHPっぽい部分はどこなのかって考えるとヒントになるのかなーとか。
*1278429353*Google Gadgetを作る
気が向いたら作ろうと思って2年ほど放置していたガジェットを作る。
XMLをちょろっと書くだけだからさほど難しくなかった、
が、
間違ったXMLがキャッシュされてしまったのをクリアする方法がわからん!というわけで
|python|
Rule('/gg/defdummy', endpoint='google_gadget_definition'),
||
ってな感じでURLを自由に変えられるようにしてキャッシュをクリアしたくなったら名前変更することにした!
うんうん、できた。なんか白い枠が出てるけどそれは本質的じゃないからまた今度気が向いた時でいいや。
*1246839469*月曜日の日記
目玉がかゆい…
vivipri、昨日の日付で投函完了になっている。探してこよう。
くしゃみがでる。鼻水もけっこう出る。駅前でもらったポケットティッシュの山が消費されて行く。よいことだ。
*1246844447*vivipriを試した
ふちが1ミリほど切られてしまっている。A4を4枚で1888円
縁が切られてしまっているのは同じ。A4が5枚で1245円。ただ、色が暗くなる方向に補正されてしまっているようだ(ヨドバシの方にNNNN Aと書いてあったので。Aの意味はよくわからない)
やっぱり用紙のギリギリまで印刷すると切られてしまうのは仕方がないことらしいので一回り小さい画像を作らないと行けないなぁ。