2001-05-30 (Wed)
_ sshd on Windows
sshdを実行するユーザとログインするユーザが違うと、RSA認証でログインした 瞬間に接続を切られてしまう。
$ ssh -v rummywin (snip) Fanfare!!! You are successfully logged in to this server!!! Connection to rummywin closed.
うーん、パスワード認証なら上手く行くのに何でだろう。
2005-05-30 (Mon)
_ いろいろ変更
メールの格納方法とかいろいろ変えてるので、HEADは危険ですよ! まあ、いつだって危険なんだけど。
--import-imapまわりはかなり仕様が変わった。
- --imap-hostなどは--remote-hostに変更。
- デフォルトでは未読メールのみ取得。 (--import-allで全メール取得。--import-imap-allの方がいいかな。)
- デフォルトではフラグは取得せず。 (--import-imap-flagsでフラグも取得。)
これをfetchmail代りに使って運用しよう。 取得したメールをサーバから削除する機能も付けないと。
都合で進捗表示は削ってしまったけど、そのうち--verboseで進捗を出せるようにしたい。 progressbar.rbがラクかなあ。
_ importの進捗表示
結局progressbar.rbを使うことに。
同梱しても問題ないような気もするけど、
class NullObject
def initialize(*args)
end
def method_missing(mid, *args)
return self
end
end
begin
require "progressbar"
rescue LoadError
ProgressBar = NullObject
end
としておいて、progressbar.rbがある時だけ進捗表示することにした。 (まだ、import_imapのみ。)
2007-05-30 (Wed)
_ mail bomb
rubyforgeからすごい数のメールがruby-core MLに来ていたので、一時的にnoreply@rubyforge.orgをMLから外した。 しかし、すごい数だった。
2013-05-30 (Thu)
_ RubyKaigi2013(1日目)
RubyKaigi2013に参加して発表した。 とりあえず資料を↓に置いておきます。
発表では喋らなかったけど、どっちかというとpackrat parserの実装の方が大変だった。
しかも、遅いし入力が大きいと落ちる。理由は、
- 末尾呼出しの最適化がデフォルトでオフになっている。
- 末尾呼出しの最適化を有効化しても、Procの呼出しの場合は効果がない(多分Proc#callでCの関数をまたぐため最適化が効かない)。
- Immutable::Promiseを使うと、内部的にトランポリンを使っているので、末尾呼出しの最適化ができるけど、Parser#bindなどの実装ではそもそも末尾再帰の形になっていない。しかもPromise使うと余計遅くなる。
- 加えて、Rubyだともともと関数型言語に比べて再帰呼出し回数の上限が低い。 (Ruby 2.0では環境変数RUBY_THREAD_VM_STACK_SIZEで調整できる。)
といった感じかなあ。
Rubyだと提供するインタフェイスは関数型っぽくする場合でも、内部的な実装は命令型にしないと実用的でない気がする。 Scalaも割とそんな感じだし、もともとOOPLだから仕方ないかなあ。
2020-05-30 (Sat)
_ NUTEC NC-102
今までチェーンにはどこでも手に入るKUREのスーパーチェーンルブを使っていたが、NUTECのNC-102に変えてみた。
スプレー直後は浸透しやすくてしばらく経つと飛散しにくくなるのはスーパーチェーンルブに近いかも。色は結構黄色っぽい。
しかし、価格が2倍以上高いのがネック。
2026-05-30 (Sat)
_ 関ケ原Ruby会議01に参戦した
DAY0
今回は会場までの道のりが大変だった。
夕方ごろに出雲空港に着くと機材到着遅れというアナウンスが出ていたが、この時はまだ鴨せいろを食べながら悠長に構えていた。
機材は15分遅れくらいで到着したが、点検で整備が必要になったためさらに遅れるとアナウンスがあり、整備完了の見込みが立たない場合は欠航しますとのことだった。このあたりからいやな予感がして、車で行くルートや所要時間を調べはじめた。
結局1時間後に欠航のアナウンスがあり、手続きをするので並んでほしいとのことだったが、時間がかかりそうだったので列を抜けて、スタッフの人にネットで払いもどし手続きをする旨を伝えて、車での移動を開始した。
山陰道が一部通行止めだったり、長距離の運転は久しぶりで疲れたが、何とか25:30ごろに岐阜駅前のホテルにたどり着いた。
DAY1
オープニング
両軍の武将が動画に合わせて登場する演出があったが、西軍先鋒の森塚三矢大坂守が自前の赤い兜と羽織で登場して早くも不穏な空気が漂っていた(公式には東軍が赤で、西軍が青という設定)。
東軍先鋒源村田信濃掾構幾寿郎一真「Sorbetの型がRailsのMVC全てを貫通するまで」
クライアントサイドでもruby.wasmでvalidationを行って、型定義を含むコードをサーバサイドと共有するという話が面白かった。ruby.wasmはだいぶサイズが大きいのでproductionで使うのは躊躇しそうだけど、validation処理はpure Rubyということだったのでpicoruby.wasmでも行けたりしないだろうか。
西軍先鋒大江森塚三矢大坂守小輔次郎真年「拙者、『型は欲しいが型は書きたくない』者たちとの和睦を結び、るびぃにおける型の領地安堵を実現せんと欲す者也」
自分も型にあまり気持ちがない方なので反省した。
LLMのトークン効率のために.rbにドキュメント・型を書かずに.rbsの方に書くという案が出ていたけど、別ファイルだと.rbに追従できなくなりがちなので、型を書きたい人たちはrbs-inlineを使ったり、RubyKaigiでStan Loが話してたようにコメントのRDoc(Markdown)に型シグネチャを書くようにしたいんじゃないかという気もする。
最近のまつもとさんはコメントの地なら領地安堵してもよいと思っていそう。
東軍次鋒橘小芝内匠頭緒美三幸「気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで」
課題に対する先生の講評に凹んだけど一旦忘れて自分が作りたいものを作った、というお話がよかった。某も笹田武蔵守の誹りに揺るがず初志を貫徹すべし。
うちの家紋は本当は丸に橘なので、紹介されていた家紋生成器でそれっぽく作ってみたけど、パラメータをいじると色んな家紋を作ることができて面白かった。
西軍次鋒平毛利石見守八郎秀穎「Termfront: Ruby標準ライブラリだけで作るFPS」
端末でFPSってどんな感じになるんだろうと思っていたけど、けっこうちゃんと疑似3DのFPSっぽくなっていてすごかった。あれを端末で作ろうと思うのがすごい。デモプレイの操作も上手く、小気味よいタイプ音が流れていた。
小芝内匠頭のトークもだけど、デモが華やかでうらやましい。
ちなみにテトリスは最近のTextbringerでもM-x tetrisで遊べるようになって、Emacs互換性が向上しています。
ランチ
奉行衆から前日にランチタイムに笹田武蔵守と対談をしてほしいという話があり、急遽芝生で座って話をしたけど、ピクニックみたいで楽しかった。
たぶん、大将がいる意味があまりないんじゃないかということに奉行衆も前日に気付いたんだと思う。
RubyKaja
総勢20名のRubyKajaが紹介されて、特別賞5名の表彰とスピーチがあったが、色んな人にRubyコミュニティが支えられていることを知る機会になってよかった。
我らが佐田出雲守も表彰されていた。
東軍中堅源牧雅楽頭ミュージ郎俊男「Play Music on Ruby ── PicoRubyで作るMIDIオーケストレーションツール」
関ケ原に合わせてなのか和楽器音源が使われてたけど、MIDIで三味線の音も出せるんだ。
実用性があるのかはよくわからないけどペンタトニックスケールから外れた音を丸めてしまうというアイデアが面白かった。
きっかけはKeebKaigiでPRK Firmwareを拡張して〜という話があったけど、まさかこれが次のトークの伏線になっていたとはこの時は知る由もなかった。
西軍中堅藤原桒原備中守歩通鍵仁雄「New "Type" system on PicoRuby」
タイトルにすっかり騙されていたけど、型システムの話ではなく、MIDIキーボードで文字を「タイプするシステム」の話だった。スケジュールを見た時は牧さんのトークとぜんぜん違うテーマだなと思っていたけど、並べられている理由がよくわかった。
宴の時に誰かと話したけど、和音を使って漢字直接入力できるようにしたらT-Codeとかと違ってワンストロークで漢字1文字を入力できて面白そう。
東西軍副将紅玉宿禰木下赤羽守ppyd翔央「Job戦国時代」
自己紹介の口上を聞いていて何か様子がおかしいと思ったらまさかの西軍への寝返り宣言で驚いた。
SidekiqとSolidQueueの比較は興味があったんだけど、裏切りの動揺や抜刀してスライドを指すアクションなどもあり、ところどころ話が入って来なかった。
結論としては、SidekiqとSolidQueueで大きな性能差はないが、IO-boundなジョブの場合はActiveJobを経由しないSidekiqが飛び抜けて性能がよいということだったと思う。
理由はまだわからないそうなので続報を待ちたい。
西軍副将橘羽角前下総守情操指南匠均之助「PicoRubyに於けるRefinementsの再解釈」
Refinementsの活用法として面白かったが、よく考えるとTaskごとに処理を差し替えたいというのは、レキシカル(っぽい)スコープのRefinementsよりも他の方法(Box?)の方が向いてたりしないだろうか。
遠回しにRefinementsの限界を示す羽角前下総守の策だったのかもしれない。というか、ファイルスコープは直接的にdisられていたな。
Proc#usingの紹介があったけど、現時点でいいねが2件しか増えていない。
大将戦もJobとTaskの話ということで繋がりがあって、全体的によくできたタイムテーブルだった。
合戦
奉行衆が「もう決着なんてつけなくてもいいんじゃないか」と言い出して笹田武蔵守と某が棒読みで突っ込むという茶番を演じた後で、用意されていた決戦方法はまさかの玉入れだった(我々も一般参加者と同じタイミングで知らされた)。
一の陣で投げたけど、右肩のリハビリ中で耳くらいの高さまでしか手が上がらないので、左手で投げて何とか4〜5個ほど入れることができた。
途中「がんばれー」といった応援の声に混じって、東軍から「このままではRefinementsが入ってしまう!」とか西軍から「Refinementsを入れるぞ!」みたいな声が聞こえてきたが、Refinementsは13年前からRubyに入っています。
最終的には合計得点で西軍が勝利することができた。
事前アンケートでは西軍の方がやや人数が少なかったように思うが、木下赤羽守のおかげで他にも寝返ってくれた人がいたのかもしれない。
宴
海老の揚げ物や咖哩などの南蛮料理が美味であった。
mod_rubyについて話しかけてくださった方がいてうれしかった。
笹田武蔵守が「敗軍の将」と呼ばれていて可哀想だった。
DAY2
公式イベントは時間が合わなかったが、せっかくなので羽角前下総守と関ケ原古戦場記念館を観に行った。
小早川秀秋が教如(真宗大谷派第12代門主)に送った書状に二日酔いのことが書いてあったりして面白かった。
最後は羽角前下総守にひつまぶしをご馳走になって、「かたじけない」とか言いながら関ケ原を後にした。
何をやるのか直前までぜんぜん知らなかったので、一般参加のみなさんと同じように楽しめた。
奉行衆をはじめ、みなさんありがとうございました。
次は松江Ruby会議12でお会いしましょう。







_ @@@@ [etch上でFirefox+Flash9だとみえてますょ]
_ shugo [今見たらちゃんと(?)トーフになってました。]