2005-04-21 (Thu)
_ Firefox 1.0.3でtDiaryQuoteが動かない
JavaScript Consoleを見ると、
var focusedWindow = document.commandDispatcher.focusedWindow; selection = focusedWindow.__proto__.getSelection.call(focusedWindow).toString();
という部分でエラーになっているようだ。
Error: uncaught exception: [Exception... "Illegal operation on WrappedNative prototype object" nsresult: "0x8057000c (NS_ERROR_XPC_BAD_OP_ON_WN_PROTO)" location: "JS frame :: chrome://tdiaryquote/content/tdiaryquoteOverlay.js :: anonymous :: line 69" data: no]
こんなことしていいのかなと不安に思ってた部分ではあるんだけど。 うーん、どうすればいいんだ?
_ queries以下のフォルダ名の変更
INBOXやmlの内容はちゃんと読める。queryの中、フォルダ名を変更するとクエリの内容まで変わっちゃうみたいだけど、これって前は変わらなかったんじゃ?
[ただのにっき(2005-04-21)より引用]
Becky!でフォルダを作ると、一時的に適当な名前でフォルダを作ってからユーザが 指定した名前にRENAMEするようなので、このような挙動に変更しました。 クエリを変えたくない時は、queriesフォルダの外に移動してください。
メールの削除ができない……のはまだ未実装だからだな(↓)。
[ただのにっき(2005-04-21)より引用]
そうです、えへん。
Becky!からだと、INBOXに(--importによって)あとから「追加」されたメールが現れない。
[ただのにっき(2005-04-21)より引用]
もしかして、Becky!って明示的にコマンドを発行しなくても、サーバ側からメールボックスの変更(メールの追加とか)が通知されることを期待してるのかも。 RFC3501の`5.2. Mailbox Size and Message Status Updates'あたりに、
A server MUST send mailbox size updates automatically if a mailbox size change is observed during the processing of a command.
なんて書いてあるので、ほんとはやらなきゃいけないんですけど、手抜きしてます。
_ Railsはじめました
Railsを評価中。 あまり時間がないので、明日中には採用するか決めたい。
Railsはテーブルやカラムの名前を付ける際に慣習に従わないと面倒なことに なるようだが、幸い自分の今までのスタイルで行けそうだ。ラッキー。
テーブルにprimary keyがないといけない*1 のは何とかならないのかなあ。
あるいは、
create table questions ( id integer primary key, question varchar(256) ); create table answers ( question_id integer, number integer, answer varchar(256), primary key (question_id, number) );
のようなテーブルがある時に、
class Answer < ActiveRecord::Base def self.primary_key return "question_id", "number" end end
みたいにできないかな。
*1 少なくともfixtureが上手く動かないみたい。
_ Howto Use Boolean Columns in Rails
Railsはtrue/falseを1/0にマッピングするため、PostgreSQLでboolean型を使う場合、fixtureに
a_fixture: int_col: 1 bool_col: true
と書くとNG。
a_fixture: int_col: 1 bool_col: "true"
のように書かないといけないらしい。
The boolean type is nonstandard and, in postgresql 4.7 at least, the db will give an error if you try to put an int instead of a bool in.
ん、SQL92とかになかったっけ?
_ fixtureとprimary key
modelを作らなければ、primary keyがなくてもちゃんとfixtureが機能するみたい。 つまり、Railsから直接見る必要のない中間テーブルにはprimary keyがなくても いいってことだな。
2017-04-21 (Fri)
_ Textbringer 0.2.2
Textbringer 0.2.2をリリースした。 変更点は以下のとおり。
- Rename read_char to read_event and add read_char as a new method.
- Add next_tick and background for background threads.
- Add the force: option to kill_buffer.
- bind C-? ([delete] on Mac) to backward_delete_char. Pull request #23 by moguno.
- Make commands module_functions.
- Use fiddley instead of ffi.
0.2.1までは100%僕が書いたコードだったが、0.2.2でついに1行他人のコードが入った! mogunoさんありがとうございます。
ffiの代りにfiddleyを使うようにしたので、たぶんmswin32でも使えるはず。
あとはだいたいMournmailのための修正。 MournmailはTextbringerの姉妹で、Textbringerと一緒になることで世界を滅ぼす力を手に入れることができるという代物であるが、詳しくは後日記す。
2019-04-21 (Sun)
_ RubyKaigi 2019
RubyKaigi 2019に参加してきた。
自分はTerminal cursesというタイトルで、端末プログラミングはこんなに面倒なのでcursesというライブラリやTextbringerというフレームワークを使うと楽ですよ、という話をしてきた。 最初はmltermでやろうと思っていたが、なぜかフォントサイズの上限が50になっているようで、4KのPCからミラーリングする前提だと文字が小さすぎるので、Windows上のRloginからVirtualBoxのLinuxにsshで接続した(どうせならVirtualBoxの仮想シリアルポート経由でやろうかとも思ったが、baud rateを設定してもSixelの表示が遅すぎたのでやめておいた)。
死に至る呪い(terminal curses)の話をしたせいか、curses-1.3.0がmacOSでビルドできなくなっていたので、先ほどcurses-1.3.1をリリースした。
咳さんのdRuby 20周年ワークショップを手伝ったら、「DRb.start_serviceを二つの端末で動かしてもエラーにならないのはなぜか?」みたいに松江のワークショップより難しい質問が多くて即答できずにあせった(自分のマシンで確認したところ、サンプルコードではlocalhostにbindしていたので最初の端末では::1、2番目の端末では127.0.0.1にbindされていたようだ)が、好評そうでよかった。流行るといいですね。
今回もいい会議だった。スタッフ・来場者のみなさん、ありがとうございました。
_ @@@@ [selection = focusedWindow.getSelection().toString(); こうかな?..]