皆様お久しぶりです。やっとこ引越しも終わり新潟でADSLを満喫しています。今後もよろしくお願いします。
で、ADSL開通までには泣きそうなくらいのハードルがありました。まず、
モデムが届かない
2日遅れで届きましたけど、その一時間前にモデムルータを買ってしまったんです。。。46000円・・・。
結局そのモデムルータも動かず。Yahoo Auctionに出品したので「ホームページ見たぜ」とご一報くだされば落札価格より1000円引きます。本当にへこんでいるのでよろしくお願いします。
今のすんでいる所はテレビ東京が入らないんですな。むー、ついつい北海道のTV局の名前で呼んでしまう。
最速450kbps最遅320kbpsくらいです。十分十分。
就職担当の教官にようやく話が通じたらしく、やっと応募が可能になった。
情報処理技術者試験の新しい項目として来年(?)くらいに「情報セキュリティ監査」というのができるらしく、今年までに情報セキュリティアドミニストレータをとっておくと色々と免除になったりするらしい。
今年こそは本気で勉強せねば。
無事到着。用意した大航海時代NDSがなかなか面白くて、10時間くらい余裕で過ごせてしまった。ゲーム脳はこういう耐久戦の時に便利だなー(笑)
NDSは8時間くらい使ったところで電池ぎれになってしまったので、Web進化論を読みながらフリーの電源スペースで充電した。これ、電源スペースの横にコインタイプの携帯充電器とか置いてあるんだけど、無料で充電できるのに使う人いるんだろうか。
これから新潟駅に向かって、高速バス経由で長岡に行く予定。
正直もらえるまで、単位計算あってたかな…とか少しだけ不安だった。
これをもらうまでに、中越地震や水害・豪雪などの自然災害を始めとして、色々と得たものや失ったものなどあるけど、「自分のやってきたことを後悔しちゃダメだよ」と誰かに言われたのを思い出した。うむ、どんなことでも自分の糧にして次のことを見据えていかんとね。
修了式終了後は祝賀会やら系のパーティーで色んな先生とひたすら飲みまくってぐだぐだ。何とか、23時に新潟駅前のホテルにたどり着いた…。 明日、10:30のフェリーに乗って北海道に戻る予定。
この前注文した 20.1型ワイド液晶が朝一で到着した。
「圧倒的なでかさだな!」とうきうき気分で接続を終えて、起動してみると…。
なにやらマジックのような汚れがど真ん中に登場。ドット欠けかなあと思ったけど、電源を落としてもはっきりと残っているので、表面に付着している汚れらしい。軽く水拭きをしてみたけど全くダメ。Buffaloのサポートセンターに電話してみても、「全く聞いたことがない状態なので、とりあえず送っていただけますか」とのこと。
メーカーサポートに送り返しても、調査やらなにやらでどうせ1-2週間以上費やすのは目に見えているので、とっととAmazonに返品して代金を返却してもらうことにした。やれやれ。
とりあえず、一度大画面を目にしてしまって、買ったつもりになっている気分は押さえきれないので、ヨドバシあたりにいってもう一度買ってくる。
del.icio.us でのブックマーク数を画像で取得できるようになったらしい - HsbtDiary (2007-03-22)の続き。
金曜の出社途中のコンビニでバガボンド (25)を購入。本の入荷は発売日から二日後でおなじみの北海道でもバガボンドとか NANA とか売れ筋のみ当日発売らしい。
内容は吉岡伝七郎編で、相変わらずの絵のうまさと内容で申し分ない。そういや、宮本武蔵って吉岡一門の後ってどうなるストーリーだっけ? 吉岡英二の原作でも宮本武蔵は読んでないからさっぱりわからん。
あと、今日はフルメタル・パニックの新刊「つどうメイク・マイ・デイ」を買ってきて読了。これ放送禁止用語が多すぎてアニメ化するときどうすんのかなー。とりあえず、ARX-8 レーバテインのスパロボ参戦時のスペックは何となく想像できた。
バガボンド(25)(モーニングKC)
講談社
¥1
つどうメイク・マイ・デイ―フルメタル・パニック! 9 (富士見ファンタジア文庫)
KADOKAWA
¥56
昼休みに紀伊国屋書店に行って
を購入。ちなみに以前に買った Code Quality はまだ手をつけてない。
ソフトウェア開発者採用ガイド
翔泳社
¥2,365
へうげもの(6) (モーニング KC)
講談社
¥300
特上カバチ!!-カバチタレ!2-(12) (モーニング KC)
講談社
¥1
さくらインターネットにgitを入れたメモ - ただのにっき(2009-03-24)経由。
最近、レンタルサーバーに git とか subversion を入れるのがはやっているらしいのでオレも git を入れてみた。subversion は 1.4 だけど今のところ不都合はないのでスルー。
そういや、ruby-1.9 は未だに入れられてないなあ。bison と m4 周りでビルドエラーが出たっきり放置中。
根拠のない疑いなんだけど、数日前からこの日記のエントリに対して1カウントのクリップが出ているのは spam か何かなのかなあ。オレの私生活の話なんで、それほど後から見直して有益なことでもないし、spam でないとしたら livedoor clip の画像カウンタの方の問題だったりするんだろうか。
livedoor clip のエントリページを見ても、誰がクリップしているかというのは非公開なのか出てこないし。何だこりゃ。
ドラマティックモードで出ている奴は全部おしまい。
残りはドラマティックモードの出していない10個くらいを出すのと、練成素材の入手かなあ。もう飽きたモードなので、別のゲームが出たらしばらく休憩するかも。
結局、式を挙げてから1ヶ月くらい経ってしまったけど、北海道神宮の写真室に頼んでいたスナップ撮影と記念撮影の写真が届いた。記念撮影の二人だけの写真は直前になって追加で頼んだんだけど、これは撮影しておいて良かったなあ。
後は引越しました・結婚しました的な絵はがきを作れば全て完了。これは来週末くらいをめどに作業ってところかな。そういえば、Amazonでお祝いの品を贈ってくれた方で住所記載されていた人には、絵はがきを送りつけるので覚悟しておいて下さい。
O'Reilly Village/オラの村 - Deal of the Week - 被災者支援キャンペーン開催
電子書籍を買うのは達人出版会に続いて2件目なんだけど、せっかく半額ということで jQuery クックブックを買っておいた。他の本はだいたい持っているというのがなー。
今は色々と変わってきている時期だと思うので、この機会に他の電子出版関係の人も似たようなキャンペーンをやってくれないかなー。他の人もどんどん買っちゃうよ。たぶん。
tDiary on heroku は heroku postgres に保存したデータを取り出すのに Sequel を使ってるんだけど、Sequel は ORM としてちゃんと対応してないようなデータをえいやーと取り出したり保存したり時に便利。公式サイトのドキュメントが充実しているので、そこを見ればだいたいの事は書いてあるけど、さくっと使うなら下のような感じ。
db = Sequel.connect('postgres://hsbt:''@localhost/tdiary_development')
db['diaries'].insert(:date => '20110204', :body => 'bob')
db['diaries'].filter(:date => '20110204').update(:body => 'alice')
tDiary は Rack の上で動くと行っても DB 接続のような設定に関する項目を Rack レベルで永続化する仕組みを持ってないので、下のように block で呼び出してその都度接続したり切断したりするようにした。
Sequel.connect(...) do |db|
db.transaction do
db['diaries'].insert(:date => '20110204', :body => 'bob')
end
end
ドキュメントを読むと ORM として使ったり、migration の仕組みも持っていたりするみたいなんだけど、そこまでやるなら ActiveRecord でいいかなーとも思う。
ci.hsbt.org を稼働させて、せっせとアプリケーションを追加していたら disk usage が 92% とかになってしまった。しばらく忘れていたけど、hsbt.org はさくらのクラウドだったのでディスク追加してみた。何を血迷ったかインストール時に LVM にしなかったので /var 以下を追加ディスクにする方法にした。
まず最初にさくらのクラウドのコントロールパネルから接続方式を IDE にしたディスクを作成する。サーバーは一度落とさないと接続することができないので、シャットダウンしてから作成したディスクを接続して、もう一度起動。
起動後に /dev の下を確認すると /dev/sdb が追加されているので、fdisk で linux パーティションにしてから下のような感じで追加したディスクへ /var をまるっとコピーした。
$ mkfs.ext4 /dev/sdb1
$ mkdir -p /mnt/hdd
$ mount /dev/sdb1 /mnt/hdd
$ rsync -avz --progress /var/ /mnt/hdd/
この時点で一度 /etc/fstab を書き換えて、/dev/sdb1 を /var にマウントするようにして再起動。特に問題なく起動して /var/log 等も追記されているようなので、fstab をマウントする前の状態に戻してから再起動。
ここから先は本当なら System Rescue CD とかで起動してシステムディスクをマウントして var をリネーム、fstab 書き換えが正しい手順なんだろうけど、荒っぽく fstab をマウントするように書き換えてから /var を mv してから即座にリブートした。よい子は真似してはいけない。
これでディスクサイズが 40 GB になったので一段落。ほんとなんで最初に LVM にしなかったのやら...
MGS5 はやり続けているけど、通勤時にやるゲームが無くなってきたので戦国無双4を買ってみた。戦国無双シリーズは1以来だけど、ミッションとか良く出来ていてだいぶ面白い。
織物の方は手が出るような値段のものが少なくてへーという程度だったけど、手仕事いろいろの方にあった博多鋏などはだいぶいい感じだったので、今度福岡出張の時に買ってこようと思う。
同僚の送別会が渋谷の台湾料理の開催されたので参加してきた。久しぶりに会社の飲み会に参加した気がする...ばたり。
タイトルそのままなのだけど、capistrano などが依存している net-ssh は ed25519 に対応してないので ssh コマンドではサーバーにログインできたとしても cap などでデプロイすることはできない。
ちなみに ed25519 に対応するための pull request は出ていて...
https://github.com/net-ssh/net-ssh/pull/228
って確認したらマージされていた。4.0.0 では使えるようになるらしいです。もし、ed25519 鍵に移行した人で cap で接続できないという症状に遭遇したら、この辺を疑うと良いです。
民藝巡りの旅シリーズの最終巻のいろいろ2、主に西日本のガラスと竹細工の巻を読んだ。西日本、思いのほか竹細工の民藝品を作ってる地域が多いんだなあというのが新しい発見でよかった。
内容自体は相変わらずで、70歳がまだまだ活躍できる年齢であと10年は品を作ってもらいたかった、とかぶっ飛んでいて高年齢化ってレベルではなく民藝の先も危ういなあと感じてしまった。とはいえ、意図的に残すとかしなくても勝手に残ったり伝承したりして、使えるものが続いていくというのが民藝なのかもしれない。
Ruby のリポジトリの svn to git マイグレートの最初の一歩として https://git.ruby-lang.org という cgit で作った公式 git リポジトリを公開した。まだリードオンリーだけど、今後の流れとしては
という感じかなあ。まずは heroku で動かしている redmine を git.ruby-lang.org に対応させないとダメなんだけどこれが結構大変。redmine の git repository 対応はローカルの bare リポジトリにしか対応してないらしくて、heroku だと何か工夫したプラグインを新しく書くしかなさそう。
長期的に頑張っていきます。
日本橋の高島屋で買い物をしたかったので、上野公園周辺で東博や芸大の展示を散歩ついでに見てきた。
芸大美術館自体は休館で陳列館での展示という初のパターンだった。主に現代アートという感じだったので面白かった。散歩でこういう感じのを見て回るのはお得っぽい。
この後は銀座線で高島屋に移動して妻の化粧道具を買ったり、ケーキを買ったりしてから帰宅。相変わらず花粉なのか風邪なのかで目と鼻がしんどい...
結局、insider slow ring ならよかろうと思い insider を入れてから WSL2 の環境をセットアップしてしまった。主に参照したのは以下のページ。
以前にセットアップした時から Linux kernel を手動インストールするというあたりが手順として変わったところかな。あと、WSL の環境で Windows の領域を見たときにパーミッションが 777 になってしまって厳しかったので以下の内容を /etc/wsl.conf
に記載して対応した。
[automount]
enabled=true
options="metadata,umask=0022"
ファイルがないときは新規作成で。作成後に Windows 側から wsl --shutdown
をして仮想マシンを落としてから再起動すると /mnt/c
などが 755 などになる。便利。
この状態で、ruby/ruby のコードをチェックアウトしてからテストを完走させてひと段落。
Windows Terminal は標準で Powershell, cmd, WSL などが追加されていて便利なのだけど、Visual Studio のコマンドラインツールの読み込みを行った cmd がタブで起動できれば便利、と思い追加してみた。
Windows Terminal の設定変更はいきなり json がエディタでオープンして編集しろ、後は頑張れという感じで大変なのだけど、以下のようなエントリを profiles.list
の Array に追加するとよい。
(snip)
{
"guid": "{57f44a84-f867-4507-aa8c-769b7a720040}",
"name": "vs2019",
"commandline": "cmd.exe /k \"C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Auxiliary\\Build\\vcvars64.bat\"",
"hidden": false
},
{
"guid": "{01330ea0-025b-42ca-8245-b06a513f30c7}",
"name": "vs2017",
"commandline": "cmd.exe /k \"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Auxiliary\\Build\\vcvars64.bat\"",
"hidden": false
},
(snip)
guid は何を書けばいいんだ? と思って調べてみたら uuid だとなんでもいいらしいので uuidgen
などで適当に入れた。
これで Windows Terminal, vscode だけでやりたいことができるようになったかな。
https://rubyci.org/ で動かしている色んな OS のインスタンスは EIP の申請が面倒だったので AWS で色んなリージョンに散らして作っていたけど、コスト最適化を図るときにこの状態だとだるいってことがわかったのでひたすら ap-northeast-1 に集めた。手順としては
というのをひたすらぽちぽちやって 20VM くらいを引越した。IaC でやれよって話ではあるけど、インスタンスタイプとか元となるAMIも別に統一されてるわけではないので完全に自動化できないんだよなあ。しょうがない。
二日目も引き続き渋谷に集まってうーんうーん唸ってた。二日目は組織や採用周りのことが多かったので一日目よりはなんだかんだ喋ることが多かった気がする。最近、やることが増えすぎてるので、課題はありつつもちゃんと推進できるようにしないとなあ。
お昼に食べた弁当がやたらと美味しかった。みんなで「この葉っぱは食べれるの?」と言ってたのが面白かった。
コミック Days を読んでいたら、いぬやしきが全巻無料というのが出ていたので、そういや最初の方だけ読んで最後どうなったか知らなかったと思いササッと全巻読んだ。
GIGANT と同じように、一話一話の絵が大きくて全巻読んでも1hくらいだった。最後の方はややマンネリ化というか、うまいこと終わらせたなあという感想で、GIGANT と同じようなストーリーラインだったのがちょっと面白かった(いぬやしきの方が先なので、同じなのは GIGANT の方である)
コンテンツの蓄積がするんで、こんな感じで全巻無料公開とかやられると、ほんとにフォーマットを問わないで人々の余暇の時間の争奪戦になるよなあ、と読み終わってからしみじみと考えるなどしていた。
core_assertions.rb という主に process 周りなどをテストするための nobu スペシャルなライブラリが ruby/ruby にあって、ruby/* なリポジトリ、例えば ruby/logger などでは test-unit gem に include することで ruby/ruby 以外でも同じようなテストを実行する仕組みがある。
この core_assertions.rb
はもともとは ruby/ruby の test suite にガッツリ組み込まれていて、それ以外だと動かなかったのだが、うまいこと namespace を調整したり、依存を切り離して test-unit とでも使えるように数年前からセコセコと作業をしていたのだけど、各リポジトリに更新したバージョンを手でコピーするのがだるくなってきたので git と gh コマンドを駆使してせっせとコピーした pull-request を作成するスクリプトを書いた。
https://github.com/ruby/ruby/commit/df21e7ebabc661a789be5c2f49cfb4e4b67913b7
コピー先のリポジトリの状態によっては事故ったりもして、全然冪等ではないのだけど、冪等にするために全リポジトリを clone しなおすとか、octokit を使って、GitHub の API のみを使って実行するなども少し書いてみたけど、こんどは pull-request で複数のファイルを更新する、というのがめちゃくちゃ大変になるので雑にできる方法にしてしまった。
この core_assertions.rb
は test-unit-rubycore とか適当な名前で gem にしたほうが取り回ししやすいのかなあ。ruby/ruby 以外に使いたい人がいる感じがないので、あまり頑張らないほうが良い気がする。
妻がガストや日高屋で動いているネコロボットを見たことがないというので、じゃあ昼飯ついでに見に行くかねとガストに行ってみた。地味に自分もガストに行くというのは記憶にはないくらいなので実は初めてなのかもしれない。
で、ガストに行ってみたら、老若男女問わず満席で「すごいなこれ」と2人で顔を見合わせていた。メニュー見てみると、サイゼリヤといい勝負くらいのやすさで唐揚げ定食などを食べることができて「いいいじゃんこれ」となった。
肝心のネコロボットは土日で混んでるからか、ほとんど出番はなく人間が運んでいた。フロアも広いわけではないので難しいのかなあ。
ruby.social で https://github.com/laylavish/uBlockOrigin-HUGE-AI-Blocklist というのを見かけてこれはよいと思い uBlock origin のフィルタとして追加した。
追加してみると、pinterest のメールのほとんどがフィルタされたりと、思いの外それっぽい画像があちこちにあるんだなあというのがわかって関心したのと、うんざりする気持ちになった。別に人間が作ったものじゃないとという気持ちはないのだが、「作られたもののコンテキスト」を知りたいタイプなので大量に生成されたものを見ても「で?」としかならないんだよなあ。
旅行に出掛けているうちに git.ruby-lang.org や bugs.ruby-lang.org が重くなって繋がらないということが起きていたようなので bot っぽいアクセスを全部 deny した。
https://github.com/ruby/b.r-l.o/commit/ec883fd5e3c07da1d6f29b05c045602ec029073a
bugs の方は datadog の Log Explorer から死活監視以上の頻度でアクセスしている IP を取り出して、それらを Rack のレベルで return するようにした。なお、上のコミットは Copilot に「IP のリストを yaml から読み込んで Rack のレベルで deny して」と命令して作らせたやつ。便利。
git の方は単純な apache2 なので、こっちもアクセスログを全部読み込んで、死活監視以上の頻度の IP を deny する apache2 の conf を出力して、という感じでコードを作らせてから実行して設定を反映させた。
とりあえず重くなって落ちる、ということは無くなったのでこれで様子見かなあ。
Kindle Unlimited の対象だったのでフェリーに乗ってるときに読んでしまった。アンネフランクというとアムステルダムに行ったときに、隠れ家が博物館になっていたので行ってみる?となったものの、行列がすごくて断念したのだった。
日記が出版されるというのも、本人からするとマジで、ということなんだけど、この日記が出版されるに至る歴史や関係者のやりとりも紹介されていて、なかなかによかった。
# Diablo [おめでとうございます!!]
# しばた [ありがとーございまーす。]
# たけき [おめでとう。 ホントよかったね。 気をつけて札幌に帰って来てください。]
# しばた [どもです。どうやら無事に到着したっぽいです。]