トップ «前の日(03-27) 最新 次の日(03-29)» 追記 RSS feed

HsbtDiary


2002/03/28 (木)

Cygwin Setup

そういやCygwinのSetupプログラムがバージョンアップして複数サイトからのダウンロード管理が可能になってましたね。

この機能でわたなべひろふみさんのバイナリもCygwinパッケージの一部のように管理できるね。こりゃ便利。

今日は何の日。

スーパーロボット大戦IMPACTの発売日。買いました。


2004/03/28 (日)

悲しいとき

ネットゲームで適当につけた自分のキャラの名前がAV女優の名前だった時。

しかも、かなりマイナーな層をターゲットにしている中途半端女優だった時。

W32.Netsky.P@mm

今週になってからやたらと送ってくる。

緑化計画

部屋に緑を!ということで、ユーカリとテーブルヤシなど観葉植物を購入。

肥料はフィリピン産のコウモリの糞を石灰と混ぜ合わせたという珍しい物があったので、これを購入。土も用意したし、鉢植えは明日やろう。

Lightweight Language MAGAZINE

購入。

さらっとしか読んでないけど、きたさんのLLの定義

「オレってばスゲー」を手軽に実現できる言語

には共感した。PHPにしろRubyにしろコアなプログラミングが出来なくても、リファレンスを眺めて、先人の努力の賜物である各種ライブラリを利用すれば、あたかも自分で凄い処理を実現できているかのような錯覚に陥ることが出来る。

プログラミングの楽しさというのは、ここにあるんじゃないかなぁ。


2005/03/28 (月)

今日のぶちぎれ

先週の段階で今日までに就職関連の書類をそろえると担当教官が言ってたのに

「すまん、仕事が立て込んでてまだ出来てない」

学生のレポートじゃないんだから、約束の期日くらい大人なら守ってください…。

入門xyzzy

bk1だと入荷しているようなので、bk1で注文しちゃいました。


2006/03/28 (火)

[mobile]ケータイ文化とか何とか

アメリカの大学生より日本の高校生の方が実はかなり衝撃的:できる!CSSを使いこなすWhat will be done tomorrow? (仮) - 君たち現状認識なさすぎあたり経由。

まず最初のエントリについては、曖昧な世代間のレッテル張りを利用した論旨が多くて、言いたいことはわかるけどちょっと年寄り説教じみている感じが。女子高生とかおじさんとか2チャンネル文化で育った世代とか関係なく、サービス側でのケータイ対応なんて当たり前なんじゃないの? ケータイ用のUIについてはGoogleや2chなんて何年も前から用意していたりするんだけど、その辺はまるごと無視ですか。問題なのは、ケータイでトップメニューを表示させたときにキャリアごとの囲い込みサービスしか表示されないことなんじゃないかと。(この辺はYahooがぶちこわしてくれないかなと期待している)

「これからはPCじゃなくてケータイだ!」なんて言っているうちに、ケータイでもPCでもそれなりに利用できるmixiあたりにアクティブユーザーを全部かっさらわれているのが現状じゃないの? そもそも、今更「ケータイを無視していてはいかん!」と気がつくなんて牧歌的にもほどがある。

で、オレは外に出ている時はケータイでアンテナから色々巡回しているんだけど、どかっとサイドバーが表示されたりCSSをがりがり読み込んだりするのはどうにかならんのですか。AjaxとかWeb 2.0とかXMLとか言ってる前に未だにケータイ表示対応していない「いわゆるblogツール」の方が深刻なんじゃないのと思っている。「ヱブ弐点零デ、マツシユアツプ」とか言ってる内に、本気でmixiに全部食われてしまいますぜ。

[tDiary][mobile][idea]tDiaryでサブスクライバIDを使った認証

昨日IRCで話したことのメモ。

ケータイでtDiaryを更新するときに面倒なのが投稿機能。基本的にtDiaryはBasic認証なので、ケータイから更新するときはいちいちパスワードを打ち込む必要があるので、非常に面倒。本文については予測変換機能を使えばそれなりに気軽に文章を書くことができるので、この認証機能の方を何とかできないものかと昨日少し話していた。

とりあえず、

  • サブスクライバIDをtdiary.confに保存
  • 更新用のゲートウェイCGIからupdate.rbを呼び出し
  • localhostからの時は認証しないようにする

とこんな感じで実現できるじゃないのとか。ケータイのその辺の知識が全くないのが大問題なんだが…。まあ、思いつきなんでてけとうに。

今日の夕食とワイン

ワインはこの前の残りのチリワイン。さすがに残しすぎなので空けてしまった。夕食はお得意のペペロンチーノ。大変おいしゅうございました。

[tDiary][plugin][recent_comment3.rb][recent_trackback3.rb]recent_comment3.rb,recent_trackback3.rb bugfix.

最近のツッコミ - 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で先頭のコメントを消去して、順番に表示させています。

たぶん動いていると思いますが、何かあったら報告お願いします。

本日のツッコミ(全2件) [ツッコミを入れる]

# muneda [身近に結構いますよ>全角英数字 コーディングとかはもうしてませんが,それ以外はガツガツやってますね]

# しばた [「自称」というあたりがポイントです(笑]


2007/03/28 (水)

[rails][ruby][capistrano]capistrano で遊ぶ

ローカルでいじって遊んでいる バカが征く 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 で検索した方が早かったか?

本日のツッコミ(全2件) [ツッコミを入れる]

# atzm [「Medusa's Coil」に入っている Tough Boy もよろしく :)]

# しばた [すでにチェック済みですよ!]


2008/03/28 (金)

[tDiary][spam] spam にやられた

久方ぶりにうちの日記にも spam が到着。んー、「直接 post してるか」、「手動で入力してるか」のどちらかだと思うんだけどどうしたものかなー。

[Game][MHP2G] 今日の MHP2G

今までダウンロード配信されていたクエストが標準搭載されたのでそっちから消化しつつ、村上位もプレイ中。装備はあんまり変わってない。

何か村上位のフルフルやったら 2 連続で竜玉がでたんだけど、ついてるだけ? それとも確実に取れるようになった?

追記

とりあえず村の下位クエの追加と上位クエのモノブロス2体まで終わらせた。

なんかババコンガ、ゲリョス、フルフル、ザザミあたりの新モーションが嫌すぎる。今までって、「次はあの動きをするな」とか「この動きをしたときはこっちから回り込めばいい」とかが頭の中に刷り込まれていて、プレイヤーもそういう動きをするんだけど、その辺が見事に全部封じられている感じ。慣れるまではイライラが結構たまりそうだなー。

ところで Z や X シリーズって村上位では取れないんだろうか。集会所Gクラスがアカムトルム必須とかだったら泣きが入るんだけど!

本日のツッコミ(全2件) [ツッコミを入れる]

# ターナカ [竜玉おめ~ まだプレイしてないんですが、ただ体力や攻撃力を上げただけじゃなくて、モーションが追加されてると聞いてwk..]

# しばた [この後調子にのってフルフルを3回やったけど1回も竜玉出なかった罠。やっぱりランダムっぽい、@7個は地獄だ…。 モー..]


2009/03/28 (土)

[Life] 伊右衛門のアレ

SANY0002

オレの周りで見あたらないんだよー。とぼやいていたら彼女が買ってきてくれた。ツイてる!

[Life] 今日の(ry

先日見逃した細かすぎて伝わらないモノマネ選手権14を PS3 経由の youtube でみたりとか。本日は

  • みょうがと貝割れ大根のサラダ
  • 煮込みハンバーグ

というお手軽メニュー。ごちそうさまでした!


2010/03/28 (日)

[Mac]MacBookPro用のリュックを買った

会社で使ってる MBP 15インチを外に持ち運ぶ時に丁度良い鞄がなくて、ふつーのビジネス鞄に突っ込んで持ち歩いていたんだけど、さすがに肩の負担がきついのでリュックを買ってきた。選んだのはこれ。

角谷さんから、ノートを別に入れるポケットがついているリュックが良いって聞いたので、そんな感じのチョイス。買ってから気がついたけど下のような部分もかなり良いなあ。

  • 防水ポケット
  • 背面に貴重品ポケットがある
  • ヘッドフォンの延長ケーブルが内蔵、背面ポケットにiPodを突っ込んでつなぐと良い感じの場所から差し込み口だけ出せる

これは良い買い物をした!


2011/03/28 (月)

[Game][PSP] 今日の GOD EATER BURST

難易度10まで進めてアイテールとディアウス・ピターのところでさらに足踏み状態。どうにも回復が尽きたり、1体倒すのが精一杯な感じなんだけどどうしたもんかなー。

だいぶ良い感じに飽きてきたので、ちょっと寝かせるかも。


2012/03/28 (水)

[heroku] heroku の標準機能となった addon 達

先日、 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 を読むしかないんだけど、かいつまんで解説すると

  • custom_domains: heroku domains:add my.domain.com を実行して設定する。消すことも可能。
  • custom_error_pages: addon として使っていた時と同様に heroku config:add ERROR_PAGE_URL=https://s3.amazonaws.com/heroku/error.html みたいに設定して使う。
  • logging, releases, ssl:piggyback: 特にやることは無し

といったところ。replaced 扱いになった addon は自分で addons:remove しないといつまでもゾンビのように残ったままなので、今後の運用(replaced の事情を知らない人が混乱する)ことを考えると早々に撤去した方がよさそう。

[heroku] Heroku Shared PostgreSQL を使う

仕事でひたすら 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 しても良さそうだけど、これは安定稼働が確認出来てからかなあ。

本日のツッコミ(全3件) [ツッコミを入れる]

# ayumin [カスタムドメインは、herokuのアプリ管理ページのGeneral Infoからも設定できるようになりました。]

# hsbt [おー、確かに。気がつきませんでした。]

# ayumin [追伸:dedicated dbはHeroku Postgresからいろいろ操作できて便利ですよ。個人的にはDataC..]


2013/03/28 (木)

[ruby] ci.hsbt.org の現状報告

以前に作ったよーとアナウンスした 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 でコミット毎全てで回したいなあ。頑張ります...。

本日のツッコミ(全2件) [ツッコミを入れる]

# ただただし [これはRubyアソシエーションに運営費を出してもらうべき案件のような。]

# hsbt [そうですねえ、クレカ番号さえ入手できればばしばし進めることができるんですが...]


2014/03/28 (金)

psych-2.0.5 リリースまたは ruby trunk 同梱版の libyaml の修正

CVE-2014-2525 の修正を含んだ libyaml-0.1.6 がリリースされたので psych にパッチ送って、その変更内容をそのまま trunk に突っ込んだ。

yaml に % エスケープを含む url として識別可能な文字列を突っ込んだ時にバッファオーバーフローを起こせるという奴らしいけど、どう書けばそんなことができるのか全くわからないというのが今ここ。

気になる人はベンダが出している libyaml のアップデートもしくは psych-2.0.5 にしてバンドルしている libyaml を使うのがよいでしょう。


2015/03/28 (土)

今週の銀座

今週のデートは銀座。まずは定番コースの鼎泰豊で昼食から。

image

この後、資生堂ギャラリー、メゾン・エルメスのギャラリー、をはしごしてからたくみで果物籠を買ってきた。

image

上げ底になっている籠ははじめてみたけど、通気がだいぶいいということだけではなく、デザインもよいので、とてもいい買い物をした。


2016/03/28 (月)

MBA 11inch(2011) を売った

いつも通りソフマップに持ち込んで買い取ってもらった。上限が 62800 円のところ 59800 円だったのでだいぶいい査定で助かった。 Ratina になれちゃうと、そうではないディスプレイはもう無理なのでしょうがない。自宅は Windows と iPad Pro で過ごすことにする。

Rake 11.1.2 リリース

Rake::TestTask の verbose モードの挙動が Rake 10 のころから挙動が大幅に変えてしまったので戻した。というのも界隈の verbose モードというのは

  • minitest は -v(--verbose) をつけるとファイル名とメソッドと経過時間がテスト実行時に表示
  • ruby/jruby は -v でバージョンを表示
  • ruby は --verbose で verbose モードで warning などを表示
  • rake は verbose モードで test 実行時のコマンドライン全体を表示

という 4 つが入り乱れている中で、自分はてっきり 3 つ目の挙動なのに動いてないものと思って修正したものの、実は最後の挙動が rake の verbose モードということについ先日気が付いて挙動を戻したというのが経緯。これ混乱しすぎてつらいのであまり良い UI ではないように見える。


2017/03/28 (火)

東北大で開催された(言語の)型のワークショップに参加してきた

笹田さんの企画で言語の型について学術的な研究を行っている方とワークショップを開くという会が東北大で開催されたので新幹線で仙台まで行って参加してきた。はやぶさだと隣駅の上野から90分かからないで到着するので、仙台は割とその辺ぽい感触だった。

Ruby 開発者は「型」というキーワードで何かしら発表ができる人、そうじゃない人は最近興味を持って取り組んでいることなどをお互いに発表するなどしてきた。自分は最近せっせと進めている default gem 化やその過程で見つかったこれはダメでしょ、というような事象や悩みなどをサマライズして共有した。個別にやってるとあれもこれも、となるだけで過ぎ去ってしまうので、定期的にこういう機会を設けて「最近取り組んでいること」としてまとめるのは大事だなあ。

まつもとさんとしては、Ruby に型を導入するときの妥協点などが実際に出てきたのは実りだった気もする。夕食に牛タンを食べながら「そろそろバージョン更新以外のコミットをするときですね!」などと煽るなどしていたので、なにかあるかもしれないし、ないかもしれない。

夕食を早めに切り上げて再び新幹線で東京に移動して、この日は終わり。お疲れさまでした。


2018/03/28 (水)

エンジニアリング組織論への招待を読んだ

最近話題になっているので二日くらいでシュシュっと読んだ。

エンジニアリングの本質を「不確実性の削減」と位置付けて、それをテーマにエンジニアが常々大事だと感じているプロダクト開発やコミュニケーションの中の様々なプラクティスや考え方について、何故これらのエンジニアリングが重要なのか、ということを幅広く取り扱っている大変良い本だった。

不確実性コーンであるとか、経験主義やスクラムであるとか、技術的負債などプロダクト開発が特に難しいとされている昨今だと前提知識となっているようなトピックをよくこれだけ全部詰め込むことができたなあと感心するくらいちゃんとストーリー立てているのがすごかった。

個人的に良かったトピックは

  • 認知フレームとリフレーミング
  • 内心は見ることができないが、行動は見ることができる
  • OKR による目標の透明化

というあたりかなあ。最近の仕事のメイントピックがこの辺なのでしょうがない。

ただ、この本でも、気になった部分もあって、インセプションデッキの紹介で出典がなかったり、この本以外で提唱されている概念への参照がだいぶ抜けているのが惜しいなあと感じた。

この本、タイトルからエンジニアが読むものという印象があるかもしれないけど、組織とプロダクト開発をエンジニアリング(不確実性の削減)によってマネジメントするという本なので、マネージャまたはリーダーと名のつく役職の人はもれなく読んだ方が良いと思います。今後はこの本を読んでいることを前提にマネジメントを議論したい。

オススメです。


エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング
広木 大地
技術評論社
¥2,487


2019/03/28 (木)

四半期 経営幹部合宿 2 日目

一日目に続いて二日目は朝からいろいろディスカッションしていた。

さすがに二日間、言うべきところで言う、というパワーがいることをやってると疲れるもので、帰りの新幹線ではばたりという感じで寝ていた。お疲れさまでした。

英辞郎 for macOS Dictionary.app を買いなおした

macOS 10.14.4 の Dictionary.app をダークモードで使ってる場合に古いバージョンの英辞郎データの表示が壊れてしまって使い物にならなくなってしまったので v154 を買いなおした。ちなみに前に使っていたのは 2016 年に買った v148 のバージョンなので同じバージョンを使っている人は 10.14.4 にしない方がいいかも、しれない。

https://www.tecorin.com/osx/index.html

とは言っても新しいバージョンは 2000 円くらいで、英語を使う仕事をしていれば少なからずメリットはあるんでシュシュっと買ってしまった方が速いかも。


2020/03/28 (土)

龍が如く7をクリアした

ラストダンジョン手前でストップしてミニゲームをプレイしていたので、えいやっとクリアしてしまった。だいたいプレイ時間は 60h ってところ。光と闇の行方、というサブタイトルにふさわしいストーリーでかなり面白かった。この世界観で続編は期待したいなあ。

ストーリー重視で進めていったら、いくつかの段階で途端に難しくなるのでちゃんとレベルアップや武器防具、ジョブを育てる必要があるというあたりも RPG という感じで大変良かった。4月上旬に追加の DLC が配信されるようなので、そこまではレベルなどが関係ないミニゲームをやりつつ過ごす感じかなあ。アイスボーンもイベントクエストが全配信されたのでだらだらとプレイするにはちょうどよさそう。


2021/03/28 (日)

モンスターハンターライズを買った

事前購入していたので実際に買ったのは金曜だったけど、その日はキャラクタークリエイトだけして時間切れ、だったので土曜から開始して日曜はガッツリ朝から晩までプレイしていた。

体験版はだいぶジャギジャギしていて、は〜、なんで Switch にしたし、という感想を持っていたけど製品版だと4人マルチでも処理落ちも一切なくて、32インチモニタへの出力でもまあ許容範囲というスケーリングレベルで良かった。操作感としては、ワールドでのイライラポイントだった

  • ホットドリンク・コールドドリンクの廃止
  • クエストで誰かが離脱しても3乙するまでは誰でも入りつづけることができる
  • 食事ブーストが乙っても継続

ってあたりはめちゃくちゃ良い。体験版でもいくつか確認はできたけど、鉱石堀などが一回で全て終わったり、「このためにマラソンとか時間費やす意味あんの???」って部分が全て改善されつつ、時間をかけるべきところに集中できるようになっていた。なんか Twitter でワールドとかライズではなく MHP2G の方がいいみたいなことを言ってる人を見かけたけど、たかだかマルチプレイをするために専用の wifi 機器を使ったりする苦労とかもう絶対やりたくないので、懐古主義には全く同意しないし、個人的にはワールドやライズこそ真のモンハンって思うなあ。

で、進行状況は集会所の上級まで到達して装備をまた最初から作り直しというところまで。平日はクエストやっても数回か、材料集め程度なのでぼちぼちとやりつつ土日にまたガッツリって予定。


【発売日(2021年3月26日)以降のお届け分】モンスターハンターライズ -Switch (【数量限定特典】「オトモガルク」と「オトモアイルー」の重ね着装備など 同梱)
-
カプコン
¥7,573


2022/03/28 (月)

渋谷でハンバーガーを食べてきた

マンボウが明けた、ってことと感染者数がやや落ち着いたということもあって、久しぶりに渋谷のオフィスに行ってきた。ちょうど桜が満開だった。

月に一回はチームのメンバーでなんか食べに行こうということにしてるので、ストリーム1階にあるグレートバーガーへ。なかなか繁盛しているらしく、外のカウンター席だけ空いてたので、ちょっと肌寒いけどそこでハンバーガーを食べながら最近どうすか、などの雑談など。

渋谷、再開発で今まで行きつけだった店は潰れつつ、新しい店はない、って感じで昼時に行く店がなかなかなくなってきた。


2023/03/28 (火)

rubygems リポジトリの rubocop ルールの統一作業のその後

RubyGems のリポジトリの rubocop ルールの統一化を始めた - HsbtDiary(2023-03-15)からちまちまと続けていた rubocop ルールの整備がだいたい一段落して、残ったものはどうすっかなあ、というものだけになった。

残ったルールと懸念事項は以下のような状態。

  • Naming/ConstantName, Naming/MethodName
    • 割とどうでもいい変更、しかし名前を変えてしまうと互換性の問題が出てくるのでうーむという状態
  • Naming/VariableName, Naming/VariableNumber
    • どうでもいい系。ぴっと変えればいいのでは。
  • Style/ClassVars
    • これは大変。設計から見直さないとだめじゃんかな。
  • Style/HashSyntax
    • Bundler などが Ruby 1.8 でも動くようにと hash-rocket に enforce されていたが、今となってはどっちにも enforce する必要なくね?という感想
  • Style/FormatString, Style/LineEndConcatenation, Style/NumericLiteralPrefix and Style/RegexpLiteral
    • ピッと変えればいいのでは、と思うが対象がめっちゃ多い
  • Performance/RegexpMatch
    • Gem::Dependency#match? というメソッドが定義されている関係で誤検知しまくって辛い。先に deprecate にするなりしたほうがよさそう。

上は TODO なりに避けた上でルールファイルを一つにしてしまう、って感じで進めてしまおうかな。道のりは遠い。

CVE-2023-28755: ReDoS vulnerability in URI の対応をしていた

URI に細工した URL を入れると CPU を回し続けるいわゆる ReDoS の脆弱性の対応をしていた。

https://www.ruby-lang.org/en/news/2023/03/28/redos-in-uri-cve-2023-28755/

実際にパッチを書いたのは nobu だけど、CVE をアサインしたり、今生きている 4 つの安定バージョンそれぞれに対応したパッチを用意したり、各ブランチでだけ更新されている変更を取り込んだり、細々したことを全部やっていた。

今は仕事なんで、という態度で時間を使えばいいけど、仕事じゃない人がこれをやるのは無理でしょこれというくらいあれこれ考える必要があって相変わらず大変だなあ。なんで大変なの、というのはそのうちテックブログあたりに書きます。


2024/03/28 (木)

レバテックLABに寄稿した記事が公開された

レバテックLABという最近良く見かけるメディアから技術広報についてなにか書いてほしいという依頼が来たので、技術広報の話を混ぜつつ、ITエンジニアの専門性とか専門性をどう活用すべきかという話を書いた。

https://levtech.jp/media/article/column/detail_407/

ITエンジニアのキャリアについてのメディアということで、ITエンジニアであることを前提として技術広報という道もありますよという展開にしたので、そうじゃない人がいきなり技術広報をやるために必要なバックグラウンドとして持つべき知識はこれら、とかそっちの方までは触れることができなかった。

これを読んで、ちょっとでもなんかやってみるぞ!と元気になれば幸いです。

ruby-doc を終了します

ruby-doc の購読者にはアナウンスしたけど、過去にドキュメンテーションのやり取りを行うために用意していた ML の ruby-doc を閉じます。

https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-doc.ml.ruby-lang.org/

上記のアドレスやシステムに移行したあとに1通も送信されなかったこともあって、必要なら ruby-core に投げてください、ということにした。お疲れ様でした。