とりあえずこのサイトはWinのIEとMozillaで見栄えを確認はしているんだけど、今回VineLinuxのMozillaで見たらテーブルのスタイルが崩れているのを発見。んー、手直ししなくちゃな・・・。
そういや、アクセスログのグラフはIEでしかまともに表示されないんだよなー。あっちもどうにかしなくちゃ。
そういや、VineのマシンのWindow ManagerをKDE3にしてみた。
本当に世の中便利になったものです。RPMを使ってインストールするだけであんだけの環境が構築されるんだからね。
いつの間にかファームウェアのバージョンがアップデートしてたとは…。FTP回りの修正は嬉しい。
予定通りJunitを用いたTDDの実習。そろそろプログラミング属性の低い学生と自主的に勉強しながら進める学生とで差がつき始める。
質問があるということで、聞いてみると「最初から全部聞いてなかったので、何をやればいいのか、もう一度説明してください」とか寝ぼけたことを言い出す奴がいたりしてぶちきれ金剛。
簡単な例題プログラムをTDDで作った後に、デザインパターンの中のステートパターンについて軽く説明。こっちについては中途半端な所で終わってしまう。
0.6.3のprerelese。だーっとchangelogを流し読みしたが気になるのは
* Added Unicode name support to cofs
くらいか。先端をいじるのが好きでも、さすがにcofsをまともに使おうとは思わないんだよなあ。
PlaggerでのSBM同期が動いていないなあと思ったら、Aggregator::Simpleでbabieさん日記タイトルの
ξ;゜⊿゜)ξ { 遅レス。
という文字列が原因でこけてたみたい。[error]を見る限り
input conversion failed due to input error, bytes 0xAD 0xF9 0xA1 0xAC
という感じになっているので、「⊿(\Delta)」が問題ではないかと。Aggregator::Simpleが関係するXML::LiberalとかXML::RSS::Liberalとかをアップデートしたりしているけど、いまいち解決せず。\DeltaがPlaggerの秘孔をついたかなー。
さてさて、アプリケーションの文字コード処理の問題はおいておくとして、この辺の機種依存文字(特に顔文字)は本文ならまだしも、タイトルとかに入れるのはやめてほしいなあ。他にもタイトルにやたらと長文を入れている人もいるけど、普通にRSSリーダーでタイトルエリアからはみ出してしまうのでこれも勘弁してほしい。
もちろん、個人的な感想なんで「おまえの嫌悪感なんぞ知ったこっちゃ無い」と言われればそれまでですけど←エチケットペーパー
自分がtDiaryのプラグインを作るときには、設定画面から渡される値の中で数値以外は全てCGI::escapeHTMLしてるんだけど、ピュアな疑問としてパラメータとして渡されるURIをエスケープする必要はないのかな?
というのも、プラグインを作り始めた時に参考にしたcoreで用意されている設定画面では上記のように数値以外(URI含む)はCGI::escapeHTMLしてるから、これまでは何も考えずにエスケープ処理をしていたんだけど、これってセキュアプログラミング的にはどうなんだろうかー。
教えてSecurityの偉い人!
首が痛いのが治ったら今度は口内炎。まあ、原因ははっきりしていてこの前レストランで思いっきり唇の裏に歯を突き刺したのが原因なんだけど。うーん、食べ方に問題があるのか、ただよくかまないで食べているだけなのか。何にせよこの栄養とか関係なく自分が原因ってパターンが結構多いので何とかしたいところ。
とりあえず、口内炎が発生してしまったものはしょうがないので、チョコラBBとパッチタイプの口内炎薬を大量に準備。しばらく辛いものとかは食べられないなー。とほほ。
ニオイマス釣って、雪山の廃墟にたどり着いておしまい。ゲームは1日1時間。
オレは about:blank 派。
つーか、ほとんどのブラウザに検索バーが標準搭載されているこのご時世にGoogleをトップページにするのって手間がかかるだけなんじゃないのか。「Ctrl + K」だけで検索文字を打ち込めるのと、マウスとかキーボードを使わないと検索文字を打ち込めないのは大きな違いだと思うのだけど。
そういや話は変わって、最近 Firemacs を使うようになってきてから、Ctrl + L でサイト移動をしようと思った後にやっぱり Ctrl + K で検索バーに移動したいって時に行末まで削除に拾われてしまうのがちょっと困りもの。どっちもそれなりに使うから無効にはしたくないんだよなー。
2007 でおしまいで 2008 は開発やめてしまったと思っていた、Mac 版 ATOK が発売するらしい。Windows 版とのセットも発売、AAA 優待なら 8000 円。これは買わないと。
昼に泥のように働くのに飽きたところに TypePad AntiSpam が公開されたというニュースリリースを見かけたので、API仕様を眺めて息抜き。とりあえず、 TypePad Antispam API は
100% Akismet API compatible
ということらしいので、たださんが作った Akismet フィルタをベースとして tDiary 用のフィルタをでっちあげた。
ファイルは Test_SelectFilter のデフォルトフィルタとして突っ込んであるので tDiary の svn リポジトリ からどうぞ。ちなみに名前はわけあって antispam.rb としている。中身を見ればすぐにわかると思うけど、APIへのリクエストや設定項目自体は Akismet フィルタからほとんど変えずに、利用する Web サービスを変更できるようにしただけ。
さっそく、手元で動かしてはみたんだけど、全く同じリクエストに対して帰ってくるレスポンスが
とか違っていたりと、もしかしたら動いてないかもしれない。
とりあえず、この日記では TypePad Antispam で動かして試験中。人柱してやんよという奇特な方がいたらとても喜びます。
むー、やっぱり動いているかどうかの確信が持てない。
Akismet と全く同じリクエストで verify-key を問い合わせてもレスポンスが全部 valid。API Key を Akismet のものにしても valid、挙げ句の果てには abc とか適当な奴にしても valid。
根本的な何かが間違っているのかなあ…。
家のプリンタでいろいろコピーして申請書の投函おわた。
15-6時間くらいかなあ。80点。
最終話の一部が少し難しかったけど、逆転裁判シリーズよりストーリーのつじつまとかトリックがまともな印象。追い詰めるシーンの三段階目の音楽がイカス。
銀座のビックカメラに行って、いらないHDDやゲームソフトを買い取りしてもらったり、iPad を眺めてきたり。iPad はソフトキーボードがとても残念な感じでイマイチだったなあ。慣れの問題なんだろうか。
夕食はこんな感じ。
ごちそうさまでした!
正確には明日だけど。今回のプロジェクトではだいぶHerokuとS3に詳しくなったなあ。明日から(RubyKaigiに向けて)ホンキダス。
tDiary の編集画面にある textarea をよく見かける Javascript で作られた Markdown エディタに置き換え出来ないかなーと色々調べて見た。
これは textarea に埋め込むタイプではなくて、div の中に iframe として入れるタイプのエディタなので却下。
StackOverflow で採用している textarea に埋め込むタイプのエディタ。プレビューもだいぶ早いし、なかなか良い。ただ、指定された id を忠実に組み込む必要があって、tDiary のテンプレートにだいぶ手を入れないとダメそうなのがネック。
Markdown だけじゃなくて、他の記法にも対応した textarea に埋め込み可能なエディタ。ちょっと見た目がごてごてしすぎな気もするけど、クラス指定だけで動くみたいなので便利そう。
イマイチやりたい事に対して重厚なものばかりなので、リアルタイムプレビューを自前で組み込むようにするのがいいのかなあ。
RubyKaigi 2013 がお台場の方で開催されたので行ってきた。最初、東京国際交流館と国際展示場を何故か勘違いしていてオープニングに間に間に合わせるために直前でタクシーで移動するなどした。とほほ。
一日目は午後から発表だったので何をやったのか余り覚えてないけど、Matz の発表は普段余り出てこないような頭の中解説で面白かった。
自分の発表資料はこちら。
この発表ではコミット権とついでにサーバー管理のためにもらった各種 root 権を駆使して、だいぶ塩漬け状態だった *.ruby-lang.org の皆さんをどのようにモダンな環境にしていったかという結果や経過報告をした。実はこの発表は最初はLTで www.ruby-lang.org の発表だけやろうと思っていたのだけど、@kakutani からこの話を 30 分の拡大版でしてくれないかという依頼がきたので、急遽拡大版にしたのでした。
ちなみに今は仕事でもこういうレガシーマイグレートを大変ながらも楽しんでやっていて、社内外関係無く自分が何かやることがチャレンジングかつバリューを出せる環境にあって大変幸せだなあと思う次第です。
発表に色々と宣伝できたこともあって、www.ruby-lang.org はこの日のうちにメンテナへの応募が 20 人弱もあって、既に 6 ヶ国語の翻訳が完了したのでした。ありがとうございます。あと発表で紹介したるびまの方も今は完全に github 上に全てのコードが存在するという状態なので、コンテンツが古いだとかドキュメントが無いとか、何かいちゃもんがある人はぐだぐだ言ってないで "You can fix it" で一つよろしくお願いします。
そういえば通訳の方との打合せは直前に自分の発表を正確に伝える、話そうとしていること、伝えたいことを説明するという意味で大変良かったです。このお陰で別にノートを見なくても発表できたような気がする。
この後は asakusa.rb のコミュニティ紹介があるので、その時までに doorkeeper のイベント募集ページを用意したり、スライドを作ったりしているうちに夜になってしまって終わり。あ、笹田さんの「オレは凄いことをしたんだからもっと褒めろ」というのは、どの辺が凄いのかがわかりやすかったので今後も続けてもらえると助かります。
(taken by @takai)
コミュニティ紹介は RubyKaja について何か触れる必要があったらしいけど、そういうのを完全に無視して asakusa.rb の紹介をして終わってしまった。ばたり。
ひとまずスライドだけ置いておきます。
tDiary.org - tDiary-4.0.4 リリース
リリースされていました。今回は javascript のテストの仕組み(といってもテストケースは2-3つ)を jasmine 同梱の仕組みから npm, grunt, bower を使ってモダンな感じで構築する仕組みに変更したのが主な作業かな。ぼちぼち進めてます。
コミックだけかと思ったら翔泳社の本も還元対象セールとなっていたので、安くなった時に買おうリストに入れていた本をいくつか買っておいた。
OpenStackクラウドインテグレーション オープンソースクラウドによるサービス構築入門
翔泳社
¥4,620
Linuxコンテナー最新ツール Dockerを支える技術(日経BP Next ICT選書) 日経Linux技術解説書
日経BP
¥990
この手のセールの時に大量に買った本はだいたい読むのが遅くなるのだけど、OpenStack の本はぎょーむ上必要なのでとっとと読んでしまおうと思う。
本を読もうと Kindle Fire HDX を取り出したら、本が全て消えていて何だこれと確認したらアカウント情報がリセットされていて、amazon.co.jp からも kindle の端末から消えているという状態になっていた。調べてみると、Fire OS の 4.5.4 のアップデートのタイミングでよくわからないけど、リセットされたみたい。
改めてダウンロードし直すのも面倒なので、初期化したまま電源をそっと切って、最近お気に入りの Nexus6 を Kindle のメイン端末にして過ごすことにした。
Nにアップグレードする前後にかかわらず相変わらず重すぎて、カメラを起動して撮影したら数回に一回はクラッシュして撮影した写真が保存する前に消えてしまうという状況なので、Nexus 7 の時にあったようなキャッシュパーティションをクリアという手段を取ってみた。
手順は適当にググってもらうとして、実行してみたら予想どおりびっくりするほどサクサク動くようになったのでしばらくはこれで頑張ってみる。
ポーランド土産を持って久しぶりの参加。
https://asakusarb.esa.io/posts/834
到着するなり、 @emorima メンバーがビールと日本酒を取り出してきて勢いがありすぎた。いつものメンバーでポーランドの写真を眺めながら、これが塩なんですか〜、塩ですね〜というのをやっていた。あとは RubyKaigi の CFP について話したりなどなど。
RubyKaigi 2018 に参加するために新幹線で仙台まで前日入りして、観光することにした。上野からはやぶさに乗れば良かったけどちょうどいい時間は東京発で上野スルーな奴だったので東京まで南下してから 2 駅停車で仙台に到着。とりあえず荷物はホテルに預けてから、仙台駅から仙石線に乗って松島海岸へ。
まずは目当ての一つの瑞巌寺まで歩いて移動して、ルート通りに観覧コースをぶらぶら散歩。途中、石庭を見ながら slack 読んだり、発表の小ネタを考えるなどしていた。
瑞巌寺の後は五大堂まで歩いて松島の全景を見てから、近くにあった松華堂の喫茶店に入ってカステラとコーヒーを食べてから、利休に入って牛タン定食を食べて仙台に戻る仙石線の JR を待つなどしていた。松島、のどかな感じでだいぶいいなあ。もうちょいゆっくりできる日程できても良かったかもしれない。
松島のあとは、見開きで御朱印をもらえるという楯岡八幡宮を参拝して目当ての御朱印をもらってからひたすら歩いて仙台駅経由でホテルにチェックインした。ホテルでは発表の準備や会社の書き物などを軽くこなしてから Speee さん開催の前夜祭へ。少し雨模様だったけど、会場が駅の近くだったので特に問題なかった。
前夜祭はいつものメンバー(TD や Ruby コミッタの人々)とどうすか〜という話をしているうちにすぐに終わってしまった。この時に akr さんと all-ruby でやりたいことを結構話してこういう感じで開発しましょうというのを話していた気がする。
終了時にお土産をもらってからホテルにシュッと戻って就寝。
6/1-2 にロシアの Saint Petersburg で開催される SaintP RubyConf 2019 に参加するために Peters に移動した。現地の人は愛称として Peters って呼ぶらしいよ。
ロシアや北欧に行くために JAL の修行をしていたといっても過言ではないというくらい、ロシアには行きたかったので大変テンションが上がっている。痛風で移動はかなり辛いけど...。手荷物預けた後はラウンジに行ってからシュシュっと搭乗して、発表スライドの準備をしながら、機内 WiFi でかろうじて閲覧が可能な GitHub Enterprise とりん議システムで少し仕事をしているうちにモスクワに到着した。
なんかモスクワでは利用予定のゲートを事前に使った機材のトラブルで予定していたゲートを使うことができずに、駐機場で 40 分くらいぼーっとしていた。乗り換えは2時間以上あるから良かったけど、ギリギリだと死んでたなあ。モスクワでの乗り換えは、アメリカなどのように一旦入国してから荷物を回収して外に出てから改めてチェックインして S7 の国内便に乗る、という手続きになる。
思いの外、人がすごいいて少し安心した。ブルガリアに行く時はほとんど人がいなくてかなり不安だったからなあ。ただゲートがバンバン変わってしまうので、ラウンジでのんびりとか、イヤフォンしてゲームをしつつ地蔵で待機ということはできなかったので疲れてしまった。
そんなこんなで日本を出て 15h くらいで Pertersburg に到着。現地ではオーガナイザーの Ivan が迎えにきてくれていて、ホテルまで送ってくれた。ありがたい。
どれくらいの時期から読まなくなったか記憶がなくなっていたので、ヤクザとの抗争が本格化する33巻から読み直して今日発売した 46 巻で最終回だった。最後はこうしたか〜という内容だったけど、ヤクザの抗争はわりかし好きなジャンルなのでだいぶ面白かった。
ゼノブレイド2がいまいちなガチャシステムを導入していて不完全燃焼だったので、オリジナルの初代が HD 画質になったというのは本当に良かった。
ザトールまでプレイしたけど、相変わらず面白くてよい。たただ、3DS から変わってるところはほとんどないので、ベヨネッタ同様に「何回リメイクをクリアすればいいんだ...」ってのはあるかも。追加シナリオも含めてぼちぼちとプレイ予定。
Xenoblade Definitive Edition(ゼノブレイド ディフィニティブ エディション)-Switch
任天堂
¥5,673
Ver 3.0 でこれがローンチ時点での全コンテンツだなという内容になっていていったんラストバトルとバルファルクまで全部倒した。装備についてはバルファルク腕を入れて、攻撃はLv4に落としつつ、翔蟲使いLv3とKOLv2という組み合わせになった。大体のハンマー使いがこんな感じになっているので、装備の広がりはあんまないなあと思う。
ラスボス、野良でいくとわりかし失敗しまくるので、自分も含めてもうちょいハンターの学習が必要かなあというところ。あと、古龍も含めて10体討伐をひたすらやっていたらプレイ時間200hとHR210になった。ここまでやり込んでからあらためて翔蟲を常に3つキープして鉄蟲糸技を乱発することの重要性を学んだりもして奥が深すぎる...。
残りやることがまたお守りガチャと称号集めになったので、次のアップデートまではぼちぼちプレイになりそう。
今週のチームランチは三太夫でホッケ定食を食べた。渋谷、極端に焼き魚などの定食を食べることができる店が減っていて、社内で募集してやっと見つけた店だった。値段も味もいい感じでとてもよかった。
また謎ケーブルを買った。外出するときに持ち運ぶものをとにかく減らそうと、Apple Watch の充電についても同時にできる謎ケーブルを持ち歩くことにして、今まで使ってきた充電バッテリー付きの Apple Watch 充電器は家に置いておくことにした。
これほんとに充電できるの...?というのが心配だったけど、今のところ大丈夫そう。
https://bookplus.nikkei.com/atcl/catalog/23/04/07/00760/ などの目次を眺めて良さそうだなと思い Kindle で買って読んだ。
最初の方でスタッフプラス(スタッフエンジニア以上のタイトルの役職者)は
自分が個人的に関心のあるテクノロジーとアプローチを優先することよりも、自分が所属する組織の現実的なニーズを理解して満たすことのほうが遥かに重要とされる
と言い切ってしまっていい本だなあと感じた。自分は一応ではあるが、ANDPAD という組織のスタッフプラスなので、書いてあることについてはおおよそ同じように振る舞えているかな、という感想にはなった。そういやこの前 CEO と 1on1 をしたときに、「もう周りからどう評価されるかには興味がなくて、ANDPAD の中の人がどれだけ活躍できるかということが大事だと思ってます」とか話していたけど、ようはそういうことだろう。
全体を通して、いわゆる IC の最上位レベルの役職者も結局、人とプロダクトに向き合って影響力を発揮しながら組織を前進させるのが仕事だよという、最新テクノロジーを追いかけているだけのジュニアエンジニアにとっては容赦のない本だなあという感想にもなった。
しかし、スタッフプラスは人や金に関係する決裁権限は持たないけど、組織やプロダクトを前進させるのがコミットメントすべき仕事であるというのは本当に身も蓋もない話で、何をすれば人々が動くのか、モチベートされるのか、というのはコードを書いて動くならそれでいいし、いい話をして動くならそれでよい、という難しい内容でもあるわけで、エラスティックリーダーシップにあるように、組織の構成員と文化と状況に応じてスタイルをチェンジしながら動きを変えるなどが求められるのだろうなあ。時々笑い話として話すことがあるけど、組織の問題に比べたら Ruby や Rails のアップデートの方が楽勝だわ、やるだけだし、みたいな話。
後半はベンチャーやビッグテックでスタッフプラスをやっている人のインタビューが中心になっていて、中には sorbet の開発と導入を進めた Stripe の2名も含まれているので Ruby が好きな人にとっては身近な内容な気もする。前半でスタッフエンジニアになるにはスタッフプロジェクトといういわゆる「社運をかけたプロジェクト」を経験、または達成することが必要というようなことが書いてあるのだけど、インタビューの大半の人が「そんなものないですね」「初めて聞きました」と回答していて笑ってしまった。
最後に翻訳版には日本でスタッフエンジニアをする人たちのインタビューもいくつか含まれているんだけど、この内容についてはうーん、という感想だった。IC の上位職として頑張ってはいるんだろうけど、原著のインタビューにあったような、人々をモチベートさせることが仕事というような経営メンバーの参謀スタイルの人が皆無だったのが物足りなかった。おそらく日本でスタッフプラスができる人は VP とかシニアエンジニアリングマネージャをやっているから、なかなかスタッフエンジニアという肩書では外に出てこないんだろうなあ。
シニアエンジニアにはなったが、この先どうすれば...という人や、世の中で求められている上位職は結局人と人の関わりをいい感じにできる人、という現実を改めて直視したい人にはオススメの本です。
今回は月末なので秋葉原の ANDPAD オフィスで開催。RubyKaigi 2023 に参加した ANDPAD の新卒メンバーが初参加したりとだいぶいつもな感じだった。
https://asakusarb.esa.io/posts/1147
yhonda さんが来ていたので、今の trilogy と rails の状況ってどんな感じですかとか、Amazon Linux 2023 と libmysqlclient が辛いという話をしたり、2年ぶりくらいに Asakusa.rb マップを開いて自己紹介をしたりしていた。頻度をどれくらいにするかは不透明だけど、とりあえず月末はこんな感じで。
@k0kubun くんがメンテナとなって初のリリースである Ruby 3.3.2 がリリースされた
https://www.ruby-lang.org/en/news/2024/05/30/ruby-3-3-2-released/
初めてのリリースということで、何かしらの権限が足りない時や「こういう時どうすんの」ということをサポートしながら見守っていた。
Ruby 3.1.6 と 3.3.2 がリリースされたので ruby-build の方も更新しておいた。
リリーススクリプトを実行するだけなので非常に楽。RubyGems の trusted publisher は tag を打つことを起点として、リリースプロセスを進めるけど、ruby-build の場合はコマンド実行を起点として tag 打ちからリリースを進めるという違いがあって、どっちが楽かを考えている。
バージョンナンバーに意味を持たせないでひたすら新しくしていく、ということなら後者の方がいい気もする。
https://snapcraft.io/ruby についても、3.1 チャンネルは 3.1.6、latest と 3.3 チャンネルは 3.3.2 に更新した。
こちらも用意しているスクリプトを叩けば snapcraft が用意しているサーバーで各種アーキテクチャのバイナリが作成されて手元にダウンロードされるというところまでは自動化されている。ただ、このバイナリは snapcraft 上で 310 とか build id が付与されるだけで、それらを特定のチャンネルに対して公開、ということは自動化出来てないので手作業になる。なんかいい手はあるかなあ。
Kindle の日替わりセール時に買って積んだままだった地球の歩き方の南ドイツを読んだ。
来週には transit でフランクフルトに行くので、ドイツなどの地球の歩き方に合わせて南ドイツに特化した内容を仕入れるためにパラパラと読んだ。いうても、フランクフルトは乗り換えついでに数時間街に行けるかどうか、というレベルでしかないので空港のターミナルあれこれと街中とシュテーデル美術館付近を抑える程度。
この辺、もうちょいゆっくりぶらぶらすればいい気はするけど、一人旅だとこんなもんだろうって感じもある。
A15 地球の歩き方 南ドイツ フランクフルト ミュンヘン ロマンティック街道 古城街道 2024~2025
地球の歩き方
¥1,881
# はじめ [Cygwin Capture おつかれさまでした。 また、別の話題で、突っ込むかも。よろしく。]