RubyとGrowlでシンプルなネットワーク監視

問題

  • あるホストがときどきネットワークからちょっと切断され、すぐに元に戻るなど変な動きをする

原因の仮説

現象の発生は席替え後、らしいのでソフトウェア的な何かではなくハードウェアだろう。

  • LAN ケーブル
  • HUB の port
  • HUB そのもの
  • PC の NIC

辺りか。

対処

まずはいちばん簡単な HUB の port 差し替えを行ったが現象はあまり変わらない様子。ずっと切断されるわけではなく気づくとツールチップで切断されたことが通知されている程度なのでユーザーはそれほど神経質になていないが、Sysadmin としては気持ち悪いことこのうえなし。

とりあえず監視を始めることにした。そこででっちあげたのが以下のコード。ハードコードの部分が残っているのでそのままでは使えないけど :-P (普段から使ってるわけではないので設定ファイルなどに分離する必要がなかった。)

やってることは

  • ping を打って
  • 返事がなかったらログに残すとともに Growl で通知

する。これを Ruby の Thread を使って複数ホストに対して1一斉に行う。監視と通知そのものは Growl の入っていない機械でも行えるようにしてある。

結果としては HUB そのものが原因だった。理由は最後まで詰めなかったが、あるタイミングで通信が不安定になるという症状で、後からよくよく聞くと他にも印刷やスキャンなどが不安定だったらしい。そういうことは早く言ってよねー。

コード

  1. 具体的に実際に行ったのは同一の HUB にぶら下がっている全ホスト 

Firefox + Document Map + S5 でスライド作り

※ S5 じゃなくて Slidykanzaki さんのツールなどでも同じ要領で使えると思いますが、自分で使ったことのあるものが S5 だけなので S5 で書いてます。

※ [2011-05-25 追記] Document Map はすでにメンテナンスが止まっているようなので以下 Document Map は HeadingsMap :: Add-ons for Firefox に読み替えてください。

このネタ、絶対どっかに書いたと思っていたんだけど、要素をメモっただけでストレートにネタとして取り上げてはいなかったらしい。1

まずは S5 のご紹介

S5 は XHTML + CSS + JavaScript だけでできたスライドショーツール。

S5: A Simple Standards-Based Slide Show System

サンプルがあるのでそれをコピペして使い始める。実際にスライドを書く部分は基本的にこれだけ。

<div class="slide">
<h1>スライドタイトル1</h1>
ここにスライドを書く
</div>
<div class="slide">
<h1>スライドタイトル2</h1>
ここにスライドを書く
</div>

これで

  • ブラウザで開くと <div class="slide"></div> を1ページとしてブラウザウィンドウいっぱいに大写しに表示してくれる
  • 文字の大きさはウィンドウサイズに応じて自動伸縮
  • 画像も自動伸縮(1.1 から?)
  • クリックでだけでなくスペース、エンター、カーソルキーでもスライドをめくれる2
  • スライド内で徐々に要素を表示することもできる
  • 実際にスライドには表示されないコメントを書くこともできる

など通常のプレゼンに十分な機能が揃っている。PowerPoint のようなアニメーションはできないが、あんなものはすぐ飽きます。はっきり言って無駄。注目を集めたかったら喋りを含めてプレゼン全体のレベルを上げろ。

なぜ XHTML スライドツールか?

  • XHTML くらいどうにかして書けるでしょ?
  • ブラウザもエディタもタダだし
  • どうせ Web に上げるでしょ?

くらいかな。

ということであまり使う機会は多くないんだけど、ここ数年はスライドを作るときは S5 を使うようにしている。(全部内向けなので外部に公開してるものはないけど。)正直ちょっと生 HTML は面倒だなと感じるんだけど、スクリプトを書いて例えば Markdown などからスライドを生成させるほどしょっちゅうスライド作ってるわけじゃないし、かといって KompoZer なんかを使うのもだるい。ということでいつもエディタでそのまま書いている。基本、箇条書きと表くらいしか書かないのでほとんど困らない。図が必要な場合はどうせ別なツールで作るし、完成してからラスタ画像として貼ればいいだけ。3

XHTMLスライドツールはアウトラインの確認が苦手

あまり悪いことのなさそうな XHTML によるスライド作りだけど、困ることはやはりある。自分はあまり PowerPoint ならではの機能を使っていない方だったので見落としはあるかもしれないけど、いちばん気になるのは

アウトラインを見ながらスライドを作れない4

ところ。これがないとプレゼン全体、スライド全体を俯瞰しながら作業することは難しい。

これを解消するのが Firefox の拡張、Document Map である。

Document Map :: Firefox Add-ons

別に Documen Map はスライド作りのためにあるわけではなく、HTML 文書のアウトラインを自動で生成してサイドバーに表示するもの。Heading や anchor を文書構造として抜き出してくれて、そこへ一発でジャンプできる。ある程度長い文章の場合は自前でアウトラインを用意してくれているページが多いと思うが、これはそれを自動で生成してくれる拡張である。(当然 Heading とかない、ものすごくレガシーな HTML に対してはまったく歯が立たないわけだが。)

Firefox + Document Map と Terminal + emacs -nw でスライドを作っているところ

これを使って、かつ JavaScript を off にして実際にスライドを作っている様子のスクリーンショットを撮ってみた。5Firefox + Terminal.app + emacs -nw の様子である。

スクリーンショットでは JavaScript を off にすることでスライド状に表示させるためのスタイルが適用されないようにしているが、これは別に必須ではない。自分の場合は実際のスライドの見た目を Camino で確認しながら、全体の確認を Firefox + Document Map の方で行っているので、より全体を把握しやすいようにこういう設定にしている。

また、より単純に CSS の適用を避けるためにはメニューから [ 表示 ] → [ スタイルシート ] → [ スタイルシートを使用しない ] でオーケー。自分の場合は WebDeveloper のツールバーを常に表示させているので JavaScript の on/off が楽なのと、この方法なら CSS が完全に適用されないわけではなく、スライド状に表示するためのスタイルだけが外れるのである程度見栄えもよく、確認しやすいから気に入っている。

あとできないことは

  • スライドを縮小して印刷する

ことかな。ほらよく PowerPoint で細かすぎる資料作ってそれを縮小印刷して配布資料にしてる人いるでしょ? ああいう機能はないね。たぶん印刷用の CSS を作ったらなんとかなるはず。

というわけで

作るか。しかしもう一仕事終えた感じでイヤになってきたな。いや逆か。イヤになってきているから日記書いてるんだな。

最近、いい加減 MacBook のキーボードがイヤになって、いっぱい書くときはトラベルキーボードを使うようにしている。うむ、快適快適。

  1. ちょっと思わず古い日記や Wiki を振り返って楽しくなってしまっていた。いかんいかん。 

  2. 残念ながらバックスペースはブラウザの方に取られる 

  3. あーそう言えば今は Gecko ブラウザは SVG 対応してるんだっけ。使ったことないな。 

  4. アウトラインを表示する機能というかスライド用スタイルの適用を on/off させることは少なくとも S5 では可能。 

  5. 内容は特に意味はない。今度内向けに話そうかと思っている超初歩的な HTML の説明。 

成功者の言葉は説得力もあるが空しくも響く

www.textfile.org - 「好きなこと」と「仕事」

これを読んで、結城さんの Yahoo! ブログに対する言いようのない違和感が自分の中でかなりはっきりした気がする。なんていうか、覚悟の決め方が違うんだろうなぁ。というか、「覚悟」という語の持つ意味とはまた違う決断をしているというか、そんな感じだろうか。そう思うと、今のポジションには落ち着くべくして落ち着いたということなのかもしれない。

自分はどちらかというと小野さんの感覚に近い。あえて何かを犠牲にし、何かのために時間を割いているという感覚である。いや、実際には恐らく単に好きなことをしているだけなのだと思うが、好きなことばかりしていてはいけないという教育を受けて来たのだろう。好きなことをやっているときに非常に知的興奮を覚え、充実感がある一方で、その後に虚脱感や罪悪感を覚えることもある。それが正しいかどうかを、周辺の環境を絡めて理由付けして自分に言い聞かせることで「何か」を保っているような、そんな感じである。

しかしそうなると逆に自分はこんなに頑張っているのに周囲には評価されない、と悩むようにもなる。当たり前である。自分で勝手に理論武装しているのだから。周囲の評価を自分で捏造しているのだ。それは現実ではない。

問題はそのあと。

自分を含め個人の行動だけを対象にしているのならそれはまだ対人コミュニケーションにおいて注意すべき点が増えただけというか、「心がけ」などでなんとかなるレベルであるように思う。しかし組織的な間違いであるとかそういうレベルになると個人の心がけの効力は心もとない。

あーえーっとね。要するに今自分は自分に歯止めをかけようとしているところなのです。ちょっと待ってね。

……。

そうだなぁ。目に見える課題を多く積み過ぎてイライラしているのかもしれないなぁ。課題をより多くクリアすることで自分の評価を高めようと計算しているかもしれない。でもきっと評価なんかされないんだよね、ってところまで分かっている。(つもり。)そこで始める前からイヤになっている部分もあるんだろう。純粋に自分が楽しい課題もあるので、全部が全部イヤではないんだけど。あと、「やり残し」も見えているからなおさら気になっているんだろうね。

この文体便利だな。

あまり意識していなかったけど、自分が前段のような文体ではなく、口語的な文体を好むのは、きっと自分のためだったんだね。なるほど、賢いぞ、オレ。


えーと結局のところオチはどの辺にあるのかというと、

好きなことをやることが幸せならやればいいじゃん?

てことなのか。いや、当たり前じゃんと思うなかれ。逆に言うと、

本当に君は好きなことをやるのが幸せなのかい?

ということさ。「好きなこと」と言われてぱっと思いついてそれやってれば時間も忘れられる、そしてそれがあわよくば仕事に結びつくようなものであればそれを選択することも可能だ。でも、自分は

好きなことをやることが苦痛な人だっている

と思うんだね。言い直すと

自分の好きなことを自分で見つけて自分で進めていくのは結構タフ

だと思うんだ。頼まれごとが断れない人っているけど、それは

頼まれごとが好き

ということでもあると自分は思っている。だからそういう人は自分で好きなことを見つけていくよりも「頼まれごと」で仕事が進んでいく方が性に合っているってことだと思うんだよね。

好きなことをやった成功者の話は憧れちゃうけど、好きなことをやっても成功しない人はいるし、別な見方をすると好きなことをやり続けられることがすなわち成功でも成功の秘訣でもないし、成功って何?という漠然とした問いも忘れちゃいけないよね、ってことなんじゃないかと思う。好きなことをやりたいのかい?そうじゃないのかい?と。

どうしても好きなことをやっちゃうんだよねという人は諦めてそれを仕事にしちゃうのがいいんだろうけど、案外世間の人は世の中をうまくだまくらかして時間の調節を行って、好きなこととは別に仕事をやっつけて、どうにか人生を転がすことができるようになるものなのさ。そしてそれがそれなりに幸せだったりする。

だったらそれでいんじゃね?っていうのは実はけっこう当たり前のことなんだけど、当たり前を維持しても幸せになれないかもしれないっていう不安が今の世の中に多すぎるから、みんな別な幸せを、ここじゃないどこかを探そうとするのかもね。でもさ、ここじゃないところはたくさん存在するけど、「どこか」ってのは、実は存在しないんだよね。「本当の未開の地」でもなけりゃあね。

とりあえず Intel版 Mac にオタオタしてみる

プロセッサには別に興味ない人間なんだけど、不安な点と言うと、

  • Xcode で移行できるったって、すでに開発者が投げてしまったバイナリしかないツールは全部エミュでやれってか?
  • 逆に現行のハードへの Apple を含めたアプリベンダの対応はどうなるのか?
    • アップデートはいつまで提供されるのか? Tiger 終了までとか言われるとマジ困る。
  • Classic 環境こそ速度的にはエミュで十分そうだけど、それを真面目に Apple がフォローするとはちょっと思えない。(個人的にはなくなっても構わないけど。)
  • ドライバは? ドライバまでエミュで解決できちゃうのか? アプリはともかく、周辺機器とドライバは結構古いの生き残ってるぞ。
  • つーか移行用キット高いんじゃね?(これはハードこみなので高くないみたい。)

逆に

  • VirtualPC は劇的に速くなって、嬉しい人は大勢出てくるだろう。
  • GUI に凝ってないフレームワークとかの類いは Mac 上でも Windows と同じか、ほんの少しの修正で動いたりしないだろうか。

なんて辺りに期待。Adobe Premiere がまた Mac に帰ってくるとか。ないか。

とにかく、いちばんの心配は PPC Mac がいつまでフォローされるのかってことと、Power って名前はなくなるのかなって辺りか。いや別に Power じゃなくなってもいいんだけど、他にかっこいい名前ってなると思いつかないぞーと。

※ それより Sarge リリース祭りか。

MS セキュリティアップデート CD

久しぶりに Win98 のクリーンインストールの機会を得させていただいたので使ってみた。

  • IE
  • Media Player

を再起動なしで一発で入れられる。同意しますかとも聞かれない。で、再起動後、自動で

  • 重要な更新

をどっかんどっかんインストール。その間見ている必要はまったくない。(再起動時にユーザー名とパスワードを入力しなくてよい設定になっていれば本当に放置で ok)

これはいい。

完了したら完了の画面が出ていて、そこからすぐに WindowsUpdate にアクセスできるようになっている。残念ながら DirectX は手動インストールだが、これも CD にデータは入っている。

しかし。

これでアップデートしておいても IE のアップデートで結局 10MB ものデータをダウンロードさせられるのでは少しもナローバンドでは使いものにならんぞ。とっとと次のやつを出しやがれ。このままだとブロードバンド環境で「再起動の回数が減る」くらいのメリットしかないぞ。(このアップデートには MS JVM が入っているのでひょっとすると MS JVM をアンインストールしておくとダウンロードの容量を減らせるかもしれないけど。)

しかし 2004年2月版の CD のくせに 1999年の重要な更新が入っていなかったりするんだな。どうなってんのかなー。この CD の方針では MS JVM 抹殺だったのか?

小中学生の39%、「誰かを殺したい」

from ITmedia

なぜ「ネット利用中」なのか激しく疑問だが。

しかし、親を殺したいとは思ったが、友だちは思わなかったような。。。思ったのかなぁ。でもネット上の友だちなんかいなかったもんなぁ。その場で沸騰して「ぶっ殺してやる」みたいなぶちギレはあったかも。そうか、それがネット上で起きるのが危険てことか。

うーむ。

blog 探索

自分で探すんじゃなくてこういうとこからいきますかね。

About

例によって個人のなんちゃらです

Recent Posts

Categories

Tool 日々 Web Biz Net Apple MS ことば News Unix howto Food PHP Movie Edu Community Book Security Text TV Perl Ruby Music Pdoc 生き方 RDoc ViewCVS CVS Rsync Disk Mail FreeBSD Cygwin PDF Photo Zebedee Debian OSX Comic Cron Sysadmin Font Analog iCal Sunbird DNS Linux Wiki Emacs Thunderbird Sitecopy Terminal Drawing tDiary AppleScript Life Money Omni PukiWiki Xen XREA Zsh Screen CASL Firefox Fink zsh haXe Ecmascript PATH_INFO SQLite PEAR Lighttpd FastCGI Subversion au prototype.js jsUnit Apache Trac Template Java Rhino Mochikit Feed Bloglines CSS del.icio.us SBS qwikWeb gettext Ajax JSDoc Rails HTML CHM EPWING NDTP EB IE CLI ck ThinkPad Toy WSH RFC readline rlwrap ImageMagick epeg Frenzy sysprep Ubuntu MeCab DTP ERD DBMS eclipse Eclipse Awk RD Diigo XAMPP RubyGems PHPDoc iCab DOM YAML Camino Geekmonkey w3m Scheme Gauche Lisp JSAN Google VMware DSL SLAX Safari Markdown Textile IRC Jabber Fastladder MacPorts LLSpirit CPAN Mozilla Twitter OpenFL Rswatch ITS NTP GUI Pragger Yapra XML Mobile Git Study JSON VirtualBox Samba Pear Growl Mercurial Rack Capistrano Rake Win RSS Mechanize Sitemaps Android JavaScript Python RTM OOo iPod Yahoo Unicode Github iTunes God SBM friendfeed Friendfeed HokuUn Sinatra TDD Test Project Evernote iPad Geohash Location Map Search Simplenote Image WebKit RSpec Phone CSV WiMAX USB Chrome RubyKaigi RubyKaigi2011 Space CoffeeScript Nokogiri Hpricot Rubygems jQuery Node GTD CI UX Design VCS Kanazawa.rb Kindle Amazon Agile Vagrant Chef Windows Composer Dotenv PaaS Itamae SaaS Docker Swagger Grape WebAPI Microservices OmniAuth HTTP 分析基盤 CDN Terraform IaaS HCL Webpack Vue.js BigQuery Middleman CMS AWS PNG Laravel Selenium OAuth OpenAPI GitHub UML GCP TypeScript SQL Hanami Document SVG AsciiDoc Pandoc DocBook Develop Jekyll macOS Node.js Vite Heroku Transformer AI Data Cloud Wasm