25日にX on Windowsの製品版が手に入ってのでインストール。くはー,日本語はほぼ完璧。
HKEY_LOCAL_MACHINE\SOFTWARE\HOLON\XonWindows\mounts v2に書き込まれる。ということはOfficialのCygwinのマウントポイントの
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2とは分離しているので同時に環境を導入することができる。
でも,Cygwinは起動するときにHOMEディレクトリを参照するので,環境変数HOMEを設定している場合は共通となってしまうのでめんどいな。
xyzzyのメーリングリストのArchiveは無い物かと探したっけ発見。でも、まだこのxyzzyでcygwinのメールはインデックスされてません。
で、ローカルエコーの件ですが右クリックメニューに設定項目が現れるとのことです。Ctrlがxyzzyに横取りされてしまう件については仕方ないかな:-P
てけとーにプラグインをでっち上げました。これはhnsにある「今日は何の日」のリンク生成に加えて何の日であるかをリスト表示するプラグインです。
左の方にあるので拡張子を.rbに変更してから使ってください。不具合報告歓迎します。
追記:わかりづらいのでタイトルからリンクをはりました。
だそうです。とりあえず2ch側かplala側の対応を待つしかないでせう。
そろそろ成果をまとめないと…。
便利。
設定はしたけどさっぱり動いているのかわからなかったので、再度設定しようとniftyのwebメールページにログインしてみると、迷惑メールフォルダに180通のSPAMが入っていた。
どうやら、初期設定ではMUAでは受信しないようになっているらしく、そのせいでフィルタの効果がわからなかった。迷惑フォルダ効果ねーよとか言ってごめんなさい。
これ、SPAMメール分もメールボックス容量に加算されているようだけど、空にしてもこれまでの学習結果は残るのだろうか…。
2月23日からプレオープンで、3月から正式サービススタート。キャラの引継ぎ有。誰か私と一緒に新大陸に行きませんか?
プレイ日記というかメモ書きをする場所としてMTを設置してみた。
試してみた。
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の権限で設定しないとだめみたい(きちんと読め)。こいつは困ったなあ。
inetd.co.jpではhttpdの権限でcronを設定できないので、クローラーオプションに申し込んでみた。毎時0分に更新開始。購読400件で6分かかってる。
クローラーオプションって、サーバーに仕込んでいる各クライアントに対して、更新しろって命令を飛ばすだけっぽい。てっきり、配布元でデータをかき集めて、それを同期するのかと思ってた。
どうやら、はてなブックマークの被ブックマーク件数取得の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'
Battlefield 2のPS2版が発売して、その実況というか感想をIRCで眺めていて思ったこと。
このゲームはボイスチャットを使って遊ぶんだけど、日本のプレイヤーは淡々と指令や連絡手段としてしか使ってないのに対して、海外のプレイヤーはG○ddamとかF○ckとか、ハートマン軍曹よろしく「S○tでFu○kな英語」を乱発して遊んでいるそうで。
リロードのたびに騒いだりするあたりは、やはり徴兵制という文化を通り抜けているのが原因なんじゃないかな。そういう文化を無視して以前にどこかであったような「いまだにFPSのようなゲームが人気あるのを理解できない」とか、一次元の優越感バトルに持っていってもしょうがないと思う。
引き続きコメントに対する回答の執筆と図の追加。明日、結論をリライトして完成の予定。
# まちゅ [むぅ…ご迷惑をおかけしています。 本質的ではないのですが、「rescue XMLRPC::FaultExceptio..]
昨日のパッチの commit done.
あと、こっそり作業していたロギング処理のFilterクラスへの組み込みは夕方にたださんがやってしまったみたいなので、手元のは廃棄。
帰宅してから Wii のアップデートをしたら噂通りニュースチャンネルのアップデートが来てた。で、軽く動かした感じ
これ、良くできているけど、致命的な部分として音声(動画)が無いってことにつきるなあ。TVやラジオのニュースに飼い慣らされた人間が、今更ニュースを視認しなければいけないというは激しく苦痛だ。
お茶の間の時間を取り戻すのが目的ってことならこの辺を何とかしないとダメだろうなあ。
IRC や Twitter, iTunes 関係を Mac に Switch してしまったので 1 週間放置状態だった VAIO ノートの環境を再整備。
とりあえず、もうメインの開発では使わないので学生時代につっこんでいた TeX や Ghostscript,マニアックな開発環境をゴミ箱へ。後は skype をはじめとするメッセンジャー関係もアンインストール。
さてさて、ほんとに使い道が思い浮かばないけどどうしたもんかな…。
「各ソーシャルブックマークサービス(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 の課題の一つだったなあ。どうしたもんかな。
最近、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 内に mv してから $HOME に ln -s する感じで。
今日、引っ越しが完了したのは以下の5つ。
後は .zshrc 周りも移動したいんだけど、こっちは .zlogin とか諸々の構成そのものを見直さないとダメっぽいのでぼちぼちと。
長かったなー。
転職を挟んで部屋探しをしたので、収入証明として通常は源泉徴収票だけで良いはずが、以下の書類が必要だった。
昨年度の収入証明については、退職済みで用意するのが時間的に間に合わなかったので、昨年の住民税額の通知書で代替したり。
今後、転職をかねて関東に行く人におかれましては、上記の書類をとにかく早く用意するようにした方が楽で良いと思います。
今回、引っ越し先を決める上で注意したところは下のようなポイント
特に地デジアンテナについては要注意で、この前に部屋探しをした時にも対応している物件は三分の一も無かった。突っ込んで聞いてみると大家的にはぎりぎりまで様子見にしている人が多いみたいで、せっかく地デジ対応のTVをもっていても自分でアンテナを立てるかひかりTVとかを導入しないとダメというとほほな状況になっているらしい。
最後の消毒料だけど、ブラックな仲介業者は消毒料とかよくわからない名称で初期費用を水増しするみたい。これは最初に部屋見学をした時の仲介業者に実際には何もやらないと教えてもらったんだけど、その後に部屋見学をしたときの別の仲介業者がまさにこの項目で2万円を請求してきてお茶ふきそうになった。
なので、これから部屋を探そうという人は、とりあえず部屋自体を探す前にてきとーに見積もりを作らせて仲介業者自体がまともかどうかって判断も入れた方がいいかもね。
個人的な感触としてはチェーン・フランチャイズ店はほとんどダメだね。店舗内でHOME'Sのネット検索をぐだぐだといじっているだけ物件探しとか笑ってしまう。そんなの家でもできるって。一方、駅前にある○○不動産という仲介業者の場合はネット上には出てこない良い物件を確保している率が高かったような気がする(個人的な体感)
daraさんから ruby1.9 に絵文字エンコーディングをどうやって組み込んだものかみんなで考えたいという提案があったので、野次馬として「えにしテックなう」してきた。
おれ自身は文字エンコーディングには関わってはいけないとおじいちゃんから言われているので、あまり深追いはしないで ruby1.9 でのエンコーディングの仕組みを眺めつつ、atom-0.4やrss-2.0の規格を勉強するなどしていた。
こうやってゆるーく複数人が集まって何かをやるってだけでも価値があるなー。えにしテック++。
今日は朝からyattomさんやm_sekiさん、t-wadaさんが参加するTDD研究会のセッションに参加するなど。
このセッションはTDDは開発者による設計手法であって、テスト手法ではないという大前提が発表側にはあって、そこに対して品質保証的なテストエンジニアの観点や参加をどうしていくかみたいな話と理解したのだけど、そこが会場全体で共有されているかと思うとちょっと怪しかったなあ。
後半はドキュメントはどうだとか、うちの組織ではバグ検出数を出さないと〜みたいな感じになってきたのがちょっとアレであった。ようはやる気ないんでしょと。
午後はハヤブサのソフトウェア開発に参加したんだけど、クレーターがあることを予測して設計やテストをめためたやっていったのに、いざ到着してみたらクレーターが無いことがわかって愕然としたとか"予期せぬことが起こるということを予期する"レベルじゃねーぞ。
あと、NECの人は割と重要なことも言っていたと思っていて、箇条書きにすると
という感じ。
最後のクロージングは昨日の基調講演のリー・コープランド氏を交えての会場ディスカッション、白熱なんとかのパロディだったんだけど、会場が日本的なるテスト工程の窮状をうだうだ言ってるなかでだいぶ無双だった。
という感じでばっさばっさとなぎ倒す感じが良かった。
全体を通しての感想なんだけど、多重の下請け構造で職責も怪しい状況で、バグ検出数を出せと言われて、Excelに日本語で一生懸命テストケース書いて、人海戦術でやって、開発とはバグ表の投げ合いをやって、納期に強引にバグ数を0にしてみたいな話をいつまで続けるの?という感じなのは否めなかったなあ。
ただ、コープランド氏の話やリスクベーステスト、TDDセッションの話は今の職場でも参考になるので可能なら来年も参加しようと思います!
2日目は t_wada さんや yattom さんが出るTDD研究会のセッションがあるので、それだけ見に目黒に行ってきた。
TDD研究会のセッションは守破離というテーマでTDDの変遷を発表していたみたいだけど、イマイチどの辺が違うのかピンと来なかった。この辺は昨日に引き続き @m_seki さんの廊下セッションで詳しく解説してもらったり、新しいアイデアを聞いたりしたのでだいぶためになった。
Oreilly Ebook の スケーリング MongoDB を読み終わった。
この本は MongoDB のシャーディングの機能を中心に数百GBから数TBのオーダーのシャードを構築する上のノウハウ、良いシャードキーと悪いシャードキーの例、シャードに何か操作を行う時のコマンド解説などが書かれている。
この手の情報って何処かのブログにざーっと書いてあればそれを参照すると思うんだけど、体系だって書いてあるものはこの本が始めてだと思うので、こういう隙間を埋めるような書籍が Ebook で出版されるようになったのはだいぶ良い世の中になったなーとしみじみ感じてしまった。
Mac の細かい所に手が届くテクニックや defaults write
で設定可能な項目の紹介は 1st edition と変わらないけど、Mac の基本操作などが大量に加筆されていて第一印象としては「できる! Mac OS」みたいな雰囲気でちょっとイマイチだったかなあ。
今日は料理通信2月号の影響をうけてフランス菓子のエーグル・ドゥースまでケーキを買いに行ってきた。
最寄り駅は山手線の目白駅なんだけど、せっかくなので都電荒川線の鬼子母神駅経由で行くことにした。家の最寄りの三ノ輪橋は始発なので必ず座れて便利。
せっかくなので鬼子母神堂でお参り。今日は風が強くて、境内が砂嵐で大変なことになっていた。
エーグル・ドゥースは鬼子母神から目白駅を超えてさらに進んだ先にある。向かい風でだいぶやられていたので、珈琲飲んで一休み。
帰りも都電荒川線に乗って戻ってきた。
第一特集の systemd 特集は systemd の仕組みから設定まで一通り抑えることができる良い特集だったので、この辺のサーバー設定をちゃんと押さえる必要がある人ならオススメ。ただ、最後の章だけ前の章と重複している文章が結構多かったのがちょっと残念。
ChatOps 特集はさらっと流して、Ansible の構成やベストプラクティスが個人的には良かったかな。ただ、別の執筆者がバラバラに書いているというやつで、メリットの解説が冒頭にやたらあったりとうーんというポイントは多かった。
今日はいつもの永和オフィスで Rake 11 に向けて準備をアレコレしていた。削る部分はだいぶ削ったので、後は Feature を取り込む感じかなー。
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 でやってることやりたいことをもう少し理解した上で手を出す必要があるんじゃないかなあ。自分はそこまでできないのでバージョンダウンして一旦様子見。
Docker for macOS の edge チャンネルに k8s サポートが改めて降ってきたので試してみた。なんか最初は起動もできなくてよくわからない感じになったのでファクトリーリセットしてしまった。ついでに、ディスクサイズの変更もコンソールで設定ファイルをいじる、ということをやらなくても設定ダイアログから任意のサイズに変更可能だったのでこっちで変更してしまった。
少し待っていると k8s のステータスが running になるのでそのあとに kubectl でコンテキストを切り替えて終わり。
$ kubectl config use-context docker-for-desktop
これで minikube で改めて起動、とかやらなくてもよくなったかなあ。今年はもうちょい k8s 勉強しなければ。
浅草橋で YAPC::Tokyo 2019 が開催されていたので、学生参加支援スポンサーで参加した学生むけに軽く会社紹介の発表をしてからLTくらいのスピードでテーブルをぐるぐるしながら、どこからきたの~、何を研究してるの~、来年就活するの~というような話をしていた。
https://speakerdeck.com/hsbt/yapc-tokyo-2019-gmopepabohui-she-shao-jie
ランチの後は @onk さんの話を聞いてから、ブースを軽く見て帰宅。平日にフルパワーで何かをしていると、休日のカンファレンスはきついね...
学生支援ランチ、参加者に出身校の苫小牧高専から参加した学生の方がいて、しかも情報工学科と同じ学科ということもあって、在任している教官の話を軽くするだけで盛り上がったのが良かった。ぼちぼち会社説明会って感じで高専に行くといいのかなあ。
散歩の達人を楽天マガジンで読んでいたら、台湾特集のムックの広告を見つけたのでシュッと買って読んだ。
まんま散歩の達人のノリの台湾編て感じで、やや読みにくさはあるものの贔屓にしている林華泰茶行も紹介されていたり、「おっ」と感じる店が多かったのでこの内容をベースに散歩計画を立てるのは良さそう。
bundler と rubygems はそれぞれ異なる org にリポジトリが存在していて、微妙に設定であるとか権限がバラバラだったのだけど、実質開発しているのは今やほぼ同じ人って状態になったのでえいやっと全部 rubygems org に移動してしまった。
古い org を参照しているような記述はだいぶアップデートしたけど、残ってるのを見つけた人は教えてください。今年のうちにリポジトリもマージしてしまいたいんだけど、これはちょっと難易度が高いかもなあ...。頑張ろう。
今週は Discord に集まってなんだかんだ。6-7 人だったので、年始なのでみんな忙しいって感じかな。
https://asakusarb.esa.io/posts/1023
自分は RubyGems 3.1 系の新しいバージョンをリリースしたり、Ruby 3.0 で踏んだなんだかんだを報告したり、集まった人に話題を降ったりしていた。Ruby 3.0 、ガチで使おうとするとよくわからん現象で落ちることがあるので、もうちょっと使い込まねば。
いつ手に入れたのか忘れてしまったけど積読のまま積んでいた若冲の動植綵絵が全て拡大付きで掲載されている本を読んだ。
図録として買ったつもりだったのだけど、中身を見てみると論文スタイルで動植綵絵の中身を検討したというもので文章はさらっと流して、図などを中心に眺めたという感じだけになってしまった。今後展覧会がある時に展示されるものに限って事前に予習しておく、というタイプの本かなあ。
ぼーっとしていたら Ruby CI で回していた Fedora 32 がとっくに EOL という状態だったので、退役させて Fedora 34 を追加した。
詳細は追ってないけど、net-ssh で IdentityFile
を指定した時の挙動が Fedora 34 では動かなかったので、デプロイユーザーに個別に鍵を追加して対応した。よくわからないのと、他の環境では起きないのでスルー。もう一度遭遇したら本気を出します。
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 などは数年前から不要となっているので、外してしまってもいいんだけど、あるバージョンまでは必要、あるバージョンからは不要、というのを機械可読な形で与えることが難しくて、古いバージョンをビルドすることもあるかもしれないから、あるなら全部入れとけ!ってなるのが悩ましい。
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 名著 ジーン・シャープ『独裁体制から民主主義へ』 2023年 1月 [雑誌] (NHKテキスト)
NHK出版
¥495
パッケージマネージャというか、開発環境構築ツールというか悩ましいのだが、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
というディレクトリの下に一連のファイルがインストールされる。最高に便利。
2020年バージョンから4年経ちそうなので更新しておきます。
用意するもの
scoop を使って以下のツールをインストールする
scoop install git ruby
作業ディレクトリ配下の repos/ruby/ruby
が https://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
でやってしまうようにすればよくね?とか話しているのでもう少し楽になるかも。楽になったら更新します。
# koyasu [どっからダウンロードすればいいんですか<何の日プラグイン]