setuidされたCGIを実行するためのperl

ごくたまにこんなことやりたかったりすることありますよね。

use File::Tail;

sub get_ip{
  my $line = File::Tail->new(name => "/var/log/httpd/access_log", tail => 1)->read();
  my ($ip) = split / /, $line;
  return $ip;
}

print "Content-Type: text/plain\n\n", get_ip();

rootじゃないとアクセスできないのでsetuidする必要がありますが、それだけだとエラー吐いてうごかないので、fedora8もそれ用のperlが必要。

yum install perl-suidperl

スクリプトも

#!/usr/bin/suidperl

ではじめる必要がある。

参考 - Perl でsetuid されたCGIの実行

Music is Math

これかっこいいですの。


Music Is Math from Glenn Marshall on Vimeo.

Gainerでピンポン玉ディフューザー

とりあえずprocessingでいじる。マウスの位置に応じて色が変化するように。

コードは単純なので色もあんまり出なかった。

import processing.gainer.*;

Gainer gainer;
void setup(){
  gainer = new Gainer(this);
}

void draw(){
  background(0);
}

void mouseMoved(){

  float rx = (float)mouseX / width;
  float ry = (float)mouseY / height;
  int v0 = int(255*ry);
  int v1 = int(255*rx);

  gainer.analogOutput(0, v0);
  gainer.analogOutput(1, max(v1-v0,0));
  gainer.analogOutput(3, max(v0-v1,0));
}

参考

ウェブ時代 5つの定理

素敵な言葉集

ProductName ウェブ時代 5つの定理 この言葉が未来を切り開く!
梅田望夫
文藝春秋 / ¥ 1,365 ()
通常24時間以内に発送

大学や研究所はハッカーに科学者たることを強要するが企業はハッカーにエンジニアたれと強要する - ポール・グラハム

ProductName ハッカーと画家 コンピュータ時代の創造者たち
ポール グレアム
オーム社 / ¥ 2,520 ()
通常24時間以内に発送

製薬業もある種アートな部分が大きいのになぁといつも思うので、技術も含めて評価してくれる会社に魅力を感じますのう。

帰りの新幹線で

丁度通勤時間帯の18時くらいに、三人がけの窓際に座っていたのだけど、通路側に座ったおじさんがむやみやたらと書類を広げて困った感じのヒトだった。

で、さらに困ったことに書類を真ん中の席に置くわけ、混むに決まってんのに(それで新横浜までガードしてた)。まぁ、それはいいんだけど、中央の座席に置いてた書類が公開特許公報なのね。知ってる会社の。

さらに、いっぱい広げている書類が、僕もよく読んでいる論文で、しかもSAR表がどかんとでていて、それに蛍光ペンで一生懸命マークしてんの(あーケミストなのねと)。

とこまでわかっちゃうと、東京に新幹線通勤していて(っていう製薬企業の研究所ってあそこらくらいしか、、、)で明らかにケミストで、論文と公開特許公報からああいうプロジェクトにタッチしてんのか

なんて、意外に簡単にわかっちゃうよー、バカだよーこのおっさんと、ちょっとびっくりした。で、そんな僕は一体何をしていたかというと、「ウェブ時代 5つの定理」を熟読中で好きを仕事に!なんてやっていたので、そのミスマッチ具合がまた微笑ましかったのであった。

ProductName ウェブ時代 5つの定理 この言葉が未来を切り開く!
梅田望夫
文藝春秋 / ¥ 1,365 ()
通常24時間以内に発送

この出来事はちょっとした教訓として残しておく。

  • 新幹線通勤という情報は情報量的にどうか?
    • もし新幹線通勤でなくても会社名が推測できたか
    • 仮に出張で大阪まで帰る途中の場合は会社が特定されるか?
    • 自由席に座るのがよくないのか?
  • 特許公報という情報は?
    • 一部抜き出しはどうか
  • もし有機合成反応という技術的な論文を読んでいたら?
  • 今回ピースをはめることのできたキーは?
    • どの情報が欠落してたら、なにがわからなかったか?

あー、これってなんか論理パズルみたいですなぁ。

ProductName 史上最強の論理パズル―ポイントを見抜く力を養う60問 (ブルーバックス)
小野田 博一
講談社 / ¥ 788 ()
通常24時間以内に発送

エチオピアでチキンカレー

秋月で部品を買ったらそのまま歩いていってお茶の水のエチオピアに。 久しぶり過ぎで、辛さ何倍にすればいいか忘れていたのだがなんとなく勢いで10倍 って言ってみた。

辛すぎたらどうしようかと内心後悔したが、思ったより辛くなくてほっとした。

1223295738

やっぱカレーのすべてを買っておくべきかなぁ。

ナタラジいってみたいなぁ。

アジアン麺茶

大阪出張なのに昼どこに行くか決めてなかったので適当に入った。カレーが気になったので入ったのだけど、OL率が異常に高くてちょっと間違ったかなと思ったけど。

1221870710

チキンのレッドカレー。タイカレー風味だけど、あんま辛くない。

1221870707 1221870709

フォーもまぁまぁ。

ALAM INDO RESTAURANT

また昨日も富士詣で。

昼はやっぱラーメンかなーとつぶやいたら、大山ばかりなのは飽きたと言われ、じゃぁどこがいいんだよ?と聞き返したらじゃぁカレーと実に明快な答えが。

えー、ここら辺って美味しいカレー屋ないじゃん。と思いつつも、検索したら見つけたのがここ。

ALAM

豆のカレーを注文。別メニューにヒヨコ豆のカレーってあったので違う豆なのでしょう(実際違った)。あとタンドーリチキンを注文。

alam alam

辛くしてもらったけど、さらに辛くてもいいかも。タンドーリチキンは美味しかった。次はマトンか野菜のカレーがいいかな。

またそのうち行きたい。

秋月電子に行ってきた

超久しぶり。

1223294418

赤外線LEDとフルカラーLEDを購入。

ほらーWiimote Whiteboardとかやりたいもんね。

いまさらだけど。

「アルファギークに逢ってきた」と「ウェブ人間退化論」

今日読んだ本。

雑誌のほうは読んでいるけど、弾感と最後の対談が読みたかったので改めて。

ProductName 小飼弾のアルファギークに逢ってきた [WEB+DB PRESS plus] (WEB+DB PRESSプラスシリーズ)
小飼 弾
技術評論社 / ¥ 1,554 ()
通常24時間以内に発送

DHHとの対談の中で

Pythonの場合、逆に言語の一貫性が高いので、フレームワークのほうで抽象化をやらなくちゃいけない。

って部分がきちんと理解できていない。

ProductName ウェブ人間退化論―「社会のIT化」は「サル化」への道!?
正高 信男
PHP研究所 / ¥ 1,260 ()
通常24時間以内に発送

タイトルが詐欺な感じ。行動学の話の部分は面白いけど、ITに関する知識や洞察が低すぎて両者を絡めたストーリーがグダグダなのがなんとも。あと、日本人論とか人間論かかなんというか主観が目立ってというか、そもそもITと人間論的なものを対立する軸においているような主張ですよね、これは。

読んでなにか得たかと問われればなにも得なかったという僕の主観で〆。