ふりぽけ日記 (2000年07月)

[ 捕捉確認済アンテナ ]
日記観察
*BSD Diary Links
わっちりんく(す)
はこんだらウォッチ
天野アンテナ
HNN日記バード
しっぽあんてな
しぐなるぽ〜と
  • 99:システムバックアップをとる
  • 90:mhttpd のテスト&デバッグ
  • 50:tds-1.x にバージョンアップ
  • 50:マイペディアを使えるようになる
  • 10:過去日記置場

2000.07.01 (Sat)

@ PostgreSQL

自宅の FreeBSD 機に PostgreSQL7 を入れてみる。 /usr/ports/database のはまだ 7.0 だったので、Web サイトから拾ってきた。

make。 tcl の新しいバージョンがインストールされてしまった。また増えたのか。(汗;
wish だけでもこんなにあるぞ。どうすんねん。

あ、--enable-multibyte ってつけてなかったような。pkg_delete してコンパイルし直そう。

ビルド中。 あ、ディフォルトが multibyte サポートつきなのね。消すんじゃなかった…。

ruby の拡張ライブラリも忘れずに。Ports は最新になっていないようなのでソースを直接ビルド。

pgbash というのはまだ Ports に入っていないのだろうか。 ソースから直接 make && make install してみる。

あれえ? さっきまであった agaccess がなくなってるなあ。 あ、-DWITH_TCL をつけるの忘れてた。またコンパイルし直しか。*sigh*


2000.07.02 (Sun)

@ 何 hop なんだろう。

前から気になっていたけど、やっぱり このひと ウチの会社の発注先だった。 (*1)

僕の日記のことは全然知らないみたいだけど。

自社ビルの話、まだクライアントには内緒だったみたいっすよ。
-----
*1:直接名は伏せてあっても、ずーっと読んでると結構分かるもんですな。

@ 働きすぎ

家庭サービス で土日が暮れて。

ずっとキャリービット立ちっぱなしですぅ。X-D

@ DBMS のネタとして

プロバイダへのダイアルアップ接続時間を集計してみよう。

こういうのは勝手にログがたまっていくようなモノを使わないと、 データエントリの時点で挫折してしまうこと間違い無し。なので。

/var/log/ppp.log から以前えーけーあいさんに教えてもらった



Jul  3 02:09:47 nazareth ppp[24911]: Phase: deflink: Connect time: 147 secs: 160781 octets in, 96212 octets out 

という行を引っぱりだしてきてテーブルにぶちこめばいいのか。

まずはテーブルを定義



-- create.sql



-- カラム名        データ型        説明

-- ppp_start       datetime        接続開始時刻

-- ppp_seconds     interval        接続時間

-- ppp_in          int             受信データ量

-- ppp_out         int             送信データ量



create table ppplog (

    ppp_start   datetime    not null unique,

    ppp_time    interval,

    ppp_in      int,

    ppp_out     int

);

という感じでざっくり。

次に syslog からタブ区切りテキストに変換する。



#!/usr/local/bin/ruby

# ppp の syslog から接続記録を抽出するスクリプト



while gets

	# 必要な行以外はスキップする

	next unless /Phase:/

	next unless /Connect time/



	# ログメッセージを word ごとに分解する

	ppp_log = split( /\s+/ )



	ppp_sec = ppp_log[9]

	ppp_in  = ppp_log[11]

	ppp_out = ppp_log[14]



	# 終了時刻から経過時間を引いて開始時間を算出する

	pyear = Time.now.year   # 年をまたぐとき問題ありそう :-P

	pmon = ppp_log[0]

	pday = ppp_log[1]

	( phour, pmin, psec ) = ppp_log[2].split( ':' )

	pdt = Time.local( pyear, pmon, pday, phour, pmin, psec )



	ppp_startdt = ( pdt - ppp_sec.to_i ).strftime( "%Y-%m-%d %H:%M:%S" )



	# 出力フォーマット:

	#   接続開始時刻 [tab] 接続時間(秒) [tab] 受信データ量 [tab] 送信データ量

	printf( "%s\t%s\t%s\t%s\n", ppp_startdt, ppp_sec, ppp_in, ppp_out )

end

あとは copy コマンドでテーブルに放り込む。



cake=> \copy ppplog from ppplog.txt

結果はこの通り。



[pgbash]~/pppdb> select * from ppplog; | head -5

ppp_start             |ppp_time|  ppp_in|ppp_out

----------------------+--------+--------+-------

2000-06-18 10:02:30+09|00:02:33|  138536|   8484

2000-06-18 22:10:58+09|00:03:39|  265072|  18352

2000-06-18 22:45:07+09|00:04:21|  538998|   9704

最初の3行だけを恣意的に抽出してみました。(^^;;
あと



select sum(ppp_time) from ppplog;

とかやってみたけど(検閲により削除)が怖いので結果は内緒だ。(^^;;;;;

あとは毎日エントリしていくスクリプトを書いて cron に登録しなければ。

ところでデータ量の octets って単位はナニ?

2000.07.04 (Tue)

@ 今日のゲット

「DADDYFACE 世界樹の舟」/伊達将範/電撃文庫

西E田さんの表紙に惹かれて、シリーズものの2巻みたいだけどまあいいかー、と買ってしまった。

当日中に一気に読了。かなり面白かった。

内容をひとことでまとめると、

若干21歳、へろへろ系いいひと。の大学生 兼 無敵の古代拳法・"九頭竜"の使い手である主人公・草刈鷲士が、 巨大企業の会長 兼 凄腕トレジャーハンター 兼 現役中学生 兼 押しかけ *娘* の結城美沙たちと、 異星人の残したの謎の秘宝を巡って「エイリアンシリーズ」/「スプリガン」系の冒険を繰り広げるラブコメアクション。

ということになるだろうか。

いいッス。


2000.07.06 (Thu)

@ octets とは。

通信の世界では8bitをoctetと表現します。 とのことですか。メールもありがとうございます。

@ DaddyFace

つづけて1巻も買ってしまったり。

いいッス。最高ッス。モロつぼッス。というわけで、

パパ部宣言。

ちなみにウチに実在娘はおりません。

_それにしても

ママが小学生ということは、どれみ達と同じ状況ということで…。そりゃ大変どころじゃないねー。


2000.07.10 (Mon)

@ 今月のニュータイプ

「フォー・ザ・バレル」

うおー、これは目を奪われてしまう。見事なリミックスちゅうか、カバーちゅうか。

こういうフラウですか、とか、ブライトもペガサスというよりはジェイナス?とか。

あとやっぱり、アムロがいないところがまた。
いますねー。連載見て初めて気がついた。

メカのラインも、ターンA後ならこんなのあり、という感じでインダストリアルに美しいっす。


2000.07.11 (Tue)

@ Psion

Linuxを 入れる ということですが。

CFカード と Linuxbox とほんの少しのド根性があれば大丈夫っす。:D

@ カルト

僕も昔はカルトにいました。最初は割とまともっぽかったのですが、だんだんダークな感じになってきて。 夫婦で逃げ出したのです。


2000.07.12 (Wed)

@ WWWOFFLE

UNIX Magazine 2000年2月号を参考に、wwwoffle を入れる。

当然のごとく ports からコンパイル&インストール。 ただ、/var の容量によゆーがなかったために、Makefile をちょっと修正。



 # $SPOOL seems like a common name which could be used for other things, so

 # use $WWWOFFLE_SPOOL as the overriding setting.

-WWWOFFLE_SPOOL?=        /var/spool

+WWWOFFLE_SPOOL?=        /home

これで /home/wwwoffle 以下にキャッシュされるようになった。

あとは /etc/ppp/ppp.linkup と /etc/ppp/ppp.linkdown に

と入れてできあがり。


2000.07.14 (Fri)

@ [メモ]ターミナルがエコーバックしなくなってしまったら

バイナリファイルを cat してしまったりして、ターミナルがおかしくなることがある。

[症状]
キーを入力しても画面に文字がでない。しかし、Enter を押すと今まで押した文字がずら ずら。 コマンドも普通に実行される。エミュレータの "Reset Terminal" とか "Do full reset" とかの 操作でも直らない。

そういうときは、



% stty echo

というコマンドを入れると直る。(こともある)

@ パパ部

反応は皆無? ひょっとして未開拓のジャンルなのかも。

これもパスファインダー/ラッセル者の宿命か。<バカ

@ Web 小説

Genesis Q

久しぶりに覗いて見たら、結構お話が進んでいて。痛い展開になってます。 決着に向けてどんどん加速していますね。

それにしても、この筆力はやっぱりすごいです。

@ Sony Palm

パーソナル エンターテインメント オーガナイザー

巨大家電メーカーのマーケティング&プロモーションは、やはり質・量ともに違いますね。

@ WWWOFFLE

いろいろいじっているうちに、なんとなく使い方が分かってくる。

とりあえず一日一回 *BSD Diary Link を回るようにしてみよう。うまくいくかな?

_ところで、操作用のページをいじっている中で思ったこと。

Web 型の UI って、回りくどさのテイストが昔のダム端に似ている。

  1. ひとつの画面をサーバーからもらってきて自前で制御。
  2. 入力フィールドが定義してあってユーザーはその中を動き回り、入力が終ったらサーバーに送る。
  3. サーバー側で処理が行なわれ、次の画面がクライアントに送られる

うーん。動作モデルはまるっきり同じか。みんな飛びつくはずだよなあ。

@ http?

会社で、http proxy (Squid) のログから、各社員の 接続時間 を調べよとのお達し。

要は、一人ひとりがどのくらいの時間 Web を眺めているかを知りたいらしい。

いくら説明しても、表示されている間は通信が継続している、 という思い込みから脱することができないらしい。これだからパンチカード世代は。

某先輩は、1ページあたり 30 秒! と乱暴に決め打ちして、GET の数でかけ算していた。 ま、調査自体がアレだからそのくらいのおおざっぱさで丁度良いのかも。


2000.07.16 (Sun)

@ WWWOFFLEの効能

日記の中のリンクとか、ML などで紹介されたページとか、 オフラインで読んでいるときに、ブラウザから GO するだけで気軽にダウンロード予約とかしておける。 結構便利。:D

でも w3m と相性がわるいような。どうも '~' <-> '%7E' の扱いでぶつかっているっぽい。 そういえば wwwoffle の '~' の扱い自体、ずっと前に話題になっていたのを思い出した。 あれってどうなったんだっけ。

@ VisualWorks 5i.1 non-commerical 版

Linux 版が FreeBSD で動くか試してみようと思いたつ。

# Squeak は日本語のハンドリングがまだまだなので。

ここ からたどり、フォームに答えてハイ。

うげ、36MB もあるのか。こんなものは at と wget で明け方に自動取得しよう。


2000.07.17 (Mon)

@ ppplog

データをテーブルに追加しているスクリプトができた。



#!/usr/local/bin/ruby



require "postgres"



# データベースに記録されている最新のデータの日時を取り出す

Pghostname = 'localhost'

Pgusername = 'cake'

Pgportnum = 5432



conn = PGconn.connect( Pghostname, Pgportnum, "", "", Pgusername )

res = conn.query("select max(ppp_start) from ppplog;")

(res_year, res_mon, res_day, res_hour, res_min, res_sec, dummy ) = res[0][0].split( /[-\s:+]+/ )

last_time = Time.local( res_year, res_mon, res_day, res_hour, res_min, res_sec )



while gets

  # 必要な行以外はスキップする

  next unless /Phase:/

  next unless /Connect time/



  # ログメッセージを word ごとに分解する

  ppp_log = split( /\s+/ )



  ppp_sec = ppp_log[9]

  ppp_in  = ppp_log[11]

  ppp_out = ppp_log[14]



  # 終了時刻から経過時間を引いて開始時間を算出する

  pyear = Time.now.year

  pmon = ppp_log[0]

  pday = ppp_log[1]

  ( phour, pmin, psec ) = ppp_log[2].split( ':' )

  pdt = Time.local( pyear, pmon, pday, phour, pmin, psec )

  pdt_start = ( pdt - ppp_sec.to_i )



  # データベースに記録されていたら読み飛ばす

  next unless pdt_start > last_time



  ppp_startdt = pdt_start.strftime( "%Y-%m-%d %H:%M:%S" )



  # DB に登録

  ins_qry = sprintf( "insert into ppplog values('%s','@ %s',%s,%s);",

		     ppp_startdt, ppp_sec, ppp_in, ppp_out )



  print ins_qry, "\n"

  conn.query( ins_qry )



end

これを /etc/ppp/ppp.linkdown に仕込めば…


2000.07.18 (Tue)

@ VisualWorks non commercial

vwnc5i.1 はちょっとでかすぎたので、3.1 というバージョンを捜してそれを入れることにした。

Smalltalker's salon ML での情報から某所に置いてあるとの情報を得たので、 Linux 用の VM と base package を落として来る。

まずは展開。VM は ZIP ファイルなので unzip で展開する。 他のパッケージはすべて rpm 形式になっているが、どこに展開されるかもなにが実行されるかも 分からなくて怖いので、とりあえずファイルだけとりだしてみることにする。



$ cd tmp

$ rpm2cpio ../VisualWorksNC-base-3.1-1.i386.rpm | cpio -vi

./usr/local/vwnc3.1/ 以下にファイルが展開される。

仮想イメージは vwnc3.1/image にあるので、



$ visualnc visualnc.im

単に実行するだけで普通に動いた。すごいねー。 証拠写真。


2000.07.20 (Thu)

@ カレカノ

近所の貸本屋でカレカノを借りて来て読んだ。面白かった。

のこちゃんも読んだ。面白かったらしい。

『この主人公の女の子、あたしにとっても似ているような気がする』 だって。

……そうだったのか。

2000.07.21 (Fri)

@ Smalltalk

先日入れた VisualWorks3.1b Non-Commercial 版をいじっている。

Smalltalker's Salon ML の過去ログを落として来て、拾い読みしつつ挙げられている コード片を Copy& Paste しては試す。

ブラウザとワークスペースの使い方がなんとなく分かってきてうれしい。


2000.07.24 (Mon)

@ やっと hello world

Smalltalk (VisualWorks)版 hello world.

1.コンソール版



Transcript cr; show: 'Hello, world.'; cr

2.ウィンドウ版



| aWindow |

aWindow := ScheduledWindow new.

aWindow component: 'Hello, world.' asComposedText.

aWindow label: 'Hello Window'.

aWindow open.

ワークスペース上でせめて C-n, C-p, C-f, C-b, C-a, C-e が使えるともっと快適なんだけど。 どこかをいじればキーバインドくらい変えられるとは思うものの…。

@ 機種名を見落としてました

すでにお気づきかもしれませんが、 残念ながら S5mx では まだ Linux はまだブートにも至っておりません。


2000.07.26 (Wed)

@ Squeak で日本語入力

最近、Squeak での日本語ハンドリングに進展があったらしいので追っかけてみた。

Squeak2.4c へのパッチとして存在していた多国語化キットの、最新 Ver. である 2.7 への適用パッチがMLで流れたらしい。 さっそく探して入れてみる。 Install.st でまとめて FileIn するとなぜか例外があがってくるのが謎だったが、 Install.st を見ながらひとつひとつ手で FileIn していくと何事もなかった。ますます謎。デバッガで覗いてみたが分からず。

内容的には以前 BSD Magazine で紹介されていた多国語化イメージと同じものだった。

しかしその後最新情報により、Squeak 内でのローマ字⇒仮名⇒漢字変換のコードが流れていたのでそれも入れてみた。 Workspace などでローマ字入力し、黄ボタンメニューから「convert to kanji」などができる。 漢字辞書はもはや定番と化している SKK-JISYO.S 。:D

すごいですー。 ←あ、typo してる…。

再配布に関しては確認していない(そもそもMLすらsubscribeしていない)ので、とりあ えずポインタだけ。

●Squeak2.4ベースの多国語化キットと多国語化済みイメージ

DynaBook の提唱者にして smalltalk 開発者グループのひとり、アラン・ケイをして 「ザウルス欲しい」と言わしめたあの「ざうちゅう」で有名な 大島さんのページ から。

●上記多国語化キットの 2,7 適用化パッチとローマ字かな漢字変換キット

青木さんの Smalltalker's Salon ML archive から 最近のメール。 直リンクは遠慮しました。Subject: で探してください。 「Squeak 2.7で多国語化Squeak」 「多国語化Squeakでかな漢字変換」

_その結果…

キーボードショートカットのパッチも適用して、かなり快適に日本語がuteru



Error: subscript is out of bounds: 3640

ようになった。

この似っきも Squeak の Workspace 上でkaite



Error: subscript is out of bounds: 2713

いる。

エラーもちょくちょく出て 快適do



Error: subscript is out of bounds: 3441

あうう、また出た。

快適というところまではいかないものの、抱いなippo



Error: subscript is out of bounds: 2194

であることはたしかだ。

うぐぐ。住環境にはまだ至らず、か。


2000.07.27 (Thu)

@ mhttpd で世界に情報発信

本当にしてる人 がいたので恐ろしい。

ちゃんと動いているからとっても嬉しいです。

@ ドコモバ2でSwiki

イメージを小さくする方法 は、確か readme.txt に書いてあったと思います。書いてある式を DoIt するだけだったような。

@ ナディア

最後の数話を久しぶりに見返してみた。

うーむ。エレクトラさんが赤木博士にしか見えん。(汗;


2000.07.28 (Fri)

@ Squeak 探検

Squeak をいじっていて、Scamper を発見。

Scamper new. を DoIt すると Squeak で書かれた Web ブラウザが起動する。

HyperCard みたいなマルチメディア系のオーサリング環境も入っているし、Web Server も入っているし、 Macromedia Flash のプレーヤーも入っているし、もうなんでもありのびっくり箱みたい だねー。

Smalltalk-80 base の使いにくいウィジェットがどうにかならないかと思っていたら、 ウィンドウメニュー => Open... => morphic project で新しいウィジェットの世界に入 れるそうだ。 (と、ReadMe.txt に書いてあった。いままでちゃんと読んでなかったのだ…)


2000.07.31 (Mon)

@ Who is Hayachan!?

はやちゃんは本当に小学生なのだろうか。 ふつふつと沸いてくる疑問。

@ Squeak に関する私信 >戯音サマ

pbsd-dev に書くにはあまりに話題が逸れているので…。

Shrink してみたら、イメージサイズが 850KB ほどに縮みました。 起動時文句を言われるだけで、ブラウザでライブラリを覗くときもソースいらないです。

ドキュメントと違って実行順序は、Smalltalk abandonSources を先にしないとエラーになりました。 あとプロトコルが全部 as yet unclassified になってしまい閉口しましたがおおむね平気です。

_発見

あと こんなもの もありました。

_よだん

Squeak は Win-CE では動くのか。PSION で動くようにはならないのかな。くぅ。(悔涙)

@ 聖書について

分類とか詳しいことは 分かりませんが、旧約聖書に「バアル・ゼブブ(バアル)」という 異教の神 がよく出て来ますので多分これが語源かと思います。

列王記第二 1:3
 そのころ、主の使いがティシュベ人エリヤに告げた。「さあ、上って行って、サマリヤの王の使者たちに会い、彼らに言え。『あなたがたがエクロンの神、バアル・ゼブブに伺いを立てに行くのは、イスラエルに神がいないためか。

あと、daemon とセイレイは全く違うものです。

「父と子とセイレイの御名によって…」でおなじみの三位一体の第三位格セイレイは、「聖霊」と書きます。 「聖なる御霊」とか「御霊」とだけ書かれてある箇所もあります。 英語では Holy Spirit, Holy Ghost などと訳されています。

自然法則とは全く関係なくて、神様御自身なので、知・情・意すべて揃っています。

ご参考までに。


以上、18日分です。

[Top] [PocketBSD] [シュミプロ] [ぽめれちょう掲示板] [きまたま日記] [最新版] [一覧] [戻る]


このページはTsDiarySystemを用いて生成されています。

Cake (SHIMADA Keiki)