2015年1月16日金曜日

コンピュータリテラシー

情報リテラシーと言った場合かなりコンピュータリテラシーと混同されているように思われる。情報~コンピュータという構図は奇妙だ。ちゃんと分けてそれぞれの趣旨や目的を明確にして学習してほしい。とくに「コンピュータが使える」というのなら、しれっと英文にマルチバイト文字を混ぜたり、異なる改行コードを混在させたり、フォーマットを統一しているふりして適当なデータをよこしたりしないでほしい。なぜコンピュータを用いるのか?その根本は機械的処理にあったのではないか。機械的処理にコンピュータを使えないのならそれは「コンピュータが使える」とは言えないし、機械的処理にふさわしいデータとはどのようなデータなのか考えられないのなら、「コンピュータについて知っている」とすら言えない。そして機械的処理を行わないのならコンピュータを使用する必要すら無い!

問い:ウェブブラウジングと機械的処理との関係を述べよ。

2015年1月15日木曜日

FreeBSD

昨年の末までGentooを調子良く使っていたのだが、新年気を新たにとFreeBSDを入れてみることにした。ユーザー名に"."を使えるかどうかは自明ではないようだが、Mac OS X, Gentoo, そしてこのFreeBSDはOK。はずかしながらとうとうGentooで無線LANを動かすことができなかったのだが、FreeBSDではインストールの段階で自動認識してくれた。portage vs ports は好みが分かれるところだろうが、自分は毎回コンパイルオプションを聞いてくれるportsの方が好み。成功率もportageと比べるととても高い印象。(成功率、という表現はいかに私が怠惰かを表現しているわけなのだが)代数曲面描画ソフトsurfはたしか色々と依存性が複雑で前にDebianか何かにインストールしようとして悲惨なことになった覚えがあったのだが、問題なくmake installで入ったのには感動した。しかしxmonadはcore dumpしてしまう。twmが思ったよりも使いやすく(やはり怠惰ゆえなのだが)これに落ち着きそうだ。デスクトップ上にアイコンのような形で二次元的に最小化しておけるのが楽。タスクバーへの最小化は意外と使い辛い。......というわけで誰の役にも立たないただの日記であった。

2014年12月30日火曜日

xargsに空白を含む文字列を渡す

xargsに空白を含む文字列を渡すにはsedなどで空白をエスケープしてやればよい。

... | sed "s/ /\\\\ /g"|xargs ...

2014年9月29日月曜日

代数構造

「人間が数を(勝手に)足したり掛けたりするのだ」というのが昔の数学だとすれば、今は「数は(自然に)足し算や掛け算の構造を持っている」というのが現代流の数学の考え方のように思える。そもそも数に代数構造を定義できるのは数が代数構造を持っているからに他ならないわけでそれをあたかも人間が定義したかのようにいうのはおこがましい。

2014年4月29日火曜日

下付き完全反対称テンソルの負符号の起源

完全反対称テンソル$\epsilon^{{i}_1{i}_2\cdots{i}_n}$そのものが出てくる理由は体積素もといwedge積とかそういうところにある。だから平坦な場合
\[
\epsilon^{{i}_1{i}_2\cdots{i}_n} \equiv \mathrm{sgn}\begin{pmatrix} 1 & 2 & \cdots & n \\ i_1 & i_2 & \cdots & i_n \end{pmatrix}
\]
で、相対論なんかが関わるときに出てくる$\epsilon_{0123}=-1$のなぞについては
\begin{eqnarray}
\epsilon_{{j}_1{j}_2\cdots{j}_n} &\equiv &
\epsilon^{{i}_1{i}_2\cdots{i}_n} g_{i_1j_1}g_{i_2j_2}\cdots{g}_{i_nj_n} \\
&=& \mathrm{det} g \mathrm{sgn}\begin{pmatrix} 1 & 2 & \cdots & n \\ i_1 & i_2 & \cdots & i_n \end{pmatrix}\\
&=&\mathrm{det} g \epsilon^{{i}_1{i}_2\cdots{i}_n}
\end{eqnarray}
なので、$g$の性質いかんで符号や係数がつく。上の$i_n$はMinkowski添字で、一般座標の添字を考えれば曲線座標バージョンの定義についても納得がいく。

2014年4月4日金曜日

ダブルポインターのこころ?

文字列の集まりを管理しようと思ったら、それぞれの文字列の先頭のアドレスを集めておきたいですね。文字列そのものよりも文字列の場所を教えるほうが親切です。アドレスを格納するのがポインターでしたから、すなわちポインターの配列 *argv[] です。でも渡すのはこのポインターの配列の先頭のアドレス(と文字列の数)だけで十分ですから、ダブルポインター **argv (と argc )が渡されます。

2014年3月28日金曜日

結合則

結合則が成り立つのは総*があるときか。例えば足し算を例にとると、足し算は結合的であるというよりは、総和というものがあって、これは二項演算に帰着できるというほうが正確ではないか。max, minなどについても同様。