2002-04-20(土) 0歩(寝てた)
■ 小林サッカー
小林サッカー、それは……
『1番GK小林、2番DF小林、3番DF小林……(中略)……10番MF小林、9番FW小林……。主審は小林さん、副審と第4の審判も小林さんです。実況は小林、解説は小林さんをお迎えしてお送りします』……って感じですかね(笑)。
いや、「しょうりんじ」って入れると「少林寺」って変換されるけど、「しょうりん」だとダメなんだよねー、とかみさんと話していたので、この変換ミスはありがちだがおかしかった。
■ tDiary: イメージアンカー
アンカーのイメージが前の行にかぶさる件、これはそれぞれのブラウザのCSS解釈のバグとちゃうかなー、と思ってるんだけど(仕様を確認してないけど)。インラインエレメントは最大の高さに合わせるべきじゃないかなー。
それはそれとして、16x16を12x12に縮めてみた。これならほとんどの環境でまともに見えると思われ。
2003-04-20(日)
■ tDiary: form_procプラグイン
絵日記をどうにかプラグイン単体で動かすため、form_procを導入。これは、日記本文を書く更新フォームの下に、別のフォーム(別にフォームじゃなくてもいいけど)を追加するためのコールバック系プラグインである。
でもなー、なんか約束事が多すぎてきれいじゃないんだよなぁ。しょうがないか?
- submitボタンのname属性は「plugin」でなければならない
- 引数で与えられる日付を「YYYYMMDD」形式にしてdateというname属性を持ったアイテムに入れておくと、上の更新フォームと日付の同期がとれる
- その他のアイテムは、「plugin_プラグイン名_アイテム名」というname属性を持たせて他のプラグインとの名前空間を分ける
submit後は同じ画面に戻ってくるので、フォームの表示と、submitされたデータの処理は同じadd_form_proc内に書く。以下はファイルアップロードの実験用に書いた、指定されたローカルファイルの内容を表示する(意味なし)プラグイン。
add_form_proc do |date| begin text = @cgi.params['plugin_text_file'][0].read rescue NameError end <<-HTML <div class="form"> <div class="caption"> ファイル表示 </div> <form class="update" method="post" action="#{@conf.update}" enctype="multipart/form-data"><div> <input type="hidden" name="date" value="#{date.strftime( '%Y%m%d' )}"> テキストファイル: <input type="file" name="plugin_text_file"> <input type="submit" name="plugin" value="OK"> </div></form> <pre>#{text}</pre> </div> HTML end
いちおう先ほどCVS HEADにcommit。これで絵日記が実装できるなら、edit_procは廃止してもいいか。
2005-04-20(水)
■ tDiary 4歳
らしいです。でもこれから神戸日帰り出張。去年も神戸だったようだ。
そういえば、またtDiary-develのメールを溜めちゃってるなぁ。みんなすまん。明日(時間があれば)やっつけよう。
■ Tech総研更新
また高橋メソッドをネタにしてしまった……。まぁいいか、まだ日本で数えるほどしかいない、高橋メソッド体験者だし。
そういえば平林さんも書いているが、3回に1回くらいは誰かとネタが重なる。みんなで重なったネタを白状して、ベン図描きます?(笑) ちなみに今回、指紋認証ネタが重なった(のを無理やり別ネタにつなげた)。
■ ホミニッド: 原人 (ハヤカワ文庫 SF ソ 1-9 ネアンデルタール・パララックス 1)(ロバート・J. ソウヤー)
どう考えてもイロモノとしか思えない設定とあらすじだから、あんまり期待してなかったんだけど、なんだよ、面白いじゃねーの。ソウヤーはうまいなぁ。
並行宇宙ものは、通信しかできないとか、一方通行だとか、いろいろ制限がついて、その制限が面白さのポイントになることが多いんだけど、本作品ではいっさい制限なし。その代わり、世界のこっちと向こうでの文化の違いが非常に大きい……ってつまり、並行世界ものじゃなくてファーストコンタクトものとして読めばいいってことか。なんだ、そうか。
なんにせよ、続編に期待。
◆ ささだ [45%の人が高橋メソッドを見たことがあるそうです(弊社調べ)。]
◆ ただただし [あ、「体験者」ってのは「やったことがある」って意味だから。]
◆ ひらばやし [今回の私は「高橋メソッド」です。予想通り重なってました。]
◆ ma2 [ソウヤーは面白いですね。天性のストーリーテラーって感じです。量子コンピュータが並行宇宙をバックトラックしているとは知..]
◆ ただただし [現代コンピュータの本質的作業が、演算でなく検索であることをそれとなく言い当ててますよね(違)]
◆ ダブルエンダー [わたしはこれ読んでジョン・ウィンダムの「蟻に習いて」という古い中篇思い出しました。ものすごく異質な未来社会に飛ばされ..]
2006-04-20(木)
■ livedoor Readerに乗り換えるかな
livedoor Reader登場。これは、予告されていたmalaプロダクトのことかな。たぶんそうなんだろうな。ということで、それを前提に書くが。
やたらと多いショートカットキーに限らず、ヘビーユーザだけをターゲットにしたインタフェースの作り込みがすごい。たぶんライトユーザがこれを使ってもたいして嬉しくないだろうし、そういう層は相手にしていないんじゃないか。まぁ、扱う情報の量が違えば、使うツールも違ってくるのは当然なので、これはこれでいいと思う。
「ピン」は「発明」の名に値する機能だと思った。おれはタブブラウザなので[v]キーで注目記事をそのつど開いてもいいんだけど、これがサーバ上に保存されるようになると、場所を移してからゆっくり読むという技が使えるので、さらに良いと思う。というか、当然サーバに保存されると思い込んでいたので、あとで自宅で読もうと思って職場でたくさんピン留めしてきてしまったのだが!
問題を見つけても、フィードバックの場所がない。たぶん、こうして記事を書くだけで拾われる可能性が高いわけだが、心もとないな(追記:開発日誌があった)。[shift]+[ctrl]とか[ctrl]+[shift]なんてショートカットは、(Windowsでは)他の用途によく使われるので、アサインしないで欲しいなぁ。
とりあえず使っていて楽なので、とうめん(最近めっきりエンハンスのない)FEEDBRINGERから乗り換えてみることにした。feed readerは移行コストがほとんどないから、大変だよなぁ、作る側は。
それにしても、livedoorのサービスといえば、ここのところインスパイア系ばかりでオリジナリティを感じられないものばかりだったわけだが、こうしてスタープログラマが1人入社しただけで目を見張るような新サービスが登場してしまう。これがこの業界の面白いとことでもあり、危ういところでもあるな。
■ 5歳
あぁそうだ。tDiaryの本当の誕生日は今日(というかもう日付が変わったので昨日だが)ですよ。パーティの日は「5歳-5日」。
2007-04-20(金)
■ tDiary 6歳
あと19年です(謎)。
2008-04-20(日)
■ 火星の長城 (ハヤカワ文庫 SF レ 4-3 レヴェレーション・スペース 1)(アレステア・レナルズ)
SFよ、私は帰ってきた! いつまでも男性向け恋愛小説ばかり読んでいるのもアレだし!
同じレナルズの長編『啓示空間』はあんまり評価しなかったけど、こっちは(同じ世界史を共有した)短編集ということで、かなーり面白かった。次の『銀河北極』も引き続いて読んでいる。やっぱり、SFは短編の方が面白いと思うよ!
「火星の長城」と「氷河」はSFマガジンで読んでいたけれど、特に「氷河」は本格SFの醍醐味たっぷりで再読してもいい出来。「ウェザー」はSF的にいい感じの恋愛モノで、これもまた読後感がGood。
しかしなんと言っても最高なのは中編「ダイヤモンドの犬」。解説では映画『CUBE』との類似性を指摘していたけど、どっちかつーと『死亡遊戯』じゃね?と思った。異星にそびえる謎の塔。頂上にたどり着くには、次第に難解になっていく数学パズルを解きながら、少しずつ登っていくしかない。って、連想がストレートすぎる。
はじめは知的パズルを解き明かしていくハードSFかと思っていたが、次第に登場人物たちの思惑がからみあい始め、最後まで読んで連想したのは『ドラゴンボール』シリーズのインフレーション宇宙だった。あぁ、当時の少年ジャンプ編集部ってこんな感じだったのでは……。実に恐ろしい結末であった。これは傑作。
■ tDiary、7歳
残り1時間になってから、長年日記を読んで思い出すという。あと18年。
最近、忙しくて&集中力がなくて、なかなかコードに手を付ける時間が取れなくてさびしい。といいつつ手元では、ちまちまとUTF-8への移行コードなどを書いていたりするんだけど。早くcommitしないとバックアップがなくて怖い。
2009-04-20(月)
■ tDiary、8歳
……ですが、特に何もありません(^^;
いやまぁ、実は2.3.2を出そうともくろんでいたんだけど、急に夜のお仕事が入ってきたりして、それどころじゃなくなってしまったのだった。あと1つ2つバグをつぶしたら出せると思うので、近日中になんとか。
2010-04-20(火)
■ tDiary、9歳
25年という目標からすると、やっと1/3ですか。道は長いね。
今年中に(いまの2.3をベースにして)3.0を出したい。一番の難関だったUTF-8化はもう済んでいるので、ruby 1.9.2がリリースされれば障害はないな。3.0までにあと何を入れるか、議論する必要がありそう。いま読んでる『Webを支える技術』に触発されて、AtomPub準拠のAPIを整備したいという気持ちもあるけど、はてさて。
あとはきちんと継続するためにはメンテナンスコストの低減を図らないといけないので、今の安定版・開発版の二本体制は見直す必要があると思ってる。ぼんやり考えてるのは、リリースのベースにはいまのSubversionを使い、開発ベースはGithubに移行するという方向性。いろんな人が好き勝手にいじっている現状を消極的に認めるなら、変更管理のSubversionよりパッチ管理のGitの方が相性がいいだろうし。
■ tDiary: スマートフォン識別
tDiary 2.3にはとりあえず作った「Config#iphone?」というメソッドがあって、UserAgentを見てiPhoneとiPod touchをプラグインで判別できるようにしてある。だが、スマートフォンも増えつつあるし、他の端末も同じように扱えるようにする必要が出てきた(主におれの要件だが)。
区別したいのは表現力はPC並みだがスクリーンサイズの制約が大きい端末なので、そのあたりは恣意的に決めていく。例えばUserAgentに「Mobile」が入っていればいいかというとそんな単純な話ではなくて、例えばiPadのUserAgentにも「Mobile」が入っているけど、あれは十分なスクリーンサイズなのでスマートフォン扱いしてはまずい。
というわけで、先程コミットした2.3.3.20100420では「Config#smartphone?」メソッド(aliasで従来通りの「iphone?」も使える)の判別用正規表現はこんな感じ:
/iPhone|iPod|Opera Mini|Android.*Mobile|NetFront|PSP/
Android端末がこれでいいかどうかわからない。PSPは(スマートフォンじゃないけど)試しにこの日記を見てみたらそこそこな感じだったのでまぁいいか、というところ。NetFrontはついでに加えてみたけど、ここに加えていいのかどうかわからない。
◆ ただただし [もちろんそれを知った上でのアイデアだよ~]
◆ G [tdiay9歳おめでとうございます。 今までずっと使わせていただいています。 これからもがんばってください。]
◆ なかむら(う) [Androidは「Mobile Safari」で拾った方がいいかも。現状でもマッチはしますけど、Opera Mini..]
◆ ただただし [AndroidはMobile Safariだけじゃないですよねぇ? あんまり気にしなくていいのかな。]
◆ なかむら(う) [いや、何で拾いたいのかによると思うんですけどね。 Opera Miniで拾うならブラウザで識別したいんだろうと思った..]
◆ ただただし [「何で(手段)」は問わないんですよ。峻別したいのは端末の能力なので、それがブラウザに依存した能力ならブラウザ名だろう..]
2012-04-20(金)
■ tDiary、11歳
去年は10歳だったのでお祝いなどしたけど、今年は11年なのでとくになにもありません。次は20歳かな(えっ)。
おれはここのところプラグインをちまちまいじるくらいで本体にはあまり手を入れてないのだけど、最近は@hsbtが気合いの入った改造をしていて、特にIOの抽象化とRDB対応が進んだので次のリリース(今月29日の予定)ではついにHerokuで動くようになっているはずである。ruby 2.0では$SAFEのサポートが消える可能性があるので、HerokuのようなPaaS上で1日記1ホストで動かして日記を分離できるようにしておかなないと困るしね。そしてゆくゆくはtDiary.NetをHeroku上に(えっえっ)。
奇しくも同じ日、Matzがかねてから予告していたmrubyが公開された。ということで、つぎはmruby移植をして「組み込みtDiary」ですね(えっえっえっ)。
2013-04-20(土)
■ tDiary、12歳
これを書いているのは21日だけど忘れていたわけじゃなくて力尽きて寝てしまったからなのよ……。
これで干支を一回り。目標の25年までおよそ半分の道のりまでやってきました。ってまだ半分未満か!
次のイベントは29日に予定されている3.2.2のリリースで、これはruby 1.8系をサポートする最後のリリースになります。この夏でruby 1.8自体のサポートが切れるので、ruby 2.0に移行するならいまのうちですよ(第一tDiary.Netがまだ1.8なのであんまり人のこと言えないけど)。
2014-04-20(日)
■ tDiary、13歳。ようやく折り返し
今日でtDiaryの開発を始めて13年になる(というのを書いているのは例によって日付が変わってからなんだけど)。夕食後には(tDiaryのカラーに合わせて)緑色の抹茶のケーキを。
25年継続するというプロジェクトの目標まで、あと半分を切った*1。こうしてみると、まだまだ先は長いなぁ。まぁ、自分が日記を必要としている限り開発は続くだろうし、日記を必要としなくなる日が来るとは現時点ではあまり想像できないのだけど。
ruby 2.1でとうとう$SAFEが使えなくなってしまったので、これがEOLになる頃には同一サーバ上で複数のtDiaryを動かすのに簡便な方法がなくなってしまう。なのでこれをPaaSのような個々のアプリが分離されているような環境へデプロイできるようにするのが当面の目標。すでにできているじゃないかと思われるかも知れないが、まだ全機能が使えるわけではないので、これを優先的に片付けなければならない。先日リリースしたtDiary 4.0.3ではテーマをオンライン化して、この課題をひとつやっつけた。ここのところ忙しくて他の件に手を付けられずにいたけど(それどころかIssueもだいぶほったらかしだ)、ぼちぼち重い腰をあげなければ。
そうそう(これは偶然だけど)夕飯も緑色だった。ほうれん草のグリーンカレー。
*1 昨日igaigaさんに「(ちょうど半分になる)12.5年で何かやれば良かった」と指摘されたけど後の祭りである。
2015-04-20(月)
■ tDiary、14歳
書き忘れてた!! 今日でtDiaryは14歳。まー、25歳までまだ10年以上あるので、通過点にすぎないですが。
ひんぱんにコミットがあるわけではないが、最近のHerokuボタン対応を始め、モダンな環境に追従するための継続的なメンテナンスはきっちりされているという現状。個人的にはスマホ対応が手落ちぎみなのをなんとかしたいなぁと思っているけど、その前にそろそろガラケー対応をやめて無駄なコードを取り除いた方がよさそうな気がしてる。
あと、ひさびさにテーマを書きたいけど、いまどき生CSSってのもな……という気も。
2016-04-20(水)
■ tDiary、15歳
わー、15年かー。
……といっても、今日はとくになにもしないのであった。この週末にパーティがあるからね。まだ空きがあるようなので、まだの方はぜひどうぞ。
プレゼンする予定だけどまだぜんぜん準備できてないのです……。
2018-04-20(金)
■ tDiary (永遠ではない)17歳
今日でtDiary誕生から17年。永遠じゃない方の17歳なので、来年はちゃんと18歳になる予定です。
最近はわりとおとなしめの更新で済んでいるのは、Web界隈、Ruby界隈が安定している証拠かな。Rubyの最新版から$SAFEが消えたりして、tDiaryのsafe modeもいっしょに消したんだけど、同じホストで複数ユーザの日記を運用する場合には、最近だとDockerがいい感じに使えるので、今後はそういうソリューションをうまく整備していくことになるんでしょう(なおだいぶ前からDockerfileは同梱されている)。
2019-04-20(土)
■ tDiary、18歳
18歳! 成人だ!!(まだです)
今日はtDiaryの最初のコードが書かれてから18回目の誕生日です
— tDiary.org (@tDiary) 2019年4月20日
ここ最近はコードも安定してるから、リリースさえ壊さないように運用すればいいよなーとか思っていたのに、こないだなリリースを壊してしまったので反省せねばならん。対策としては、ここをmasterで運用すればいいのかな。昔からの読者は「たださんが先っぽを使うなんて!」と驚くかも知れないが(笑)。
第一tDiary.Netは現在、個々の日記をHerokuで動かして、フロントにreverse proxyを置いているから、一部の日記だけを先っぽにするにはひと手間いるのだけど。そもそもHerokuの(というかmLabのMongoDBが)遅いから、Dockerベースにしたいんだけどなぁ(←いっぺんにいろいろやろうとして手がつけられないやつ)。
■ 台湾屋台料理「香味」へ行ってきた
こないだの「天山」に続いて、地元の店を開拓するシリーズ。今夜は天山の並びにある台湾屋台料理の「香味」へ。日本語カタコトのママがいろいろ説明してくれるので、相談しながら料理を決める。
春巻はいろんな漢方の入った薬膳系。タレはつけないでそのまま食べる。アツアツで美味い。
ちょっと小籠包っぽい水餃子。やけどしそうに熱いので少し冷ましてから食べた。タレは辛いのとそうでないのを選べる。今日は辛いのをチョイス。
コリコリして美味しい豚のコブクロ。ネギやパクチーといっしょに、これもやや辛いタレで食べる。
台湾では朝食の定番らしい「ネギピン」という料理。春巻の皮にネギを始めとした野菜を刻んで載せ、巻いて畳んで伸ばして……を5回繰り返して焼いたもの。これがいちばん美味かった。帰ってから写真検索してみたけど、こんなにたっぷり野菜の入ったネギピンは発見できなかった。タレを付けて食べてもいいが、軽く塩を振るだけの方が好み。
揚げたてはパンパンなのに、ものの10秒でシワシワになってしまうから、すぐに食べないといけない(でも熱い)イカ団子。イカ好きのかみさんに好評。
なお、客のほとんどが常連なので一見さんは少し居心地悪いかもね。まぁ地元密着の店なのでこれが普通だ。
2021-04-20(火)
■ tDiary、とうとう二十歳に
朝イチでtDiary.orgに「tDiaryは二十歳になりました」という記事を書いておいたら、ITmediaでゆかたん*1が「ブログ作成ツール「tDiary」20周年「みなさんの人生を綴る日記帳であり続ける」」という記事にしてくれたので、ちょっとバズりかけてる感じになった。とはいえクソリプとかついてないのは、古き良きインターネット住人しか読んでないからかもね。
客観的にみればよく続いてるよなと思うけど、もともと気の長い、始めたことはなかなかやめないタイプの人間なので、20年だろうが25年だろうが楽勝で続けられる見通しがあったし*2、この先も目の黒いうちはメンテを続けるんじゃないですかね。
こないだある人と、いまどきWebアプリを低コストで運用するならHeroku + Cloudflareが鉄板だよねという話をしたんだけど、じっさいこの日記もそのクチなので、だいぶ前に書きかけて放置しているCloudflareプラグインをなんとか完成にもっていきたい。その時間を見つけるのが目下の課題である。あとはやくruby3化しないと。まだまだやることがいっぱいあるなぁ!
2023-04-20(木)
■ (忙しくてなにもできてないけど)tDiary、22歳
……と書いたものの、前回のリリースをとうとう飛ばしてしまったし、最近まったくコードに手をつけられていないし、祝える状況ではないのだよなぁ。
なにぶんプライベートも仕事も多忙を極めておりまして。ここ最近の日記をさかのぼってもらえればわかるように、というかそもそも一ヶ月ばかり日記をつけていない期間があるくらいには忙しい。とくにグスタフの健康状態が引き続き良くなくて、ここしばらくは毎朝病院に連れて行って点滴を受けている(ので、だいたい午前中だけで疲労困憊)。脳の2、30%くらいは常時グスタフのことを考えている感じ。その上フルタイムで働いていては、他のことに割く時間はないですな。
まぁ、こういう状況が永遠に続くことはないので、余裕ができたら再開しますよ。そうこうしている間にプログラミング仕事は全部AIに奪われてるかも知れないけど(笑)。あれほどAGIやシンギュラリティを渇望していた男が、GPTが世界を変えつつあるのにそのことをいっさい日記に記してないのだから、その忙しさも理解できようというものですよ。
◆ しんちゃん [ううん、こんけらでは4つ並んで見えます(笑) まぁ気にしてないんですけどね。]
◆ ただただし [KonquerorはレンダリングエンジンにKMOZILLAを使うべきです(キパ]
◆ zoe [周りでは小林サッカーと言ってたりしてますが、 さっきのツッコミは素で間違いました。はつかし。]
◆ 白い奥様 [初書き込みです。実は携帯で知り合いに「小林サッカー見に行かない?」とやっていたそうです(赤面)。笑いすぎて苦しかった..]