Irrational Universe

この素晴しく不条理な宇宙について

Category: コンピュータ (page 1 of 2)

工夫しだいで楽しいLinux環境

お久しぶりでございます。ちょっとこの頃長い文章が書けなく
なっていたので、ご無沙汰していました。

文章を書くくらいならソースコードを書こうと思っていたから
かもしれません。

## autoconfと英英辞典

プライベートでMakefileを書こうと思ったのですが、面倒くさい
な〜と。ふとInfoを見たら[automake](https://www.gnu.org/software/automake/)が目に止まって。そこに
簡単な例が載っていたので試してみたら簡単にconfigureが
できてしまいました! 何これ嬉しすぎる! ということで
最近は[autoconf](http://www.gnu.org/software/autoconf/autoconf.html)のInfoを読んでいるところです。

GNUのInfoはやっぱり出来のよいものが多いなという気がします。
解説書を読むよりInfoを読んだほうがいい。これがマニュアルの
本来の姿なんだとは思いますが、マイクロソフトのヘルプを
始めとして解説書が必要なものが多々ありますね。

Infoは英語のものが多く、autoconfのものもまた英語なので、
辞書ソフトなどを利用しながら読んでいます。で[Weblio](http://ejje.weblio.jp/)などの
英和辞書を引いてみたりしたのですが、やっぱり[OALD](http://www.amazon.co.jp/DVD-ROM-9/dp/4010752998/ref=dp_ob_title_bk)と比べると
明快さで劣りますね。OALDを引くと意味がすぱっとわかる。

私は英英辞典はOALDしか知りませんので、こう書いていますが、
英和辞典しか使ったことのないかたは是非英英辞典を試して
みてくださいな。([かなとも](http://ameblo.jp/juicejuice-official/theme2-10073622432.html)風)

## freshなflash

あと最近嬉しかったこととして、Adobe Flashのことがあります。

AdobeはLinux対応を打ち切ったので、Adobe Flash、Adobe Reader
などは新しいバージョンが出ません。セキュリティ対応をして
くれるくらいです。

Adobe Flashが非常に古く、バージョン11だったので、[Dailymotion](http://www.dailymotion.com/jp)では
ラジオや動画がFirefoxでは再生できなくなってきました。

Flashは死にかけなので、それはそれでも構わないのですが、
やっぱりDailymotionは見たい。そんなときはGoogle ChromeのLinux
版を使えば見られるので、それで見ていたのでした。

ある時ふと思ったのはChromeのflashプレイヤープラグインはLinux対応
なんだから工夫すればFirefoxからも使えるのでは? ということでした。

検索してみたら、なんとそういうライブラリを作っている人たちが
いました。最初はうまくいかなかったのですが、Firefoxを再コンパイル
してみたらなんと動くようになったのです! Chromeと同じ
バージョン18のFlashプレーヤープラグインが動作するように
なりました。このライブラリは[freshplayerplugin](https://github.com/i-rinat/freshplayerplugin)と言います。

動作するのも嬉しかったのですが、自分がそういうのを作って
しまう人たちと同じ発想をすることができたということが
何よりも嬉しかったです。そういう記事を見て動作させたのだったら
これほど嬉しくはなかったでしょう。

## THE MENTALIST

Flashといえば[Hulu](http://www.hulu.jp/)もまだFlashを使っているようです。

わたしはほとんどドラマを見ないのですが、海外ドラマの『[THE MENTALIST](https://ja.wikipedia.org/wiki/%E3%83%A1%E3%83%B3%E3%82%BF%E3%83%AA%E3%82%B9%E3%83%88_%28%E3%83%86%E3%83%AC%E3%83%93%E3%83%89%E3%83%A9%E3%83%9E%29)』はその例外の一つです。無茶苦茶面白い。Huluに入ったのも
これを見るためだけにです。全話見たら解約するでしょう。

でLinuxでの視聴なのですが、字幕が文字化けするのですね。
フォントの問題だそうです。でメイリオを入れれば解消される
のですが、ライセンス上それはよろしくないようです。

ということで[源ノ角ゴシック](http://www.panarea-is.com/new-font-family-source-han-sans/)のフォント情報をメイリオにした
ものをインストールしたら解消されました。

しかし、そのフォントは固定ピッチのものを使っていたのですね。
プロポーショナルじゃないから字幕程度なら問題はないのですが、
なんとLinuxのフォントのほとんどが源ノ角ゴシックの固定ピッチに
なってしまうのですよ。なぜ[KDE](https://www.kde.org/)(私が使っているGUI環境)がメイリオを
優先して使うのか。そちらもかなり問題ですが、とにかく
固定ピッチのフォントの環境には耐えられません。かといってその
フォントをアンインストールしてしまえば『THE MENTALIST』は
文字化けしたまま。

いろいろ悩んだ末に、源ノ角ゴシックのプロポーショナル書体の
フォント情報をメイリオに書き換えることにしました。試行錯誤の
結果なんとかできました。やはりプロポーショナルのフォントは
美しい。字幕もちゃんとプロポーショナルになって満足です。

わたしは[Takaoフォント](http://ubuntuyome.blogspot.jp/2011/03/takao-d.html)のきりっとした感じが好きなのですが、
源ノ角ゴシックのちょっと柔らかさが含まれたフェイスも
気に入ってます。源ノ角ゴシックは商用レベルのフォントなので、
クオリティが高く、常用に十分耐えられます。

ライセンス的にはどうか、というところですが、改変は自由な
ようですし、自分以外は使っていないので、問題ないと思います。

[fontforge](http://fontforge.github.io/en-US/)は初めて使ったのですが、とかく難しいフォント問題を
いい形で解決できて楽しい経験でした。

## 2ちゃんねるプロキシとIPv6

そういう意味では[2chプロキシ](http://prokusi.wiki.fc2.com/wiki/%E3%83%88%E3%83%83%E3%83%97%E3%83%9A%E3%83%BC%E3%82%B8)のIPv6対応も楽しい経験でした。

わたしは狼住人。責任ある歴史家ならきっとそう分類するだろう。

それはともかく現状の2ちゃんねるは対応している2chブラウザでしか
閲覧できないのですね。もちろんWebブラウザでは閲覧できますが、
未読管理ができないのでそんなことはしません。

で、わたしがLinux上で使用している[JD](http://jd4linux.osdn.jp/)という2chブラウザは
フリーソフトウェアであるという理由で対応が拒否されて
いるようです。つまりJDそのままでは狼を読んだり書いたり
することができない。

弥縫策として[VMWare Workstation](http://www.vmware.com/jp/products/workstation/)上のWindows 7でJane Styleを
使ったりしていたのですが、どうも面倒くさいし、重たいし、
フォントが汚くて耐えられません。

で頭のいい人はやっぱりいるもので、2chプロキシというものを
かませば、対応していない2chブラウザでも2ちゃんねるの読み書きが
できるとのこと。わたしもソースを拾わせていただいて、
コンパイルして使ってみたらなんとちゃんと読み書きできるのです。
これでJDで狼が楽しめる! ということでしばらくご機嫌でした。

しかし日が経つにつれて、ごく小さな不満が。わたしの家はIPv6が
使えるので、狼にもIPv6で接続していたのですが、2chプロキシは
IPv4しか対応していないので、IPv4を使わざるをえなかったのです。

ある日意を決して2chプロキシをIPv6対応にすることにしました。
検索をいろいろして意外に簡単に対応完了。幸運なことに一発で
動作しました。参考にさせていただいたWebサイトに感謝です。

で満足して狼を読み書きしています。ただこれをパッチとして
公開してもいいんですが、Linux上でIPv6を使って2ちゃんねるに
アクセスする人ってほとんどいないだろう、ということで
そのままにしています。Windows用の配慮はしていない(から簡単に
対応できた)というのもあって、公開する価値もないかなと
思っています。

一番の理由は2ちゃんねるにIPv6でアクセスした
からといってこれといったメリットはないんですよ。少し
速いような気がするくらいです。なのでそのままです。

## プロプライエタリとオープンソースの間

プロプライエタリな環境にも一理あって、やっぱり著作権の
財産権的側面には配慮が必要だとは思うんですよ。
オープンソースソフトウエアと映画を同列に扱うのには
無理があります。

それはそれとして、いろいろ工夫すればLinux上でも快適な
環境を楽しむことができるということでした。

例えば[Apple Music](http://www.apple.com/jp/music/)ですが、Linux上にはiTunesはないので、
Linuxパソコンで再生することはできません。

でもiPhoneで再生してBluetoothでLinuxに飛ばせばパソコンに
付いている割と音のよいスピーカで聴くことができるのです。
Apple MusicはAndroidにも対応するとのことなので、Androidから
Bluetoothで飛ばすこともできることになります。

iPhoneというクローズドな環境でしか楽しめないかと
思っているようなものもBluetoothという標準をサポートして
いれば応用範囲が広がるということだと思います。

気付けば25年

大学で初めてUnixワークステーションを触ってから
25年経ちました。

仕事はWindowsが多かったものの、私の根底にはUnixの血が
流れていたと思っています。

何度も書いていますが、今パソコンでLinuxを使えるというのが
どんなに嬉しいことか。昔ワークステーションを思う存分使い
たかったのですが、その夢が実現しているのです。多くの
フリーソフトウエア、オープンソースの開発者の方々に
感謝しています。

## 端末こそ窓

しかしX Window Systemも息が長いですね。そろそろWaylandという
新たなディスプレイサーバがとって代わるのかもしれませんが、
X Window Systemのアプリケーションをサポートするようです。

最初ワークステーションにログインしたときにはktermが3つ
開きました。ウインドウマネジャーは当時高機能だったtwmでした。
twmは今でも使われているのか、Linuxディストリビューションに
バンドルされています。

EmacsはすでにXに対応していたので、ktermからemacs &として
起動したものでした。

その当時のインプリントなのかわかりませんが、今でも
端末エミュレータを2個以上開いています。端末エミュレータが
ないと何か息苦しさを感じます。窓がないような感じです。

そしてEmacs。1文字も書かない日がよくありますが、必ず
立ち上げます。25年も使っているとviもEmacsも使えますが、
日本語の文章を書くときにはEmacsですね。ちなみに
EmacsのパッケージのEvilというものを使っています。
Emacs上でvim(viの機能強化版)をエミュレートするものです。
ですからEmacsとviのいいとこどりをしているような感じです。
やっぱりテキスト操作はviが優っていると思います。

## /bin/su – root

UbuntuというLinuxディストリビューションではrootでの
ログインができないようにしてあって、管理者権限で行う作業は
sudoでやるようになっています。これはこれで見識だと思います。

でも私の使っているFuntoo Linuxではそのような制限がないので、

> /bin/su – root

でrootにした端末エミュレータを常時起動しています。

常時起動しているなんて言ったら、昔なら怒られてしまいますね。
必要なときのみrootになりなさい、って。でも今は家で使って
いるので、他の人に使われる心配はありません。なのでだらけて
rootの端末エミュレータを常時起動しています。

その割りに守っているのが

> /bin/su – root

です。たぶん「su」だけでもいいのですが、suがPATHのどこかに
悪意あるプログラムとして置いてある場合、セキュリティ問題に
なります。ちゃんと「/bin/su」と指定しないと駄目だよ、と
アドバイスされたのを守っています。「-」はroot権限だけでなく、
rootとして新たにログインした状態になるようにという設定、
そして「root」とrootになることを明示しています。

こちらも考えてみたら自分しかこのパソコンを使っている人は
いないので、悪意あるsuをインストールする人はいませんよね。
ただディストリビューション側でsuというコマンドがどこかに
置かれる可能性がないとは言えないので、まあ守っています。

## rootでログイン?

若い人がroot権限が必要なプログラムが多いというので、
ディスプレイマネジャーからrootでログインしていたのには
驚きました。私に「便利ですよ」とお勧めまでしてくれました。

古いUnix使いの私にはちょっと考えられない。そもそも
ディスプレイマネジャーがrootログインを許可するのが
変じゃないかと思います。でもできちゃうみたいですね。
いくら便利でも私はやりませんが。

最初からrootというのはUnixのアクセスコントロールを
根底から覆すものだと思うのです。セキュリティ問題になるというので、
loginプロンプトからのrootログインを禁じたところもあるというのに。
時代と言えば時代ですが、やっぱり口やかましい先輩も必要なんじゃ
ないかと思います。でも私はお説教はしませんでした。(日和った)

## make一発

Joelの『[Joel on Software](http://amazon.jp/dp/4274066304)』
では成果物はコマンド一つでできあがらないといけない、という
ことが書いてあります。これをやってこれをやってというふうに
成果物を作るのに手順があると、いざというときに間違える危険が
あるというのです。

私もそれを守って、久々にMakefileを書いて、makeでコンパイルして
必要なところに置く(までやったかな)ようにしてみました。

自分にとっても便利でしたが、その若い人にも便利だったようです。
私の成果物を使うのですが、「どうやってインストールするんですか?」
と聞かれて「make」と打てばいいんだよ、と教えたら
「それだけでいいんですか!」と驚いていました。
以後は私のソースが改版されるごとにmakeで新しくしていったようです。
こんなに単純にインストールできるなんて思ってもみなかったん
でしょう。よく手順書がありますが、それが必要だと思っていた
ようです。

うーん。Joelは偉大だ。

2日も続かないとは

毎日ブログを書くと宣言しておいて、2日目から続かないとは
自分でも思っていませんでした。

言い訳を言わせてもらうと、昼寝とか酒を飲んだりするといった
大事な用事があったので、ついつい後回しになってしまったのでした。

昼寝はいいですね。このごろ休みの日には昼寝をしています。
私は昔は昼寝ができなかったのですが、寄る年波といったところで
しょうか。

あくまでも私の場合ですが、清酒は腸によいので、夕方から
飲み始めます。二合も飲まないですけどね。でつまみを食べて
ご飯を食べたら、なぜか寝てしまいます。早い時間なのに。

このゴールデンウイークはほんと何にもしないということで
十分満喫しています。そう言いつつもちょこちょこプログラムを
直していたりして。でも本気というわけじゃないので、
気が向いて、ちょっと不便があったので、という感じです。

ストラウストラップの『プログラミング言語C++ 第4版』を読んで
いるのですが、連休中はほとんど進んでいません。

ただC++の進歩はすごいですね。とうとう変数の型宣言をしなくても、
というか’auto’という型で宣言するだけでよいようです。

もともとオブジェクトには型はあるけど、変数に型はいらない、という
意見もあったわけで、Lispなんかそうですよね、とうとうC++まで
という感じもします。

そしてSTL。コンテナと呼ばれていますが、型から独立した
データ構造がサポートされています。これはC++の大きなアドバンテージ
という気がします。CではなくてC++を採用する大きな動機となる
でしょう。

私は昔作ったライブラリで配列ではなくリストを使いました。
配列は最大値が決まってしまうのがおもしろくないのです。
まあ最大値を超えそうになったらrealloc()でもすればよいの
かもしれませんが。

STLでは配列のように使えるVectorというデータ構造をサポートして
います。配列のようにアクセスが速く、要素数は増えてもよい。
これだったら使っていたと思います。リストはアクセスが遅いのが
難点なんですよね。まあ少量のデータなら違いはほとんどないと
思います。リストにはリストのよさがありますが、ストラウストラップ
先生も書いているように、データ構造の最初の選択肢としては
Vectorだと思います。

なんかC++の話になってしまいました。じゃあもう少し続けます。

これだけデータ構造がサポートされていると、C++でプロトタイピング
ができるんじゃないかと思います。もちろんGUIについては
それぞれのライブラリに依るので、そこは何とも言えないのですが、
ロジック部分なんかは最初C++でプロトタイピングを書いてそのまま
製品版に採用ということもありうるのではないかと思います。
ストラウストラップ先生はそこは言及していませんので、あくまでも
私の感触です。

そしてC++はオブジェクト指向言語という範疇はすでに脱却している
ように思うのです。どちらかというとオブジェクト指向は添えもの
的な感じがします。もちろん重要な機能ではあります。STLだって
オブジェクト指向の言語でなければ使うことができません。

オブジェクト指向の言語は使うだけなら結構やさしいと思うのです。
オブジェクトを決めたらそれに備わっているメソッドを呼び出す
だけですからね。今はメソッドを補完してくれたりするので、
さらに楽です。初心者でもすぐ慣れると思います。

ただ自分でクラスを作るのは結構難しいので、そこは使うのに
十分慣れてから、ということになるでしょう。まあ構造体が
わかっていれば少しは楽ですが、でもやっぱり自分以外に
使ってもらえるもの、使いやすいものを作るのにはそれなりには
難しいです。ただクラスを作れないとSTLも宝の持ち腐れに
なってしまうので、若干無理してでも挑戦してみないと
いけないでしょうね。

あとC++はソフトウエア製品の品質を上げるのに嬉しい機能を
どんどん追加しています。これはストラウストラップ先生の
設計方針でもあります。例外が起きてもちゃんとデストラクタが
呼ばれるというスマートポインタとか嬉しいですよね。
メモリリークを心配しなくて済むのですから。

とは言え、ストラウストラップ先生はなるべくポインタを
使わないようにして、STLのコンテナの使用を勧めています。

あと標準のstring型ってreturnで返せるようになっています。
しかも効率はそれほど悪くないそうです。Cプログラマから
見ればなにそれって感じの便利機能ですよね。便利とまでは
いかなくてもメモリ管理について悩まなくて済みます。
文字列操作をサブルーチンに分割するのにも楽になりますね。

まあいろいろありますが本当に勉強になります。勉強というか
自分の考えていたことが合っているのか間違っているのかに
ついてアドバイスをもらえるような気がします。

ということでとりとめもない記事となりました。
こんなような雑談みたいな記事を今日はあと2つ投稿する
つもりです。

できるのか?

あっという間にIPv6

## 隼なのに

私の住んでいる集合住宅は1980年築という年代物です。
部屋は畳敷です。天袋もあります。まあその辺のことは
おいおい書くつもりです。

で、部屋を決めた理由の一つに

* エアコンが新しい (といっても2011年製)
* フレッツ光ネクスト隼対応

があります。一つと言って二つありますね。

隼というのは1Gbpsの光回線です。しかも部屋まで光ファイバーを
引いてくれるのです。

でもしばらくはこれも年代物のIntel Atomネットブックを
使っていたので、それほど恩恵を感じませんでした。
これはしょうがないと思っていました。

ところが先日「ぼくのパソコン」を買って、ギガビットイーサの
ポートになったのですが、あまり速くありません。

深夜にYouTubeを見ると止まったりするのです。ダイアルアップ
回線のようです。昼間は速かったりするので、どこかの部屋の住人が
P2Pでもやっているのだろうか、とか、LANケーブルが悪いのだろうか、
などと考えていました。

でもこの建物はガラガラです。同じ階には6部屋あるのに2部屋しか
住んでいません。全体的に居住しているのは老人が多い。
ということは建物内の住人の問題ではなかろうと推測しました。

またLANケーブルもカテゴリー5e以上であればいいらしいので、
これも大丈夫そうです。

## 犯人はプロバイダ

で、遅い原因は何だろうとじっと考えてみて思い当たったのは
プロバイダでした。

私はキャッシュバックと勧誘員のしつこさに耐えかねてフレッツを
契約したものですから、その契約時のプロバイダをそのまま
使っていたのです。私は意外にも動画をダウンロードしたり、
オンラインゲームをしたりしないので、
それほど気にもならなかったのです。しかし今はたまに見るYouTubeが
止まる訳ですから、これはいくらなんでもおかしいです。

ということでプロバイダ変更をしようとして、いろいろ探してみました。
なんかIPv6に対応しているプロバイダもあるらしいので、その一つの
So-netに申し込んでみました。が、Webページでなぜか隼のIDが
入れられない仕様(フレッツ光プレミアムには対応)でした。

So-netコールセンターに電話して申し込みをしたのですが、
結局入会できませんでした。こんてんつ会員だったので、
接続会員に変更してもらおうとしたのですが、クレジットカードが
必要ということでした。私はVisaデビットしか持っていないので、
これだと駄目ということで断わられてしまいました。

新規入会だと口座振替で入会できると言われたのですが、
そもそも隼対応しているのかどうか、フレッツ光は引いてあり、
プロバイダを変えたいだけなのに新規入会だと回線を引き直さないと
いけないんじゃないかとか懸念したので、しっかり調べることにしました。

## PPPoEとIPoE

調べてみるとIPv6には「PPPoE」と「IPoE」という2つの接続形態が
あることを知りました。そしてIPoEのほうがネイティブ方式とか
言うらしく、フレッツ光ネクストでひかり電話を使っていれば
別に機器を用意
する必要もなく、素性がよいらしいことも知りました。

私はその条件に当てはまります。
そこでIPv6 IPoEに対応しているプロバイダとして
「[IIJmio](https://www.iijmio.jp/)」を見つけました。

## そしてIIJmioにしてみました

IIJmioはIIJの個人向けサービスなので、まあ大丈夫だろうと思い、
深夜Webから申し込んでみました。クレジットカード決済のみですが、
ジャパンネット銀行のVisaデビットカードなら申し込めました。

そして驚くことに、申し込んでから15分くらいで開通してしまいました。
深夜なのに。フレッツ側にもIPv6を使いますという登録をしないと
いけなくて、これには1時間くらいかかりますと書いてあります。
IIJmioはこれも代行してくれて込みで15分くらい。びっくりしました。

そして実際にルータの設定を変更して接続してみました。IPv6は
設定らしい設定はいりません。IPv4のほうは接続IDとパスワードが
必要でした。

つまりIPv6はIPoE、IPv4はPPPoEで接続するのですね。
現存する膨大なIPv4サイトにはIPv4、新しいIPv6サイトには
IPv6でアクセスしているのでしょう。IPv6でIPv4サイトには
アクセスできませんから。いろいろ見てもはっきり書いて
ありませんが、たぶんそういうことだと思います。

結果は「速い!」。久々にテンションが上がりました。いや、
つい先日「ぼくのパソコンだ!」とかってテンション上がって
ましたけどね。

どのサイトを見ても速い。また
YouTubeの1時間の動画がビューッとダウンロードされるのです。
胸の空くような感じです。

スピードテストでもIPv4向けでは54Mbpsと平凡な値ですが、
IPv6向けでは650Mbpsと驚きの値です。

毎月の料金も
[Toppa!](http://toppa.excite.co.jp/)(書いちゃった!)では
1,800円くらい、[IIJmio](https://www.iijmio.jp/)でも2,160円(税込)
と大差ありません。IIJmioではメールボックスをくれたり
しませんが、そういうのはレンタルサーバでやっている
私には不要なので、ちょうどいいです。

とにかくあっという間にIPv6にも対応して、「ネットが速くなった」
し、料金も大差ないので、大満足です。

## 思えば20年

IPv6は20年くらい前から話はありました。やっと庶民の手の届くものに
なりました。「時代はゆっくりと動いている」のですね。

ぼくのパソコンだ!

## 古いネットブックを使っていました

長らくIntel Atomのネットブックを使わざるを得ず、不便でした。
やはり5年以上前のパソコン、しかもネットブックですから、
動くだけでもありがたいものです。

しかしやはり私はパソコンの画面から世界を眺める者です。
またプログラマとして勉強をしたい者です。ネットブックでは
開発などままならず、鬱々として過していました。

## やっとパソコンを買いました

そのネットブック上で家計簿ソフトを付けて、なんとかパソコンを
買えそうでしたので、購入に踏み切りました。

ディスプレイは持っていたので、本体だけ7万円で購入しました。
その金で借金を返したり、税金を払えって話ですけどね。
まあそういうものは計画を家計簿で立てて、粛々と払っていきます。

そのためにもパソコンが必要なのです。

## 機種の選定

自作はお金がかかるので、ドスパラで買いました。昔Core i7 2600K
でパソコンを組み立てましたが、CPUパワーがかなり余るんですよね。

お金の制約もあるので、今回はCore i5、型番でいうとCore i5 4590に
しました。

Core i5がどのくらいの速さなのか調べるために、ドスパラのなんば店
で触ってきました。Windowsではかなり軽い! ということでこれなら
大丈夫だと思い、通販で購入しました。2日で届きました。早いね。

メモリは8GB、ハードディスクは1TBでSATA3接続。十分です。

## さてGNU/Linuxをインストールしよう

届いたら当然、ハードディスクに入っているWindowsはリカバリ
領域もろとも消しさられてしまいました。リカバリDVD-ROMがあるので、
当面は困らないです。

そしてFuntoo Linuxのインストール。もう何度目かの実践なので、
間違いもずっと簡単に間違いつつ、インストールが進みました。

そもそも最初のバイナリのインストーラにHaswell用(Core i5 4590など)
のものが用意されていました。ですからギュンギュン動きましたよ。

64ビット用のソフトウェアも、そのCPU用にコンパイルし直すと
2割くらい速くなる感じがします。(個人の感想です)

それが最初から用意されている訳ですから遅い訳がありません。
とにかく何もかもが速く進みます。Firefoxを20分くらいでコンパイル
できるんですよ。Atomでは3時間以上かかっていたような気がします。
LibreOfficeもAtomでは36時間くらいかかっていましたが、Core i5
4590では1時間くらいです。

## 当たりのCPUかも

ということで、楽々常用環境が整ってしまって、冒険のしどころが
ありません。

ここで思うのはこのCore i5 4590は当たりのCPUかもしれません。
もっというと今回のHaswellシリーズは出来がよいのではないでしょうか。

当たりって何だよ、という話ですが、これは想定よりも速いという
ことでいいと思います。あるいは酷使しても使える動作をするとも
考えられます。

私が使った当たりのCPUとしてはE8400があります。これは当初は
速かったのですが、最近でもそれなりに動作しました。ソフトウェアの
進歩に耐えられる感じですね。

外れのCPUとしてはQ6600、これは電気をやたら食いました。
あとは2600K、これは思ったほど速くない。がっくりですよ。

今回のCore i5 4590についてもこれで電気代があまり掛からなければ
合格ですね。まあ今は昼間家にいなくて、起動しないわけですから、
電気代についてはそれほど心配しなくてもいいような気がします。

## 家に帰りたい

という訳で最近は仕事が終わると家に帰りたいのです。外食している
より、スーパーで2割引のお弁当と半額のサラダと果物を買って、
帰宅したいのです。待望の「ぼくのパソコン」がある訳ですから。

これは新婚の料理上手の奥さんがいるのと心境が
似ているのかもしれません。

タイトルはカート・ヴォネガット・ジュニアの『母なる夜』の中からです。
14年間行方知れずになっていた妻と再会したときに、主人公の
ハワード・キャンベル・ジュニアが
「ぼくのワイフだ!」と叫んだところから来ています。

神とわが家族

## 時代はゆっくりと動いている

この間、プリンタをつなぐときにCUPSをインストールしたんですが、
その時に思いついて、HTTPサーバをApacheでなく、Nginxにして
みたんです。そうしたらすごく速い。一般的な話ではなく、
localhostにアクセスするだけなので、そういうケースだけなのかも
しれませんが、速いのはいいですね。

私は基本的にはTodoリストを使うのですが、個別の問題については
チケットベースのIssue管理をしたくなることもあります。たとえば
今使っているマシンにどのようなソフトウエアをインストールして
いこうか、とかどのように設定を変更していこうか、など。

これらはTodoではあるのですが、期日を明確に定めて実行する性質の
ものではなく、問題として管理をしたほうがよい性質のものです。
また、あとで見直したいものであり、コメントを付けていきたい
ものでもあります。そして特定の分野に関連しているものであり、
生活上のTodo(支払いとか買い物など)とは明確に区別できて、
その中に埋もれさせたくないものです。

ということでそういうものを管理するために、Redmineを使って
います。昔はApache+passengerでRedmineを動かしていたのですが、
何となく動作が重かったのです。なので、localhostではなく、
VPSを借りて動かしたりしていました。

今回はNginx+unicornで動かしてみました。そうしたら、Intel Atom
のマシンなのに、そこそこ軽く動くのです。これなら使いやすいなと
思ったところです。軽いのはRubyが2.1になったからかもしれません。

ちなみにVPSで動かすのは、localhostではなく、外出先からも
スマートフォンなどで見ることができるので、メリットもあります。
ディスクの破損にも強いでしょう、たぶん。その代わり、セキュリティ
に注意しなくてはならないというデメリットもあります。

今回はlocalhostだけで見られればよい性質のものであり、
そこそこ軽く動作するので、Nginx+unicornで大満足です。
VPSで動作させる場合もこの組み合わせを採用したいところです。

VPSも月に1,000円以下で借りられるものもありますね。
レンタルサーバも安くていいのですが、RedmineはHTTPサーバの設定を
変更するとか
RubyGemsを入れたりするので、VPSで自前でやったほうがやりやすい
と思うのです。

## 私は私とコンピュータで成立する

そんな作業を台風の日にやっていました。久しぶりにLibreOfficeの
コンパイルから解放されてやっとマシンが軽く動くようになったから
です。もちろんそれ以外にもいろいろソフトウエアを入れたり、
設定を変更したりしました。

こんなことを日がな一日やっていて、すごく満足なのです。これは
大学でコンピュータと出会ってからか、Dynabook J-3100ss001を
買ってもらってからか、いつからかはわかりませんがそうなりました。
生活の中にコンピュータが組み込まれてわかちがたくなったのです。

大げさに言うと私は私とコンピュータで成立するのです。

それはもちろん私は食べ物や飲み物、処方薬とタバコとコーヒー、
インターネットや電気などさまざまなものに依存しています。
また、コンピュータはLinux、Ruby、Redmineなどなど、たくさんの
人様の作品に依存していることも確かです。

ただどう環境が変わろうが、人間関係が変わろうが、私は私と
コンピュータがあればそれで一つの共同体のようなものだと
言えます。それだけで完結しているようなものです。

たとえば、今私は冷蔵庫を持っていません。でも何とかなります。
冷たいものを飲みたいときは、買ってくるか、水道水を飲みます。
食べ物もコンビニやスーパーで安くてすぐ食べられるものか、
冷蔵庫に入れなくても日持ちするものを買って食べます。何とかなるのです。

そして今使っているネットブックはとても遅いので、かわいい奴ですが、
新しいコンピュータが欲しいなと思っています。

私がどちらを先に買うかはおわかりになると思います。
特段の事情がない限りコンピュータでしょう。

## 付言

本当はもっと長く書く予定でしたが、途中で書きさしたため、この辺で
閉めることにしました。

話の内容に比してタイトルが「神とわが家族」というのは大袈裟すぎますが、
これは『Masterキートン』のある回で、紋章に「神とわが家族」と書いて
あることから採りました。この人は「神とわが家族」があれば成立する
んだなという気持ちになりました。

これを自分に引き比べてみると「私と私のコンピュータ」なのかなと思い、
このような内容になりました。紋章を作る機会があったらラテン語で
書いておきたいと思います。

時給850円

日々アルバイト(単発の1日派遣)をやっているわけですが、

* 時給850円
* 時給1,150円
* 時給1,600円

というのを経験しました。
やっぱり時給と大変さは正の相関関係があると思いました。

この中では時給1,150円がバランスがいいのですが、こういう仕事はあまりあ
りません。時給1,600円は無茶苦茶大変でした。最後は顔面蒼白でした。

ということで時給850円の仕事をやることが多いです。大阪府の最低時給が820
円だそうなので、時給は安いのですが、黙々と作業することが多く、私に向い
ていると思います。

それに比べるとプログラマやSEの仕事は時給2,000円くらいが普通にあり、随
分恵まれているように見えます。しかも大阪ではプログラマやSEの仕事は売り
手市場らしいです。本当なのだろうか、と思いますが、市場がどうであれ、自
分がちゃんと派遣の仕事に就けるかどうかが目下の問題です。

ただ正直に言わせてもらうと派遣のプログラマやSEは、今までのアルバイトの
時給と大変具合から考えて時給5,000円くらいもらってもいいと思います。時
給2,000円は知識と経験と労働と心労を考えると安いですね。まあ派遣会社に
は時給5,000円くらい払っているんでしょうが。

でも自分にとっては時給2,000円は高いです。時給850円くらいが合っていると
思います。

## 付言

人材派遣会社の女性のネイル率はかなり高いです。3/4がネイルをしていまし
た。それも仕事に必要なのかもしれませんね。

あと人材派遣会社のIT担当の人はどのくらいITの仕事を理解しているのか、
ちょっと不思議に思います。ITの実務経験があるのか、それともキーワードの
みマッチングさせているのか。結構後者に該当する方が多いのかもしれません。

厳しい、でもこういうのが受けたかった科目

「恋愛観・結婚観」の「Continue reading」を押している
悪い子が多いようですね。困ったもんです(自分で書いているくせに)。

願わくば読んでおられる方が、知り合いではなく、
Facebook、mixiなどから何気なく来られた方であることを祈ります
(じゃあ書くなよ)。

## 講師になったつもりで

私はSFCでコンピュータサイエンスの一部を学びました。
素晴しい講義が多かったわけですが、それでも私が
知りたいことを完全に充足してくれるような科目はありませんでした。

今回は私が講師になったつもりで、その科目を構成してみたいと
思います。

## 科目紹介

この「実用ソフトウエア概論」では様々な実用的なソフトウエアが
どのように構築されているかについて、駆け足で学びます。
言語はCまたはC++その他を使います。
全てを知っている必要はありませんが、
Cのポインタについては習熟しているほうがいいでしょう。
この科目を通じて習熟する、というのならそれでも構いません。
分量の多い、宿題の多い厳しい科目となりますので、覚悟して
受講して下さい。

## シラバス

あなたはエディタ、たとえばGNU Emacsがどのように作られているか
知っていますか? Webブラウザがどういうふうに構築されているか
想像がつきますか?
コンパイラがどのようにして構成されているか知っていますか?
Rubyはどのように動作しているのでしょう。
記号微分のプログラムを書いてほしいと言われたときにどうしますか?
(数値ではなく数式を扱う、ということです)

この科目を通じて、普段使っているようなプログラムがどのように
構成されているかを学びます。本当はソースコードにあたるのが
一番なのですが、それでは時間が足りません。私から大まかに構造を
説明します。それを学んだあなたは宿題で、そのプログラムを
作ってみたり、拡張してみたりして下さい。
開発プラットフォームはLinuxなどのUnix系OSを想定しています。

宿題の出来で成績を付けます。すごいのを数多く作った人にはA、
標準的な拡張だけど、毎回宿題をしてくれた人にはB、
宿題をあまり出さなかった人にはC、となります。
宿題を1回も出さなかった人は残念ながらDとなります。

また、期末の試験は実施しません。

* 第1回: C言語のおさらい (問題を出しますので、それを宿題とします。)
* 第2回: C++言語のおさらい (同上)
* 第3回: 開発のやり方(Makefile, git, autoconfなどなど)
* 第4回: エディタ(1) (GNU Emacsを例にします)
* 第5回: エディタ(2) (vimを例にします)
* 第6回: コンパイラ(1)
* 第7回: コンパイラ(2)
* 第8回: 正規表現
* 第9回: Ruby
* 第10回: デバッガ
* 第11回: IDE(統合開発環境)
* 第12回: Webブラウザ(1)(Mozilla Firefoxを例にします)
* 第13回: Webブラウザ(2)(Mozilla Firefoxを例にします)
* 第14回: メーラ (Mozilla Thunderbirdを例にします)
* 第15回: 数式処理(Schemeを使います)

## 感想

そもそも教えられるのか? というより私が学びたいんですけど。

網羅できているとは言えませんが、「コンピュータプログラムは
言語処理系と見なせる」、スレッドの使い方、通信プロトコル、
オブジェクト指向プログラミング、
理論に基いたプログラミングなどが入っていると思います。

そしてここから漏れた、DBMS、デバイスドライバ、数値計算、
拡張性を盛り込んだプログラム(マクロ、アドオン)、
ワープロ、表計算プログラム、プレゼンテーションプログラム、
画像処理プログラム、ドロープログラムなども勉強したい
ところですよね。

近況報告という感じのもの

## OSのビルド

私はあまり近況報告という感じのものをブログでは書かない
んですが、なぜ1週間も投稿しなかったのか、ということに
ついて書いておきます。

結論から言うとネットブックのOSの入れ直しをしていたのでした。

それにそんなに時間が掛かるの? というところですが、
Gentoo GNU/Linuxの派生ディストリビューションのFuntoo GNU/Linuxを
選んだからです。Gentoo GNU/Linuxといえば、ソースコードから
コンパイルするディストリビューションです。これについても
別記事で書きたいと思っていますが、コンパイルすることで
単純にパフォーマンスが上がります。パフォーマンスが上がるのは
いいんですが、ネットブックなのです。CPUがIntel Atomなのです。
OSをビルドしてFirefox、Thunderbird、Emacsを入れるのに3日
掛かりました。夜も放置してコンパイルして3日くらいです。

ほかにもGIMPやInkscapeだのコンパイルに時間の掛かりそうな
画像系のソフトウェアや、あっ、オフィススイートのLibreOffice
が莫大にコンパイル時間が掛かるそうです。これらをまだインストール
していません。結構時間が掛かるだろうな〜。

経験ではGoogle Chrome
のオープンソース版のChromiumが、まだ? っていうほどコンパイル
に時間が掛かります。これはもう
ネットブックに導入するつもりはありません。

諸般の事情で、ネットブックしかパソコンを持っていないので、
OSをビルドしてFirefoxとEmacsを動かすまではブログも書けなかった
という訳です。

## 勤労の喜び

アルバイトを探すのも実はなかなか大変で、私は体力がないので、
蹴られることも多いです。あと警備員の仕事って法律で精神病だと
なれないと決まっているってご存知でしたか?
私は応募して初めて知りました。
ということは老後は警備員はできないので、
清掃員しか選択肢はないかな。

プログラマの派遣のお仕事がなかなか来ないので、
OSをビルドしているネットブックを放置して、新しいアルバイト
紹介会社に登録したりしていました。もちろん行って
帰って来てもビルドが終っている訳はない。

そんなこんなで、昨日、3年か4年ぶりくらいにアルバイトですが
仕事をしてきました。やってみて、なんとなく悟るところがありました。
まあ秘密保持というほどのこともないですが、どの程度
書いていいのかわからないので、詳細は差し控えます。が、
よい経験でした。勤労の喜びもありました。

今日と明日も、昨日とは別のアルバイトに行ってきます。
いろいろな経験ができるのは楽しいことです。

あとは安定したアルバイトに
就ける方がいいのかな、ということです。仕事自体は嫌では
ないんですが(まだね)、単発の仕事はもらうのが難しく、また
面倒くさいのです。

そしてなんか派遣社員のプログラマになるのもどんなもんかな、と
思うようになってきました。コンピュータに関係のない
アルバイトをしながら、家ではOSをビルドしていたほうが
いいかもしれない。

まあ年を取ったら正社員になりたくなるのかもしれません。
ただ今のところは目先のお金でございます。

## 付記

大阪にいる必然性がまた一つなくなりました。

ちなみに今週のできごとでしたが、SFC卒で、というより
慶應卒(塾員といいます)で、よいことがありました。
よい、というか扱いが変わってきたのですね。

関西では慶應は立命館に劣る扱いだったので、
珍しいことです。

そしてその人にもお金ができたら関東に帰りなさいと
言われました。

ふむむ。私は大阪、結構好きなんですけどね。
それに関東に帰るよりは、上海か香港かバンコクに行きたい
ですけどね。まあ上海と香港は、今後中国が崩壊して、
どうなるかわからないので、将来を託すには危険すぎると思います。
そしてメリットもはっきりしない。でも行ってみたいな。
仕事で行ければ一番いいですが、お金ができれば2年くらい
留学してきたいです。

なぜ私はWindowsを使わないか(4)

## NTFS

現在のWindowsではレジストリを使って、アプリケーションの
設定などを記録、取得しています。そして、ファイルシステムは
NTFSです。

NTFSは以前のFAT32と比べれば非常によいファイルシステムだと
思います。実際にNTFSに非常に高い評価を付けている人もいます。

でも私はNTFSはFAT、FAT32以外のファイルシステムと比べると、
それほどよいファイルシステムだと思いません。
確かにアクセス管理などでいろいろ機能が付いているのはわかります。
でも遅いと思いますし、デフラグが必要です。キャッシュが
付いているのかわかりませんが、レジストリをキャッシュに
置けばそれなりにスピードが上がる、あるいは遅くならない
のではないかと思います。

## いろいろなファイルシステム

Linuxではいろいろなファイルシステムが使えます。ext4、JFS、XFS、
ZFSなどです。

ext4は設計が古いと言われますが、ジャーナリング機能を備えて
おり、ファイルシステムの整合性のチェックは高速です。また
ファイルの断片化が起きにくく、デフラグは基本的に不要です。

ZFSは強靭なファイルシステムであり、また高速です。キャッシュを
最大限に利用して、メモリは残り1GBを残してキャッシュに使って
いるようです(あくまでも自分の環境での推測です)。いきなり
電源を切っても、ファイルシステムの整合性は保たれるそうです。
また、ファイルのコピーではコピーしたふりをして、
どちらかに変更があった場合に
実際のコピーをするなどして、効率化しているようです。

私はこの2つしか実際に使ったことはないのですが、それ以外にも
XFS、JFS、Btrfs、ReiserFS、NILFSなどいろいろと特長のある
ファイルシステムが選べます。

## 翻ってWindowsでは

翻ってWindowsではNTFSしか選べません。機能的には他のファイル
システムに劣るものではないのでしょうが、私はZFSが使いたい
のです。ZFSにしてパフォーマンスに違いが出るか調べたいのです。
でも使うことはできません。この選択肢のなさについて、
私は不満を感じるのです。

何年も前からマイクロソフトではWinFSという次世代の
ファイルシステムを開発
しているのですが、実用化されていません。理由は不明です。
機能が多すぎるのか、パフォーマンスが出ないのか、いろいろ
考えられますね。

## 付言

Linux上で動作する仮想マシンでWindows7を使っていたのですが、
これはあまり
遅くなることはありませんでした。単に使う頻度が少なかった
だけなのか、それともNTFSがext4の上で動作した場合、
ext4のディスクアクセスの効率がよくて遅くならなかったのか、
どっちなんでしょうね。

Older posts

© 2019 Irrational Universe

Theme by Anders NorenUp ↑