MRTG
職場の生徒LANのトラフィックがどうにもならない。 MRTGを入れて観察すると,12.5MB/sあたりでサチっている様子。 これっと要するに100Mbpsだよな…ということでギガハブを調達してもらって入れ替えたら, 嘘のように改善した。 といっても12.5MB/sを超え続けているわけではなくて, 一瞬超えた気はするけどその後はもっと低いレベルで上下している。 まあ,ダメだったときの様子はおよそ想像はつくのでよしとしよう。
職場の生徒LANのトラフィックがどうにもならない。 MRTGを入れて観察すると,12.5MB/sあたりでサチっている様子。 これっと要するに100Mbpsだよな…ということでギガハブを調達してもらって入れ替えたら, 嘘のように改善した。 といっても12.5MB/sを超え続けているわけではなくて, 一瞬超えた気はするけどその後はもっと低いレベルで上下している。 まあ,ダメだったときの様子はおよそ想像はつくのでよしとしよう。
最後のステージの最後のゲージで根負けして丁提督になったが, なんとか終了。 今回増えたのはNorthampton,桃,照月,有明,石垣,屋代,伊203,Honoluluであった。 これで明日は仕事に専念できる。 掘りなんてとてもじゃないけどできない。
Pythonではa<b<cのように比較演算子を続けることができる。 Cでもエラーにはならないが,それはa<bかつb<cとは違う意味になるので初心者には厳しい。 とりあえずPyPENもそれに合わせた変更ができることは確認したが, これをリリースするかどうかは悩みどころだなあ。
今のところ代入は「←」で比較は「=」を標準にしているが, それぞれ「=」や「==」でも書けるようになっている。 どちらを標準にするか, あるいは前者を廃止して後者のみにしてもいいのではないかと言ったことで悩んでいる。 というのは,共通テストのサンプル問題が後者になっていて, DNCLの後継(仮称DNCL2)はそちらになるのではないかという話があるからだ。 今まで作ったものを書き換えなくてはいけなくなるわけだが, それでも変更するメリットがあるのかもしれない。 これはかなり大きい変更になるからオプション扱いは難しい…いや, パーサを2つ用意しておいて使い分ければいいのか? それはそれで動作確認が大変だが…。
Twitterで #おまいら15年前何してたよ というタグをみかけたので, 15年前のブログを読み返してみた(このブログは2003年から始まっている)。 いやぁ,いろいろあるわ。 鬱病がだいぶアレだったり, 文鳥を飼い始めたり, 東京に行ってPENを使うことに決めたり, C#使い始めたり, マインドマップの本を図書館に入れてもらったり, SSSに初参加したり, Syd Barrettが亡くなったり… なんと言っても本をけっこう読んでいた。 最近は本を積むことに何の罪悪感も感じなくなってるなあ。
情報という教科が始まったばかりで, あちこち右往左往していた。 そして随分発言がトゲトゲしていた。 鬱病のことも影響しているだろうけど, 今とは別のいろいろなことを抱えていたからなあ。
某解説動画を作っていたら,代入に「=」を使うとエラーになる部分があった。 てっきり「代入の定義から間違って削っちゃったかな」と思って「←」に変更してやり過ごしたのだが, 調べてみるとそういう事実はない。 エラーになるのは「a=9個の0」というように「〜個の〜」を使っているところで, 結局「〜個の〜」を演算子扱いしていることにより, 「=」の結合規則(nonassoc)の影響を受けてしまったということらしい。 「←」は演算子扱いしていないのでその影響は受けない。
「=」などの比較演算子をnonassocにしているのは, たとえば「a==b==c」が「a==(b==c)」と解釈されて, 「エラーにならないけど思ったのと違う挙動をする(Cっぽい感じ)」ことを避けて「エラーにする」ためだ。 しかしPythonでは「a<b<c」のような比較が認められているのだから, それに合わせて「a==b==c」を「a==bかつb==c」というように解釈するのも一つの解決になる。 そういう感じの比較クラスを作ってしまえば解決するような気がするのだが, どうしたものか。 DNCL2ではこのあたりどういう扱いになるんだろう。
そもそもは「=」が代入にも比較にも使えるとしてしまったことに原因があるので, 比較は「==」でないとダメ,とするのもまた一つの解決になる。 でもそれだとDNCL2と挙動が違ってしまう。
もう一つ解決方法があって, 「=」などの比較演算子よりも「〜個の〜」の優先順位を上げて, 「a=4個のx=y」のような比較演算を使うときは「a=4個の(x=y)」というようにカッコを強制するというものだ。 それなりに悪くない気はするが,「a=4個の1+2」にはカッコがいらないのだからちょっと気分が悪い。
文科省のサイトで 高等学校「情報」実践事例集 が公開されたので, プログラミングのところをPyPENで実装してみようと思った。 元ネタがPyPENのものは問題ないのだが, ライフゲームについてはなぜかうまくいかない。 これは明らかにPyPENのバグなわけで… しかも先日 気になっていたところ と同じところに根がありそう。 そんなわけで間に合わせ的にやってる前処理関数を全部廃止して, その代わりにマメにするべき処理をスタックに積むようにしてみた。 これでだいぶ見通しは良くなったはず。 なお,ライフゲームのプログラムは こんな感じ 。 たぶん実践事例集のプログラムは盤面初期化のときのhとwが逆になってる。