おまぬけ活動日誌

最近のツッコまれどころ

この日誌から Google してもらう


2002年09月06日(Fri) 出張のあとは引越し中

となりの町へ。結婚してもう7回目になるのに未だに手際よくいかないっす。仕事場に出てきて出張の書類を書こうと思ったらレシートの束を忘れてきてるし。日誌まだまだ滞り中です。

久しぶりの仕事場食堂

サンプルが冷蔵ケースに入るようになったよ。

フーリエ変換がなんだか変だよ

というわけで(おい)、8月23日分から28日分までを追加。

本日のツッコミ(全1件) [ツッコミを入れる]

> anego [早く落着けるといいね。]


2004年09月06日(Mon) 今日は祝日なのにねぇ…

ノートPCの液晶が見えなくなりました

先日から何だかちらつくなあ、と思っていたら、今日完全に見られなくなりました。

一仕事終えて放置してあったスクリーンセーバーを止めてみたら液晶画面は真っ白に。VGAの外部出力端子からモニターをつないで見ると普通に見えるので、ハードウェアの問題のようです。リブートして診断ソフトを起動してみると、Error code: 1000-0321と。Unable to detect LCDだそうです。

ほぼ机上のみで使っていたので、外部からのショックなどの原因ではないと思うのだけれど。部品の交換で済むのかメーカーに送り返すことになるのか…。職場でやりとりされる情報の一部はWordやExcelでやりとりされているのでちょっと困ったものです。この際OpenOffice.orgを使うようにしてみようかな。

(追記)職場にあった同型機(不良在庫だなぁ…)ととりかえてもらいました。ハードディスクだけ移植したのでWindowsが起動しなくなるかとちょっと心配だったのだけれど、それはなかった。無線LANインターフェースのMACアドレスだけ報告してオシマイ。あとの事はadminまかせになりそうです。


2005年09月06日(Tue) 寝坊しました…

いただいた魚にあたったかな?とてもおいしかったのだけれど。症状としてはMSGと一緒なのだけどあのおいしい魚にはいってると思いにくいしなぁ…。

コンポストはちょと調べてみると適度な湿度と温度が必要なようで、庭でやるよりも軒下でやった方が簡単そうなのです。失敗すると蠅がたかることになるだろうし、あんまり家の近くでやりたくないような気もするのだけれど。まあとにかく今朝は寝坊しちゃったのでまた次の機会に。

[Ruby] Duck Typingの出自がやっとわかったよ

Duck Typingって何に由来するのだろう?とずっと思っていたのですが、日経Linux 2005年9月号のまつもと ゆきひろさんの連載「プログラミングのオキテ 第4回」でやっとわかりました。

「If it walks like a duck and quacks like a duck, it must be a duck.」

連載にもあったように、言いだしたのはDave Thomasさんなのだそうです。

僕は最初は、ディスプレイの上にあひるのおもちゃ(セサミストリートのアーニーが持ってるやつ)を置いておいて、それとおはなしをしながらコードをタイプしていくことかと思ってたんですよ…。おもちゃでも何でも自分の考えを声にすると考えが進むし間違いが減る、という。アレは何って言うんだっけか…。

家に帰ろうと思ったら雨が降ってきました。今日は自転車なのになー。

雨が小降りになって無事帰宅。最近孵化したらしいちっちゃいゲッコーがたくさんいたよ。(そして朝捨てそびれた生ゴミには小バエがT_T

本日のツッコミ(全4件) [ツッコミを入れる]

>   [ゴムのアヒルは「達人プログラマー」じゃなかったですか?]

> zunda [なるほどっ!僕自身はこの本は読んだことがないので、きっとどなたかのサイトでアヒルについて読んだのでしょう。]

> zunda [どこからか、それは Rubber Ducking では?という声が聞こえてきました。ありがとうございます、isana..]

> zunda [というかどちらもDavid Thomasさん??]


2006年09月06日(Wed) もう水曜日かいな

[Ruby][Rails] Things You Shouldn't Be Doing In Rails

Matzにっきで触れられているのはこの記事だろうか?

自分がつくった以外のインスタンス変数に触れてはいけない、という項目に、なるほど、とうなずいた。続きはいつか読む〜。

[Ruby][pda] そのうちPalmとかでも

Matzにっきより。SymbianでRubyが動いたらしいのを見て、まつもとさんが、「そのうちPalmとかでも(Rubyが)動くかもしれない」と書いておられる。一瞬やる気が出たけど知識も時間もないもんな。

しかしそのあとに「Palmの絶滅とどっちが早いか。」がーん。やっぱり絶滅するのかなあ。こんなに便利なのに。(素のGraffitiが使えたらもっと便利なんだろうな。)

勝手につけた自ホスト名が/etc/hostsの127.0.0.1に書かれていないとpostfixやnewaliasesがSEGVをもらう

postfix-2.3.2-2m。DNSサーバに、登録されていないホスト名を尋ねに行って答えが帰ってきてからSRGVをもらっている。msg_fatal()で落ちてるのだろうか…。

とりあえずは/etc/hostsの127.0.0.1に勝手につけたホスト名を追加して回避した。なんだかねぇ。

電話に「G」が表示される

昨日から、緊急連絡用の携帯電話の左上に「G」というマークが表示されるようになった。ゴルゴ13に狙われてるかと思い(思いません)マニュアルを読んでみると、General Packet Radio Service (GPRS)が接続されているときに表示されるようだ…課金されてるのかな。

マニュアルを斜め読みしたけれどわからんかった。Nokiaはファームウェアもマニュアルもあまり直感的にできていないのが残念。明日事務の人に聞いてみよう。

解析仕事とskkinput

いよいよ尻に火がついてきた。IOリミットな仕事をさせながら日本語の文書を使書いてるとけっこうな確率でskkinputを殺してしまう。なさけねー。


2007年09月06日(Thu) 空が白い。Vogかな

Windows XP x64のAutoCAD 2008で新機能ワークショップが機能しない

AdministratorになってAutoCAD 2008を起動して新機能ワークショップを起動し、現れる白いウインドウをクリックして言われるままにFlashをインストールさせたら使えるようになった。

いったいどのバージョンのFlashがつっこまれてるのか、どうやって更新できるのか、不安。


2008年09月06日(Sat) 入口に警備員

ゴミをゴミ捨て場に捨てに行ったら閉まったところだった。開いているのは6:30-17:00だそうだ。がっかり。


2009年09月06日(Sun) 初めての出張先

ITO-HNL B717

あー。傘持ってくるの忘れました。寒い機内で震えて待っていると、離陸のために滑走路に入るのをちょっと躊躇した。なに?なに?

HNL-NRT B747-400

この飛行機も寒い。

「空飛ぶ空想の機械」この前も観たかな。

「A night in a museum 2」謎の石板?が博物館の展示物を蘇えらせる。下らないながらに楽しめた。NASM萌え。アメリア・エアハートも出ていた。

JO、乗るたびに食事が貧相になっていく気がするよ。今回は離陸後のスナックは無し、メインの食事は1皿少なく、到着前の冷し中華を期待していたら冷たいパンだった。

本日のツッコミ(全2件) [ツッコミを入れる]

> xibbar [コナ便はJALしかないんですよねぇ。。 いっそ、ANAに子会社になって、、、無理か。]

> zunda [おまけにコナ便は帰りはホノルル経由になるみたいですね。ちなみに僕はどの会社のマイレージも持ってるので大丈夫です。何が..]


2017年09月06日(Wed) 朝からちゃんとした雨

[tDiary] 自作のネイティブRubyライブラリをCGIから使う

このtDiaryはNet BSD上で動いていて、ここのところコードの更新ができていません。更新を妨げている原因のひとつが、ホストに負荷をかけすぎないためにCPU負荷や自ユーザーのプロセス数をプロセスを起動せずにシステムコールだけで取得できるようにした自作のRubyライブラリでした。CGIから起動されるRubyスクリプトはまずこのライブラリを読んでシステムの負荷を測定し、問題がなければtDiaryの処理を始めます。これをなんとかモダンなエコシステムに乗せて更新を簡単にしたい。

というわけで、まずはsetup.rbではなくgemspecからビルドするようにしました。さて。次はCGIから起動されるスクリプトからこれを読めるようにになくちゃ。試行錯誤の結果、下記のようになりました。

Rubyの環境。このホストには、ruby 2.3.4p301/usr/pkg/bin/ruby23としてインストールされています。これを使うようにします。

$ gem23 install bundle --user-install

PATHの最初に$HOME/.gem/ruby/2.3.0/binを追加しました。

Gemfile。ローカルな変更を使ってしまわないよう、GitHubにpushしたものを使うようにします。

gem 'netbsd_sysinfo', :github => 'zunda/netbsd_sysinfo'

このライブラリをローカルから参照できるようにします。

$ bundle install --path=vendor/bundle

CGIスクリプトは下記のような感じ。

#!/usr/pkg/bin/ruby23
require 'rubygems'
require 'bundler/setup'
require 'netbsd_sysinfo'

puts "Load averages: #{NetbsdSysinfo.loadavg}"
puts "Number of processes: #{NetbsdSysinfo.nprocs}"

これをローカルから実行すると、Content-typeレスポンスヘッダと共に端末に結果が表示されます。もうひといき。

Content-type: text/plain

Load averages: [0.466796875, 0.37451171875, 0.34228515625]
Number of processes: 2

さて。Apacheから実行しますよ。

.htaccess

Options +ExecCGI
AddHandler cgi-script .rb
DirectoryIndex index.rb

これがHTTP/1.1 500 Internal Server Errorになるんだな。CGIスクリプトを書き換えてエラーの内容を確認する。

#!/bin/sh

echo Content-type: text/plain
echo

/usr/pkg/bin/ruby23 <<_END 2>&1
require 'rubygems'
require 'bundler/setup'
require 'netbsd_sysinfo'

puts "Content-type: text/plain\n\n"
puts "Load averages: #{NetbsdSysinfo.loadavg}"
puts "Number of processes: #{NetbsdSysinfo.nprocs}"
_END

RubyからのstderrもApacheに渡るようになります。

/usr/pkg/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': can
        from /usr/pkg/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `
	from -:2:in `<main>'

うーん。bundler/setup~/.gem/ruby/2.3.0/gems/bundler-1.15.4/lib/以下にあるのです。下記ならApacheからでも実行できる。

#!/usr/pkg/bin/ruby23 
$:.unshift("/home/zunda/.gem/ruby/2.3.0/gems/bundler-1.15.4/lib/")
require 'rubygems'
require 'bundler/setup'
require 'netbsd_sysinfo'

puts "Content-type: text/plain\n\n"
puts "Load averages: #{NetbsdSysinfo.loadavg}"
puts "Number of processes: #{NetbsdSysinfo.nprocs}"

どこかで誰かがこのパスを特別扱いしてるんだなあ…


作り手とその取り巻きだけが楽しんでる間は本物じゃない。その中身が理解できない人々の生活を変えてこそ本物だ


zunda <zunda at freeshell.org>