大学に成績表を取りに行く。実家にも郵送してくれりゃいいのに・・・。
まだ配布してなかった・・・。
担当の教官にお願いしていた所,教官の知り合いに中国と太いパイプを持っている人がいるということなので,その人が早速,大学レベルの中国との交流の計画を話しに中国に行ったらしい・・・。
・・・なんか大きいことになってきたなぁ・・・。
LLDNではしゃいだ余韻が残っている昨日は彼女の方もイベントがあって、先日にとてとてアシスタントをして作った本もなかなかの売れ行きだったみたい。
最近、仕事関係のことで落ち込んでいたようなので、気晴らしになったみたく良かった良かった。
さて今日から何かをやるかね。まずは食料の買出しと銀行か。
コメント欄に書き込んでいる人たちはどっかで教員をやってる人たちなのだろうか。
評価に値しないようなレポートが出てきたらガンガン赤点をつけて落第させりゃあいいんですよ。レポートでコピペを出されるってことは、「教師が学生になめられている」か「学生が真性のバカ」かのどちらかだと思う。
まあ、どこかの大学のように落第数が多すぎると、事務や文科省から「おまえの指導の仕方が悪いから落第数が多いんじゃー」とか怒られるという事情もあったりするんだろうなー。んで、事務から怒られるのが嫌だからしょうもないレポートに対しても合格点を出す→どうせ読んでねーなら今後もコピペでいいやと学生になめられるというスパイラルの完成。
「こんな学生がいるんですよ」なんて言って笑ってないで、教師の方もダメなものにはダメと評価を出すように意識を変えていかないとこの構造は変わらないと思うのですよ。
一週間遅れでASCIIを購入してぱらぱらと眺めていると、デュアルディスプレイの設定関連の記事があった。
デュアルディスプレイはデフォルトでは個々のディスプレイが独立した状態(1024x768の画面が二つ)なんだけど、これをドライバ側で2048x768という一つの画面にするストレッチモードというのがあるらしいというのを知ったので早速やってみた。
タスクバーが右のほうまで伸びていたりして微妙に違和感があるけど、しばらくこの状態で使ってみよう。
ツリー表示モードの時、タイトルが無い時には20050829という文字列が表示される。このままでも日付とわかるけど、いまいち格好悪いのでparsedateを使って読み込んでから、日付っぽく表示するように改造してみた。
昨日は寝付けなかったので、布団でごろごろと読み終えてしまった。採点は75点くらい。エンキョリレンアイよりは終わり方が良かったかな。
しかし、恋愛系の小説って最後に女性側が他界して終わるのが多いのは何か定石でもあるんだろうか。ベタベタの展開になってハッピーエンドで終わるのは、それはそれで面白みが半減するわけではあるんだけど…。
MSNの検索キーワードから、そのサイトの訪問者の性別と年齢層を出してくれるらしい。早速、http://www.hsbt.org/diary/を突っ込んでみたところ、年齢層が25-34、男性:女性 = 0.86:0.16という結果。何とも言えないびみょーな数値だ。
社内でメールを使っていると悲しいくらい機種依存文字だらけのメールが送られてきて、それに返信するたびに KamailV3 が出す警告がうざくなってきたので、 KamailV3 本体をごにょごにょいじる。
とりあえず、チェックをかけているところを見つけてコメントアウトしてもまったく変わらず困りはてる。なんだかんだといろいろやってるうちに1時間弱経過した時点で「はっ、バイトコンパイルしたんだった」ということに気がつく…。とほほ。
あと、何か「 pop3 と smtp とのやり取りをログに残したまへ」と上から言われてしまって、こっちも難航中。とりあえず、KamailV3 が message に表示している内容をログに残すことまではできるようになったけど、これは求められているログとは違うしなー。困った。
と、この辺をやってるうちに2時間経過。最近は充実してるなー。
http://q.hatena.ne.jp/1188134472
ん〜、いまいち質問の仕方が悪いのか意図が伝わってないのか、根本的に解決策がないのか…びびっとくる回答はまだ。人力質問も奥が深いね。
朝からだらだらとセットアップを続けていたけど、夜になってようやくこなれてきたので一段落かな。毎度おなじみ箇条書き。
cd /Users/hsbt/dev/plagger; perl -Ilib plagger -c /Users/hsbt/misc/config/config.wassr.yaml
今日はこんなところ。
ビックカメラで彼女のプレゼント用のカメラレンズを物色したり何だりしながらごろごろと過ごす。本日のメニュー。
カニの炊き込みご飯は先週つまみ食いしながら解体した奴なんだけど、やっぱり毛ガニはうますぐる。
昨日、書き忘れたので忘れないうちにメモ
こんなところかなー、明日から本気出す。
あっという間の三日間だった。
最終日はちょっと遅めのスタートで10:30くらいに会場に到着。咳さんの発表で、Wikiで3万くらいページがあるという部分がさらっと流されていたけど、これは大分凄いことのような気がするのはオレだけかな。MongoDB の話は入門編だったので普通であった。
お昼は相変わらず asakusa.rb に出没していたんだけど、松田さんが wycats を連れてきて Rails3 にしゃべらせるという基調講演もびっくりの内容だった。観客は30人くらいだったり、Rubyコミッタはもくもくと ruby のバグを直していたりとだいぶいつも通りの asakusa.rb クオリティだった。
午後は発表の準備やら妻を迎えに行ったりとだいぶふわふわしたまま、過ごしているうちに、発表の時間となってしまった。
スライド完全版と動画はこちら。
発表の最中にMacBookがフリーズして生きるのが辛くなったけど、スライド無しでしゃべりつづけることで、再起動まで何とか乗り切ることができた。動画だと、スライド無しの部分はカットされているみたい。TLの感想をみるにだいたい言いたいことは伝わったみたいなので良かった。
プログラムが決まった時にはどんな話にするかは余り考えていなかったのだけど、プレゼンでもやもやしている時に @kakutani に相談して、「柴田さんの話をすればいい」とアドバイスをもらってからは、自分が Ruby や tDiary の何が良いんだろうということをずっと自分に問い合わせながらスライドを作った結果があの内容。レビューや相談に乗ってくれた @kakutani, @ursm, @moro に本当に感謝します。
自分の発表が終わった後は予定通りに @kakutani > @chadfowler という流れでRubyKaigiを最後まで堪能した。帰り道に妻から「hsbtはesmに転職してから、ものすごく成長しているのがわかって、実に幸せな人生を歩んでいるように見える。」と同じようなことを言われて、大分良い気持ちになることができた。
運営の皆さん、本当にお疲れ様でした。
tdiary/compatible.rb の中で 1.8 系の互換性対策として String.encode を独自定義していたのが原因で json_pure の内部で 1.9 用の処理に分岐して
uninitialized constant JSON::Pure::Parser::Encoding
を発生していたのを直した。後はデフォルトで json_pure を require すれば json 対応は一段落かな?
隣席のあんちぽっぷ氏がHigh-ishiki 本棚*1に置いていたので借りて読んでみた。
この本は以下の4部構成となっている。
対象読者は、大学生かプログラマという仕事に就き始めたばかりの人なんだけど、その人は当然全部読むべきとして、人としてのスキル、企業の世界の2部はエンジニアが全員読んでもためになる内容になっている。プログラマが会社という組織の一員として生きるために、色んな職責の人と何かしら付き合う必要があるわけで、そのつきあい方(最初の一言が大変面白い)を簡単に紹介しているのが良い。
さくっと数時間で読むことができるのでオススメです。
プログラマのためのサバイバルマニュアル
オライリージャパン
¥2,420
*1 二人が好きそうな本を買っては読み終わったら置く本棚
今日は札幌の妻の実家へ移動して終わり。
Gemfile に gemspec を指定していたことで、git が無い、もしくは PATH に通ってない環境で Bundler.require に失敗していた問題を直した 4.0.1 をリリースしました。
http://www.tdiary.org/20130829.html
4.0.0 を試してみたけど、何か動かなくてロールバックした、みたいな方はお試しください。
この日は午前中は会社で何かをして、午後から参加しよう〜というつもりでいたところ、スポンサーチケットの手配にミスっていることに気がついて、これは参加無理かもなーと...と twitter で物乞いしていたら、発表者の @zoncoen さんからチケットを譲ってもらえることになって無事参加することができた。無償で譲っていただいた @zoncoen さん、本当にありがとうございます。
1日目のトピック
何か Scala の話とか Java の話とかを聞いてなるほど〜と頷いたり、ずっと Ruby の話をしているだけで一日が過ぎてしまったような気がする。ちょっと違うコミュニティに参加するのも楽しいので、その機会として大変良かった.
やっと確認して flickr 送りにした
https://www.flickr.com/photos/hsbt/albums/72157657477236119
この写真はなかなか良くとれている。
nanoblock を作るくらいには余裕が出てきたので細々と作っていた。以前に誕生日プレゼントで頂いたLEDプレートとマッチするようにピラミッドが配置されていて中々良い。
ガンダム展、流石に見ておかなければということで六本木ヒルズに行って森美術館の ディン・Q・レ展と一緒に観てきた。森美術館の展示はあまり馴染みがないベトナム戦争についてアート作品ということで、中々知ることが出来ないベトナムの文化や国内での戦争の扱われ方などを知ることが出来てよかった。
ガンダム展の方は何というか、原画中心だからか森アートセンターギャラリーでの開催なのかはわからないけど、森美術館の展示に比べると何だこりゃというものが多くてちょっと厳しい感じだった。展示物自体は貴重なものなんだろうけど、いかんせん巡回路と展示の構成が美術鑑賞という配置ではないので見ていてとにかく疲れた。
ミュージアムショップで展覧会限定のプラモを幾つか買って帰宅。ほとんどこの限定版を買うために入場したようなものだった...とほほ。
Ruby 2.4.0 で導入が予定されている Integer Unification が与えるであろう Ruby アプリケーションへの影響をまとめておく。
率直には rb_cFixnum
や rb_cBignum
が 2.4 からは見えなくなるので、それらを参照しているような native gem が対応していなければビルドできないためアプリケーションが動かなくなる。じゃあ、対応したバージョンに全てバージョンアップすればいいじゃん、という話なのだけど bundler が解決してくれる dependency 沼と絡み合って、単純には解決できずに 8 月現在は厳しい状態になっている。
json については stdlib に含まれているバージョン(こちらは default gem と呼ぶ)と gem としてリリースされているバージョンがあり、どちらも対応済みではあるものの、bundler が参照する Gemfile や rubygems が依存先として参照する Gem::Dependency
として json が指定されている場合は、指定された内容に沿った依存解決が行われる。
つまり、 Gemfile や gemspec などで '~> 1.8' というような指定をしている場合は Integer Unification に対応した 2.0 以降の gem を参照できないため、これもまた Ruby 2.4.0 では使うことができない。このような gem のほとんどは Ruby 1.8 の時代から存在し、json がバンドルされていない頃の名残、もしくは特に意味合いはないものの保守的に '~> 1.8' を指定しているものが多いものの、以下のいずれかの対応を行わなくては Ruby 2.4.0 以降に生き残ることはできないことが現時点で概ね確定している。
オススメは Ruby コミッタ、つまり僕を含んだメンバーが依存関係をせっせと解決している前者を採用することなので、見かける範囲で json をわざわざ明示している gem がある場合は今すぐ消して新しいバージョンの gem をリリースしてほしい。Ruby の default gem としての json よりも新しいバージョンの json gem を使いたい時だけ指定すればよい。
さらに上記の問題を泥沼にしているのが、例えば Rails アプリケーションを作っている場合、その Rails アプリケーションが依存している全ての gem で Integer Unification 対応がなされなければ Ruby 2.4.0 を使うことができない、ということがある。例えば、多くの gem が参照している rdoc などは典型例で
https://github.com/rdoc/rdoc/pull/412
のような対応を取り込んだバージョンを 5.0 としてリリース予定なものの、他の gem が '~> 4.2' などとしていた場合には振り出しに戻って rdoc の依存バージョンをあげるか、幸いなことに rdoc は json 同様 default gem なため、依存自体を外すなどして対応をする必要がある。ということを、Rails アプリケーションが使ってる gem 隅々まで対応しなければならない。とても辛い。
今の所自分が気がつく範囲では、 Ruby コミッタがメンテナンスしていたりするものが多いので対応しつつあるものの、例えば、 Rails じゃないけど ActiveSupport 4.2 に依存しています、というアプリケーションやライブラリがあった場合、ActiveSupport 4.2 は json '~> 1.7' な依存のため、当然 Ruby 2.4 では動かない。
https://github.com/jekyll/jemoji/pull/49
上記のように ActiveSupport 5.0 では json の依存が消えているので解決されているので対応したとしても、 ActiveSupport 5.0 は Ruby 2.2.2 以降のみしかサポートしてないので、アプリケーションやライブラリの開発者が 5.0 への移行に慎重な場合は対応されるまで Ruby 2.4 では動かないことになる。とてもとても辛い。ほんとつらい。
まとめると「今すぐ手元や近所の gem から json や rdoc など default gem への明示的な dependency 指定は消してほしい」ということなので、RubyKaigi に向けて、みなさんよろしくお願いします。
合わせて読みたい: http://www.mikeperham.com/2016/02/09/kill-your-dependencies/
ちょっと遅れた夏休みで北海道へ帰省。前半に室蘭、後半に札幌という予定。
北海道に帰ってきて最初にやることの、カツゲンを飽きるくらいのむというのとジンギスカンを食べるというノルマは初日でクリアしておいた。
今週もいつも通り神田の永和オフィスで開催
https://asakusarb.esa.io/posts/847
今日は引き続き rdoc のレビューをやりつつ、一通りマージし終えたので rdoc-6.0.0.beta1 としてリリースしたり、Euruko 2017 の宿を松田さんとそれとなく話して決めるなどした。
あと、先週の Asakusa.rb で議論した RubyGems/Bundler で json/psych を使うことができないので何とかしたいという Feature Request を夕方に bugs.r-l.o に書いたので興味ある人は読んでコメントしてください。
https://bugs.ruby-lang.org/issues/13847
これ、require を拡張する以外に何か解決できそうな技があれば大歓迎です。
ruby-build には任意のパッチを当てたうえでビルドするオプションがある。具体的には
$ cat rubygems-2613-ruby23.patch | rbenv install --patch 2.3.4
$ rbenv install --patch 2.3.4 < <(curl -sSL https://bugs.ruby-lang.org/attachments/download/6691/rubygems-2613-ruby23.patch)
$ cat rubygems-2612-ruby24.patch rubygems-2613-ruby24.patch | rbenv install --patch 2.4.1
という感じでパッチを当ててからビルドが行われる。複数の指定もできる。
RubyGems 2.6.13 のセキュリティ対応について、rubygems 自身のアップデートが大変で ruby-build でシュッと対応したい場合は https://bugs.ruby-lang.org/issues/13842 からパッチをダウンロードして上のようなコマンドで実行すると便利です。
See also: RubyGems の複数の脆弱性について
今更だけど、夏休みのゲームセールで半額になっていたので PS4 の方を買った。
やっと仲間が増えだして面白くなってきたというところ。オクトパストラベラーとサガ・スカーレットグレイスはお休み。
相変わらず寺社仏閣に行ったら御朱印をもらっておこ、という生活を続けているので、最近の御朱印ブームでフォーカスされているアートとして面白い御朱印をざっと眺めておこうと思って読んでみた。
思いの外、見開きの御朱印があったり、都内でもこんな御朱印がもらえるんだ〜という物を発見できたのが良かった。涼しくなったらもう少し回ってみよう...
高島屋で開催している民芸展で買い物をしようと思い、昼は暑くてやだなあってことで夕方まで待ってから日本橋へ。気温が下がっても30℃とかでくたびれてしまう。
民芸展、かなり良くて牛ノ戸焼の皿とアウト・オブ・民藝の本を買ってしまった。会期中にもう一度行ってもうちょい何かを買いたいなあ。催事場の他に美術画廊コーナーによってガラス細工の皿を購入。截金ガラスではないけどガラスに層を作って色を付けるという工芸品を何かしら買いたかったのでタイムリーでよかった。
最後に地下の鼎泰豊に久しぶりに寄って小籠包を食べてから帰宅。思っていたよりは人がいる気がしたけど、百貨店の週末としては少ないんだろうな。
Ghost of Tsushima もアップデート待ちって状況になったので、アサシンクリード・ヴァルハラのトロフィー埋めをやってるうちにプラチナまですべて取ってしまった。釣りが面倒で放置していたけど、供物も含めて根気よく全部集めるのと意図的に行動しないと取れないようなやつをだいたい終わらせることでプラチナまでたどり着いた。達人の試練での金メダルすべてまでやるかどうかは気分次第で。
ヴァルハラとは別にオデッセイに PS5 でプレイした時に 60fps になるパッチが出ていて試してみたけど、まるで別のゲームのように動いてだいぶいい感じだった。久しぶりにステルスクエストをいくつかこなしてみたけど、ヴァルハラに比べると操作性がやや劣るもののマップの広さや世界観、アビリティなどはオデッセイの方がよかったなあ。
Jellycat のお菓子シリーズのぬいぐるみが入荷したぞとメールが届いたので、オンラインショップを眺めに行ったところだいぶ可愛くて数も揃っていたので適当にカートに入れて買ってしまった。
イギリスから発送で 1週間くらいで到着したのでかなり早い気がする。あと免税なのかよくわからないけど、送料がほぼほぼ値引きされていて実質商品代金だけで買えたのでお得。
この日は Ruby 開発者ミーティングの延長線で M:N スレッドの話から bundled gems, yarp の話をしているうちに3時間経過してしまった。
preview2 の足音や Ruby 3.3 としてどういうリリースにするのか、というあたりを議論しつつ、何をしていくかという話を沢山できたので良かった。
今回は Discord で開催だったのでゆらっと集まって参加。
https://asakusarb.esa.io/posts/1161
過去の Euruko の雰囲気やヨーロッパのカンファレンスの懇親会は何故かクラブで重低音ガンガン流して、話していることが全く聞こえない、というような物が多いのはなんで?とか話していた。
後は RubyWorld Conference の日程や内容について確認したりあれこれ手配したりして時間切れ。
少し前にやったことになるけど、将来 bundled gems になる予定の stdlib を require したときにいい感じに migrate 方法を警告するライブラリの bundled_gems.rb
がいくつかのパターンにおいて期待通りの動きをしてなかったので PR をマージしつつ直しておいた。
https://github.com/ruby/ruby/pull/11418
bootsnap とか zeitwerk などの require を拡張しているライブラリと一緒に使ったときになかなか難しい動きになっていたのと、ヒューリスティックに対応した感じ。ひとまず Ruby 3.3 にもバックポートはしたので、これで様子見かなあ。なかなか難しい。
火曜の office hour で話していた URI の時期リリースバージョンに向けたパーサーの migration をしやすいように、Ruby 3.2/3.3 に同梱されているもの向けに時期リリースに定義されている定数を追加して、新しいバージョンをリリースした。
そのうちリリースされる Ruby 3.2 や 3.3 では DEFAULT_PARSER
ではなく RFC2396_PARSER
を使うようにライブラリやアプリケーションを直しておくと Ruby 3.4 でも割とスムーズに動くようになると思います。
DeNA が提供していた遺伝子解析サービスの MYCODE がサイトを含めて完全閉鎖するらしく、必要なデータがあるならダウンロードせよという連絡が来たので自分の結果を PDF 印刷を経由して Web ページを保存しておいた。
この手のデータ、買い切り/売り切りのサービスでずっと見えるようにせよ、というのは収益上難しいのでしょうがない。
# ただただし [日付のフォーマットは@date_formatを利用すべきでは? >recent_comment3]
# しばた [jdate.rbを使って表示している部分が変換されなかったりするので@date_formatの利用は見送りました。]
# ただただし [それはDate::parseが返すのがTimeじゃなくてDateだから……(jdateが書き換えてるのはTime::..]
# しばた [ナンテコッタ。 Time::parseで読み込んでから@date_formatを使うように変更してみました。]