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

HsbtDiary


2002/01/26 (土)

X on Windows 製品版導入

25日にX on Windowsの製品版が手に入ってのでインストール。くはー,日本語はほぼ完璧。

マウントポイント

X on Windowsのマウントポイントの情報は
HKEY_LOCAL_MACHINE\SOFTWARE\HOLON\XonWindows\mounts v2
に書き込まれる。ということはOfficialのCygwinのマウントポイントの
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2
とは分離しているので同時に環境を導入することができる。

HOME

でも,Cygwinは起動するときにHOMEディレクトリを参照するので,環境変数HOMEを設定している場合は共通となってしまうのでめんどいな。


2003/01/26 (日)

U:Saga

中古の在庫が凄まじいことになってますね。北海道ですら中古の販売価格が3980円になりました。

面白いんだけどなぁ…。

xyzzyでcygwinの続き

xyzzyのメーリングリストのArchiveは無い物かと探したっけ発見。でも、まだこのxyzzyでcygwinのメールはインデックスされてません。

で、ローカルエコーの件ですが右クリックメニューに設定項目が現れるとのことです。Ctrlがxyzzyに横取りされてしまう件については仕方ないかな:-P

VoIPの続き2

作業しようと思ったけど、茶の間で父が休日を満喫しているのでやめー。

ま、急ぐもんでもないし。

Instant Karma Sutra

激しくワラタ。彼女と見る鹿(違

from 今日のなんでやねん

nannohi.rb

てけとーにプラグインをでっち上げました。これはhnsにある「今日は何の日」のリンク生成に加えて何の日であるかをリスト表示するプラグインです。

左の方にあるので拡張子を.rbに変更してから使ってください。不具合報告歓迎します。

追記:わかりづらいのでタイトルからリンクをはりました。

plalaを書けなくしました。

だそうです。とりあえず2ch側かplala側の対応を待つしかないでせう。

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

# koyasu [どっからダウンロードすればいいんですか<何の日プラグイン]


2004/01/26 (月)

残り1ヶ月

そろそろ成果をまとめないと…。

レオパレスの雑感

  • CMで紹介されているような物件は新築だけ
  • 電球は個人で買ったものがそのまま使いまわし
  • 冬に物件借りたのに掛け布団1枚のみ
  • ベッド硬い、というかただの木の棚
  • インターホン壊れてる、直してもらった次の日にまた壊れた

@nifty 迷惑メールフォルダ

設定はしたけどさっぱり動いているのかわからなかったので、再度設定しようとniftyのwebメールページにログインしてみると、迷惑メールフォルダに180通のSPAMが入っていた。

どうやら、初期設定ではMUAでは受信しないようになっているらしく、そのせいでフィルタの効果がわからなかった。迷惑フォルダ効果ねーよとか言ってごめんなさい。

これ、SPAMメール分もメールボックス容量に加算されているようだけど、空にしてもこれまでの学習結果は残るのだろうか…。


2005/01/26 (水)

大航海時代online

2月23日からプレオープンで、3月から正式サービススタート。キャラの引継ぎ有。誰か私と一緒に新大陸に行きませんか?

プレイ日記というかメモ書きをする場所としてMTを設置してみた。


2006/01/26 (木)

[RSS][Web]サーバー型 RSS リーダー - フレッシュリーダー

フレッシュリーダー

試してみた。

www.hsbt.orgはinetdのサーバーを使っているので、FreeBSD版を落として

tar xzf sffr10bbsd.tar.gz
chmod 777 ./freshreader/db

するだけで動いた。

この手のWebアプリケーションにありがちな設定の複雑さ(MySQLでうげほがというテーブルを作成して…うんぬん)とか全く無くて、tarボール展開とデータフォルダのパーミッション変更だけで動くというのは、pukiwikiと同じく破壊力が強いなあ。UI、CSSも見やすく、かなりいい感じ。

RSSの取得は手動でも行えるが、自動で行うように設定するにはcronを使って行う。これまた、cronに書き込むサンプルが出てきたりとかなり親切な設計。cronが使えないユーザーのためにクローラーオプションという別途料金(現在はベータバージョンなので2006年5月までは無料)がかかるサービスも提供されているみたい。仕事が手につかないというユーザーはあえてcronを設定しないで、見るときに手動で更新するという戦略もありかも。

やばいな、これ。FEEDBRINGERから乗り換えようかな。

追記

ん、cronで設定したのに動いてないので調べてみたら、httpdの権限で設定しないとだめみたい(きちんと読め)。こいつは困ったなあ。

追記2

inetd.co.jpではhttpdの権限でcronを設定できないので、クローラーオプションに申し込んでみた。毎時0分に更新開始。購読400件で6分かかってる。

クローラーオプションって、サーバーに仕込んでいる各クライアントに対して、更新しろって命令を飛ばすだけっぽい。てっきり、配布元でデータをかき集めて、それを同期するのかと思ってた。

[Hatena][Memo][tDiary]謎のエラーの原因

どうやら、はてなブックマークの被ブックマーク件数取得のXMLRPCまわりでこけているみたい。プラグイン側なのか、はてなブックマーク側に問題があるのか、ちょっと追いかけきれないので、とりあえずしばらく外しておこう。

追記

とりあえず、エラーログの内容

XMLRPC error: (-1) Invalid RPC arguments.
/usr/local/lib/ruby/1.8/xmlrpc/client.rb:403:in `call'
(plugin/hatena_bookmark.rb):35:in `counts'
(plugin/hatena_bookmark.rb):155:in `hatena_bookmark_initialize'
(plugin/hatena_bookmark.rb):144:in `transaction'
/usr/local/lib/ruby/1.8/pstore.rb:129:in `catch'
/usr/local/lib/ruby/1.8/pstore.rb:129:in `transaction'
(plugin/hatena_bookmark.rb):144:in `hatena_bookmark_initialize'
(plugin/hatena_bookmark.rb):167:in `instance_eval'
(plugin/hatena_bookmark.rb):166:in `call'

あと、tDiaryで謎のエラーtDiaryで謎のエラー(2)も。

[Game][FPS]海外でFPSが流行っているのは徴兵制があるからという仮説

Battlefield 2のPS2版が発売して、その実況というか感想をIRCで眺めていて思ったこと。

このゲームはボイスチャットを使って遊ぶんだけど、日本のプレイヤーは淡々と指令や連絡手段としてしか使ってないのに対して、海外のプレイヤーはG○ddamとかF○ckとか、ハートマン軍曹よろしく「S○tでFu○kな英語」を乱発して遊んでいるそうで。

リロードのたびに騒いだりするあたりは、やはり徴兵制という文化を通り抜けているのが原因なんじゃないかな。そういう文化を無視して以前にどこかであったような「いまだにFPSのようなゲームが人気あるのを理解できない」とか、一次元の優越感バトルに持っていってもしょうがないと思う。

[Research]今日の作業

引き続きコメントに対する回答の執筆と図の追加。明日、結論をリライトして完成の予定。

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

# まちゅ [むぅ…ご迷惑をおかけしています。 本質的ではないのですが、「rescue XMLRPC::FaultExceptio..]


2007/01/26 (金)

[tDiary][filter][spam]spam フィルタ - URLが含まれる割合をパーセント(整数)にする(2)

昨日のパッチの commit done.

あと、こっそり作業していたロギング処理のFilterクラスへの組み込みは夕方にたださんがやってしまったみたいなので、手元のは廃棄。

[Wii][news][Game]Wii ニュースチャンネル

帰宅してから Wii のアップデートをしたら噂通りニュースチャンネルのアップデートが来てた。で、軽く動かした感じ

  • 読み流しは良くできている。途中で止めて記事を読んだり
  • お天気チャンネルと同じように地球儀がぐりぐり動いて(動かして)ニュースの発生箇所を見ることができる
  • ニュースの提供元は毎日新聞
  • 動画は無し、TVの静止画のみ。

これ、良くできているけど、致命的な部分として音声(動画)が無いってことにつきるなあ。TVやラジオのニュースに飼い慣らされた人間が、今更ニュースを視認しなければいけないというは激しく苦痛だ。

お茶の間の時間を取り戻すのが目的ってことならこの辺を何とかしないとダメだろうなあ。


2008/01/26 (土)

[PC]ノートPC環境整備

IRC や Twitter, iTunes 関係を Mac に Switch してしまったので 1 週間放置状態だった VAIO ノートの環境を再整備。

とりあえず、もうメインの開発では使わないので学生時代につっこんでいた TeX や Ghostscript,マニアックな開発環境をゴミ箱へ。後は skype をはじめとするメッセンジャー関係もアンインストール。

さてさて、ほんとに使い道が思い浮かばないけどどうしたもんかな…。

[tDiary][YAML][SBM][section_footer2.rb]section_footer2.rb 用の YAML ファイルの追加

各ソーシャルブックマークサービス(SBM)のブックマーク数画像表示APIを調べた ::: creazy photograph」経由。

なにやら Yahoo! ブックマークや fc2 ブックマークにもソーシャルブックマークのブックマーク数取得APIが存在するらしいので、section_footer2.rb 用の YAML を書いて CodeRepos につっこんでおいた。fc2 用に作った YAML は

url: http://bookmark.fc2.com/icons/
src: http://bookmark.fc2.com/img/add-16.gif
title: このエントリを含む fc2ブックマーク
counter: http://bookmark.fc2.com/image/users/

こんな感じ。これを指定したディレクトリに配置するだけ。

そういや、この YAML ファイルのような外部ファイルの配置箇所を決めるのも次期 tDiary の課題の一つだったなあ。どうしたもんかな。


2009/01/26 (月)

[git][gist][github][emacs][elisp] gist.el

最近、diff や error log のやりとりをするのに、使っている gist に emacs から直接投稿できる elisp があったので入れてみた。インストールは

git clone git://github.com/defunkt/gist.el.git

で gist.el をローカルに持ってきてから、load-pathが通っている場所に入れて、

(require 'gist)

を .emacs に追記するだけ。使い方は

M-x gist-buffer
M-x gist-region
M-x gist-buffer-private

とかそんな感じ。diff 貼るまでもないようなものを gist に置いたりする場合にこいつは便利だなー。

[Dropbox]設定ファイルを Dropbox に引っ越し中

移行方法は Dropbox 内に mv してから $HOME に ln -s する感じで。

今日、引っ越しが完了したのは以下の5つ。

  • .screenrc
  • .emacs
  • .emacs.d
  • .pit
  • .remedie

後は .zshrc 周りも移動したいんだけど、こっちは .zlogin とか諸々の構成そのものを見直さないとダメっぽいのでぼちぼちと。


2010/01/26 (火)

[Life] 引っ越し先の入居審査完了

長かったなー。

転職を挟んで部屋探しをしたので、収入証明として通常は源泉徴収票だけで良いはずが、以下の書類が必要だった。

  • 再就職先の内定通知
  • 採用条件のような今後1年の収入が予測できる書面
  • 昨年度の収入証明

昨年度の収入証明については、退職済みで用意するのが時間的に間に合わなかったので、昨年の住民税額の通知書で代替したり。

今後、転職をかねて関東に行く人におかれましては、上記の書類をとにかく早く用意するようにした方が楽で良いと思います。

[Life] 引っ越し先を決める上で気をつけたこと

今回、引っ越し先を決める上で注意したところは下のようなポイント

  • 2階以上
  • 南向き、西窓無し
    • 角部屋以外、夏に暑すぎ無いように
  • 最寄り駅から路地裏や暗い道を通過しない
  • 地デジアンテナに対応
  • 光ファイバーに対応
  • 電力の最大が50A
    • 30Aの物件であっても50Aに変更することは可能だが、退去時に原状回復しなければならない
  • リビングが広い
    • 二人の作業デスクを一緒に置きたいから
  • 対面キッチン
  • 消毒料とかわけわからん費用がない

特に地デジアンテナについては要注意で、この前に部屋探しをした時にも対応している物件は三分の一も無かった。突っ込んで聞いてみると大家的にはぎりぎりまで様子見にしている人が多いみたいで、せっかく地デジ対応のTVをもっていても自分でアンテナを立てるかひかりTVとかを導入しないとダメというとほほな状況になっているらしい。

最後の消毒料だけど、ブラックな仲介業者は消毒料とかよくわからない名称で初期費用を水増しするみたい。これは最初に部屋見学をした時の仲介業者に実際には何もやらないと教えてもらったんだけど、その後に部屋見学をしたときの別の仲介業者がまさにこの項目で2万円を請求してきてお茶ふきそうになった。

なので、これから部屋を探そうという人は、とりあえず部屋自体を探す前にてきとーに見積もりを作らせて仲介業者自体がまともかどうかって判断も入れた方がいいかもね。

個人的な感触としてはチェーン・フランチャイズ店はほとんどダメだね。店舗内でHOME'Sのネット検索をぐだぐだといじっているだけ物件探しとか笑ってしまう。そんなの家でもできるって。一方、駅前にある○○不動産という仲介業者の場合はネット上には出てこない良い物件を確保している率が高かったような気がする(個人的な体感)

[sapporo.rb] 札幌 Emoji 会議に参加した

SANY0002

daraさんから ruby1.9 に絵文字エンコーディングをどうやって組み込んだものかみんなで考えたいという提案があったので、野次馬として「えにしテックなう」してきた。

おれ自身は文字エンコーディングには関わってはいけないとおじいちゃんから言われているので、あまり深追いはしないで ruby1.9 でのエンコーディングの仕組みを眺めつつ、atom-0.4やrss-2.0の規格を勉強するなどしていた。

こうやってゆるーく複数人が集まって何かをやるってだけでも価値があるなー。えにしテック++。


2011/01/26 (水)

[jasst] JaSST'11 Tokyo 二日目に参加していた

今日は朝からyattomさんやm_sekiさん、t-wadaさんが参加するTDD研究会のセッションに参加するなど。

このセッションはTDDは開発者による設計手法であって、テスト手法ではないという大前提が発表側にはあって、そこに対して品質保証的なテストエンジニアの観点や参加をどうしていくかみたいな話と理解したのだけど、そこが会場全体で共有されているかと思うとちょっと怪しかったなあ。

後半はドキュメントはどうだとか、うちの組織ではバグ検出数を出さないと〜みたいな感じになってきたのがちょっとアレであった。ようはやる気ないんでしょと。

午後はハヤブサのソフトウェア開発に参加したんだけど、クレーターがあることを予測して設計やテストをめためたやっていったのに、いざ到着してみたらクレーターが無いことがわかって愕然としたとか"予期せぬことが起こるということを予期する"レベルじゃねーぞ。

あと、NECの人は割と重要なことも言っていたと思っていて、箇条書きにすると

  • テスト出来ないコードは書かない
  • おかしいと思った部分は放置しない
  • 異業種のことをよく知る、交流する

という感じ。

最後のクロージングは昨日の基調講演のリー・コープランド氏を交えての会場ディスカッション、白熱なんとかのパロディだったんだけど、会場が日本的なるテスト工程の窮状をうだうだ言ってるなかでだいぶ無双だった。

  • テスターとしてまだテストをした方が良いと思うが上司は必要ないと言っているどうすれば
    • 自分の責任としてやるべきと思うならやればいい、自分の責任の範囲を超えているならやめればいい、そのために上司は高い給与をもらっているのだ
  • 正社員と派遣社員のどっちを教育投資すべき?
    • 自己投資している人を組織として投資して応援すべきだ

という感じでばっさばっさとなぎ倒す感じが良かった。

全体を通しての感想なんだけど、多重の下請け構造で職責も怪しい状況で、バグ検出数を出せと言われて、Excelに日本語で一生懸命テストケース書いて、人海戦術でやって、開発とはバグ表の投げ合いをやって、納期に強引にバグ数を0にしてみたいな話をいつまで続けるの?という感じなのは否めなかったなあ。

ただ、コープランド氏の話やリスクベーステスト、TDDセッションの話は今の職場でも参考になるので可能なら来年も参加しようと思います!

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

# mrkn [カルチャーギャップを乗り越えるのは大変だよね。]

# しばた [乗り越えるというか、断絶というかなんとも言えないモヤモヤ感なんだよねー。モヤモヤ。]


2012/01/26 (木)

[JaSST] JaSST'12 Tokyo 2日目に参加してきた

2日目は t_wada さんや yattom さんが出るTDD研究会のセッションがあるので、それだけ見に目黒に行ってきた。

TDD研究会のセッションは守破離というテーマでTDDの変遷を発表していたみたいだけど、イマイチどの辺が違うのかピンと来なかった。この辺は昨日に引き続き @m_seki さんの廊下セッションで詳しく解説してもらったり、新しいアイデアを聞いたりしたのでだいぶためになった。

[MongoDB] スケーリング MongoDB を読んだ

Oreilly Ebook の スケーリング MongoDB を読み終わった。

この本は MongoDB のシャーディングの機能を中心に数百GBから数TBのオーダーのシャードを構築する上のノウハウ、良いシャードキーと悪いシャードキーの例、シャードに何か操作を行う時のコマンド解説などが書かれている。

この手の情報って何処かのブログにざーっと書いてあればそれを参照すると思うんだけど、体系だって書いてあるものはこの本が始めてだと思うので、こういう隙間を埋めるような書籍が Ebook で出版されるようになったのはだいぶ良い世の中になったなーとしみじみ感じてしまった。


2013/01/26 (土)

Mac Kung Fu 2nd edition を読んだ

Mac の細かい所に手が届くテクニックや defaults write で設定可能な項目の紹介は 1st edition と変わらないけど、Mac の基本操作などが大量に加筆されていて第一印象としては「できる! Mac OS」みたいな雰囲気でちょっとイマイチだったかなあ。


2014/01/26 (日)

都電荒川線に乗って鬼子母神まで行ってきた

今日は料理通信2月号の影響をうけてフランス菓子のエーグル・ドゥースまでケーキを買いに行ってきた。

DSC01006

最寄り駅は山手線の目白駅なんだけど、せっかくなので都電荒川線の鬼子母神駅経由で行くことにした。家の最寄りの三ノ輪橋は始発なので必ず座れて便利。

DSC01012

せっかくなので鬼子母神堂でお参り。今日は風が強くて、境内が砂嵐で大変なことになっていた。

DSC01020

エーグル・ドゥースは鬼子母神から目白駅を超えてさらに進んだ先にある。向かい風でだいぶやられていたので、珈琲飲んで一休み。

DSC01022

帰りも都電荒川線に乗って戻ってきた。


2015/01/26 (月)

Software Design 2015年 02月号を読んだ

第一特集の systemd 特集は systemd の仕組みから設定まで一通り抑えることができる良い特集だったので、この辺のサーバー設定をちゃんと押さえる必要がある人ならオススメ。ただ、最後の章だけ前の章と重複している文章が結構多かったのがちょっと残念。


ソフトウェア デザイン 2015年 02月号 [雑誌]
-
技術評論社
¥1,110


2016/01/26 (火)

Software Design 2016年1月 を読んだ

ChatOps 特集はさらっと流して、Ansible の構成やベストプラクティスが個人的には良かったかな。ただ、別の執筆者がバラバラに書いているというやつで、メリットの解説が冒頭にやたらあったりとうーんというポイントは多かった。


ソフトウェアデザイン 2016年 01 月号 [雑誌]
-
技術評論社
¥2,899

第342回 Asakusa.rb

今日はいつもの永和オフィスで Rake 11 に向けて準備をアレコレしていた。削る部分はだいぶ削ったので、後は Feature を取り込む感じかなー。


2017/01/26 (木)

homebrew で古いバージョンをいくつか明示した

homebrew は基本的に最新バージョンがガンガン入り続けるので、最近困った elasticsearch と imagemagick を foo@x.y 指定でダウングレードした。具体的には

$ brew install elasticsearch@2.4
$ brew install imagemagick@6 && brew link imagemagick@6 -f

って感じで。elasticsearch は、production のバージョンを 5.0 にするのを頑張りましょうでいいんだけど、imagemagick は rmagick の imagemagick 7 対応がだいぶ厳しくてしばらくはこのままかなあという印象。

雑にヘッダファイルの置き換えだけでは、ビルドすらできないので、imagemagick でやってることやりたいことをもう少し理解した上で手を出す必要があるんじゃないかなあ。自分はそこまでできないのでバージョンダウンして一旦様子見。


2018/01/26 (金)

Docker for macOS で k8s を使う

Docker for macOS の edge チャンネルに k8s サポートが改めて降ってきたので試してみた。なんか最初は起動もできなくてよくわからない感じになったのでファクトリーリセットしてしまった。ついでに、ディスクサイズの変更もコンソールで設定ファイルをいじる、ということをやらなくても設定ダイアログから任意のサイズに変更可能だったのでこっちで変更してしまった。

少し待っていると k8s のステータスが running になるのでそのあとに kubectl でコンテキストを切り替えて終わり。

$ kubectl config use-context docker-for-desktop

これで minikube で改めて起動、とかやらなくてもよくなったかなあ。今年はもうちょい k8s 勉強しなければ。


2019/01/26 (土)

YAPC::Tokyo 2019 で会社紹介トークをしてきた

浅草橋で YAPC::Tokyo 2019 が開催されていたので、学生参加支援スポンサーで参加した学生むけに軽く会社紹介の発表をしてからLTくらいのスピードでテーブルをぐるぐるしながら、どこからきたの~、何を研究してるの~、来年就活するの~というような話をしていた。

https://speakerdeck.com/hsbt/yapc-tokyo-2019-gmopepabohui-she-shao-jie

ランチの後は @onk さんの話を聞いてから、ブースを軽く見て帰宅。平日にフルパワーで何かをしていると、休日のカンファレンスはきついね...

学生支援ランチ、参加者に出身校の苫小牧高専から参加した学生の方がいて、しかも情報工学科と同じ学科ということもあって、在任している教官の話を軽くするだけで盛り上がったのが良かった。ぼちぼち会社説明会って感じで高専に行くといいのかなあ。


2020/01/26 (日)

散歩の達人 台湾さんぽ を読んだ

散歩の達人を楽天マガジンで読んでいたら、台湾特集のムックの広告を見つけたのでシュッと買って読んだ。

まんま散歩の達人のノリの台湾編て感じで、やや読みにくさはあるものの贔屓にしている林華泰茶行も紹介されていたり、「おっ」と感じる店が多かったのでこの内容をベースに散歩計画を立てるのは良さそう。


散歩の達人 台湾さんぽ (旅の手帖MOOK)
交通新聞社
交通新聞社
¥968

bundler org のリポジトリを全部 rubygems org に移動した

bundler と rubygems はそれぞれ異なる org にリポジトリが存在していて、微妙に設定であるとか権限がバラバラだったのだけど、実質開発しているのは今やほぼ同じ人って状態になったのでえいやっと全部 rubygems org に移動してしまった。

https://github.com/rubygems

古い org を参照しているような記述はだいぶアップデートしたけど、残ってるのを見つけた人は教えてください。今年のうちにリポジトリもマージしてしまいたいんだけど、これはちょっと難易度が高いかもなあ...。頑張ろう。


2021/01/26 (火)

Asakusa.rb 第 596 回

今週は Discord に集まってなんだかんだ。6-7 人だったので、年始なのでみんな忙しいって感じかな。

https://asakusarb.esa.io/posts/1023

自分は RubyGems 3.1 系の新しいバージョンをリリースしたり、Ruby 3.0 で踏んだなんだかんだを報告したり、集まった人に話題を降ったりしていた。Ruby 3.0 、ガチで使おうとするとよくわからん現象で落ちることがあるので、もうちょっと使い込まねば。

伊藤若冲製動植綵絵研究: 描かれた形態の相似性と非合同性について を読んだ

いつ手に入れたのか忘れてしまったけど積読のまま積んでいた若冲の動植綵絵が全て拡大付きで掲載されている本を読んだ。

図録として買ったつもりだったのだけど、中身を見てみると論文スタイルで動植綵絵の中身を検討したというもので文章はさらっと流して、図などを中心に眺めたという感じだけになってしまった。今後展覧会がある時に展示されるものに限って事前に予習しておく、というタイプの本かなあ。


伊藤若冲製動植綵絵研究: 描かれた形態の相似性と非合同性について
孝之, 赤須
誠文堂新光社
¥4,180


2022/01/26 (水)

Ruby CI に Fedora 34 を追加した

ぼーっとしていたら Ruby CI で回していた Fedora 32 がとっくに EOL という状態だったので、退役させて Fedora 34 を追加した。

詳細は追ってないけど、net-ssh で IdentityFile を指定した時の挙動が Fedora 34 では動かなかったので、デプロイユーザーに個別に鍵を追加して対応した。よくわからないのと、他の環境では起きないのでスルー。もう一度遭遇したら本気を出します。


2023/01/26 (木)

Ruby CI に RHEL9 を追加した

Ruby の大統一 CI である https://rubyci.org/ に RHEL9 を投入した。ついでに debian 9 が昨年すでに EOL になっていたので退役させた。

RHEL9 は 2022/5 にリリースされたのに AWS に出てこないな〜と気にはかけていたのだけど、AWS の Web コンソールではなく https://access.redhat.com/solutions/15356 公式サイトの方を見ると 9.0 も 9.1 もリリース済み、というステータスだったのでサクッと CI 用のインスタンスを作ってしまった。

この手の OS をガチャガチャやると大体すぐにはビルドできない問題を踏むんだけど、RHEL9 では gdbm-devel がなくなっていたので、itamae の plugin の方でも除外しておいた。

https://github.com/itamae-plugins/itamae-plugin-recipe-rbenv/pull/41

ビルドに必要なライブラリ、gdbm などは数年前から不要となっているので、外してしまってもいいんだけど、あるバージョンまでは必要、あるバージョンからは不要、というのを機械可読な形で与えることが難しくて、古いバージョンをビルドすることもあるかもしれないから、あるなら全部入れとけ!ってなるのが悩ましい。

RHEL9 で libyaml-devel などを使うときは CodeReady Linux Builder を使う

gdbm-devel がない...の続きで Ruby CI の一回目の試行の結果を眺めたら libyaml-devel もなく psych のビルドで CI がこけていた。

「えー、Ruby をビルドするために libyaml を手で入れるのやだなあ」となったので、流石に libyaml-devel がない Linux ディストリビューションはないでしょ、ともう少し調べてみると、RHEL8-9 あたりから開発用の rpm は "CodeReady Linux Builder" という repository に分割されたようで以下のコマンドを実行して個別に有効とする必要があった。

sudo yum-config-manager --enable codeready-builder-for-rhel-9-rhui-rpms

実際にどのような repo の一覧があるかは以下のコマンドで確認できる。

sudo yum repolist --all

rhel8 の場合は CodeReady Linux Builder を使わなくても libyaml-devel パッケージなどをインストールできるかもしれない。あれ〜、このパッケージ消えたの?となった人はこの辺を確認すると良さそうです。

NHK 100分de名著 ジーン・シャープ 独裁体制から民主主義へ を読んだ

今月は今まで聞いたことももちろん読んだこともないジーン・シャープの著作。独裁政権は実は脆い、という話とそれらに対抗する術は、という話でとても面白かった。もちろん、成功した事例の紹介が多くて理想論っぽく見えてしまうけど、その裏流れている多数の血と事例についても無視はせずにちゃんと拾って考察をしているのは良かった。

こういう知識の広がりのきっかけを得られると番組を見たり、本を読んでて良かったーと感じる。


NHK 100分 de 名著 ジーン・シャープ『独裁体制から民主主義へ』 2023年 1月 [雑誌] (NHKテキスト)
日本放送協会,NHK出版
NHK出版
¥495


2024/01/26 (金)

vcpkg.json という Windows 向けパッケージマネージャを導入した

パッケージマネージャというか、開発環境構築ツールというか悩ましいのだが、vcpkg という Windows 向けのランタイム管理ツールに、vcpkg.json というマニフェストファイルをサポートする仕組みが追加されていたので ruby/ruby にもおいてみた。

https://github.com/ruby/ruby/commit/f9bf7d531bcea3fde3bb055d5d517f93945515dd

具体的な内容は以下のようなファイルになる。

{
  "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json",
  "dependencies": [
    "gmp",
    "libffi",
    "libyaml",
    "openssl",
    "zlib"
  ],
  "builtin-baseline": "53bef8994c541b6561884a8395ea35715ece75db"
}

ぱっと見で分かる通りの素朴な json ファイルで、dependencies にインストールするライブラリ、builtin-baseline に GitHub の microsoft/vcpkg リポジトリで使うべき commit を指定するという内容になっている。このファイルがあるディレクトリの上で

vcpkg install --triplet=x64-windows

を実行すると vcpkg_installed というディレクトリの下に一連のファイルがインストールされる。最高に便利。

Windows で Ruby をビルドする 2024 年バージョン

2020年バージョンから4年経ちそうなので更新しておきます。

用意するもの

  • Visual Studio 2022/2019/2017
    • C++開発ツール、英語リソース、vcpkg をオプションで選択
  • scoop

scoop を使って以下のツールをインストールする

scoop install git ruby

作業ディレクトリ配下の repos/ruby/rubyhttps://github.com/ruby/ruby/ を git clone したディレクトリ、ruby.build/2022 などをビルドディレクトリとします。まずは git clone した ruby ディレクトリに移動して以下のコマンドを実行。

vcpkg install --triplet=x64-windows

dll が参照できないと、psych や openssl を使うような処理がエラーで落ちるので、以下のディレクトリを環境変数の PATH に設定する。

C:/users/hsbt/source/repos/ruby/ruby/vcpkg_installed/x64-windows/bin

続いて、ruby.build/2022 ディレクトリに移動して、以下のコマンドを実行

..\..\repos\ruby\ruby\win32\configure.bat --without-ext=+,syslog --with-opt-dir=C:/users/hsbt/source/repos/ruby/ruby/vcpkg_installed/x64-windows

nmake を実行せよ、というメッセージがでるので、そのまま nmake を実行ですべてビルドが実行される。ビルド完了後に

nmake test test-all test-spec TESTS="-j4" MSPECOPT="-j"

などでテストを実行できる。-j に渡す数字は CPU のコア数などに応じて調整してください。

nobu と、この辺の手順はすべて configure.bat でやってしまうようにすればよくね?とか話しているのでもう少し楽になるかも。楽になったら更新します。