So-net無料ブログ作成

Unixを勉強するならBSD? Linux? (2018/02/05) [FreeBSD]

私は大学でFreeBSDを覚えた人間ですが、最近は大学に納品されるUnixに関しては、Linuxほぼ一択のようですね。まぁ、時代の流れなのかもしれませんが、少し寂しいものがあります。

これからUnixを勉強する学生さんは、基本的にLinuxに触れることになるのだと思いますが、正直なところ、純粋に評価するのであれば、Unixを勉強するにはBSD系とLinux系、どちらがいいのでしょうね。

私なりの考え方をまとめてみましたので、よかったら参考にしてください。

---------------------
■BSD系のメリット
・良くも悪くもUnixのCUI文化(黒いコンソール画面)を体験できる
・rc.dシステムなど、OSがどのような機構・構造で立ち上がるのかよく分かる
・自分でハック(カスタマイズ)する楽しさがある
・インターネットに情報が少なく、あっても英語だったりするが、逆に素養が磨かれる
・BSDが分かると、基本、他のBSDだろうとLinuxだろうとなんとかなる
・コンパクトな運用が可能

■BSD系のデメリット
・GUI(マウス操作)はオマケであり、Windowsっ子にはハードルが高い
・Linuxで動作するデバイスが動作しないなど、ハードウェア環境を選ぶことがある
・基本的にアプリケーションはLinux向けに開発されるため、最新のアプリケーションのコンパイルが通らなかったり、そもそも動作しないアプリケーションがある
・インターネットに情報が少なく、あっても英語だったりして、途方に暮れる
・「Linuxが使える人」の中にはカウントしてもらえない
・以前のような活気が失われつつある

---------------------
■Linux系のメリット
・デファクトスタンダード
・新しい技術や概念が次々と投入される
・マニアックなデバイスを含め、様々なデバイスを認識し、ちゃんと動く
・GUI(マウス操作)も十分であり、Windowsっ子にもハードルが高くない
・アプリケーションはLinux向けに開発されるため、常に最新のアプリケーションを使うことができる
・インターネットに情報が豊富、周りにも知っている人が多い
・仮想環境への対応が十分
・Windowsに代わるデスクトップ環境としても十分に使用可能

■Linux系のデメリット
・OSの基本部分が見えにくく、どういう機構で動いているのか分かりにくい
・新しい考え方が次々と導入され、思想や操作性に統一感がない
・ついついマウスに手が伸びてしまう。シェルスクリプト等を覚える必要性が薄い
・あまり不自由がないため、本当に問題に直面した時、何もできずに途方に暮れる
・「Linuxが使える人」という括られ方をすると、ライバルが多く埋もれてしまう
・Windowsの操作感に近いため、無理にLinuxを使わなくてもWindowsで十分という考えに至り、だんだん使わなくなる

---------------------
こうやって並べてみるとLinuxの方が良いような気がしてきました。

ちなみに私がいまだにFreeBSDを使うのは、盆栽的な感じでコンパクトに使えるからです。
最小スペックのサーバで運用しようとしているのに、Linuxで勝手にインストールされるXウィンドウシステムは邪魔者以外の何者でもないです。

nice!(0)  コメント(0) 
共通テーマ:日記・雑感

ハクキンカイロの臭い削減(2018/02/05) [雑記]

ちょっと時間が空いてしまいました。

寒い日が続きますが、ハクキンカイロがとても温かいので重宝しています。最近は会社にも持って行くようになったのですが、わずかに漏れるベンジン臭がたまに臭うときがあります。(周囲でちょっと不評だったり)
なんとか改善策がないかとWebを調べていると、どうやら臭いは揮発して漏れる生ベンジンが原因となっているため、漏れるベンジンをうまく制御すれば改善できることが分かりました。

基本的なやり方は、アルミホイルで火口にフィルタを作り、表面積を減らし揮発するベンジン量を抑えること。そして極力完全燃焼させるようにすること。ただそれだけです。フィルタの形状や手法は人によって違うようです。
自己責任でやることは当然として、Webに記載されている注意点としては、
・発熱温度が下がるかもしれない
・気温が低いと、火が消えてしまうかもしれない
ということです。

と言うわけで私もチャレンジしてみました。こういうときに高校で習った物理が役に立ちますね。

基本的にハクキンカイロの燃焼反応部位は、火口全体ではなく、ライターで炙った中央部に集中して反応が起こっているように見えます。
つまり、ベンジンの揮発部位は反応が起こる中央部位に集中させることが良いのではないかと考えました。逆に、反応が起こらない周辺部位で揮発させてしまうと、問題視している臭いの原因になってしまうと思われます。

また、フィルタを複雑な形状にしてしまうと、ベンジンの補充が困難になってしまったり、フィルタが壊れてしまった場合に再作成する手間が大変になってしまいます。

そして完成したのが以下の写真。超シンプルです。
ハクキンカイロの本体側をアルミホイルの切れ端で覆い、爪楊枝でぷすぷすと中央部に穴を開けるだけ。穴の数が少ないと反応が持続しないので、持続するまで穴の数を増やして微調整します。本当にただそれだけ。
写真はアルミホイルが本体の形に成形されているだけなので、ペラッペラです。

DSC_0144.JPG


実際、臭いもほとんどしなくなりましたし、無駄な揮発が減った分、持続時間は1.3~1.7倍ぐらいになりました。今のところ立ち消えが発生したこともありませんし、万一発生しても穴の数を増やせば良いだけです。

温度が下がるかと思っていたのですが、実は逆。
揮発の流路を絞って限りなく完全に反応させるような構造になったため、しっかり反応が起こり逆に以前より熱くなりました。これは意外な結果でした。

というわけで、レトロな感じが面白いですよ。ハクキンカイロ使ってみませんか?
nice!(0)  コメント(0) 
共通テーマ:日記・雑感

TeraTermマクロの正規表現について (2017/12/16) [Windows]

※2018/2/23 文章が読みにくかった点を修正しました

TeraTermのマクロは制御に失敗して暴走することが多々あるので、私はwait命令でガチガチに固めて制御しています。誤解の無いように言っておきますが、暴走するのはTeraTermの仕様のせいではなく、適切なタイミングでコマンド発行できていない(つまり、それが暴走というやつです)マクロの中身の問題です。

装置からのプロンプトの表示をコマンド入力のトリガとするのが基本です。ですが、コマンドの出力結果にホスト名や$や#、>といった文字列が含まれてしまうと、入力可能な状態になっていないにもかかわらず「プロンプトが表示された」と誤解し、次の処理へ行ってしまうため、結果として暴走します。

私は正規表現の使えるwaitregexを多用しています。より正確に精度良くマッチさせることができるからです。
しかし、新しく作ったマクロがどうやら暴走していることに気付きました。

1)ホスト名をファイルから取得し、変数var_hostnameに入れる
2)プロンプト文字列が権限によって、>、$に切り替わるので、その部分を正規表現で表現

基本的な構造は下記のような感じ。
var_hostname = 'ホスト名'

sendln 'show running-config'
waitregex var_hostname'[>|#]'

暴走する原因を切り分けたら、どうやら'[>|#]'の部分が全く効いていないことが分かりました。さらに切り分けたところ、waitregexには上記のような文法は使えず、正規表現を含めて変数内に埋め込む必要があることが分かりました。
つまり、こうやるのが正しいっぽいです。
var_hostname = 'ホスト名[>|#]'

sendln 'show running-config'
waitregex var_hostname

nice!(0)  コメント(0) 
共通テーマ:日記・雑感