うーん、早速使ってみようと思ったら
(require "tempo")
の部分でこけてしまいます。配布ファイルにtempo.lらしき物が含まれていないけど、パッケージングか何かのミスなのかな…?
うお、ハハハハさんわざわざありがとうございます。とりあえずインストールは完了したので、試して…。
変数が定義されていません:editor::*html-doctypes*
…が。ちと朝は時間がなさそうなので昼以降にもう少しいじってみます。
動きました。いやー、プラグインの補完がこれほど便利だとは、作者のハハハハさんとkitajさんには感謝ですな。
早速マニュアルを眺めつつ使い方に慣れるとしよう。
結局クラスで募集をかけても参加は3人かよ…。まぁ、テスト期間だからしゃーないか。
ふーむ、俺とかは馬鹿だから土曜の昼にやったことなんて日曜の朝には忘れているからな。そもそも土日はほとんどOFFと決め込んでいるのでレポートやテスト勉強もしない場合が多いかも。勉強するなら平日に2時間程度で十分だね。うん。
そんなわけで明日は雪山に突撃してきます。
使ってみようと思ったらこんなエラーが出たり出なかったり。
tag <subject> is too much in tag <item> (RSS::TooMuchTagError) /usr/local/lib/ruby/1.8/rss/dublincore.rb:42:in `dc_validate' ./tdiary.rb:92:in `join' ./tdiary.rb:92:in `safe' ./tdiary.rb:687:in `eval_src' ./tdiary.rb:1023:in `do_eval_rhtml' ./tdiary.rb:965:in `eval_rhtml' index.rb:73
cache-rss.xmlは取得できていて、bookmark.datを作成するときにこけている模様。
これについてはよくわからないので、放置。以下適当に改造。
あれ、 はてなブックマーク件数取得APIに対してTrackbackをうったのだけど反映されてないようだ。あと
s/Powerd/Powered
とほほ
まあ、全文入れようが入れまいが、気にとめない記事はスルーなのでどっちでもいい。ただ、情報量は多ければ多いほど、オレの場合は気にとめやすいというメリットは強調しておきたい。
それよりも、Don’t lose your temperをfeedbringerに追加した時に思ったことなんだけど、要約(や概要)しか入れてないにもかかわらず、「続きを読む」とか「文末を…で終わらせる」のような「これは要約です」という明示的なものがないようなのは勘弁してほしい。RSSリーダーで読んでいる人はあれが要約だとは気がつかないんじゃないかな。本家に誘導できないような要約はデメリットでしかないよ。
MM/Memoにはてなブックマークでの登録件数表示機能が追加。これはMM/Memoとはてなブックマークでの反応の違いを比較できて面白い機能だと思う。
さておき、MM/Memoには登録件数の表示は必要ないのかという議論について、自分は必要ないと思う。だって、MM/Memoで情報を探すときはトップページから拾ってくるのがほとんどだから。
登録件数を表示するようになると、みんなが登録しているから自分も登録しておこうという相乗効果が働いて、トップページが同じようなエントリばかりになるような気がする。これはいわゆるGeek系というかある程度パソコンには詳しい層が主な利用ユーザーのMM/Memoにはあまり望ましいことではないと思う。
この登録件数を表示することによる、ブックマーク数の増加を仕掛けるならば、同時にはてなブックマークやdel.icio.usのように人気エントリ表示のインタフェースも用意しないとダメなんじゃないかな。
MM/Memoとblogmapのexists APIがリリースされたので、net/httpの勉強ついでに遊んでみた。
require 'net/http' Net::HTTP.version_1_2 port = 80 proxy_host = nil proxy_port = nil base_url = "http://www.hsbt.org/diary/" date_anchor = "20051211.html" urls = [] for index in 1..5 do urls << base_url + date_anchor + "#p%02d" % index end Net::HTTP::Proxy(proxy_host, proxy_port).start('1470.net', port) {|http| response = http.post('/api/exists.php', 'url=' + urls.join("\n")) puts response.body.to_s }
http://www.hsbt.org/diary/20051211.html#p01 0 0 http://www.hsbt.org/diary/20051211.html#p02 0 1 http://www.hsbt.org/diary/20051211.html#p03 0 0 http://www.hsbt.org/diary/20051211.html#p04 1 1 http://www.hsbt.org/diary/20051211.html#p05 0 0
昨日の奴と組み合わせて、一緒にキャッシュデータを保存するようにした方がよさげ。
ちょっとゲームが忙しくなってきたので一回休み。明日はシレンも発売するし、新しいゲームが出るのはいいもののどう見積もっても消化しきれてない。
この前注文した Emacs 辞典が到着したんだけど、このシリーズおなじみのビニールカバーがついてなかった。増版だとついてなかったりするんだろうか。
とりあえず、鞄につっこんで持ち歩く予定なので debian 辞典のカバーを取り付けて代用することに。
疲れたから早めに 2130 に寝たら 200 に目が覚めるってどうなってんの。
remedie で一括更新したり、長時間放置していたりすると Rose::DB がうげほがとエラーが出てしまって、SQLite のデータベースファイルがロックされてしまうような現象が発生していたので #remedie で相談してみた。
早速、miyagawa さんから DBD::SQLite を
http://svn.coderepos.org/share/lang/perl/DBD-YASQLite/trunk/
に入れ替えてみてはどうかと教えてもらったので、さくっとモジュールを入れ替えたら、Rose::DBなんだかんだというエラーはとりあえず出なくなったっぽい。
彼女が夕方から外出する用事があるということなので久しぶりの外デート。
今日は整体に行ってバキバキ治療してから、毎度おなじみルタオで皿盛りスイーツ(笑)を食べてきた。相変わらずだけど、ルタオのデザートはうめーな。ごちそうさまでした。
12/3 に Logicool のマウス・キーボード総合ドライバの SetPoint のバージョン 4.7 がリリースされたみたいなので、MX-R との組み合わせで使い始めてみたんだけど、これがまた地雷で
という不具合が入ってる模様。どちらもオレの環境で確認。
しかも追い打ちをかけてひどいのが、4.7をアンインストール後に以前の 4.6 をインストールすると、Logicoolで使っている自動アップデートプロセスが無限起動状態になってしまって、PC起動後数分でCPU利用率が100%に陥って、ユーザー操作を受け付けなくなってしまうというおまけ付き。
しょうがないので電源をハードリセットで落としてからセーフモードで 4.6 をアンインストールして今に至る。やれやれ…。
式後の夕食会(披露宴じゃないよ)の会場見学と見積もり提示してもらったり何だり。ひとまずこちらの希望条件を満たしているようなので即決してしまった。その後は招待状のデザインをそれとなく決めるためにセントラルや東急ハンズに行ったりなど。
毎週少しずつTODOを消化してるけど、同じ数だけTODOが増えてしまうのはたぶん気のせい。
厚生年金会館だったんだけど、音の反響という部分ではKitaraの方が良かったなあ。あと葉加瀬太郎のMCがびみょーにおばさま向けでイマイチな感じだった。実際、7割近くが女性かつ、おばさまな層なのでしょうがないって言えばしょうがないけど。曲目はこんな感じ。
書き留めていたり、パンフを買ったわけではないので微妙に間違っているかも。とりあえず情熱大陸はどんな場所でも使えちゃう曲なんだなあってことがわかった。
余談だけど、今日の席の隣に座った親子(おばさまと娘)が最悪だったなあ。曲の合間に必ずしゃべって曲が始まっても続いている時があったり、お菓子の包装紙や会場のガイドを席の下に投げ捨てているし、こういう人たちってホントにどうにかならんの。
最近は perlbrew と cpanm がベターらしいので、local::lib で放り込んでいたライブラリの皆さんを rm -rf してから perlbrew を入れてみたよ。
とりあえず、perlbrew は ~/.perlbrew にインストール。こんな感じ。
export PERLBREW_ROOT=~/.perlbrew curl -LO http://xrl.us/perlbrew chmod +x perlbrew ./perlbrew install rm ./perlbrew .perlbrew/bin/perlbrew init
この後で perl 本体と cpanm をインストール。
perlbrew install perl-5.12.2 perlbrew switch perl-5.12.2 wget http://cpanmin.us/ chmod +x cpanm perl cpanm --self-upgrade
rvm の時より安定してインストール出来た印象。便利便利。
今日はだいぶ年末進行で参加者が8人で各自もくもくしていた。
後の時間はだいぶだらっと談話したり、tDiary の次回リリースに入れるものを選別したり考えたり。だいぶ JavaScript についてわかってきたからちょっと気合いを入れて実装してみるかなー。
IT健保の会報みたいな奴を眺めていたら、常備薬を半額とか1-2割引で買えるというのがあったので、正露丸や漢方を結構な量買い込んでみた。扶養家族や子供がいないと寿司を食べるか、こういった奴で健保を使うくらいしか恩恵無いのが悲しいけどそれはしょうがない。
アクティブな GitHub ユーザー 256 人に載ったらしい。おーえすえす。
https://gist.github.com/paulmillr/2657075
上から眺めていくと、多種多様な言語でアクティブな人が見つかって、この人がこれ作っていたのか~というのもわかって、かなり面白いですね。@tokuhirom さんの 8 位というのが圧巻ですが、弊社からも @gosukenator さんが 112 位、僕が 114 位と頑張らせて頂いております。
compass-rails は sass-rails をモンキーパッチして class_eval しているのだけど、その内容が sass-rails のインタフェースと食い違ってしまっていて、盛大にぶっ壊れていることに気がついたので直した
https://github.com/Compass/compass-rails/pull/194
Travis CI のテストが落ちているけど、これはもともと壊れているものなので関係ない。なんかこういうクリティカルな問題にすぐ対処しないというあたりを見ると compass-rails はそろそろ捨てたほうがいいのかもしれない。
最終日始まり始まり。
この日はいつもの Ruby コミッタを並べて石を投げつける質問をするというセッションから。この時に rubygems のマージの話をしたけど、これほんとにきつくて
というのをとにかく毎週、毎月やらないといけなくて、regression を起こさないためにコードとコミット履歴を読むといういわゆる「マージエンジニア」ってやつ。好きだからやってるんだけど、もうちょい良い感じにできんのかなとは思うんで、これは来年かなあ。
午後は @emorima メンバーの発表を最前列で聞いたり、たこやきかめんの応援に行ったり普通の RubyKaigi 参加者としてウロウロしながら、fastly の設定の続きをやっていた。この日の夕方前くらいにやっと fastly の設定が完了して heroku を origin とする global CDN で配信できるようになって、全世界で www.ruby-lang.org がかなり高速に表示できるようになったと思う。便利。
RubyKaigi 2016 はこんな感じで全日程を終了。YAPC もだったけど、ひさしぶり技術カンファレンス!って感じのやつに参加して、かなり楽しかった。
一点気になったのはチケットの高騰なのか、学生に認知されていないのが原因なのかはわからないけど、学生枠が 13 人と非常に少なくて、 @tdtds が書いているように Web や B2B でお金が集まっているエンタープライズなイベントになりつつあるんでは?と感じた。これからのプログラミングの世界を担っていく若者はモバイルアプリや研究で使えるような別の言語しか興味ありませんというのは寂しいので、若年層の取り込みというのは気にしたほうがいいかな、とは思った。自分はオーガナイザーではないので、別の方法(RailsGirls とかね)で出来ることをやるしかないのだけど、もうちょい考えていきたい。
そろそろ h2o を触らないとな、という気持ちが高まったので h2o を入れて
というのをがっしゃんこでやってミドルウェアを一つにするというのをやり始めている。今のところ置き換えが完了したのは
というところまでできた。hiki は fcgi 対応するのがめんどかったので、この機会に全部 static html にすることにした。あとは index.fcgi の handler と、その他の調整を終えたら完了ってところ。 もう少し。
h2o を使うにあたっては tatsushid/h2o-deb: Unofficial H2O Debian package for Debian and Ubuntu builder でパッケージインストールした。このパッケージで入れると server-starter など perl 界隈で使われているであろうベストプラクティスな構成でプリインストールされてあとは systemctl で起動するだけという、顧客が欲しかったものが全部入りでとても良かった。続く。
flickr が free プランの画像保存を 1000 枚までにするという話になったのでアカウントページからアップロードしてる画像を全部ダウンロードして、ローカルでは lightroom, バックアップや実際に閲覧で使う用途としては Google Photos に全部突っ込んだ。
https://www.flickr.com/lookingahead/
単純にダウンロードしただけだとフラットに 12000 枚みたいな感じだったので下のようなスクリプトを書いて雑に yyyy/dd
形式に分類した。
require 'exif'
require 'time'
require 'fileutils'
require 'pathname'
Dir.glob("data/*").each do |f|
exif = Exif::Data.new(File.open(f))
time = if exif.date_time_original
exif.date_time_original
elsif exif.date_time
exif.date_time
else
p exif
raise Exif::NotReadable
end
t = Time.parse(time[0..9].split(":").join("/"))
dir = "#{t.year}/#{'%02d' % t.month}"
FileUtils.mkdir_p(dir)
FileUtils.mv f, File.join(dir, Pathname(f).basename.to_s)
rescue Exif::NotReadable
next
end
手元には別にちゃんと保存してあって、重複する画像もあるんだろうけど、それらの一致を検出するよりは全部えいっと Google に預けてしまえばいいやと言う感じだったのであまり頑張らなかった。
この日記も古いところで flickr の API を使って参照している個所が結構あるんだけど、それらはじわじわと 404 になるんだろうなあ。これを適切に入れ替える手段は今のところちょっと思いつかないので後で。うーん。
結構前に来て積読になっていたけどエイっと読んだ。日本にいわゆる移民として来ている人や、移民二世の人たちがどのようなアイデンティティを持って作品を作ってるか、という内容が多かったけど、アート、という文脈を抜きにしても多国籍な社会を意識する時に参考となるような考え方が多かったなあ。
アサシンクリードシリーズはクリア、というものがなくて無限にマップを歩き回るんだけどひとまず発売時点で用意されているストーリークエストをすべてクリアした。プレイ時間は 118h で、オデッセイでもこんなもんだっけかという感じだった。
ノルウェー、というかバイキング、大英帝国ができる前のイングランドについても、地理、文化とかあれこれも学べたのはお得だった。DLC が春くらいにかけてぼちぼち出るので、このままプラチナトロフィーを取る前やりこむか、いったん休んでスパイダーマンをプレイするかってとこだなあ。満足。
函館旅行、土日で帰っても良かったけど、その旅程だと朝市で海鮮丼食べられないじゃん!ということで月曜の朝まで延長して早起きして朝市に行ってきた。...何が起きたのか、前日までちょっと寒い東京だな〜みたいな風景だったのに、写真のように地吹雪が巻き起こるくらいの景色になってて笑ってしまった。
こんなこともあろうかと、ダウンジャケットとか靴も冬用のものにしてたので良かったけど、妻と謎のテンションできくよ食堂に行って海鮮丼を食べてから函館空港に移動して羽田まで帰ってきた。降雪の影響で飛行機がバンバン欠航していてやばいかも、と思ったけど1時間程度の遅延だけで無事済んだ。
羽田からは渋谷までエクストリーム出社をしたけど、割となんとかなるっぽい。
渋谷について経営会議などをこなしてから、ちょっと遅い昼食を、ということで同僚がよく行っている渋英というラーメン屋に行ってみた。漏れてくる写真を見てると、量が多い中華かな?と勝手に想像していたけど、全然モダンなラーメン屋だった...。
その後、ちょっと歩くかなということでBunkamuraミュージアムで開催しているフィンランドデザイン展をぐるっと見てから、またオフィスに戻って log4j などのなんだかんだをしていた。渋谷もだいぶ人が増えてきたなあ。
PayPay のオートチャージを使いたいがためだけに作ったヤフーカードが PayPay カードになってしまい、それに伴って付随してきた T ポイント用の番号が消えてしまったので、T カードのモバイルアプリをダウンロードしてアプリの中からバーコードや番号を表示して利用を継続できるようにしておいた。
この辺、何の番号や識別子によって自分が identify されるのか本当に複雑すぎて、説明を一回読んだだけだと全くわからない。とりあえず Tカードの場合は番号はいくらでも変更できるので、Yahoo ログインなどによって作成される内部的な ID によって識別されるっぽい、ということがわかったので、とりあえずは Yahoo ログインをし続ける限りは問題ないかなあ。
そもそも今後 T ポイントを使うのか、と言われるとそんな機会はほとんどないだろうけど、データを内部に保有されている以上は自分でハンドリングだけできるようにした、程度で。
ruby-lang.org の裏には小さいものから大きいものまでたくさんの heroku アプリが動いていて、思い出した時に全部を眺めてガガガとメンテを行うというのを盆栽ワークとしてやっている。heroku から PostgreSQL 11 は後1年で使えなくなるよというメールが来たので、じゃあやっとくあ、と久しぶりにあれこれメンテしておいた。
heroku-postgresql は本当に便利で以下の手順だけであっさりバージョンアップが終わる。
$ heroku addons:create heroku-postgresql:standard-0 --follow HEROKU_POSTGRESQL_IVORY_URL
$ heroku maintenance:on
$ heroku pg:upgrade HEROKU_POSTGRESQL_PINK_URL
$ heroku pg:promote HEROKU_POSTGRESQL_PINK_URL
$ heroku maintenance:off
$ heroku addons:destroy HEROKU_POSTGRESQL_IVORY_URL -a bugs-ruby-lang
今回は BLUE に対して PINK という follower db を作成して、アップグレードを行ったのちに切り替えるという手順を踏んでいる。URL の名前については適宜 heroku pg:info
で確認をしながら heroku pg:wait
で状況を見守るというくらいが気をつけるところかな。
あとは Pume 4 や Sinatra 2 で動いている単純な Rack アプリがあったのでそれらも Puma 6 と Sinatra 3 にしておいた。Stack が heroku-20 だったり、Ruby が 2.7 だったりするのは次回のメンテでどかっと上げます。
今週もいつも通り discord で開催。この日はなんか夜までガチャガチャやってたので、話を聞いて喋るということだけをやっていた。
https://asakusarb.esa.io/posts/1122
https://github.com/rails/rails/pull/46711 にあるように最近の mkmf.rb の変更で sqlite3 がビルドできなくあんってるかも?という話を聞いたり、Asakusa.rb で新年会やりますかねえ、上野から神田くらいのエリアで、とかそういう話をして店を眺めたりしていた。美味しいもの食べたい。
Ruby 3.3.0-rc1 が出たので x86_64 の Docker イメージを作成して Docker Hub と GitHub package registry に push しておいた。
https://github.com/akr/all-ruby/commit/2f5cb5c2cdde835b5bf25dfe56cd7571f698f031
この image build は Windows で実行していて、動作チェックは Windows と macOS それぞれでやってるんだけど、今回 macOS の方が次に書く現象が発生していてここでの報告が遅れてしまった。
macOS で podman がアップグレードされていて、qemu というか coreos のイメージを取得し直して、host os を更新したら何度やっても x86_64 または amd64 な docker image がエミュレーションでも動かなくなって、困っていたのだけど以下の 4.8.2 で直ったようだった。
https://github.com/containers/podman/releases/tag/v4.8.2
使っている qemu 周りのエラーが原因のようだけど、この辺はなかなか気がつくのが難しいよなあ。
12/14 から台湾にもかかわらず、荷造りを全くしていなかったので obsidian に書いてある海外旅行に行くときの荷物リストを引っ張りだして、片っ端から放り込んでいた。
今年になってから海外旅行をぼちぼちと再開し始めたけど、割とスマホで完結するものが増えていて、なおかつ ahamo だとローミングが国内通信と同じような感覚で使うことができるので印刷物はほぼなくなった気がする。
この辺の旅行ノウハウ、改めて作り直していかねば。
Ruby Hackathon である程度目処を立てた ruby/ruby
での bundler のテストを turbo_tests を使うようにするやつをエイッと終わらせてしまった。
https://github.com/ruby/ruby/pull/12250
turbo_tests
自体にいくつかパッチを当てないと動かないままなのでしょうがなく vendoring してコードを丸ごと放り込んでしまった。turbo_tests
の何がいいかというと
とくに2つ目が大きくて、従来の parallel_tests だと fork を使っているけど、turbo_tests だと Thread でいい感じに Windows でも動くようになる。今年に入ってから延々と Windows native でのテスト実行などをサポートするのを進めているけど、これで全テストを Windows native、つまり MSVC で実行することができるようになるかなあ。
とりあえず雑に試した限りだと rubocop の依存に racc などが含まれていて C 拡張のビルドで死んでしまった。とほほ。
藝大の卒展に先駆けて開催される博士課程の審査展が始まったので、藝大までトボトボと行ってきた。
いつも日本画でなにか、というのを求めているのだけど今年はあまりピンとくるのがなくて、記憶に残っているのは工芸のものが多かった。
あとはおそらく卒展でもおなじみの自転車というかそういう感じの研究室のものだろうなあという展示物。藝大の博士課程の場合は、作品の横に論文もおいてあってじっくりと読めればいいんだけど1時間くらいしかない状態だといかんともしがたくて難しい。
藝大のあとは上野駅で軽く買い物をしてから上野郵便局に行って所要を済ませてから帰宅。金曜は 15 時に仕事を終わらせて18時には帰ってこれるようなところに行くのを増やしているけど、これがなかなかちょうどいい外出になってる気がする。
# ハハハハ [うわ〜パッケージングミスってた〜!ごめんなさいごめんなさい…(泣)]
# ハハハハ [おぉ、気が動転して…そうです、途中でいらなくなったのに読み込み部を削除し忘れてました…。]
# ハハハハ [あ、それは xyzzy のバージョンの問題かと。html-kwd.l を使ってるので…でも xyzzy 自体最近使い..]
# ハハハハ [ま、間に合ったかな…?すみません、こっちのミスでございました…修正しました。ああもうオレってば…(泣)]