そういやCygwinのSetupプログラムがバージョンアップして複数サイトからのダウンロード管理が可能になってましたね。
この機能でわたなべひろふみさんのバイナリもCygwinパッケージの一部のように管理できるね。こりゃ便利。
スーパーロボット大戦IMPACTの発売日。買いました。
今週になってからやたらと送ってくる。
部屋に緑を!ということで、ユーカリとテーブルヤシなど観葉植物を購入。
肥料はフィリピン産のコウモリの糞を石灰と混ぜ合わせたという珍しい物があったので、これを購入。土も用意したし、鉢植えは明日やろう。
購入。
さらっとしか読んでないけど、きたさんのLLの定義
「オレってばスゲー」を手軽に実現できる言語
には共感した。PHPにしろRubyにしろコアなプログラミングが出来なくても、リファレンスを眺めて、先人の努力の賜物である各種ライブラリを利用すれば、あたかも自分で凄い処理を実現できているかのような錯覚に陥ることが出来る。
プログラミングの楽しさというのは、ここにあるんじゃないかなぁ。
先週の段階で今日までに就職関連の書類をそろえると担当教官が言ってたのに
「すまん、仕事が立て込んでてまだ出来てない」
学生のレポートじゃないんだから、約束の期日くらい大人なら守ってください…。
コーデックについてでも読んだらどうでしょう。
bk1だと入荷しているようなので、bk1で注文しちゃいました。
アメリカの大学生より日本の高校生の方が実はかなり衝撃的:できる!CSSを使いこなすやWhat will be done tomorrow? (仮) - 君たち現状認識なさすぎあたり経由。
まず最初のエントリについては、曖昧な世代間のレッテル張りを利用した論旨が多くて、言いたいことはわかるけどちょっと年寄り説教じみている感じが。女子高生とかおじさんとか2チャンネル文化で育った世代とか関係なく、サービス側でのケータイ対応なんて当たり前なんじゃないの? ケータイ用のUIについてはGoogleや2chなんて何年も前から用意していたりするんだけど、その辺はまるごと無視ですか。問題なのは、ケータイでトップメニューを表示させたときにキャリアごとの囲い込みサービスしか表示されないことなんじゃないかと。(この辺はYahooがぶちこわしてくれないかなと期待している)
「これからはPCじゃなくてケータイだ!」なんて言っているうちに、ケータイでもPCでもそれなりに利用できるmixiあたりにアクティブユーザーを全部かっさらわれているのが現状じゃないの? そもそも、今更「ケータイを無視していてはいかん!」と気がつくなんて牧歌的にもほどがある。
で、オレは外に出ている時はケータイでアンテナから色々巡回しているんだけど、どかっとサイドバーが表示されたりCSSをがりがり読み込んだりするのはどうにかならんのですか。AjaxとかWeb 2.0とかXMLとか言ってる前に未だにケータイ表示対応していない「いわゆるblogツール」の方が深刻なんじゃないのと思っている。「ヱブ弐点零デ、マツシユアツプ」とか言ってる内に、本気でmixiに全部食われてしまいますぜ。
昨日IRCで話したことのメモ。
ケータイでtDiaryを更新するときに面倒なのが投稿機能。基本的にtDiaryはBasic認証なので、ケータイから更新するときはいちいちパスワードを打ち込む必要があるので、非常に面倒。本文については予測変換機能を使えばそれなりに気軽に文章を書くことができるので、この認証機能の方を何とかできないものかと昨日少し話していた。
とりあえず、
とこんな感じで実現できるじゃないのとか。ケータイのその辺の知識が全くないのが大問題なんだが…。まあ、思いつきなんでてけとうに。
ワインはこの前の残りのチリワイン。さすがに残しすぎなので空けてしまった。夕食はお得意のペペロンチーノ。大変おいしゅうございました。
最近のツッコミ - muneda's diary (2006-03-26)で指摘されていた問題をおっかけて直した(つもり)。今日の夕方にコミットしたので、anonymous CVSに出回ったらアップデートしてみてください。
recent_comment3.rbにツリービュー機能を追加したときに、キャッシュファイルに格納されているコメントは以下のような日付をキーとする二次元配列entriesに格納していました。(comment1が新しく、comment5が古い)
20060330 20060329 20060328 comment3 comment1 comment5 comment2 comment4
で、ツリービューの時はorderという変数にコメントの存在する日付を新しい順番に格納していました。具体的には
["20060329","20060330","20060328"]
という感じです。んで、このorderをeachしてその日に存在するコメントをすべて表示させていく感じでツリービューを実現していました。ここから問題なのですが、ツリービューを使わないと時でもなぜかorderの順番で表示していたために、本来ならcomment1からcomment5まで順番に並ばなければならないはずが、munedaさんの報告にあったように
comment1 comment2 comment4 comment3 comment5
という感じになっていたのが問題の原因。
対処としてツリービューの時のコメント日時を保存するtree_orderと、非ツリービュー時のコメント日時を保存するorderと二つに分けるようにしました。orderでは、上記の例のような場合には
["20060329","20060329","20060330","20060329","20060328"]
という変数が格納されています。この変数(entry_date)をキーにして、entries[entry_date][0]からコメント内容を取り出したあとにArray.shiftで先頭のコメントを消去して、順番に表示させています。
たぶん動いていると思いますが、何かあったら報告お願いします。
Hikidoc の添削があるようなので Amazon でぽちっとな。なんか、コラムの執筆陣がやたらと豪華。
Rubyist Magazine 出張版 正しいRubyコードの書き方講座―RubyistのRubyistによる、Rubyistとそうでない人のための
毎日コミュニケーションズ
¥859
ローカルでいじって遊んでいる バカが征く on Rails だけど、これを capistrano で管理できるように色々設定。
まずはインストール
gem install capistrano
ローカルのプロジェクトに deploy のレシピファイルを作成
cap -A bakagaiku
作成されたレシピファイル(bakagaiku/config/deploy.rb)を編集。変更したのはこんな感じ。
set :application, "bakagaiku" set :repository, "http://www.hsbt.org/svn/repos/#{application}" role :web, "hsbt.org" role :app, "hsbt.org" role :db, "hsbt.org", :primary => true set :deploy_to, "/users/home/hsbt00/rails/bakagaiku" set :user, "hsbt00" set :svn, "/users/home/hsbt00/svn/repos"
続いて、リモートの方へセットアップ実行。
cd bakagaiku rake remote:setup
何か気が乗らないので今日はここまで。あー、こういうリリース管理つーか、試験環境/開発環境への配置を全自動で行えるようなツールのVS.Net版って無いの? 最近こんなのばっか。
ふと、atzm さんの家に潜入したときに聞いた「聖闘士星矢の主題歌を英語で歌っている人たちとそのアルバム名」が気になって気になってしょうがなくなったので小一時間調べた。
とりあえず、Google で「聖闘士星矢」を打ち込んで検索。関係ないけど、ATOKって「セイントセイヤ」と打ち込んで「聖闘士星矢」って変換できないのか。意外としょぼい。んで、引っかかったWikipediaの聖闘士星矢を延々と読んでいくとそのものずばりが書いてあった。
初代OP『ペガサス幻想(ファンタジー)』はイタリアのロックバンドHIGHLORDが2002年8月21日に発売したアルバム「Breath of Eternity」の日本版ボーナストラックで「Pegasus Fantasy」の曲名で全編英語詩でカヴァーされ、好評を博した。
ちなみに「Breath of Eternity」で検索してみるとatzmさんの日記が5番目に表示。→Today's HOGE(2003-08-26)
最初から site:diary.atzm.org で検索した方が早かったか?
久方ぶりにうちの日記にも spam が到着。んー、「直接 post してるか」、「手動で入力してるか」のどちらかだと思うんだけどどうしたものかなー。
今までダウンロード配信されていたクエストが標準搭載されたのでそっちから消化しつつ、村上位もプレイ中。装備はあんまり変わってない。
何か村上位のフルフルやったら 2 連続で竜玉がでたんだけど、ついてるだけ? それとも確実に取れるようになった?
とりあえず村の下位クエの追加と上位クエのモノブロス2体まで終わらせた。
なんかババコンガ、ゲリョス、フルフル、ザザミあたりの新モーションが嫌すぎる。今までって、「次はあの動きをするな」とか「この動きをしたときはこっちから回り込めばいい」とかが頭の中に刷り込まれていて、プレイヤーもそういう動きをするんだけど、その辺が見事に全部封じられている感じ。慣れるまではイライラが結構たまりそうだなー。
ところで Z や X シリーズって村上位では取れないんだろうか。集会所Gクラスがアカムトルム必須とかだったら泣きが入るんだけど!
先日見逃した細かすぎて伝わらないモノマネ選手権14を PS3 経由の youtube でみたりとか。本日は
というお手軽メニュー。ごちそうさまでした!
会社で使ってる MBP 15インチを外に持ち運ぶ時に丁度良い鞄がなくて、ふつーのビジネス鞄に突っ込んで持ち歩いていたんだけど、さすがに肩の負担がきついのでリュックを買ってきた。選んだのはこれ。
角谷さんから、ノートを別に入れるポケットがついているリュックが良いって聞いたので、そんな感じのチョイス。買ってから気がついたけど下のような部分もかなり良いなあ。
これは良い買い物をした!
難易度10まで進めてアイテールとディアウス・ピターのところでさらに足踏み状態。どうにも回復が尽きたり、1体倒すのが精一杯な感じなんだけどどうしたもんかなー。
だいぶ良い感じに飽きてきたので、ちょっと寝かせるかも。
先日、 https://addons.heroku.com を眺めていたら "replaced" という見慣れないマーカーが出ているので、ちょっと調べてみたら addon として提供されるのでは無く、heroku の標準機能となったらしい。具体的には heroku addons:list
で確認できる以下の5つ。
custom_domains:basic, wildcard
custom_error_pages:standard
logging:advanced, basic, expanded
releases:advanced, basic
ssl:piggyback
標準機能となった addon をどうやって使うかは heroku の devcenter を読むしかないんだけど、かいつまんで解説すると
heroku domains:add my.domain.com
を実行して設定する。消すことも可能。heroku config:add ERROR_PAGE_URL=https://s3.amazonaws.com/heroku/error.html
みたいに設定して使う。といったところ。replaced 扱いになった addon は自分で addons:remove しないといつまでもゾンビのように残ったままなので、今後の運用(replaced の事情を知らない人が混乱する)ことを考えると早々に撤去した方がよさそう。
仕事でひたすら heroku を使い倒しているので heroku ネタが続きます。
heroku には標準で shared-database:5m という 5M の共有DBが付いてきてて、仕事ではこれの 20GB を使っているんだけど、今回やっと専用サーバーの Ronin を使えるようになった。そこで、PostgreSQL 9.1 でちゃんと動くかどうかの調査として同じ PostgreSQL のバージョンで提供されている無料βの Heroku Shared PostgreSQL を入れて、データベースを移行してみた。以下手順。
$ heroku addons:add heroku-shared-postgresql:basic
$ heroku pgbackups:capture --expire
$ heroku pg:promote HEROKU_SHARED_POSTGRESQL_MAROON
$ heroku pgbackups:restore DATABASE_URL `heroku pgbackups:url`
$ heroku restart
これだけであっさり移行が完了した。HEROKU_SHARED_POSTGRESQL_*
は追加した時に決まる文字列なので、SILVERだとか適当な色の単語が付くみたい。移行が終わったら shared-database は remove しても良さそうだけど、これは安定稼働が確認出来てからかなあ。
以前に作ったよーとアナウンスした ci.hsbt.org ですが今のところ github の popular ランキングの上の方からばしばし追加して 25 個のライブラリやフレームワークを 1 時間感覚でポーリングする ruby trunk の更新のたびにテスト実行しています。
http://ci.hsbt.org を見ての通り、半分くらいがテスト落ちていますがこれの多くは rails-3.2.13(または activesupport) 利用時に mocha の namespace が壊れるというバグやそもそもライブラリ自体のテストが壊れているという状態です。
今のところ、これを動かすことで 2 件の ruby trunk の不具合を発見しています。
各社のサバンナエンジニアの皆様におかれましては、よーしオレがテスト直したるぜという感じに載せているライブラリをグリーンにするなり、bugs.r-l.o に報告なりして頂けると1年後くらいにドヤ顔できると思いますので、よろしくお願いいたします。
これ、ci.ruby-lang.org とかに構築して、trunk, ruby_2_0_0, ruby_1_9_3 でコミット毎全てで回したいなあ。頑張ります...。
CVE-2014-2525 の修正を含んだ libyaml-0.1.6 がリリースされたので psych にパッチ送って、その変更内容をそのまま trunk に突っ込んだ。
yaml に % エスケープを含む url として識別可能な文字列を突っ込んだ時にバッファオーバーフローを起こせるという奴らしいけど、どう書けばそんなことができるのか全くわからないというのが今ここ。
気になる人はベンダが出している libyaml のアップデートもしくは psych-2.0.5 にしてバンドルしている libyaml を使うのがよいでしょう。
今週のデートは銀座。まずは定番コースの鼎泰豊で昼食から。
この後、資生堂ギャラリー、メゾン・エルメスのギャラリー、をはしごしてからたくみで果物籠を買ってきた。
上げ底になっている籠ははじめてみたけど、通気がだいぶいいということだけではなく、デザインもよいので、とてもいい買い物をした。
いつも通りソフマップに持ち込んで買い取ってもらった。上限が 62800 円のところ 59800 円だったのでだいぶいい査定で助かった。 Ratina になれちゃうと、そうではないディスプレイはもう無理なのでしょうがない。自宅は Windows と iPad Pro で過ごすことにする。
Rake::TestTask の verbose
モードの挙動が Rake 10 のころから挙動が大幅に変えてしまったので戻した。というのも界隈の verbose
モードというのは
という 4 つが入り乱れている中で、自分はてっきり 3 つ目の挙動なのに動いてないものと思って修正したものの、実は最後の挙動が rake の verbose モードということについ先日気が付いて挙動を戻したというのが経緯。これ混乱しすぎてつらいのであまり良い UI ではないように見える。
笹田さんの企画で言語の型について学術的な研究を行っている方とワークショップを開くという会が東北大で開催されたので新幹線で仙台まで行って参加してきた。はやぶさだと隣駅の上野から90分かからないで到着するので、仙台は割とその辺ぽい感触だった。
Ruby 開発者は「型」というキーワードで何かしら発表ができる人、そうじゃない人は最近興味を持って取り組んでいることなどをお互いに発表するなどしてきた。自分は最近せっせと進めている default gem 化やその過程で見つかったこれはダメでしょ、というような事象や悩みなどをサマライズして共有した。個別にやってるとあれもこれも、となるだけで過ぎ去ってしまうので、定期的にこういう機会を設けて「最近取り組んでいること」としてまとめるのは大事だなあ。
まつもとさんとしては、Ruby に型を導入するときの妥協点などが実際に出てきたのは実りだった気もする。夕食に牛タンを食べながら「そろそろバージョン更新以外のコミットをするときですね!」などと煽るなどしていたので、なにかあるかもしれないし、ないかもしれない。
夕食を早めに切り上げて再び新幹線で東京に移動して、この日は終わり。お疲れさまでした。
最近話題になっているので二日くらいでシュシュっと読んだ。
エンジニアリングの本質を「不確実性の削減」と位置付けて、それをテーマにエンジニアが常々大事だと感じているプロダクト開発やコミュニケーションの中の様々なプラクティスや考え方について、何故これらのエンジニアリングが重要なのか、ということを幅広く取り扱っている大変良い本だった。
不確実性コーンであるとか、経験主義やスクラムであるとか、技術的負債などプロダクト開発が特に難しいとされている昨今だと前提知識となっているようなトピックをよくこれだけ全部詰め込むことができたなあと感心するくらいちゃんとストーリー立てているのがすごかった。
個人的に良かったトピックは
というあたりかなあ。最近の仕事のメイントピックがこの辺なのでしょうがない。
ただ、この本でも、気になった部分もあって、インセプションデッキの紹介で出典がなかったり、この本以外で提唱されている概念への参照がだいぶ抜けているのが惜しいなあと感じた。
この本、タイトルからエンジニアが読むものという印象があるかもしれないけど、組織とプロダクト開発をエンジニアリング(不確実性の削減)によってマネジメントするという本なので、マネージャまたはリーダーと名のつく役職の人はもれなく読んだ方が良いと思います。今後はこの本を読んでいることを前提にマネジメントを議論したい。
オススメです。
一日目に続いて二日目は朝からいろいろディスカッションしていた。
さすがに二日間、言うべきところで言う、というパワーがいることをやってると疲れるもので、帰りの新幹線ではばたりという感じで寝ていた。お疲れさまでした。
macOS 10.14.4 の Dictionary.app をダークモードで使ってる場合に古いバージョンの英辞郎データの表示が壊れてしまって使い物にならなくなってしまったので v154 を買いなおした。ちなみに前に使っていたのは 2016 年に買った v148 のバージョンなので同じバージョンを使っている人は 10.14.4 にしない方がいいかも、しれない。
https://www.tecorin.com/osx/index.html
とは言っても新しいバージョンは 2000 円くらいで、英語を使う仕事をしていれば少なからずメリットはあるんでシュシュっと買ってしまった方が速いかも。
ラストダンジョン手前でストップしてミニゲームをプレイしていたので、えいやっとクリアしてしまった。だいたいプレイ時間は 60h ってところ。光と闇の行方、というサブタイトルにふさわしいストーリーでかなり面白かった。この世界観で続編は期待したいなあ。
ストーリー重視で進めていったら、いくつかの段階で途端に難しくなるのでちゃんとレベルアップや武器防具、ジョブを育てる必要があるというあたりも RPG という感じで大変良かった。4月上旬に追加の DLC が配信されるようなので、そこまではレベルなどが関係ないミニゲームをやりつつ過ごす感じかなあ。アイスボーンもイベントクエストが全配信されたのでだらだらとプレイするにはちょうどよさそう。
事前購入していたので実際に買ったのは金曜だったけど、その日はキャラクタークリエイトだけして時間切れ、だったので土曜から開始して日曜はガッツリ朝から晩までプレイしていた。
体験版はだいぶジャギジャギしていて、は〜、なんで Switch にしたし、という感想を持っていたけど製品版だと4人マルチでも処理落ちも一切なくて、32インチモニタへの出力でもまあ許容範囲というスケーリングレベルで良かった。操作感としては、ワールドでのイライラポイントだった
ってあたりはめちゃくちゃ良い。体験版でもいくつか確認はできたけど、鉱石堀などが一回で全て終わったり、「このためにマラソンとか時間費やす意味あんの???」って部分が全て改善されつつ、時間をかけるべきところに集中できるようになっていた。なんか Twitter でワールドとかライズではなく MHP2G の方がいいみたいなことを言ってる人を見かけたけど、たかだかマルチプレイをするために専用の wifi 機器を使ったりする苦労とかもう絶対やりたくないので、懐古主義には全く同意しないし、個人的にはワールドやライズこそ真のモンハンって思うなあ。
で、進行状況は集会所の上級まで到達して装備をまた最初から作り直しというところまで。平日はクエストやっても数回か、材料集め程度なのでぼちぼちとやりつつ土日にまたガッツリって予定。
【発売日(2021年3月26日)以降のお届け分】モンスターハンターライズ -Switch (【数量限定特典】「オトモガルク」と「オトモアイルー」の重ね着装備など 同梱)
カプコン
¥7,573
マンボウが明けた、ってことと感染者数がやや落ち着いたということもあって、久しぶりに渋谷のオフィスに行ってきた。ちょうど桜が満開だった。
月に一回はチームのメンバーでなんか食べに行こうということにしてるので、ストリーム1階にあるグレートバーガーへ。なかなか繁盛しているらしく、外のカウンター席だけ空いてたので、ちょっと肌寒いけどそこでハンバーガーを食べながら最近どうすか、などの雑談など。
渋谷、再開発で今まで行きつけだった店は潰れつつ、新しい店はない、って感じで昼時に行く店がなかなかなくなってきた。
RubyGems のリポジトリの rubocop ルールの統一化を始めた - HsbtDiary(2023-03-15)からちまちまと続けていた rubocop ルールの整備がだいたい一段落して、残ったものはどうすっかなあ、というものだけになった。
残ったルールと懸念事項は以下のような状態。
Gem::Dependency#match?
というメソッドが定義されている関係で誤検知しまくって辛い。先に deprecate にするなりしたほうがよさそう。上は TODO なりに避けた上でルールファイルを一つにしてしまう、って感じで進めてしまおうかな。道のりは遠い。
URI に細工した URL を入れると CPU を回し続けるいわゆる ReDoS の脆弱性の対応をしていた。
https://www.ruby-lang.org/en/news/2023/03/28/redos-in-uri-cve-2023-28755/
実際にパッチを書いたのは nobu だけど、CVE をアサインしたり、今生きている 4 つの安定バージョンそれぞれに対応したパッチを用意したり、各ブランチでだけ更新されている変更を取り込んだり、細々したことを全部やっていた。
今は仕事なんで、という態度で時間を使えばいいけど、仕事じゃない人がこれをやるのは無理でしょこれというくらいあれこれ考える必要があって相変わらず大変だなあ。なんで大変なの、というのはそのうちテックブログあたりに書きます。
レバテックLABという最近良く見かけるメディアから技術広報についてなにか書いてほしいという依頼が来たので、技術広報の話を混ぜつつ、ITエンジニアの専門性とか専門性をどう活用すべきかという話を書いた。
https://levtech.jp/media/article/column/detail_407/
ITエンジニアのキャリアについてのメディアということで、ITエンジニアであることを前提として技術広報という道もありますよという展開にしたので、そうじゃない人がいきなり技術広報をやるために必要なバックグラウンドとして持つべき知識はこれら、とかそっちの方までは触れることができなかった。
これを読んで、ちょっとでもなんかやってみるぞ!と元気になれば幸いです。
ruby-doc の購読者にはアナウンスしたけど、過去にドキュメンテーションのやり取りを行うために用意していた ML の ruby-doc を閉じます。
https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-doc.ml.ruby-lang.org/
上記のアドレスやシステムに移行したあとに1通も送信されなかったこともあって、必要なら ruby-core に投げてください、ということにした。お疲れ様でした。
キーボード、あれこれ流れて結局 Lenovo の Trackpoint Keybaord 2 を BT 接続で macOS に繋げて Deskflow で Windows と共有、ゲームをしているときは専用アダプタ経由で Windows に直接接続、という状態に落ち着いてしまった。
で、真ん中にある Trackpoint がふとしたタイミングでぐわっと割れてしまって使えなくなったので Amazon で適当に互換品を買ってしまった。1つ50円とかで、大丈夫かこれ、となったけどつけてみたら機能としては十分だった。
Lenovo ThinkPlus トラックポイント ソフトドームキャップ 互換品 3個セット
WordsWorth
¥193
この時期恒例の VOCA 展が開催されたので仕事を切り上げて上野の森美術館まで歩いてみてきた。
なかなかに暖かくて、薄着のつもりでも黙々と歩いていたらちょっと汗ばんでしまった。金曜の夕方だというのに、国立西洋はチケット購入に行列が起きていて何事?って感じだった。モネ展はともかく、今やっている企画展にそんなに人が入るんだなあ。
VOCA 展の方はというと、今年はそれほど「おっ」となる作品はなかったので、ふんふん眺めてから図録を買って終わり。こういう日もある。
桜が満開ということもあってか、花見客で賑わっていたり、インバウンドの人がカメラマンを連れて桜と記念撮影しているグループが複数いたり、その後ろではホームレスが寝ていたりと相変わらずカオスな上野だった。帰りに上野駅でなんか買って帰るかな、と思ったけど入るのも厳しいくらいに混んでいたので諦めた。
# muneda [身近に結構いますよ>全角英数字 コーディングとかはもうしてませんが,それ以外はガツガツやってますね]
# しばた [「自称」というあたりがポイントです(笑]