うっかり(ry)ri(ry)を見たら、 3時間ほど早く年が明けてしまいました。 あうぐーり・ぼなんの
追記: 正しくは アウグーリオ・ボナーノ らしい。
ローソンに行ったら、たいやきを見つけました。
年越しは、たいやき食べながらひぐらしでFA
意味不明というかどこから手をつけていいか分からないというか
とりあえず、ごく基本的なところをWebで探す
わけもなく叫びたい気分
movdqn
SIMDと鎧化は似ている
寝て起きたら夜。3時間ばかし寝過ごした。
とりあえずバイト先へ行こうとするが、 頭いたい、気持ち悪い。 何か食べたら治るかなぁ。 最近二郎行ってないのが原因なのは まあ明らかなところだ。
privateメンバ用構造体なポインタを、 shared_ptr や scoped_ptr にしようとして、 コンパイルすると 「delete演算子が云々ゴルァ」 と怒られる現象は、 デストラクタを書いていなかったために 暗黙のinlineなのができちゃってた (もしくはヘッダに空のを書いちゃってた)のが 原因だったようだ。
前のが一段落して、アセンブラなお仕事になるらしい。IA32
自分には関係ないなと思っていたが、瞳k(ry
あれ、あれれ?
そういえば先ほど、 書いた覚えのない文を引用された返信がバイト先から届いたりしていたわけで、 メール誤爆が流行しているようだ。
スープを啜ると、 一生の間に食べられる二郎が減ってしまう。
それと秤にかけた上での決断だということを分かってほしい。
# とか言いつつスープ飲み干したことが何度かあるのは秘密
基板いじってたらいつのまにか寝ていた。
どうやらKlaタソに先を越されたらしい。
つぎつぎ人が訪れては、今から里帰りと去っていく。
あーやっぱバイト休みとって帰ればよかったかなぁ(今更
昨日は何も食べなかったようだ
"x"がたくさん出てくる1行の式をコピペして、
:s/x/y/gしたら、max-xがmay-yになった罠
というネタはだいぶ前にやったはずなのだが……
gosh> #\newline #\newline gosh> #\newlin #\newline gosh> #\newli #\newline gosh> #\newl #\newline gosh> #\new #\newline gosh> #\ne #\newline gosh> #\n #\n
というか寝ようがないんだけど、 Befungeで遊んでました。
添付のsamplesだけだとおもしろくないので、 http://eto.com/2002/programming-literature/#6 の life とか befbef とかが おすすめ。
あと、Javascript版インタプリタはもっとおすすめ。
16時間寝て、起きたら17時。 前に起きたのが金曜の21時だから、 一日44時間ですね。
昨日は何も食べなかったようだ
着いてみれば誰もいない。無理もない。
次にやる仕事をもらってない。
ちまちま修正したり、
思いつきで実装してみたりするか。
ああそれっていつものこt(ry
# さすがに何もやらないと怒られる。(ぉ
「これ作って」みたいに頼まれるものの仕様は割と変わることがあって、 そのたびに「ブチキレ」とか思うけれど、 自分が書いてるコードも仕様が頻繁に変わって、 しかも事後報告だったりするわけで、 というか仕様まとめてないよみたいな感じで、 あんまり棚に上げて言えないわけです。
というか、あれを製品にマージしてる社員さん超えらい。神。(ぉぃ
のびすぎるとキートップにぶつかって、タイピングが快適でなくなる。
キーの間にはさんだりすると痛そう。
バイト前に出社予告メールを出したのだが、 12時間読み違えられた疑いが
目黒な二郎からクオリティの高いものが届いた件
秋葉の焼き肉屋でだらだら。
そろそろ27時間起動しっぱなしなので シャットダウンの予感
6時に寝て21時に起きたら夜な15時間睡眠
q:を初めて知った。
(:qではない)
Vimのコマンド履歴をVimで編集して実行できる。
地下で年越しが確定したらしい。
まあどうせRS232Cにかかりっきりなんじゃないかと
「めんどう」と言いかけて「まんどく」と 言い直したらしい。 自覚がまったくないあたりが(ry)
寝付けないので地下へ。
I塚氏の根性の跡を眺めつつ、 ちょっとだけ掃除。
サークルのH氏が撃沈していた。
16時に起きて16時に寝て24時に起きる。 一日32時間。
さすがに毎食だと体がもたない気がしてきたというか、 最近体調がおかしい気がするので、 ここらで妥協します。
コンボ切断: 「何か食べた日に、 条件を満たさないものしか食べていない場合」
日の代わりに週として、 一週間は日曜から始まることにすれば、 マジスパコンボはまだ切れてないことになるとか わけのわからないことを考えたのは秘密。
起きたら夕方。15時間寝たらしい。
店員に言うと生ニンニクがもらえる。 というわけで、3回目にして初めて頼んでみる。
やっぱこれは不可欠ねー。
生活時間帯が(ry)
午後6時に寝て午前4時に起きるのと 午前6時に寝て午後4時に起きるのとの区別がつかない。
sgwrさんから間接的にプレッシャー
謎石。
春日の書店でラスト1冊をget。読むのがもったいない。 が、読まずにいられない。
二周りらしいorz
あれ?コンボ追いついてる(汗
さて今日行かないとマジスパコンボが切れるけど、 行くと麺コンボが切れる気が。
そもそも行っている場合ではない気もするし、 マジスパで麺を食べればいいという気もするし、 どうしたものか。
記録更新
起きたら夕方、金曜午後を初ブッチ
先学期から何となく分かってはいたんだけれど、 土日にまるまるバイトを残すとろくなことにならない。
平日の午後は「まだ時間あるね」って無為に過ごした挙げ句、 土日に泊まり込んで、 月曜の授業に出られないスパイラル。
というわけで、今週は1日ずつ早めてみる。
このような試みは、すでに半年前にやって、 好ましいと判断したはずなのだが、 どうして最近やってなかったんだろう。
昼に学校に来てみると、自宅鯖に繋がらない。 というか学外に繋がらなかったらしい。
pingしてみると……
> ping 220.157.184.113 Pinging 220.157.184.113 with 32 bytes of data: Reply from 133.11.127.43: TTL expired in transit. Reply from 133.11.127.43: TTL expired in transit. Reply from 133.11.127.43: TTL expired in transit. Reply from 133.11.127.43: TTL expired in transit. Ping statistics for 220.157.184.113: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms
TTL expiredなんて初めて見た。
あとtracert
> tracert 220.157.184.113 Tracing route to 220.157.184.113 over a maximum of 30 hops 1 1 ms 1 ms <10 ms 157.82.4.1 2 1 ms <10 ms <10 ms 133.11.23.1 3 4 ms 5 ms 4 ms 133.11.127.46 4 1 ms <10 ms <10 ms 133.11.127.43 5 3 ms 1 ms 2 ms 133.11.127.46 6 2 ms 1 ms 2 ms 133.11.127.43 . . . 29 3 ms 4 ms 3 ms 133.11.127.46 30 21 ms 18 ms * 133.11.127.43 Trace complete.
ループしてるー(笑)
日記内のGaucheマニュアルへのリンクを張り替えました。
仕事しる!>自分
体調悪いので早退
なんとなく福のれんに行ったら、 昨晩の神勢に続いて2コンボになった罠
寝るなら起きるな、起きるなら寝るな
そして、寝ない、起きない
「起きたら」で日記内を検索したら、 悲しい記述ばかり見つかるのはなぜだろう。
サイト巡回していたら、 カブトエビという文字列が目に入って、 しばらく感傷に浸る。
確か小学2年生のときだったと思う。 学研の科学の付録のカブトエビを育てて、 観察記録を夏休みの自由研究の宿題で提出した。
たぶん8月の25日だかのあたりだったと思うんだけれど、 カブトエビが死んだところで記録終了。
後半めんどくなって、 餌やり(米粒を2,3粒ずつやってた)が なげやり気味になっていたところ、 その米粒の下敷きになるような感じで 動かなくなっていたので、 「どうして下にカブトエビがいないことを 確かめなかったんだ」と後悔に大泣きした記憶がある。
# それがほんとに死因だったかは分かんないけど、 あんまり天寿を全うした感じじゃなかったのは確か。
そんなことを思い出してじーんとしていたら、 さらにその1年前に(つまり小学1年生のとき)、 学校でアサガオを育てていたことを思い出した。
ちゃんと育ってくれて、花も咲いて、種もできて、 最後、茶色く枯れるところまで。
この枯れたアサガオを捨てるんだけれども、 それがどうしてもできなかった記憶がある。 結局自分でやったのか、先生にやってもらったのか 思い出せないけれど、 その後しばらく泣き続けてた。
まったくあの頃は、 感受性豊かないい子だったのに!(笑)
# ただの泣き虫だったとも言う。(ぉ
某所より、http://marylou.m78.com/lastword/
あなたがつぶやく最後の言葉はつぼは花瓶にも骨壺にもなるよです。
走りすぎ、過呼吸をこじらせ、死亡。(推定年令:不明)
- ラッキーワード
- 『長いものには巻かれたフリをしろ!』
- (酒の席で後輩に対する説教として使うとラッキー度、更にアップ!)
あと1話で追いつくところまで見た。
というところでn師の日記を読み返すと楽しい。(ぉ
PHSを機種変更。18ヶ月くらいかな。
動作速度が劇的に改善している。 あと、キーが少し押しやすくなったかも。
部室で寝て、起きてさらにアカギなコミックにトラップされる
起きたら夕方
"Debut"という名前の某アルバムを PCのHDDに取り込もうとして、
以上のすべてで一回ずつ、 "Debug"とtypoして鬱々。 何かに呪われてるとしか思えない。
仮眠したら5時間経ちましたよ、と
お腹すいた。マジスパいきたい……
正多角形で多面体を作ろうとする夢を見ました。 なんとなく、全体的に丸っこく出来上がって、 もし正多面体なら各頂点にいくつ面が集まってるんだろ、 とか考えようとしたら、 おいまてなんで全部正六角形なんだ、というところで目が覚めました。
気づいた瞬間に初めて、そして二度と多面体にならなくなったあたりが 夢の中だなあ、と
虚空50。 かなりからい。 少し胃にきた。
起きたら夕方。 牛にてめでたくコンボ終了。
最近サークルの人々と集まると、 CPU実験やらの話でつつかれまくり。(ぉ
店を出たところでnuc氏にばったり。
プギャ(ry)されました
明日は牛のようなので、 ようやくコンボが切れそう。 こんな食生活してたら死ぬ。(ぉ
6コンボ
今週は麺しか食いませんでしたとかいうことに なりませんように(-人-)
VHDLの練習がてら、 デバッグLEDにdEAdbEEF と表示したりスクロールしたりするものを書いていた (無駄)
7コンボ
というわけでコンボ表示はじめました。
起きたら昼。 ネットワークぶっち2回目。
睡眠不足気味ではあったが
新代田で二郎演習。 Nゃあさんが単位取得。
麺→麺
現在4コンボ。 明晩は二郎にいく約束をしているというのに。
ちなみに実家から電話がかかってきて、 父親が糖尿病一歩手前でヤヴァいという話のあと、 食生活に気を付けろ野菜食えと言われました
かだー。い。
やはり賞味期限を過ぎるとつらい。
体調あんまりよくないのに、 頑張って2限に(遅刻で)たどり着いたら休講
いかチョコとかいう名前の とある食べ物を地下に持っていったら、 邪神呼ばわりされた罠。
ちなみに、まだ「いかチョコホワイト」が 手元に残ってます。
下す→麺→下す→麺→下す
'$'をタッチタイプできるS氏(Perl遣い)は、 '4'をタッチタイプできないらしい。
ワロスとか思っていたら、 実は自分(Vim遣い)もだった。(ぉ
スイッチついた。さてこれから本番、RS-232C
バイト先に泊まったら夕方
デスマデスマと言いつつ、 さくさくコーディング進めてそうなsawa氏は なんだかんだで結構優秀なんじゃないだろうか?
MFCなマクロと同名な関数を作ろうとしてコンパイルエラーになり、 初めてそのマクロの存在を知る。(ぉ
今日は虚空。 店員に、さらに上を勧められた。
昼に起きるつもりで、昼杉に起きた。
バイト先から自宅鯖にSSH。 しばらく何もしてないと切れる。
IRCクライアントでも起動しておけば大丈夫なんだけど、 集中したいときは仕事に差し障る。
しかるべきところをちゃんと設定すればいいんだろうけど、 とりあえずtopして放置(ぉ
とか言ってる間に、puttyに Sending of null packets to keep session active なる項目があるのを発見。
rename, ディレクトリ再構成, プロジェクト設定。 めんどいが、やらないともっとめんどいことに……とか思ってたら、 社員さんから「しる」と言われてめでたく開始。(ぉ
方針までもらえてウマー
駒場祭の打ち上げ
「最初に堤防つくるんだよねー」ということだけ覚えていて、 汁だけで堤防を作ろうとして糸冬
あれもう12月
やっと見た。ツボった。コミックも読もう。
やっと8桁光った。 消費電力9W。
一ヶ月前にここまでやる予定だったのに……
バイト先からメールがきた。 今月いっぱい納期→中旬くらいにはできてないとマズス
やっと学校に来れた。
C++でシミュレータを作っていた某氏は、
レジスタを表すクラスをregisterという名前で定義しようとして
ハマっていたらしい。(ぉ
C++でコンパイラを作っている某氏は、 いつの間にかcall.ccというファイルを作っていて衝撃を受けていた。
020代(8進)で最後の1年が始まりました。
昨日に引き続き、起きたら授業が終わっていて、 大変幸先のよいスタートです。
カーソルがやっと消せた。
^[[?25lで非表示、
^[[?25hで表示。
仕様を見ようにも、 そもそもどの規格のを当たればいいのか わからない。
いっそ実装を当たろうということで ckのソースを見ながら試行錯誤。(ぉ
一応、ckとputtyでは動作確認。cmd.exeだとNG。 どの規格のターミナルで使えるのかは知らない。 VT100?
というか何ヲヤットルンダ自分
周りを気にする勇気がなかったので気にしないでいたが、 どうやら正解だったらしい。
起きたら授業がオワットル
gosh -ptimeで実行してみて、上の方に来た関数を
同等のマクロで置き換えたら、10%くらい速くなった。替え玉x3
むぎちゃんは甘過ぎと感じた。
久々にカフェイン剤でブースト。 でも眠くてダウン。風呂で溺れる夢をみて起きる。最悪。(ぉ
昼にどうにか展示へ。
せめて得点表示するべきだったか。
何はともあれ、ありがとうございました。>見に来てさわってくれた人々
もう少し見栄えを整えて公開しtうわ先学期の課dうわ基b
去年も来てくれたらしいひとが。 当時僕が部誌に書いた一発ネタ記事「プログラミング言語二郎」を覚えていてくれた。(ぉ
# ちなみに内容は、BrainF*ckのアルファベットひとつひとつをトッピングコールに置き換えたもの。
# 何にインスパイヤされたかは、「激しいプログラミング言語」あたりでGoogle検索するとわかるかも。
平和?
svn statusと打つはずが、'v'が抜けてsnに。
使い方がだらっと表示されて少し面食らった。
家に引き籠もってだるだるするはずだったのに、 なんでこんなところで泊まり込んでるんだろう。
これで展示に出せなかったら目もあてられないので旅に出よう。
テキスト出力重たいよぅ。でもバッファリングをきちんと指定したら幾分マシに
方針が固まりつつ
ところでセミコロンはShiftなしでも打てるかと。
ここはどこ、わたしはだれ。 わたしがここにいることをわたしが知っているのか、 ここにいるのがわたしであることをこの場所が知っているのか。
自機が動いた。10FPSだと不快指数(ぉ)が高い。
展示に出せるだけの体裁は……
学校で寝たのに2限ぶっち
引き籠もってる予定だったのに、どういうわけかマジスパへ。
久々だったけどとりあえず天空。
口の周りはひりひり、口の中はびりびり。
仕事が、すすまない……
どこまでをライブラリにするとか、 どんなディレクトリに出力するとか、 微妙なところを判断することになりつつある。
一応「たぶんこうじゃないかなぁ」みたいな感じで納得できそうなところに
落ち着けてみつつあるけど、数週間後に後悔する自分の姿が見えるようだ。
リンク時の警告(LNK4006)が数千件出るようになった(汗
結構根が深い気がする。
問題を先送りしたとも言う。それはいつものことだとも言う。
先送りした問題は前提が間違っていて、作業はだいたい無駄となった。
ソリューションにstatic libraryを生成するプロジェクトと、 そのlibraryをリンクしたいプロジェクトがある場合、 [プロジェクト(P)]→[プロジェクト依存関係(D)]で依存関係を設定することで、 自動でリンクしてくれる。
ライブラリのファイル名を直接指定しないといけないのは、 バイナリで提供されている場合だけ。
依存関係を設定したプロジェクトを[ビルド(B)]→[リビルド(E)]すると、 そのプロジェクトが依存するプロジェクトまですべてリビルドしてくれる。
依存先がコンパイル時間かかってうざいよリビルドは自分だけでいいよって場合は、 [ビルド(B)]→[プロジェクトのみ(J)]→[(プロジェクト名)のみをリビルド(R)]
高い椅子を眺めたあと、ネジと寝袋を購入。
と、全然関係なさげなゲームが一番上に。
あれ、これどこかで見たぞと思ったら、 さっきザコン館でデモ展示していたのを思い出した。
起きたら夕方
今日もまた新しいウィンドウをつくる。 RADツールでやれば見た目同様のものが30分でできそうだが、 互換性とかリンクとかその他よく分からないいろんな都合で、 今やってることにも一応意義があるらしい。
何のことなのかやっとわかった(たぶん)。
どうしてもねこが触りたくなった。
ねこーねこー
何度も出てくる話題だけれど、毎度どうして盛り上がるんだろう。
宗教だ、という説が。なるほどそれなら納得。
さて僕はよく、トラックポイント > タッチパッド >>(越えられない壁)>> マウス と主張するんだけれど、 タッチパッドがマウスより上に来るのがありえねーとよく言われる。
今となってはトラックポイントなしの生活は考えられないけど、 ThinkPad買う前までは、タッチパッド信者だった。
タッチパッドの思い出をいっぱい語りたい気分になってきたけど、きれいにまとめるのは大変そうなのでまた今度。(弱
ただ、USBマウスをわざわざノートに繋いで使うのだけは、あんまりにもあんまりだ、と主張したい。
三重苦。三つ目は言いがかりだけど(笑)
# そういえば、サークルの先輩のS氏が、過去の部誌で同様の主張をしていた気がする。
とは言うものの、学科ノートに合わせてIBM純正品まで買い求めた、地雷掃除屋のI塚氏は認めてもいいかなと思う。
ララなぎ(3)を読んだら気分が晴れたので学校へ
この手のは自動投稿されてるに決まってるので、 オリジナルのに変えるだけでも治まるんじゃないか、という意見が。
Schemeでやっていいんなら僕が書こうかなとか一瞬思ったけど、 そんなことやってる場合じゃねーよという気がするし、 しかし低機能なのでよければ30分くらいで作れそうという気もするし、 ああでもそもそもどっちも前提が成り立たないんじゃないかという気がするし、 というわけで見送りました。
flaりんに期待。
追記:自動投稿でGoogle検索すると、普通に一番上に来る件。 氏ねよと思う。(ぉ
起きたら授業が終わってた
妹にiCansを渡した。
一般人だらけの空間は疲れる。 が、 両親はまあ寂しがっているに決まっているので、 もう一泊するべきだったろうか。
答えは日記の中にあります。iCansがヒント。
三田という地名が出たあとでなくても、 神保町の評価が高いなどと言われれば、 それはもう二郎以外思いつかないわけです。
ネズミーランド、または出銭ーランドにいた。
賞味期限内のレポート。
やっぱレポートとか課題って、締め切り前にやらなきゃだめね。
ブッチしたペナルティというのもだけれど、 それよりも、やる気の維持が難しくなるのが問題。
根に持たれているらしい
MLとりあえず終了?
でもコンパイラ課題はMLなんだよなぁ
もちろん(ry)←なんのことか不明
そういえば、.tkをとってしばらくして、ふとhttp://tcl.tk/にアクセスしたら、 ほんとにあったのでびっくりした。
あとはhttp://command.com/とか。 こっちは完全にネタだけど。
はっきりしない気分というのは、 どうにも気持ち悪いもの、かもしれない。
なんで気持ち悪いかっていうと、はっきりしないから、 というわけで、理由だか原因だかは確定しないけれど。
とりあえず、22枚のカードをよく混ぜて2枚くらい引いてみると、 気分が確定してよい、かもしれない。
# 何にインスパイヤされたかは、分かる人は分かるかも
追記:そんな組み合わせで引かないから大丈夫ですよ!
さらに追記:とか言ったそばから引きました(ぉ
解いてみました。外部イテレータを使います。
イテレータは大きく分けて2種類あって、それぞれ
mapやfor-eachのように、
要素に対する処理を渡せば自動で回ってくれるものと呼ばれている。
特にクロージャがある言語なら、 内部イテレータを使う方が手軽だし、 実装するのも簡単。
だけど、ときどき、外部イテレータが ほしくなることがある。 たとえば、 2つのデータセットを同時に巡回したい場合がそう。
実は、内部イテレータを使って外部イテレータを作ることができる。
というわけで、「内部イテレータとデータセットを受け取って、外部イテレータを返す」ものを書いてみる。
「次はここから始めるよ」っていうのを何らかの形で覚えていないといけないので、覚えたての継続を使って書いてみる。
(define (iterator/cps set-for-each set)
(lambda (k)
(let ((k (call/cc k)))
(set-for-each
(lambda (elem)
(set! k (let/cc next (k elem next))))
set)
(k #f #f))))
返値をcall/ccに渡して呼び出すと、
「一個目の要素」
と
「次の要素を返すための継続」を返す。
次に、問題にあわせた内部イテレータを作る。
(define (for-each-leaf proc tree)
(cond
((pair? tree)
(for-each-leaf proc (car tree))
(for-each-leaf proc (cdr tree)))
((null? tree)
(values)) ;; do nothing
(else ;; leaf
(proc tree)))
(values))
そんでもって、使う
(define (samefringe? t1 t2)
(let f ((i1 (call/cc (iterator/cps for-each-leaf t1)))
(i2 (call/cc (iterator/cps for-each-leaf t2))))
(receive (leaf1 i1) (call/cc i1)
(receive (leaf2 i2) (call/cc i2)
(or (and (not i1) (not i2))
(and i1 i2 (equal? leaf1 leaf2)
(f i1 i2)))))))
遅延ストリーム版に比べると、call/ccが
目障りだけど、これは仕方ないかなぁ。
課題しよう
これがほんとにexpireすると、早くも++確定。
知るべき事実とはこれだった。(ぉ
どうしよう……
((lambda (var) body) val)
||
(let ((var val)) body)
いやML課題やってるんですってば信じてくださいって
(letrec ((f f-body)) body)↓
(let ((f #f)) (set! f f-body) body)
強い言葉を吐くと、ものすごく疲れる。 口頭でですらなく、ただの数十回、打鍵しただけなのに。
人を叱れる人って偉い。 僕が誰かを叱れるようになるのはいつだろう。
それでやっと気づいたことに: 同じ字面の文章に、↑のように疲れるくらい強い気分が入ってたりする一方で、 実はそうでもない、極端な話、ふざけて書いた可能性だってあるわけで、 字面に表れない部分が、読んだ人に正しく伝わることを期待してよいだろうか?
まさか。
Scheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたいScheme書きたい
あまり意味のない文章で、言語外情報を伝えようとしてみるテスト(ぉぃ
inspired or expired
刻々と迫るリミット、夕方の二郎は見送り
プギャー(ry)するのもどうかと思うが、 よってたかって「変態!」と罵るのはもっとどうかと思う。もっとやれ。(ぉぃ
そんな地底は、L氏曰く「ハッテン場的雰囲気」らしい。
expireしてた(汗
ううううう
ML鬱鬱鬱
やばい今日やること多いよ
これまた1年前の課題。
1引数の関数を受け取って、
2回適用する関数返す関数doubleを定義しる、
というものなのだが
(define double
(lambda (f)
(lambda (x)
(f (f x)))))
たとえば、1増やすsuccを定義してみる
(define succ (lambda (n) (+ n 1)))
そんでもって、
((double succ) 0)
すると、2が返ってくる。
doubleの適用結果にdoubleを適用するのももちろんOKで、
((double (double (double (double (double
succ))))) 0)は、
succを25=32回適用するので
32が返ってくる。
ここまでは普通の話。
ところで、doubleは1引数の関数なので、
double自身に
doubleを適用できる。
(double double)は4回、
((double double)
double)は
24=16回適用の関数になる。
もうちょっと頑張ってみる。(頑張るのはCPU)
(((((double double) double) double) succ) 0)
ここまではちゃんと計算が、だいたい一瞬で終わる。
((((((double double) double) double) double) succ) 0)
これは終わらない。 22222 が返ってくるはずなんだけど……(笑)
追記:タワー表記なるものがあるらしい。2↑↑5
ある人の書いたコードが、ある変数名だと意図した値になっているのに、 変数名を変えてみたら違う値になるんだそうな。
原因は、配列の範囲外アクセスだった。 範囲外に書き込んだとき、当該の変数内容を破壊したらしい。
変数名が変わると、メモリ配置が変わって、きちんと動いているように見えるという話。
せっかくC++なんだし、 そんなにパフォーマンス気にするところじゃなさそうだし、 std::vector使おうぜ>某
分かっているつもりなのに、タイムリミットが迫っても動けない。 知るべきことと、正すべき認識は何?>自分
そういえば、昨日今日と日記の記述が長い。 明らかに逃避してるよ(超今更)
小ブタ
結局手がついていない
この時期にこういうタイトルで書くとCPUのことと勘違いされかねない気がするんですが、 残念ながら違います(ぉ
(let f
((n 50) (a 0) (b 1))
(if (> n 0)
(f (- n 1) b (+ a b))
b))
fib(0)とfib(1)までが1でいいんだっけ?
とりあえず、
というのだけ気を付けて、なるべく短く書きました。
これ読めるようになってくださいね > tkd氏
こっちは読めなくていいです(ぉ > tkd氏
(let fib/CPS ((n 20) (k (lambda (x) x)))
(if (< n 2)
(k 1)
(fib/CPS
(- n 1)
(lambda (a)
(fib/CPS
(- n 2)
(lambda (b)
(k (+ a b))))))))
末尾呼び出しだけど、50は無理なので20。
これであってるだろうか。
こんなときコメント欄がほしくなるけど、「課題やれ」で埋まりそうだ。
語弊があったので追記: 「末尾呼び出しだけど」は継続渡し形式で書くと必ず末尾呼び出しだけになるはず、というだけの意味。 「これであってるだろうか」じゃなくて、「CPSになってるだろうか」と書くべきでした。
元々末尾呼び出ししかないのをCPSに書き換えても、全然おもしろくないので、 わざと元が二重再帰のものを書き換えてます。
そして、それがうれしいかどうかっていうのは、全く別の話です。(ぉ < 50は無理
一年前の某演習で、一同を混乱の渦に陥れ、インスパイヤが流行しまくった不動点関数fix。
これをどうにか書いてみよう。
仕様は、
詳しくは去年の課題を参照。
(define pre-fact
(lambda (f)
(lambda (n)
(if (< n 1)
1
(* (f (- n 1))
n)))))
(fix pre-fact)とすると、どうなってほしいか考える。
まず、1引数の関数を返すんだから、最初はこうだ。
(define fix
(lambda (f)
(lambda (n)
...
)))
そして、直接なり間接なり、fを適用する部分があるはず。
(f f)みたいなのがあった気がするので、なんとなく書いてみる
(define fix
(lambda (f)
(lambda (n)
(fix ((f f) n)))))
((fix pre-fact) 10)すると、実行時エラーになる。
((f f) n)は間違い。fに渡す関数は、数を受け取って数を返す関数じゃないとまずい。
数を返す関数を作る方法は……fから作るか、nから作るかしか思い浮かばない。 あとは、idくらいか。
(define fix
(lambda (f)
(lambda (n)
(f (lambda (m) m)))))
((fix pre-fact) 10)は関数が返ってくる。つーかn使ってない。(ぉ
というわけでDQN的に、nに適用してから返すようにしてみる。
(define fix
(lambda (f)
(lambda (n)
((f (lambda (m) m)) n))))
((fix pre-fact) 10)が90を返してくれた。
結構いいところまできたんじゃないか?
(lambda (m) m) の代わりに、f から「数値を受け取って数値を返す関数」を作れたら
いい感じな気がする。ああ、それってfix
(define fix
(lambda (f)
(lambda (n)
((f (fix f)) n))))
((fix pre-fact) 10)で3628800が返った。
(let fact ((n 10)) (if (= n 0) 1 (* (fact (- n 1)) n)))
結果が一致。
いわゆる「Yコンビネータ」は再帰使って定義しちゃいけない (コンビネータは引数だけしか使えない)から、 このfixはインチキなんだけれども、 一応関数としてはできたっぽい。
結局何も理解しないまま、ただ試行錯誤しただけだけれど、 それでも一応自力でできたのがうれしい。ものすごくうれしい。
たくさん寝てすっきり
小かためアブラカラメ
並んでるときに、受験番号について話す声が聞こえた。 何の受験だったのかは知らないけど、 213だと縁起がよくて、421はオワットルらしい(うろ覚え)。 何だったのだろう。
レポートが半分
鯖機の普段用アカウントのログインシェルを screen にしてたら、 Must be connected to a terminal. と言われてscpできなかった。(ぉ
まあssh localhostでハマるようなのは
この際やめてしまおう。
気がつくと終電が@バイト先
残り1つだった粉末青汁。
手にとってレジに向かう途中、紙パック入りのコーヒーも購入することに。
混ぜたら、そこそこ素敵な飲み物が出来上がりました。
粉末青汁の舌触りと喉越し、コーヒーのほろ苦さの織りなす死のハーモニー。 コーヒーは少なめにするのがコツです。
眠いと、ろくなことを考えないですね。
ちなみに、眠くない場合は、ろくでもないことを考えます。
リモート授業で、出欠確認がアナログな方法で、 ギャップがよかった。
1週間前の忘れ物が、ちゃんと取り置かれていた。
とりあえず、gotoだと思うと、それなりに読める気がしてきた。気がしただけだけど。
継続と、手続き型言語で言うところのgotoとで違う点は、たぶん次のふたつ
call/ccを使って動的に得た継続は、
飛び先だけでなく、
追記: これはウソ。 あくまで「その関数を抜けたあとどうするの?」ってことを覚えているだけ。
あと、継続をもらうのにcall/ccを使うというのは、結構ミスリーディングな気がする。
call/cc は call-with-current-continuation の略なんだけれど、
call-with-なんたら というのは call/cc の他にも普通に使われる名前で、
どういう意味なのか知らないとつらい。
例としては、call-with-input-fileがわかりやすいかも。
というわけで、call/ccよりもlet-ccみたいなの方がとっつきやすいんじゃないかと思っていたら、
普通にlet/ccがあるらしい。とりあえず例
(define (find-even ls) ;; リストの中に偶数がみつかったらその値を返し、なければ#fを返す
(let/cc found
(for-each
(lambda (n)
(if (zero? (modulo n 2))
(found n))) ;; (let/cc found ...) の式全体の値は、nだったことにする。for-eachは打ち切り。
ls)
#f))
(find-even '(1 3 5)) ;; #f
(find-even '(3 4 5)) ;; 4
find使うべきだと思うので、あんまりいい例じゃないけど。
いっそfindそのものの方がいいか。
(define (find pred ls)
(let/cc found
(for-each
(lambda (elem)
(if (pred elem) (found elem)))
ls)
#f))
猛省しる > 自分
やっと自宅鯖でmanが見れるようになった。なぜかいろいろはまった。
すぐ寝直せばよいものを、↑やってたり、 プロンプトいじったりしてたら(ry)
起きたら夜。あと1時間早く起きられれば、 バイト先泊まり込みを回避できたんだが……(ぉ
そろそろ先学期の某課題の遅延評価期限ががが
二郎行きたいが
今更かもしれないけど、Excel作ったひとはLisp好きなんじゃなかろうか。
なんでかって言うと、
IF関数IF(真偽値, TRUEのとき, FALSEのとき)''を入れるこんな仕様に決めるのはLisp遣いに決まってる(酷
追記: さすがに言い過ぎかもしれない。(ぉ
よく見ると実は得体の知れないのが入ってた。
XX.XX.XXX.XXX - - [06/Nov/2005:14:23:04 +0900] "POST /_vti_bin/_vti_aut/fp30reg.dll HTTP/1.1" 404 374 "-" "-"
いや、IISじゃないですから(^^;;
しまった、いつの間にか11/17日分が締め切られてるorz (何
税金を振り込んでみた。なんの税金かよくわからずに振り込んだ。(ぉ
土日つぶす予定
そんなこと言うとKee氏にbogo-sortを布教されますよ
k24pかk26pほしい。(ぉ
$ ssh localhost
C-a d でdetachするとログアウトするので、 再度ログインしてみるとおもしろいかも。
戻し方としては、
C-a cで新しいウィンドウを作る
C-a C-aで大変なウィンドウに戻る
C-a kが効くようになっているので殺す
どんな場合もこれで戻ることを確かめたわけではないので注意。 落としていいマシン以外で実行しないほうがよい。
あと、.screenrc の shell にscreenを指定してみたが、 こっちはもっとやばいので注意。 他のユーザでログインして.screenrc書き換えるか、ログインシェルを変えないと戻せない。
実行時に、「純粋仮想関数を呼んだ」と怒られて落ちる。 コンパイル時のチェックをすり抜けてるのはこれいかに。
→ コンストラクタの中で変なことやりすぎてたせいでした。
さらに追記: pure virtual function callでぐぐったら、 上の人の日記が引っかかった。
のはともかく、 そのままの例がみつかって安心。
自分の知識が足りないことを安心して疑える、安心。
iCansの半額以下で買ったのに、 iCansより気に入った罠
iCansどうしたものか。手放すかは決めてないが。 妹の結婚祝(の一部)にでもしようか? (ぉぃ
しかも新ドメインhttp://practical-scheme.net/gauche/
はやくCGI復活させないと……
とりあえず、旧日記CGIをサークルのサーバで実行してみたところ。
$ time ./xxx.cgi > /dev/null real 0m2.144s user 0m2.070s sys 0m0.080s
$ time ./xxx.cgi > /dev/null real 0m1.376s user 0m1.330s sys 0m0.050s
めちゃくちゃ速くなってる。(というかほとんど
(use www.cgi)なんだけど)
srfi-1のような頻繁に使われるモジュールが、 拡張モジュールとしてコンパイルされるようになりました。 ロード時間がかなり短縮されます。
神。先日は変なこと書いてごめんなさい。
寝て起きてまた寝て1日スキップ
壊して修理に出して見積もりが新品価格より高くて、 あきらめて新しく買い直したPortaProを売却。
長い間だったか短い間だったかよくわからないけど ありがとう。
Cygwinのgoshにて
(let f () (sys-fork) (f))
# 追記: ヤバいので、落としてもいいマシン以外では絶対実行しないように注意
# って言っておかなかったせいで手遅れになったとの話が……
# 今後危ないコードを載せるときは気を付けます。 ごめんなさい > 実行しちゃった人
のどに突き刺さる、プロポリスのど飴
なめた後の方がいがらっぽい。
替え玉が高いけれど、また行きそう。 次はむぎちゃんにしよう。
移行したくなったとき困る、だそうな。
今までそういう観点をもてなかったのでメモ。
町田遠い。
これを「突き抜け誤差」と呼ぼう。
10話桁で突き抜けるとかそういう感じ。
しかしバイト先は朝まで停電中。昼行って仕事できるんだろうか……
cswに載ってるschemeのコードは、 マウスカーソルを合わせると、きちんと括弧の対応を強調表示してくれる。
JavaScriptでも使ってるのかな、と思ったが、実はCSSだけで実現されていた。
たぶんこんな具合
.paren:hover
{ background-color: #ffaaff; }
.paren .paren:hover
{ background-color: #aaffff; }
.paren .paren .paren:hover
{ background-color: #ffffaa; }
...
これを括弧のネストの上限数だけ書いて、
括弧のネストにあわせて、class="paren"な要素をネストすればよい。
(普通にリソースエディタで貼り付けたときみたいな) 境界のくぼんだEditコントロールを生成したい。
普通にCWnd::CreateExしたらできた。
あと、ウィンドウクラス名は_T("EDIT")。
ほんとにこんなんでいいんだろうか? (ぉ
時間なり労力なりのコストを払ったら、プラスの成果を得たい。 プラスがよいとはいっても、ゼロでなければいいなんてものでもなくて、 εだと悲しい。
という話を先日nkjm氏としていたのだが、 成果がマイナスだっt(ry
3つコピペするコードが出てきたので、コールバックとか関数アダプタとか使って 無理矢理まとめてみた。
元より長くなった。しかもすげー読みづらいorzなんだこれいったい
→あきらめてコピペ
サークルの某先輩がQMAするところを、 後ろから眺める機会がもらえた。 とても鮮やかなタッチパネル捌きで、 見ているだけで楽しかった。
いくら使ったんだ自分
というかいつ読むんだろう。特に一番下。(ぉ
一日の一部が睡眠に充てられた。
壊れた物に追い打ちをかける意
2限から5限まである。一日持つか不安。
さっそく眠い。(ぉ
依頼された物本体よりも、 それが動くか一応確かめるためのサンプル(一種のテストプログラム?)を作る方がめんどい。 まあそういうものなのかな。
普段目にするもののだいたいは、 とてもデリケートな層の積み重なった上に成り立っていて、 上の層をどんなにがんばっても、 下が何かおかしいと、全てが終わる。
だから、感覚を研ぎ澄ませて、一刻も早く異変に気づかなければならない。
例えば、あくまで例えばの話だけど、 オープンコレクタのバッファだとか、 消費電流とかを考えながら回路図を考えたところで、 左右間違えて結線すると、 DC+12VとIOピンを直結してしまうのだ。
一日は持たなかった。授業時間の一部が睡眠に充てられた。
F地氏と地下で基板基板基板
「いきなり完成品を作ろうとするのではなくて、 まずはとりあえず動く物をつくって作り直していくのがよい」 という話を、まずはとりあえず、 かなり大げさになったLEDモジュールで 実感している。
ゴールに至るまでの道のりに何があるかを ちゃんと認識してから 規模を決めるというのは、とても重要なことだと思う。
見切り発車で規模を大きくしすぎると、 その過程にあるものすべての規模がでかくなり、 必要な時間なり費用なり労力なりのどれか(もしくは全部)が 想定外に大きくなって、 最悪完成しないのだろうと思う。
という話を、 FPGAの出力ピンとLEDのセグメントとの対応表 を書きながら思った。(ぉ
このことをこの段階で認識できるのは、 正直幸運だと思う。
# 追記: 間違ったときにやり直す規模もこのとおりなので、その意味でもやばい。
M2のひとが地下に降りてきた。
基板みせたら、 「そのくらいLED繋ぐんならそんなもんじゃネーノ?」 という反応だった。(ぉ
班wikiに「うぐぅ」とか書いてたの見られたorz
寝て起きて夜。
風邪気味で頭痛かったのが直った。
今まですっきりかけなかった何かが すっきり書けるようになると、進歩を実感する。
マズー
グリス塗ったら復活。
とはソースにコメント書いておけという文脈で よく言われるけれど
Googleの検索履歴に「電池 焼きイカ」が。 いったい何を調べようとしたんだろう > 過去の自分
ふと /etc/shells をみてみたら、 一番下に/usr/bin/screenが。
chshしてみました。
detachしてログアウトすると、 次にログインするときは自動でレジュームしてくれる 徹底ぷり。
tcshに戻しました。
# 試すひとは自己責任で。念のため(ぉ
半田半田半田半田半田
知ってる人もそこそこ多いと思いますが
あれは確か4年くらい前の冬。 駒下にいた僕は、新宿にペンキを買いに出かけました。
電車代を中途半端にケチって、渋谷に向けて歩いていたはずが、 気がつくと中目黒にいたのです。
それ以来、道を間違えたことに気づいたら引き返すことにしています。
という話を思い出しました。
ツッコミどころだらけだと思いますが、これはほんとにこういう話です。
いったん半田をつけると、取り除くのが困難な両面スルーホール基板。
簡単に被服が融けて、すぐに(or ポキっ プチっ)と逝く単線のラッピング用電線。
実はこれは、何かの嫌がらせなのではないか? (ぉ
実際のところ、ラッピング電線は剥きやすいし、単線なので半田メッキの手間がない。
基板は基板で、 あんまり気を付けなくても簡単に半田がついて、 接触もあんまり不安がない(気がする)。
それぞれはそれなりに使いやすいのだけれど……
boost::shared_ptrが循環参照しないように、せっせとグラフを描く(ぉ
→わーん朝だー(っ´Д`)っ
某アニメのED。
昔やってたバイトで死ぬほどへこんで帰ってきたときに、この曲を聴いて癒されたくらい、とってもお気に入りな曲。
なんだけど、聴くたびにそのときのことを思い出してしまうのだけは勘弁してほしい。
バイト先で最近書くコードの傾向がちょっと変わってきた。
更新時刻にいちいち反映するかもしれません。すんません。(ぉ
半額弁当をあさる
とりあえず移しました。
日記CGIを再開するとしたら
というところだけれどたぶん当分放置の予感です。(ぉ
しかし更新情報出すにしても、ちょうど人大杉で失敗したらどうなるのよ、とか考え始めたら、 静的HTMLを生成(日本語が変な気がしなくもない)のほうが、鯖にも管理者にも閲覧者にも地球にもやさしい気がしてきました(超ガイシュツ)。
バイト先に泊まり込み確定(ぉぃ
この日記では、読んだ人に向けてのメッセージという気分の強い文は敬体っぽく、 ひとりごと的な気分の強い文は常体っぽく書くようにしています。
あと、ひとつの段落内では、なるべく文体を統一するようにしようとは思っています。
混ざってて気持ち悪いという向きもあるかもしれませんがご容赦ください。
ここがインターネットで公開されている以上、前提になっている知識や文脈(もしくはそれらを調べるのに必要な情報)を 十分に書くべきですが、 そんなことやってる間にとりあえずメモしたい、とか、 とりあえず書き散らして気分を発散させたい、とか、 そうやって書かれたものについていることが、現時点では多いようです。
追記: 「それじゃほとんど全部当てはまる」と言われた。確かにそうだ。 実際のところ気分的につけているのだが、その気分がどこから出てきたものか気になるところ。
この領域に書く内容に対して何を言われても生産的な方向に生かせるだけの覚悟が、 少なくとも現時点ではありません。
というわけで、ここにコメントをつけられるようにするべきかどうかは、目下悩み中です。
気にかけてくださること自体はありがたいしうれしいけれど、 聞いてないことまでたくさん返ってくると消化不良起こすし、 自力で調べるべきことだって沢山あると思うので、 もうちょっとドライに接してほしいと最近思う。
→自分も似たようなことを結構やらかしてる気がする。猛省しる
なぜか地下泊。明日は一日バイトが確定。(ぉ
地下で半田づけしてたら、突然「ぉーん」という音がして 真っ暗に
そして二郎
半蔵門線から大手町にて 乗り換えようとしたら、ホームについたときちょうど東京駅で人身事故とのアナウンスがあって止まった。
74LS247もオープンコレクタで、 使おうとしていた人が僕と同様にハマっていた(ぉ
いざ拡張コネクタに繋ぐ部分を作ろうとして調べたら、 IOピンの数は、 コネクタのピン数よりだいぶ少なかったことが発覚。
複合IOピンって何じゃー
LEDもバッファも沢山あって配線がめんどいので、 もう直接IOピンからでいいじゃんとか思い始めていたけれど、ありがたいお言葉が
多数のLEDを接続したい場合等は、間にバッファを入れるなど、FPGAの負荷が低く なるよう工夫をしてください。
一応、今までの作業と買い物と調べ物が無駄じゃなかったということで喜んでよいのだろうか。(ぉ
課題(ry
めでたく次のお仕事をもらう。 しかし今日はあまりに眠いので帰宅。
調べなおしてみたらインバータではなかったようだ。 だけど、電流をたくさん流すには ソースじゃなくてシンクのようなので、 こないだまで基板にとりつけてたカソードコモンのLEDは アノードコモンのものに 全とっかえしなければならないorz
リード線の半田付けをやり直さなくてよさそうなのは 不幸中の幸い。
# わかりにくかったようなので追加 @ 10/20
# 74LS07の、出力信号の足は、
# 電流を流し込むことはできるけれど、電流を取り出すことはできない、
# ということ。
# オープンコレクタと言うらしい。
# 電流を取り出す用途のエミッタフォロアというのもあるらしい。
# トランジスタ直接使ったことないから、正直どれがどれだかという感じだが(ぉ
これから自分で7SEG LEDを調達して、 FPGA側との間に74LS07を挟もうとする奇特な方がいたら、 必ずアノードコモンのものを買いましょう。(ぉ
カソードコモンのLEDを全部はずして秋葉へ。
鈴商で部品を選んでいたら、 どうやら、LEDをとりかえなくてもどうにかする方法が あるらしいという話を聞く。
あとで回路図を書いて考えてみたところ、 確かにLED自体はそのまま使い回せそうだったけれど、
今回は、さすがにこれだとうれしくない(^^;;
4Byte入れ替え。 新しく付ける労力 << 古い部品を外す労力
余計なところに時間をかけすぎている気がする。
というか、 バッファつけずにIOピンから直接取っちゃっていいと sgwrさんのお墨付きだったので、無駄かもしんない。
楽しい。 すべてを忘れて、 課題から逃避して、 ひたすらに基板に向かう(だめぽ
テキストファイル表示をやっつけ実装
パッケージの扱いとかをろくに知らなかったせいで、 PHP5.0.5のインストールに四苦八苦。
助けてくれた約お二方、ありがとうございました。
処理系の起動そのものだか、ライブラリやモジュールのロードだかがやたらと高コストなものは、 頻繁にアクセスされるCGIには適さない。
それでも使うのであれば、ネタか、もしくは、十分に対策をできる人が本気でやる場合。
本気でやる場合だとたとえば:
06生にインスパイア(ぉ)されて、日記タイトル変更。
いろいろやって起きたら夕方だったらしい。
むしろ夕方に起きれたのが不思議。
一番入れやすそうだったので(ぉ)WiLiKiを入れてみたが、 今の段階だと、まだ機能が少なすぎるので採用見送り。
さすがに、さっと拡張を書くというようなことは 僕には(まだ)できないし。
2Byte
空気が読めなくて授業の進行を妨げたらしい(ぉ
これからどんな内容やるのかさっぱり想像つかない。
前提知識がまったくないにしては、 割とどうにかなりそう。
バグ。浮動小数点周りの単純なミスだった。
昨日をなかったことにしてや(ry
難しく考えすぎて、とても疲れ損した。
なにがなんだかサパーリになってきたら、とりあえず基本に立ち返るしかない。
単純な計算をする関数で、returnを書き忘れる事態が頻発
VSはちゃんとエラーにしてくれるので大丈夫なんだが……
もう一回くらい複(ry)析でアヒャっとやりたかったが、 ネタは余裕のある人が突っ込むものであろうとの見地から見送り。
むしろ、ネタに走るから余裕がなくなってるんじゃないかとの指摘を受けた。
gosh> (define a
(call/cc
(lambda (k) k)))
gosh> (a 10)
gosh> a
これらがそれぞれ何を返すか、インタプリタに入れる前に分かって、 なんだかとてもうれしかった。
ちゃんと夜のうちに寝たのに、起きたら夕方なんてことはあり得ないので、 まあ時間が戻ったと考えるのが自然であろう。
ネットワークの授業を聞き逃したのが惜しまれる。
単位キター
これで金曜は複素(ry
多角形とか三角形とか。
多角経営とか三角関係とかとは たぶん関係ない。
メソッドにconst付け忘れてて、コンパイル通すのに30分近くかかった。 まだまだ Light Wegiht Languageとして使えるようにはなっていないようだ。
期待通りに動かない原因が、仮引数の型に & 付け忘れてるのであるのに気づくのに1時間近くかかった。 まだまだ(ry
ところでデバッグ出力って偉大ですね(超今更
起きたまま学校へ
255MBのSDRAM DIMMメモリが目的。
探してみると新品も結構あったけれど、
どれもだいたい高い。
ひどいとこだと10kオーバー。
あと、ほとんどPC133で、CL3のが多かった。
# このあたりが性能にどう影響するかとかいう話を
あんまり理解してないのは秘密(ぉぃ
結局、手持ちのに合わせて、 中古のPC100 CL2のを2枚購入。
起動せず。
3番目のスロットのメモリを外してみたら無事起動。
昨日外したメモリも3番目のスロットに差さっていた。
メモリじゃなくてマザーボード側に不具合の予感。
16進表示できるものを探してみたが、 ひどく入手しづらいものらしい。
マルツの店員さん曰くF9368というものがあったらしいが、 どこで売ってるかさっぱり分からないし、 きっとひどく高価だろうと思う。
もうちょっと調べてみたら、 互換品のDM9368Nがいくらか入手しやすそう。
しかしここまでやるくらいなら、 FPGAで(ry)の方が明らかに楽かも。
74の基本的なのの組み合わせで組んでみるのも 一瞬考えたけど、 ICの数がものすごいことになるのでやめ。 拡張基板が埋まる。
起きたら昼過ぎ
ノートのキーボードを探すつもりだったけど、 別のパーツを買うことに。
いいんだけど、一人で来る場所じゃない。 いろんな意味でお腹いっぱい。(ぉ
いろいろハマったけど、 どうにか外からいじれるところまで設定できた。
いろいろ助けてくれた約お二方に感謝。
再起動直後の起動に失敗したり、 長く起動してるといつの間にか再起動してたりする 不思議マシンだったので、 これから長く使う鯖機にするには 正直不安だったところ。
今回、パーツ入れ替えたりしていじった後、 DebianのインストーラがいきなりKernelPanicになって、 実はメモリがやばいというのを指摘してもらって 確かめたらやっぱりやばくって、 外したら↑の一個目の症状はなくなりましたと。
SDRAM DIMMは見つかるだろうか。
結構前に某所に貼られてたけど、Schemeプログラマのレベル10
本気にするなとは言われているが、
なんかレベル4あたりがほとんどぴったり当てはまる。
#Emacs使わないから最後は除く
レベル5にはまだだいぶ届かない。 多値を使い始めたくらい?
それで思い出したけれど、 先日バイト先で、ちょっとしたファイル処理スクリプトを 書いてみて、 こういうことのできる言語があるのは重要だなと 今更感じた。
ほかにも(ぴー)な(ずきゅーん)を(XXXX)したりとか、 いろいろ使い道があって、よい。(伏せ字の中はご想像に)
override2年くらい前、Delphiの解説書を読んだとき、
メソッドの宣言のとこに
override
を付けて書いていたサンプルコードがあった。
つけずに書いてもビルドできたので、 いったい何のためにあるのか分からなかった。
バイトでC++で書くようになってから、 これのありがたみがやっとわかった。
メソッドのオーバーライドをするつもりで、 名前や型を間違えて、 オーバーライドになっていないというミスを ときどきやらかす(僕だけかもしれないけど)。
overrideと指定すると、
オーバーライドになっていない場合は、
コンパイラが警告だかエラーだかにしてくれる
ということなのだ。
C#は確か、これをサポートしていたと思う。
C++だと、純粋仮想関数にしてしまえば、 オーバーライドし忘れたらコンパイルエラーになるので 一応どうにかできるのだが、 デフォルトで呼び出されるものを実装しておくことと 両立できないのがつらい。
使ってるライブラリを入れ替えたら、 リンクではまりまくり。
マクロの定義を、namespaceつきで行えたら便利かもなあと思う。typedefみたいに。
#defineはあくまでプリプロセッサなので、たぶん仕方ないことなんだけれども。
もっとも、そもそもマクロでなければいけない場面なんて そんなにないだろうから……
が、深夜に地下に戻ったとき見てみたら、 まだ置いてあった。
expireは金曜23時だったのだが、 放置したまま寝て起きたら、弁当はなくなっていた。
誰かが食べる前に、 誰かが処分してくれていたことを祈る。
K戸師が強かった。 万能なひとは万能らしい。
ホワイトボードの記述によれば彼は唯一神らしいので、 むしろこういうのは全能とよぶのがよいのではないか。
枝刈りの条件を増やしたら一気に速くなったので 意気込んで再投稿したら、やっぱりTLE
思い切って、分数使わないように 最初から書き直してみたが、やっぱりTLE
first inputの存在に今頃気づいたので食わせてみたら、 実は遅くなっていたことが判明。
よく見ると実は浮動小数点が入るようになったので、 アルゴリズムがそんなに変わったわけじゃあるまいし、 まあそりゃそうだろう、と
諦めて課題しよう。(ぉ
出力がなぜか256から変わらない。
よくみるとX := X+1; Y := Y-1;
まあそりゃそうだろう、と
誤解のないように書いておくと、 これまで僕がそういう状況にあったのは、 僕がそれを頼んでいたからそうしてもらっていたわけで、 つまりお世話になっていたという認識はあります。
今回は、そこから一歩踏み出す試みと とらえてもらえればありがたいです。>某氏
古いブロードバンドルータをもらってネットワークづくり。
# つってもつなぐだけのはずだったんだが
まずはPPPoEの設定するところだけど、 そのためにはDHCP動いてないとHTTP経由で設定できない。
リセットボタンが3秒長押しというのを 調べるまで30分ロスト。悔しかったので10秒長押し。
んで、LAN側のIPアドレスもらえたので PPPoEの設定してみたけど、つながらない。
ルータと(ONUにつながってる)スイッチが 物理的につながってないことに気づくのに30分。(ぉ
どうやらルータのWAN側端子がさびかかってたようで、 コンタクトZを塗ってやっと終了。
追記:DHCPでもらわなくても IPアドレス設定できるじゃんよorz
批判的な文脈で、 むやみに漠然とした言葉を使うと、 聞き手を不安に思わせる。
関係を大事にしたい相手なら特に、 自分の思うところを正しく表す言葉を、 可能な限りの知識を動員して探すべきだ。
そこまでしてももちろん、 それをそのまま言っていいわけではなくて、 特に聞き手が絞られているなら、 聞き手の気持ちに配慮した言葉を選ぶべきだ。
こういうことすべてに気をつける余裕がないのなら、 むしろ何も言うべきでない。 感情に任せて言い返すだのは以ての外であって、 よく寝て次の日にまだ言いたければ、 そのとき初めて言うべし。
原因は、優先度を間違えたこと。
時間の見積もりのきかない作業を行って、 タイムリミットがきても うち切るだけの意志がなかったところにある。
それでもなんとか起きれると思ったんだが…… 目覚ましもかけたし
って目覚まし用のPCの電源落としてるよ自分 何考えてんだ
というわけで、 誰か演習の内容教えてくださいおねがいします (ぉ
物理的制約の中で、 時間的制約はもっとも大きいものの一つであることを 認識するべし。
寝ぼけてるときは、あらゆるトラブルを呼び込む。 泥沼の兆候が見えたら、速やかに寝るべきだ。
# 両方とも、割と最近に、 誰かが言っていた気がする。
昼から駒場。以下観想のようなもの
初回からかなりめんどそう。 先が思いやられる。
この日記が移転中になった経緯でも話せばよかったなと 今更思うこのごろ(ぉ
まだ片方の入り口だけだけれど、 I東氏曰くの「財布まるごとバコン」とやって きちんと開錠された。
この変更により、 お湯入りのカップ麺もって地下に向かうのが楽になった。
外は雨。でもやんでるぽいので地下へ。
鯖立てを急ぐことになったらしい
の副作用(違)でISEに最新パッチが適用されていて役に立ったらしい
地下
configuration文が通らない → ログみたら分かった罠。portの名前が違ったorz
昨日まで書いてた3ページ破棄したのに、 勢い余って8ページ書いた件
飯→桶
間違っていると分かっているのに正せないとしたら、 それ以外の何かをも間違っていると考えるべきだ。 それは思いもかけない何かかもしれないし、 正しいと信じている何かかもしれない。
無気力は、 間違った認識と無知から生まれると信じる。
なにもかもやばい
ISEが起動しっぱなしでファイルのコピーに失敗
しかたなくキャンセルしたら、 すでにインストールしてたISEまで消えた罠orz
自己解凍タイプの書庫で、 解凍後にプログラム(インストーラとか)を自動実行できるもの だったと思われる。
キャンセルしたら、 解凍先を削除するか聞かれた。
しない、って答えたら 「じゃあ手動で削除してね、 それでもいい?」って聞かれたので、 「よくない」って答えて、 やっぱり削除してもらうことにした。
ところで、解凍先は ISEのインストールディレクトリだった。 すると(以下略)
まあこれは自業自得。 とりあえずめでたく再インストール中。
FPGA関係はとりあえず入れなくていいから、
前よりは早いんだがだめでした
しかもこの横着のせいで、 かえってめんどいことになったぽい
サービスパック当てたところ、 上書きインストールができなくなった。
自分ワロス
合間に某文書を書き進める
sawa氏の助言に従って、ちょっとネタを交えつつ。 S式がリストであることに触れずに、 どこまで書けるか挑戦中。
ふと「ゆうやく」をぐぐってみたら、 「ゆうやくん」と「うわぐすり」ばかりが上位に。 日本語はそう乱れないものらしい。
某氏に唆されたところ、 iCansがほしくてたまらなくなったらしい
課題が30分で終わるというのは、きっと、打ち込むのに30分かかるという意味だ。
タイピング練習ソフトあたりで計ると、 一分間に打てるキーの数が だいたい300から400くらいなので、 30分間休まずに打ち続ければ、 ざっと1万文字のテキストができあがる。
つまり、 「この課題はたかだか10KBのコードで書き上がるよ」 と言っているに過ぎない。
予約ed
ホワイトボードの記述にガクガクブr
賞味期限が切れると当然旬も過ぎていて、 周囲から得られる情報がどんどんなくなる
眠いのに眠れなくて某括弧文書を書いて夜更かし、 起きたら夕方
某文書を書き進めつつ VHD(ry)処理系のインストールやら 風呂やらやってたらこんな時間になって、 バイト先に出した出社予告が24時という 前代未聞なことになった
QM(ry)がだいたい終了ってもうだめじゃn
また空気の読めてないことをやらかしていたらしい。
ほんとに読めてなかった
とりあえず お二人には、 今回のことはごめんなさいとしか言いようが……
気をつけてどうにかするしかないことなので、 今後気をつけます。
何やっていいかさっぱり……
遅きに失しているのは明らか
誰の目にも明らか。
#f
眠くてやばかったけど頑張った
を提出。
途中でゆうやくに負けそうになったので (ry)を封印。
'()
趣味だとか言われてるらしい。 否定したいが、そのための材料がどこにもない。
起きたら昼。 そのまま無気力に引きこもりそうな予感がしたので、 とりあえず神保町に向かう。
二郎の昼の営業が終わってたので、そこらへんのカレー屋へ。 ライスだけ大盛りにしたらルーが全然足りなかった罠。
をしに地下へ向かう前に部室に(略)を投下しに行ったら、 そのまま野望にトラップされた罠。
QM(ry
バールのようなもののひとをスクリーンショット撮って壁紙に設定
あと課題
せっかく壁紙を設定しても、だいたい最大化してるウィンドウが最低1個はあるから (というか下手すると全部だし)、 起動時と、シャットダウン時と、あとはロックをかけるときくらいしか見る機会がない。
わざわざ壁紙をみるために全部のウィンドウを最小化したりしないし (昔はやったことあるけど)、まして閉じたりしないし、 まさか全部のウィンドウを半透過にしたりしないわけで、 ロックするときというのは、壁紙を眺める貴重なチャンス。
しかし、ロックするためにCtrl+Alt+Deleteで表示させるダイアログと、
パスワード入力のダイアログのデフォルトの位置が
画面ど真ん中というのはどうにかならないか。
壁紙を眺めるじゃまになってしかたない。
壁紙側をいじって、ダイアログにあんまり隠れないようにするにしても、 せめて、例えば画面の左上にあればやりやすい。
寝て起きて寝て起きて寝て起きて、40時間ぶりの食事は納豆やっこセット大盛り+生野菜
そしてバイト
晩ごはんは福のれんの予定。Klaたんくる? (ぉ
仕様変更ついでに、汎用的な機能にひとつ切り出そうかと思いました。
でも、「それは本当に今必要か」を検討したら、後回しでもいいやと思いました。
なぜかSFCコンをGET
福のれん。
墜死
寝てたら機会を逃した罠