0を一つ間違えただけで単純計算でも2億7千万近い損失だとか。
サービスをやる上で重要なのは、「サービスを停止させるようなトラブルを起こさない仕組み」よりも「トラブルが発生したときでも継続してサービスを提供する仕組み」だと思う。
トラブルが発生しないということが一番なのだろうけど。
住民票は新潟の長岡にあるので、今回は棄権。
日経新聞でずらっと当選者の顔ぶれを見てみたけど、小渕優子とか次点に14万票とかつけて当選してるのね。すっかり存在も忘れてしまってたよ。
朝まで生討論も毎回同じような議員を呼ぶだけではなく、何をやってるかすらわからないような議員を集めてディベートでもやればいいのに。視聴率もそれほど変わらんだろ。
新快速と快速を間違えて高槻まで行っちゃったよ。
余震で目が覚めるようになってしまった。最近だと一度目が覚めても無視してもう一度寝てしまうけどね…。
高い本ほど電子化すべきという話題。
六法全書とか判例集まで電子化してしまったら、その辺の大きい本を並べて偉そうにしている人達の部屋がすっきりしてしまうので、その方面から猛反発の予感。
kazuhikoさんの所にあるblack_ip.txtを利用してはじいていたけど、それが適用されないってことは新しい踏み台を用意しているのかなぁ。 一時的に該当ツッコミを消した所で根本的にフィルタを作らないとまた来るだろうし、困ったもんだ。
追記:とりあえず、遙か昔に作ったツッコミサイズフィルタの制限バイト数を2000にして暫定対処。
昨日のぼやきのところでおのひろきさんによる解決策を紹介したけど、この方法では リングをクリックした時に表示されるメニューアイコンまでもが40pxになってしまいメニュー表示をしたときに美しくない。 子供セレクタに対応していないIEでは正しく表示されない。
…と、どうにかならないか試行錯誤していたら、kosakaさんが解決方法を発見していた。下のような内容を
div#hatena-ring-XXXXX img{ width: 40px; }
スタイルシートに追加すればいいみたい。XXXXXにはリングロゴをクリックしたときに表示されるメニューのrandomやprev,nextで使われているURLのパラメータsidの数字5-6桁を入力する。例えば、この日記のtDiaryリングの場合だと
http://tdiary.ring.hatena.ne.jp/go?type=random&sid=21461
という感じのURLなのでXXXXXには21461を書く。ちなみにリングごとにこのsidの数値は違う場合もあるので、複数のリングに参加している場合はリングごとに調べてスタイルシートに追加する必要がある。(kosakaさんの所では同じようだけど、法則性はよくわからない。確認して適当に設定してください。)
というか、なんでたかが画像を小さくするためだけにユーザーがこんなことを探さないといかんのだ。最初からロゴの大きさを選択できるようにしておけよと。
XXXXXは5桁とは限らないみたい。今日参加したリングだと6桁だった。あと、上記の方法だとIEだと問題ありませんがfirefoxで見たときにリングのナビゲーションの背景がとほほな結果になるのを確認。これについてはおのひろきさんによる擬似子供セレクタを使う方法でも同様の結果になった。
なんでたかが画像を小さくするためだけに(ry
日替わりテーマプラグインというのはどうか?を読んで、既にどこかになかったっけ?と思い探してみた。
tDiary :: trickster.rb 機能紹介〜日替わりテーマ編が一番それらしいものだったけど、このままではCSSを番号として変更しなくてはいけない。とりあえず、現在のTheme全ての名前をリストとして用意しておいて、後は乱数をテーマ数サイズにスケーリングすりゃあ実現できそう。
ん、この方法だと表示毎にテーマが切り替わるからダメだな。365日をテーマの数でスケーリングして、その日に対応したテーマ番号を表示するというやり方が正しい動作か。
作った。
ただ、日付の部分の処理が怪しい。今日が1月1日から何日目というのをスマートに出す方法を検討中。
index = (Date::today - Date::new) % theme_list.size
今はこんな感じでお茶を濁しているんだけど、うまい方法があったら教えてください。
たださんから何日目かを知る場合にはTime::ydayを使うとよいとアドバイスを受けたので
index = Time.now.yday % theme_list.size
という感じで作ってコミットした。プラグイン名はdaily_theme.rbとしました。そのうちanonymousにも出回ると思います。
使い方はインストール後に設定画面から日替わりで表示させたいテーマの名前を入力します。7個入力すると一週間単位でぐるぐる変化します。当然、このアルゴリズムだとテーマ数が366を超えた時点で使われないテーマが発生する。その辺は自分で表示させたいテーマを選択するということで。
おのひろきさんからのツッコミで始めて子供セレクタというものを知った。
.bar > foo > buzz {}
と
foo.bar buzz {}
はまったくの別物なんだね。今朝、kosakaさんのエントリを読んだ時に同じものと勘違いしていた。先のエントリは完全に自分の勘違いであって、おのひろきさんの方法は間違ってない。申し訳ありません。
早速、IEでも子供セレクタっぽい表示を使う方法をおのひろきさんが紹介しているのでそちらをどうぞ。
ASPで作るアンケートシステムの作成実習の続き。このシステムによるアンケートは実際に教官から調査項目を聞いたうえで系内の学生や教官に対しておこなう。結果は研究なり、会議でそれなりに使う予定なのである程度の品質を確保しなければならない。
そんなわけで、今日はひたすらグループ内でテストを行ったりなんだり。最終チェックをオレがしてから、学内サーバーに設置するように実験指導教官に依頼。
へい、パッチ。日数は spam filter のを流用。
--- 00default.rb.~1.113.~ 2007-10-07 23:33:19.000000000 +0900 +++ 00default.rb 2007-11-10 11:42:33.000000000 +0900 @@ -515,6 +515,7 @@ def comment_form return '' unless @mode == 'day' + return '' if hide_comment_day_limit r = '' unless @conf.hide_comment_form then @@ -558,6 +559,7 @@ def comment_form_mobile return '' if @conf.hide_comment_form + return '' if hide_comment_day_limit return <<-FORM <HR> <FORM METHOD="POST" ACTION="#{h @index}"> @@ -572,6 +574,23 @@ FORM end +def hide_comment_day_limit + if @conf.options.include?('spamfilter.date_limit') && + @conf.options['spamfilter.date_limit'] && + /\A\d+\z/ =~ @conf.options['spamfilter.date_limit'].to_s + date_limit = @conf.options['spamfilter.date_limit'].to_s.to_i + now = Time.now + today = Time.local(now.year, now.month, now.day) + limit = today - 24 * 60 * 60 * date_limit + if @date < limit + return true + end + end + return false +end + # # service methods for comment_mail #
これがあっさり対処できていいんだけど、ツッコミを入れるというアンカーが残ってしまうのがアレなんだよなあ。この辺のアンカーも全部隠すために小一時間 diary.rhtml と tdiary.rb をほげってみたけど達成できずにアキラメ。
名前空間がよろしくなくてメソッドがみつからねーとか、rhtml の記法が間違ってるとかそんなのばっか。なんで同じ空間にある comment_form は参照できるのに、自作の hide_comment_day_limit は参照できないんだかさっぱりわからん。そもそも Boolean な戻り値は使えないものだったりするんだろうか。
誰か助けて!
だらだらとマリオパーティ DS とかマリオパーティ8をやったり何だり。つーか、一人だとあんまりやらないから自由にできるミニゲームの数が少ないのが難点。
本日の夕食は
というメニュー。大変おいしゅうございました。
雪が降ったり溶けたりと道もびちゃびちゃになってきたので、去年買ったAIGLEのブーツをクロゼットからひっぱりだしてきた。とりあえずしまう前に手入れをしておいたので特に問題らしきものはなし。
窓を開けると湿度が30%とかそれくらいになりだしたので、これまた去年買った kaz の加湿器もクロゼットから登場。
夏場に大活躍した除湿器も窓際に移動して結露対策に置き換え。部屋の真ん中では加湿して窓際では除湿とかどーしよーもないな。
ちょっと前に .zshrc の中身を整頓しようと思って見直していたら、
の二つがあって、何か動きが違うんだろうかとつぶやいたら jmuk さんから答えを教えてもらった。
@hsbt zsh のオプションは途中の任意の場所にアンダースコアを入れても同じなので、auto_pushdとautopushdは全く一緒です。
http://twitter.com/jmuk/status/5531464647
今まで知らなかったなー。auto_pushd の方が見栄えがいいから他のもこんな感じで統一してみたり。
今月は削除ツールだけで少なめのアップデートであった。
みんな便利で使っているとは思うけど、今のプロジェクトでこうやって使っていますよという紹介。やりたいことの前提。
というのを rspec2 の filtering を 使って (kakutani が)解決した。
まず、Capybara.current_driver を切り替える時には CapybaraでSeleniumを使うのように before と after で処理が必要なのだけど、これを filtering で何とか仕様とすると以下のようになる。
RSpec.configure do |config| config.include Capybara, :type => :acceptance config.before(:all, :selenium => true) do Capybara.current_driver = :selenium end config.after(:all, :selenium => true) do Capybara.use_default_driver end end
というのを acceptance_helpter.rb に書いた上で ExampleGroup の定義で
describe Foo, :selenium => true do (snip) end
とかすると、:selenium => true した ExampleGroup だけが selenium で動くようになる。見やすいし便利。
そして、ここで指定した metadata を RSpec.configuration.exclusion_filter に応用してみる。これは spec_helper.rb に書く。
RSpec.configure do |config| # JS=1 if run the selenium config.exclusion_filter = {:selenium => true} unless ENV['JS'] end
こうすることで
JS=1 rspec spec
した時は selenium を含んだ spec が全部流れて、
rspec spec
だけだと selenium を除外した spec が流れるようになる。できれば、ENVは使わないで実現したかったんだけど、rspec の configuration_options.rb を見るにそういったものは無いみたい。
他にも metadata や filter をこういうのに使っているよ!というのがあれば asakusa.rb やどこかの日記で教えてください!
6月に台東区から無料の歯科検診の案内が来てから1-2週間に一度の頻度で通い続けていた歯医者がやっと終わった。今回は親知らずを抜いたり、虫歯をかなり治療したりと総額で4万弱くらいかかってしまった。とほほ。
昨夜からメモリの使用量がメモリリークのごとく無くなっていっては、メモリユーティリティで復活というのをひたすら繰り返し続けていて、朝起きてみたらメモリを食いつぶすだけではなくて、ディスクの使用領域ものこり2GBという状態(昨日の昼までは50GB以上あった)になっていて途方にくれていた。
色々調べるうちに原因はトレンドマイクロのウィルスバスター・コーポレートエディションということがわかった。こいつが2-5分おきに1GBくらいのファイルを admin 権限で作り続けていてそれがメモリリークっぽい症状とディスク圧迫の原因だった。
これを見つけるのにシングルユーザモードで起動したり、ディスクの使用領域を調べるのに
sudo du -sh *
で探偵業したりと今日の午前中が無くなってしまった。ばたり。無償でベータテスターやるのはこれで最後なんだぜ?
RWC の最中もせっせと 2.0.0 trunk で手元にある Rails アプリケーションやその他諸々のライブラリの動作チェックをしていたら Hash[]
の挙動が変わっているのに気がついた。
# 1.9.3
Hash[[nil]] => {}
# 2.0.0
Hash[[nil]] => ArgumentError: wrong element type (expected array)
これは redis-rb や cells で発生するので、compact して nil を削るようにして pull request しておいた。あと bugs.ruby-lang.org にも報告済み → http://bugs.ruby-lang.org/issues/7300
そもそも nil が通ってしまうというのがよろしくない状況みたいだけど、割と気がつかないでぎゃっとなる人が多そうなので、2.0.0 では警告にしようという流れ。あと、2.0.0 での大きな違いとしてはデフォルトエンコーディングが utf-8 になったというのがあるので、tDiary のマジックコメントをさっと消して動くか確認するつもり。
最終日始まり始まり。
会場に置いてあるジョブボードは相変わらず満載の内容だった。ちなみにこのサイズがもう1枚と少し小さいのが1枚の合計三枚ある。apple とか 500px, shopify などよく見かけるサービスが求人していた。
3日目のキーノートは meta_search や meta_where の作者の Ernie Miller がリーダブルコードっぽい話をしていた。Rubyっぽさとは何かというのを good パターン、bad パターンを紹介しながらという感じ。新しい知見、という意味では物足りなかったけど、言語化するのが難しいもしくはされてない内容をキーノートで発表するというのは良かったので、資料を眺めながら社内に紹介したいところ。
キーノートの後は「Build your own Ruby-powered Arcade Machine!」へ。アーケードマシンを自作するための色々や Ruby でゲームを作る!という時のリファレンスの発表だった。このためにアーケードのジョイスティックコントローラを自作して持って来たというのが面白かった。Ruby そのものは gosu や qt をどう使うのかという話だけだったかなあ。
毎度お馴染みお弁当はイタリアンサンドだった。肉肉しないで野菜が適度に含まれているサンドイッチが今年は多くて助かる。この後のセッションはお休みして @tenderlove と一緒に @n0kada のパッチ袋からパッチを捜索するというのを1時間くらいやっていた。
次は「Ruby-core dilemmas」を聞いてきた。何処がジレンマなのか全くわからなかったけど、Ruby のバグだろという報告に、いやこれは仕様です。という奴、もしくはその逆を並べて会場にバグか仕様かというのをカードで提示してもらうというエンターテインメントセッションだった。これも面白いので資料が公開されたらみんなで見てみたいなあ。
そういえば RubyConf にはおやつの時間があって、1日目はクッキー、2日目はフルーツで、3日目はアイスだった。アイス以外にもチョコやグミが沢山あってたいへん美味しかった。
カンファレンスの最後は Matz に質問のコーナー。足しか見えて無い。
@@tdiary_style_gfm_plugin6@@
最後に Ruby の会の渡航支援で一緒に来た @nari3 と記念撮影。今年も本編でトークは出来ませんでしたが、LT で www.ruby-lang.org の取り組みとか諸々を紹介出来たので良かったです。日本 Ruby の会の皆さんありがとうございました。
来年は西海岸のサンディエゴみたい。その頃にはサーバー管理業以外の何かも発表したいなあ。
pixiv 祭りのイベントの1つのパネルディスカッションに登壇することになりました。
http://pixiv.doorkeeper.jp/events/17355
楽しいサービス開発するための基盤のあれこれについて話すらしいので興味がある人はお越しください。
大江戸Ruby会議05終わって最初の Asakusa.rb だったので、笹田さんとお疲れ様でしたーって話をしつつ qwik の移行先をダラっと話をしていた。
移行先だけど、昨今乱立するチャットツールは、qwik のようにアカウントをわざわざ作成しなくても、メールをひょいっと投げて、ある程度適当にサマリをまとめて、ダラっとチャットっぽく話を続けるという用途を代替するものはないんだよなあ...という状態で困った困ったということで解決できないまま終わり。
イベントのために上京している pyama と matsumotory を囲んで鳥貴族に行ってきた。鳥貴族、串カツ田中と比べてどうなんですか、と聞くと「うーん」という返事がきてまじかー...という気分になっていたけど、行ってみたら意外と美味しくて満足度高かった。
CDN を入れるようにした docs.ruby-lang.org がオリジンとの接続に使っている証明書が expire してしまって CDN のキャッシュが切れたところから謎エラーが表示されていたのを直した。
CDN に例外ルールを入れたりして解決するというのもあるけど、とりあえず復旧させるためにオリジンに割り当てているドメインネームで Let's encrypt の証明書を取得しなおしてから、その証明書を使うように fastly の設定を変えて対応は完了。
なんかおかしい箇所があったら教えてください。
ロンドン最終日は夜のフライトの前の昼過ぎまで観光することにした。まずはイギリス絵画を見ることができるテートブリテンへ。
テートブリテン、とっておきであるミレーのオフィーリアは展示してなくてがっかり。ナショナルギャラリーでもフェルメールが展示されている部屋がクローズでがっかりしたんだけど、なかなかついてないなあ。美術館自体は空間も展示物もかなりいい感じで楽しめたのでそれなりに満足。
この日は時間も限られているので、外に出てテムズ川を散歩しつつ対岸にある MI6 を撮影。この異様な感じがかなりよくて満足。この後タクシーの乗りつつ、MI6に並ぶ異様な建築物のバターシー発電所も外から眺めて「へーへー」言っていた。
続いてはサーチギャラリーという、ロンドンでモダンアートを中心に展示してる最近人気の美術館へ。テートモダンの展示よりも、より最近の作品が多くて風刺が効いた感じのものが多くて面白かった。
最後にヴィクトリアアルバート美術館にもう一度寄ってから、時間いっぱいまで見学してホテルで荷物を回収してヒースロー空港へ。
イギリス、USAと同じで出国する時は出国審査などはなくて、セキュリティ通ったらゲートまで移動という感じで拍子抜けだった。ロンドン、駆け足で回ったのでもう一度きて見逃した絵や行けなかった王宮などをゆっくりみたいなあ。
今週はいつも通り discord で開催。
https://asakusarb.esa.io/posts/1012
Ruby 3.0 のリリースに向けての作業ってことで、racc のリリースと ruby/ruby へのマージなどを行っていた。久しぶりに 1h くらい集中して作業できたかなあ。
今年になってから溜まっていた racc のパッチや issue を片付けて 1.5.1 としてリリースした。
https://github.com/ruby/racc/releases/tag/v1.5.1
@mametter さんが、プラットフォームによって racc の結果が変わってしまうのをかわらないようにした、ってのがメインの変更点になってます。
ruby-build に続いて、ruby 全部入りの docker image の all-ruby に 3.1.0-preview1 を追加した。
https://github.com/orgs/ruby/packages/container/package/all-ruby
手元のマシンから Docker for Desktop はパージしたので、イメージビルドは minikube で実行したけど割と普通に動くので来年以降もこれで良さそう。
勤務先で年末調整対応のシーズンになったので、保険やら住宅ローン控除やらの書類を揃えて、勤務先で使っている申請システムにぽちぽち申請をしていた。扶養控除の仕組み的に、ここに入力しても意味ないよね?というのが年末対象者全員に表示されてて一生懸命入れたけど、別に入れなくてもいい、というのが後から出てきて「は〜」とかなったけど、紙に書いて出すよりは遥かに楽ではあったかな。
この辺のシステム、他社の話を聞いても「は〜」ってものしか聞こえてこないけど、それなりに Web サービスを開発したり関わってる人にとって「これこれ」となるようなものってあるのかなあ。
一日目は10:30と開始とプログラムには書いてあったので、9:00から誰かとイマジンコーヒーで朝食でも食べるかね、と思ってのんびりしていたら、mame さんから 8:40 集合、というのをリマインドしてもらって「マジか〜」ととても焦っていた。
結局、9:50までに会場に着いて打ち合わせをすれば良い、ということだったので、9時ちょい過ぎに松江駅のスタバでコーヒーを飲んでおしゃべりしてから会場に移動することにした。
今回、アンドパッドに入社する前から RWC でのノベルティについて広報の鳩さんと相談していて、どうしましょうかねえと話している時に「柴田さんのフェロー/フルタイムコミッター就任記念にアイコンのステッカーを作るのはどうですか!」というアイデアが爆誕したので二つ返事で「いいですね!」と快諾してキラキラステッカーを作ることにした。自分が入社したことを歓迎してくれる人がいるのは本当にありがたい。何事も「のっていき」である。
会場では Matz や ko1 の話をゆらっと聞きながら弁当を食べたり、ブースでアンドパッドは〜と入社2-3年目みたいな風を吹かせながら事業やプロダクトの説明をしていた。ステッカー、想像以上に目当てにブースに来てくれる人が多かったり、名札ケースに入れている人が多くて面白空間になってよかった。
自分の発表はこんな感じで、初心者を増やすのにこういうことをやってくれ〜やっていくぞ〜、自分がやるんだぞ〜という話をした。ソフトもソフトでふわふわした話だけど、発表の後に多くの人からそうだそうだ、という反応をもらえたので発表してよかったと思う。
夜は @tenderlove など海外のゲストを誘って、呉竹鮨へ。最初、予約したぞーと参加者に伝えたら、場所が違うのでは?と指摘されて、確認したら横浜にある同名のお店ですぐさま「すみません...間違えました...」とキャンセルの連絡をしてから、改めて松江の方の店の席を予約するなどしていた。
のどぐろの炙りの握りがめちゃくちゃ美味しくてよかった。この手の店の手配、現地の言葉でしか予約できない場合が多くて、自分が海外のカンファレンスに行ったときによく現地のオーガナイザーや Rubyists がレストランを手配してくれてとてもありがたい記憶がある。恩返しというわけではないけど、日本に来た海外ゲスト向けには積極的にやるようにしている。
鮨を食べている最中に店員の人が「みなさん Ruby の方ですか?」と話しかけてきて、めちゃくちゃ笑ってしまった。店員の知り合いが事務局をやっているんですよ〜ということらしいけど、見栄えで Ruby の人とわかるものなんだなあ。
2日目もイマジンに行こうかと思ったら、この日は午後からオープンという情報を得たのでスーパーホテルの朝食をガッツリ食べてから会場へ。
2日目の江森さんのキーノートはよかったですね。いくつか、「あれ、それは僕が言い出したやつじゃなかったかなあ」というのはあったけど、今となっては記録もないので確認することができない。
キーノートの後はスポンサーセッションだったので、上のスライドのような話をつらつらと話してきた。前半は10分あればもっと話せる、となっていたけど、後半に行くに従って時間がカツカツになってしまった。やはり練習してないとこんなもんか...。
話の内容としては、OSS を使ってサービスをゼロから作る、OSS も直すというのが当たり前なのは少数で、ほとんどの組織が消費者として OSS を使っているだけなので、どうやって OSS Contributor、そして OSS Developer にしていくかというのを話したつもり。もうちょっと体系化した上で進めていきたいなあ。
スポンサーセッションのあとはお弁当の時間になって、1日目同樣にブース登板をしたりお茶席に行ったりというのを繰り返しつつ、RubyGems 3.3.27/Bundler 2.3.27 をリリースしたりしていた。後半の教育関連のセッションだけ、撮影と話を聞きにメインホールに戻ったけど、これはなかなか面白かった。komagata さんの「みんな行ってるよ?」は実に日本人には効きそうなので活用していきたい。
最後は井上さんのクロージング。クロージング、関わった人全員の名前を読んで、ありがとうありがとう伝えるのはちょっと長くても良い取り組みに思える。また来年も来れるといいなー。
RWC の会場でうーんうーんうなりながらテストが通らない、リリーススクリプトが途中で止まる、リリースした後でコンテンツを書き換えるような処理が走って checksum の sha2 が変わる、などたくさんの苦難を乗り越えて Ruby 3.1 向けのメンテナンスリリースをした。
基本的には最新バージョンである RubyGems 3.4 または Bundler 2.4 を使えばいいので、多くの人には関係ないけど OS のメンテナであるとか最新バージョンよりは Ruby のリリース時に添付されているバージョンで動かしたいという人はこちらをご利用ください。
RWC 2023 も終わったので、島根をソロ観光していた妻と合流して呉竹鮨へ。妻が ETC カードをレンタカーに置き忘れたと言い出して、それを回収してからの移動になったのでめちゃくちゃ距離を歩いた。
今回はお任せの握りとカニを食べた。カニ、めちゃくちゃ美味しかったなあ。呉竹鮨は街の鮨、って感じでとても良い。近所にもこういう感じの店があるといいのだけど、単に開拓不足なのかな。
この日はちょっと出かけられるくらいには回復した。
以前に日本橋の三越でみた手塚雄二の寛永寺奉納の天井絵の展覧会、天井絵そのものは三越の中央フロアに展示されていたらしく「見てないじゃん...」となったので、横浜のそごう美術館にあらためて見に行った。展示方法が大変よいのと、三越のときのやたらと多い人混みもなくゆっくりと見ることができてよかった。
せっかく横浜まで来たのだから、と前から少し気になっていた日産のグローバルギャラリーに行ってみた。
GT-R を始めとしたスポーツカーや日産の各種モデルが展示されているだけじゃなくて、動かすことはできないものの実際に乗車もできるということもあってなかなか良かった。今回、オーラを買うときはそれほど内装とか考えてなかったけど、同じような車があってどっちにするかなあとなったら、ここに来てじっくりと乗ったりするのは良さそうだった。
詰んでいる地球の歩き方のワシントンDCを読んだ。ワシントンDCといえばナショナル・ギャラリーとフィリップスコレクションでしょ、くらいではあったけど、スミソニアンの博物館群や近郊の都市について知れたのは良かった。しかし、この円安といい、いつかはと思っているワシントンDCにも行くきっかけはないままになりそうであるなあ。
B08 地球の歩き方 ワシントンDC ボルチモア アナポリス フィラデルフィア 2023~2024
地球の歩き方
¥2,178
# katsu [白き魔女でお願いします。]
# しばた [リメイクされてXP版が発売しているのですね。検討項目に追加。]