2001-03-02(金) RubyConf、mod_ruby、eRuby、cgi.rb、万歩計
■ Mary?
おや? この日記の次の名称が決まったようで >[Kondara-users.ja:05313]
■ Ruby Conference
おおー、ついにアメリカでカンファレンスかぁ。もうマイナーとは呼ばせないぜ。「desire to meet matz」って表現が泣けるね。でも、なんでPHPでサイト作っとんのじゃいっ。eRubyでさくっと作らんかい。
■ ftpup
前田さんのサイトをウロウロしてたら、ftpupの1.3.4を見つける。RAAに入ってないってことは発禁ものか?(なんだそれ) ftplib
からnet/ftp
に変えたのかな〜、と思ったら違いました。あれれ。warningが出るから気になっていたんだけどね。自分でやれというお告げか。時間ないんだけど……。
■ mod_ruby、eRuby
今まであまり真面目に使っていなかったmod_rubyを使う必要が出てきたので(また泥縄かい)、いろいろ試していたら、Kondaraのmod_ruby RPMはeRuby readyじゃなかったということがわかって愕然。動かないわけだよー、とほほ。仕方がないので野良ビルドすることに。ちなみにeRuby RPMも共有ライブラリ化されていなかったので、こっちも野良る必要がある。これを解決するには、eRubyをruby-eruby
とruby-eruby-devel
に分けて、mod_ruby
をruby-eruby-devel
に依存させればいいんだな。方針はわかってもSPECファイル書けないんだけどさ(Kondara-develに参加しろって話もある)。
というわけで野良りくらりと行こう(←ギャグ?)。まず、eRubyとmod_rubyをアンインストール。
% sudo rpm -e mod_ruby ruby-eruby
■ 続いてeRubyの最新版をビルド、インストール。
% tar zxf eruby-0.1.3.tar.gz % cd eruby-0.1.3 % ./Makefile.RB --enable-shared --default-charset=EUC-JP % make % sudo make install % sudo cp /usr/bin/eruby /home/httpd/cgi-bin/eruby
■ /usr/local/*
じゃなくて/usr/*
に入っちゃったけどいいや。次はmod_ruby。
% tar zxf mod_ruby-0.2.2.tar.gz % cd mod_ruby-0.2.2 % ./Makefile.RB --enable-eruby % make % sudo make install
■ お次。/etc/httpd/conf/httpd.conf
で以下の設定。CGI版のeRubyも使えるように策を巡らす。サフィックスが.rhtml
だとCGI、.rxhtml
ならmod_ruby。
LoadModule ruby_module modules/mod_ruby.so AddModule mod_ruby.c AddType application/x-httpd-eruby-cgi .rhtml Action application/x-httpd-eruby-cgi /cgi-bin/eruby <IfModule mod_ruby.c> AddHandler ruby-script .rbx AddType application/x-httpd-eruby .rxhtml </IfModule>
■ 以下のような内容のファイルを2つ作って(名前はtest.rhtml
とtest.rxhtml
)、前者が「CGI/1.1」と出ることでCGI版、後者が「CGI-Ruby/1.1」と出ることでmod_ruby版であることを確認。そっかー、mod_ruby版だと、カレントディレクトリが違うんだなー、当たり前だけど。
<%= ENV['GATEWAY_INTERFACE'] %><br><%= Dir::pwd %>
■ 悲しいのは、自宅か会社のローカル環境でしかこの恩恵にあずかれないことだ。やっぱ自前の回線とサーバが欲しいなぁ。
■ cgi.rb
以前作ったCGIに仕込んだLast-Modified
ヘッダが、ブラウザに認識されていないことに気づいた。気づいたのはアンテナのおかげ。調べてみると、日付が「Fri, 2 Feb 2000」だとダメで、「Fri, 02 Feb 2000」だとOK。RFCを調べて、dayは2桁固定らしいことを確認。月が変わって顕在化したのか。パッチを出したけど、よけいなことまでして前田さんにツッコミをうける。とほほ。最新のcgi.rb
をGETするために、期せずしてRuby 1.7も入手しちゃうし。近づかないつもりだったのに(笑)。
■ 万歩計
万歩計かぁ(「歩数計」と書いてあるけど、馴染めないので「万歩計」と書きます)。こりゃ買いだな。やっぱOmniRemoteに続くイロモノは買わないとね。OmniRemoteは、ときどき思い出したようにしか使わないけど、これなら毎日付けて歩けばいいだけだし、それなりに実用的かも。もっとも、自分の歩数のあまりの少なさに愕然とする気もするが。
もっとも、待ち望んでる本命のSpringboardは、実用性バシバシのBlueToothなんだけど。VisorにBlueToothなSpringboardを差して、BlueTooth対応のケータイ(PHSでも可)を買えば、無敵のモバイル環境でしょぉ? ちまちましたテンキーでメール書く必要もなければ、うざったいケーブルもない。理想的だ。早く出てくれBlueTooth!!
2002-03-02(土) 709歩
■ Asumi RC2(1)
まずはバックアップ。こないだAsumiを入れようとして挫折、かわりにOGL2を入れたspc29号機がバックアップ先。バックアップファイルがでかすぎてtarできなかった前回の教訓を生かし、今回はrsyncを使う。
ただし、通常はsshdがrootでのログインを許可しないので、spc29の/etc/ssh/sshd_configの「PermitRootLogin」を「yes」に変えておく(もちろんsshなんて使わないという選択肢もアリだけど)。
あとはがしがしバックアップ。
# rsync -e ssh -rlpogtv /etc /var /home /usr/local spc29:/var/backup/
■ Asumi RC2(2)
バックアップ中は暇なので、ガメラ2のDVDを見始めたらハマるハマる。ロゴ作るどころの話じゃないよ(笑)。
さて、インストール開始。ワークステーションを選択して、GnomeとKDEなどを選択。順調にパッケージが入っていく。やっぱ、以前spc29に入らなかったのは、DVD-ROMドライブとCD-RWメディアの相性の問題だったようだ。
……で、なぜかXの設定画面にはならずにインストール完了。あれ?
その後、rootで入ってXconfiguratorを実行するも、Maryと同様にSEGVる(泣)。うぇーん、やっぱこのマシンはダメだ〜。
さーて、どうしようかな。こんな腐れマシン捨てて、spc15でWindowsと同居させようか。
■ Asumi RC2(3)
えーい、こんなPC捨てじゃ。SiS630逝ってよし。
ということで、IWill BD100にPentiumIII866を積んだ旧マシンに引っ越し。メモリとディスクを入れ替えてインストール開始。
って、なぜメモリが256MBまでしか認識されないのだ。BD100は1GBまで搭載可能。DIMM 4スロットだから、もしかし1つのスロットあたり256MBまでとか!? そうかも。がくー。512MBなDIMMが宝の持ち腐れか?
まぁいいや、そのまま進む。インストールは順調に終わったので、バックアップから/homeと/varを戻す。
……と思ったら途中で止まるし。なんだこれ。バックアップ先のマシンのeth0が死んでる。on boardのNICなんだけど、何使ってんのかな……と思って調べると「RTL-8193」。カニさんですね。ダメですね(泣)。
IRCで帯域を絞れと言うアイデアをいただいたので、10Mbpsのハブを持ってきてつなぐ。これで10GBのバックアップを戻すのか……だりぃなぁ。メシ食お。
■ Asumi RC2(4)
/varをバックアップから戻して上書きした結果、rpmのデータベースがMary状態にというひでぇポカをやらかしてしまったが、パッケージの入れ替えの時に注意すれば大丈夫なような気がするのでそのままにしてしまった。怖いなぁ。
/etcはさすがにそのまま戻せないので、明日以降、徐々に戻すとしよう。今日はnamedとntpdだけ。Apcheがうまく動かん。あと、MTAはpostfixに乗り換えようと思っているので、それが済むまでしばらくはメールが出せない:-P
デスクトップ環境はKDEにしてみた。たいていOSを入れ替えると、最初にKDEをトライする。けっこう好きなのだ。しかしMaryのKDEは不安定でぜんぜん使い物にならなかった。だからGnomeを使っていたのだが、AsumiのKDEはかなりいいぞ。AAもきれいだし、アプリが落ちることも少ない。これなら常用してもいいかも?
……といいつつ、動いているのがGTK+で作られたものばかりというのはどうよ(笑)。
2003-03-02(日)
2004-03-02(火)
■ シャワートイレハッキング(2)
メンテナンスモードのあるトイレだったので油断していたら、水温が「高」だった。こういうトイレにメンテナンスモードが付いているのは、いたずら防止はもちろん、消費電力の低減を狙ってのことなので、デフォルトで「高」ということはあり得ない。
脆弱性の公開(違)には、慎重にならねばならないと思った。
■ そして親知らず
「この親知らずは、不定期に痛むかも知れませんよ」とか言う一方で、「可能な限り抜かない方がいいですよ」とか言うなよ(泣)。まぁ、
- 横を向いてるだけじゃなく、さらに奥に向かって傾いているので一筋縄ではいかないとか
- 根のすぐ近くを神経や血管が通っているので、抜いた拍子に傷をつけたらえらいことになるとか
今日もさんざん脅されたので、ちょっとやそっとじゃ抜く気になりませんことよ。
2006-03-02(木)
■ おれだったらフォト蔵APIをこうする(2)
昨日のエントリに対して、開発者の方からツッコミをいただいた。
Flickrにしろdel.icio.usにしろ本来の意味でのRESTになってないAPIが多く存在するのが現実です。
これはagree。とは言ったもののFlickrやdel.icio.usのAPIは軽く眺めたことがある程度なので、コメントは控える。AmazonやGoogleのような先駆的なベンダーがGETだけで済む取得系APIを公開して「これがRESTでござい」とやっちゃったのがいけなかったんじゃないかと、個人的には考えているのだが。
PUTやDELETEは開発者にとってもあまりなじみのない単語であり、GETやPOSTの方が分かりやすく、IEなどのwebブラウザだけでテストが行える利点があり、より多くの開発者を獲得できる可能性があります。
これもagree。たとえばRubyのNet::HTTPには、DELETEに対応したクラスがない。もしRESTfulなサービスがあったら、Deleteクラスを自作しなくてはならないだろう……と思ったけど、RAAにはRESTを実装したライブラリがあるみたいだなぁ。こんど使ってみよ。
しかしだからと言って、フォト蔵もRESTを名乗っていいということにはならないのではないか。標準化団体によって規約化されているわけではないものの、RESTはきちんと定義された概念だ。正しくないとわかっているのに、なぜRESTを名乗るのか。ここは開発者の良心を期待したいところである。
Web上でAPIを公開するのに、SOAPやREST、XML-RPCでなければならないという法はない。開発者が使いやすいと信じているなら、RESTなど名乗らずに独自方式であることを明記すればいいではないか。わざわざRESTに対する誤解を拡大させることはないと思うのだが、いかがだろうか。フォト蔵APIの概要から「フォト蔵APIは全てRESTで提供されています。」の一文を削除しても、何の問題もなく意味が通じると思う。
それはさておき、ほとんどのAPIはちゃんと呼べたんだけど、どうしてもphoto_addで写真が追加できない。エラーは「REGISTERATION_FAILURE: Failed to register 」なので原因もわからんし。photoパラメタの指定方法がいけないような気がするんだけど、バイナリをそのまま与えたらあかんのだろうか(もちろんURL encodeしてるけど)。
2008-03-02(日)
■ tDiary: CVS TrunkがUTF-8化
「2.2をリリースしたらTest_UTF8ブランチを統合するよ」と約束していたものの、先日の2.2.1リリースまでStable-2_2ブランチを切っていなかったので、マージ作業ができなかった。今日になってようやくStable-2_2ブランチを切ったら、(Test_UTF8ブランチ担当の)かずひこがソッコーでマージしてくれた。
というわけで、現状のTrunkはアッチッチであります。知らずにcvs updateするとひどい目に遭うよ(笑)。
おれもこの日記はStable-2_2で運用してます(ぉぃ!)。
2010-03-02(火)
■ MyKeePassでiPhoneでもパスワード管理できるようになった
野良ビルド版iKeePassを入れたものの、有効期限は3ヶ月だし……と悩んでいたら、MyKeePassというのが出たと教えてもらった。iKeePassが輸出規制にひっかかって、なんで同じようなMyKeePassは問題ないわけ???
こういうものはソースが公開されてないと怖いものだが、MyKeePassも公開されたようなので、導入することにした*1。購入・ダウンロードはこちらから→MyKeePass (iTunesが開きます)
面白いのがデータベースファイルの転送方法で、MyKeePassを転送モードにすると(右下のフロッピーのアイコンをタップ)、iPhoneがHTTPサーバになる。表示されているURLにアクセスすると、ファイルをアップロードできるフォームが現れるという寸法。ポート番号はランダムなので、家庭内のWiFiを使っていればおおむね安全と考えていいだろう。
ちなみにデータベースファイルは、.kdbx(v2.0用)ではダメで、.kdb(v1.0用)にエクスポートしたものでなければいけない。最初、.kdbxのまま転送して、何もリストに現れないのでえらく悩んでしまった。というかファイルを消すUIがないから、いつまでもiPhone上にゴミが残ってる状態なんだけど(笑)。
転送に成功すれば、マスターパスワードの入力でエントリの中身を見ることができる。パスワードをタップするとクリップボードにコピーされるので、それを各アプリなり、Webページのフォームなりにペーストすれば良い。
*1 公開されたからって読むわけじゃないし、だいいちiTSにあるのが同じソースからビルドされたバイナリという保証はないんだけど(笑)。
2013-03-02(土)
■ CTF「Nullcon "Battle Underground"」に参加していた
(CTF業界的には)この週末はなんといってもCodegateなわけですが、うっかりRegistrationを忘れるというポカミスをしでかしてしまい、まさかの不戦敗という……いやまぁ、Rate 80.00のCTFなんて歯が立つわけがないんだけど、こういう有名な大会は参加することに意味があるのにねぇ。
で、そんな間抜けなわれわれのために(?)Nullconが裏番組で開催してくれたBattle Undergroundをやっていたのだった。これ、アナウンスが急だったせいかRatingがついてないんだけど……。
こないだのHackIM 2013と同様、ここのCTFは比較的易しくてひねった問題が少ないので、得意分野に絞って解答していたら、最終的にTOP20に入ることができた。まぁ、実力のあるチームはみんなCodegateに出てるから上位がスカスカなんだけどね。とはいえ結果は結果である。わーい。
2014-03-02(日)
■ 川崎 2-2 神戸@等々力陸上競技場
待ちに待った開幕戦*1。氷のように冷たい雨が降る中、完璧な耐寒・耐水装備で観戦したけど、それでも寒かったな。
失点してすぐに同点に追いついて、そのあと逆転してこのまま逃げ切れるか……と思っていたが、終了間際に押し込まれて同点。残念ながら白星発進とはいかなかったものの、内容は良かったんじゃないかなーと思う。
最初「あれ?」と思ったのは、レナトの球離れがすごく良いこと。これまでは毎試合「レナト、ボール持ちすぎ~」と文句をつけていたんだけど、この試合ではそういうことがなかった。これはレナトがパスを安心して出せる相手が増えているのを示しているんじゃないか。実際選手たちの動きには昨年よりバリエーションがあって、パスの出し先が常に複数ある感じ。相手からボールを奪うときのプレスでも、奪ったあとのことまで考えたフォーメーションになってる気がするし、シュートのこぼれ球に詰め寄る機会も増えている。1試合だけで判断するのはあれだけど、感覚的には今年のチーム、けっこう良さそう。
というわけで、今年こそタイトル取ろう! という気にはなれたよ。
スタジアムの工事は徐々に進んでいて、メインの裏には新しいスタンドとおぼしき構造が。大型クレーンも3台、この雨の中動き回っていた。はやく完成しないかなー。
*1 実際は水曜にACLの初戦があったので2戦目。
2015-03-02(月)
■ 第一tDiary.Netの移転を始める
この日記をHerokuに移してからしばらく運用してだいぶ感じがつかめてきたので、第一tDiary.Netの移転を始めることにした。といっても数に限りがあるので、まずは現状で頻繁に日記が更新されてるところだけ。
……でもまぁ、↑のアナウンス自体が数年ぶりなので(その間なんのトラブルもなく運用できていたのでまぁたいしたものだ。アップデートもさぼってたけど)、そもそもユーザに気づいてもらえないと思う(笑)。まぁ、ぼちぼち連絡とりつつ進めよう。
2018-03-02(金)
■ 川崎 1-1 湘南@等々力陸上競技場
かみさんがことあるごとに湘南は苦手だ苦手だと言うのだけど、そうはいってもこっちはJ1チャンピオン、向こうはJ2上がり、さすがに差は歴然じゃないの……とか思っててすみませんでしたー。
いやまぁ、ゼロックス杯から始まった今シーズン、ACLはすでに2試合あって、都合3連敗というひどいスタートだったのに、J1開幕戦(vs磐田)は0-3で勝利したもんだから、きっちり立て直してきてそこはさすが。あとは悠さまのゴールがあれば完璧と思っていたし、前半にその悠さまの先制があったもんだから、このまま勝てるだろうとは思っていたが。
湘南はがっちり守る作戦で、それはそれはみごとな「フラット5」、こういうチーム、風間時代にはまったく手が出せなかったものだけど、いまは裏にロングで放り込んだり、大きくサイドチェンジする等の崩し方もできるようになったから、なんとかなるとは思ってたんだけどなー。
まぁ負けなかっただけでもマシだ。優勝するチームはとにかく負けないんだから。ホーム開幕6年連続で引き分けらしいけど。なんだよそれ(笑)。
2022-03-02(水)
■ 川崎 2-1 浦和@等々力陸上競技場
引き続き寒い時期に平日夜間にゲームが行われるのだ。それというのも、ワールドカップが冬にあるから、11月までに全試合を終えるため、ACLに参加するクラブはキッチキチにスケジュールが詰まっているからなんだけど。おまけに武蔵中原を出たらパラパラと雨粒が落ちてきて、さらに憂鬱な気分に。雨は嫌いだが、とくに冬の雨は嫌い。
なんとか3試合で2勝しているもののチーム状態はあまりよくなくて、前線でボールがキープできない。結果的に(ただでさえ欠場が多い)DFに負担がかかるから、序盤からかなり攻められる。そんな中、よりによってノボリが負傷退場して(またDFが減った!)、直後に失点。うーん、こりゃあかんかも?
と思ったら、後半だいぶいい感じに立て直してきて、60分すぎに立て続けに2点とってなんとか勝利。うはー、正直、勝てるとは思わなかったよ。危ない橋を渡り続けてる感じだわ。まぁ勝ちは勝ち。これで3勝。一方浦和は、今シーズンまだ勝ちがないんだってさ!
ま、あのサポーターじゃその成績もやむなしかね。噂には聞いていたけど浦和のサポはマジでひどい。あそこまであからさまにチャントをやるとか(言うまでもなくコロナ禍で声を出しての応援は禁止である)、あいかわらず幼稚で自制心がなく、そのうえサポーター組織が自浄作用すら持ってない。Jリーグの面汚し。なんで没収試合とかにしないんだろうな。
Before...
◆ Nana [楽しみだなああ〜>Title Logo]
◆ suzune [たっぷり独身を謳歌してますねー(笑) いいなぁ…]
◆ くわ [そういえばガメラ2と3見なきゃ。]
◆ suzune [ナイスなロゴっす(笑)]
◆ smbd [うはは、ロゴ最高!]
◆ と〜ちゃん [独身」と聞いて悪い遊びを連想するおいらって…]