diary

Dairy by @pocke

2020-01-15

scrapbox.io

yarnで孫依存しているパッケージをforkしたもので書き換えたかったので試行錯誤していた結果、resolutionsを使うと良いことが分かった。

github.com

そのあと、npm packageにパッチをあてるツールをruby-jpで教えてもらった。中々思い切ったことをするツールだなあ。すごい。


Raspberry Pi 4のパーツとかが一通り届いたので早速Arch Linuxをインストールしようとしたら、家のネットが貧弱すぎてイメージが降ってくるのに2時間ぐらいかかった。 SDカードにイメージを展開して、電源を入れてSSHできるところまでいった。

インストール作業は https://archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-4 の通りにやった。とくに引っかかることもなくインストールできた。

Arch Linux ARMのサーバーがめちゃくちゃ遅いっぽい。デフォルトのmirrorlistだとIPベースでいい感じに振り分けられるけど、それをシドニーを見るようにしたら若干マシになった。

適当にItamaeでセットアップをしている。base-develが入っていないことに気がついたので、とりあえずそれを寝ている間に入れるためにtmuxをセットアップした。 tmuxを使うにはLANG=Cだと動かないようで、先にlocaleを設定する必要があった。

AURからyayを入れようとしたら、userで明示的に非rootユーザーを指定しないと「rootで実行しているからダメ」と怒られて不思議。なんでだろう🤔 ちなみにyayを入れるのはbase-develを入れないと無理なので明日以降になりそう。

Rubyはrbenvで入れたい。Rubyのアプリケーションをcronで(というかsystemdで)動かしたいけど、rbenvといい感じに同居できるかな


github.com

QuerlyにIssueを上げてたやつをPRにした。


正規表現リテラルで式埋め込みがないものは freeze した状態にするようにしています。うむ、まあ Regexp には通常は破壊的な操作はない(メタプログラミング的なものたちは別として)…はずですし freeze しても互換性の問題はないでしょうね(性能的な効果もないかもしれないけど)。 [ruby-core:57353] [Feature #8948] [ruby-core:95977] [Feature #16377]

Style/RedundantFreeze copが影響を受けそう。

2020-01-14

github.com

yarn upgrade業をしていたらCHANGELOGが不思議な感じになっていたのでPRした。 PRのコミットをメンテナが書き換えていくスタイルでマージされて、珍しいなあという気持ち(気にしてはいないけど)


ラズベリーパイを注文した。直販?とAmazonで分けて注文しているので、パラパラと部品が揃いつつある。 ヒートシンクが売り切れていたのが少し不安……。ヒートシンクなしでも平気かなあ。

Raspbianを入れるか、Arch Linux ARMを入れるか迷い中。


scrapbox.io

いい質問の書き方を書きたいなあと思っていたので、ruby-jpのscrapboxに書いてみた。 きっと誰かが改善してくれるはずと信じて雑に書いている


るりまレビュー会。今日はRubyKaigiのProposalを見直したいので、自分のPRをマージするぐらいしか活動していない。

github.com

今日の目玉PRはこのPR。Googleで検索した時にるりまがヒットすると先頭に「Instance Method」と出ていて肝心のメソッド名が後ろの方に来てしまっていたのだけど、このPRによってその「Instance Method」が取り除かれる。 日次でビルドされているから、明日のうちには<title>は短くなるはず。そのうち検索結果にも反映されるんじゃないかなあ。


twitter.com

https://bugs.ruby-lang.org/issues/8709

Dir.globの結果をソートしようという動きがあるらしい。 すでにソートするコードがコミットされたのかと誤読してしまったけど、良く見たら"might"って書いてあった。

環境依存はよくわからない挙動の温床になりがちで、かつデバッグもむずかしいのでこれが入ってくれると個人的には嬉しいかな。 https://github.com/rubocop-hq/rubocop/pull/7181 みたいなことをせずに済む。

あと、これが入ったらLint/NonDeterministicRequireOrder copの処遇を考える必要がありそう。 そして真逆のことをやるCopがあると更に良さそう。


https://commits.top/japan.html

見てたら自分がのってて良かった。51位らしいのでまだまだ精進せねば。

Organizationsのところにはruremaがのっていていい話。


労働組合関連の本を読んでいたのだけど、どうも面白くなかったので読むのをやめた。 門外漢でも分かるような入門書を読みたかったけどそうではなかった感。

今はアメリカ史の本を読んでいる。まだ読み始めだけどこれは面白そう。


気がついたらLAPRASで技術力8位になっててびっくりした。


koic.hatenablog.com

koicさんのブログにTwitterでコメントしていた。

defのbodyをlvarでsearchしてforwardしているところ以外で変数が参照されていたら or assignされていたらskipする、みたいなコードでできそうな気がするけど、なにか懸念点はあるだろうか。ただ、variable tableを使えばもっとスマートに実装はできるかもしれない(詳しくないのでわからない) https://mobile.twitter.com/p_ck_/status/1217086513055334400

ただし以下のような警告が発生するため括弧をつけることが好ましいでしょう。

これは bar ... がendless rangeとして解釈されてしまっているから、カッコをつけた場合とつけていない場合で意味が変わりそうです。 https://mobile.twitter.com/p_ck_/status/1217089324686114816

bar ...の警告メッセージである"... at EOL, should be parenthesized?"は分かりづらいような気がするなあ。"... at EOL, so it's evaluated as a endless range, should be parenthesized?"とかだと良いのだろうか

2020-01-13

github.com

Issueを上げたCopが実装されていたので、ちょっとだけレビューした。


github.com

Style/BracesAroundHashParameters cop を消すPRを、Ready to reviewにした。


↑のPRでRuby HEADでのテストがコケている。 見てみるとwebmockが依存しているcrack gemでrexmlをrequireしているけど、bundled gemになった影響でうまくrequireができていなさそう。

https://blog.n-z.jp/blog/2016-09-10-bundled-gem-and-default-gem.html

これってcrackでadd_runtime_dependency 'rexml'すればいいのかなあ。


RubyKaigiのProposalを出した。通ったら英語で話すぞ


スピーカーを新調した。今まで右が死んだスピーカーを使っていたから、左右から音が聞こえてすごい。


github.com

github.com

rubocop-rspecへのPRを受けて、自分が主に見ているRuboCopプラグインにREADMEを直すPRを書いた。

2020-01-12

今日は(というか昨日も)全然コード書いてない。

たまにはこういう休日も良いと思うのだけど、なんか毎週のようにやっている気がする。それはたぶんよくない。


The Lord of the RingsはChapter 5まできて、Merryと会うところまで来た。 この後古森を抜けていくんだっけか。


魔法少女のカレイなる余生 を読んだ。わりと好き。


github.com

これ、ほかのRuboCopプラグインも対応させて、かつrubocop-extension-generatorも直したいな。

github.com

一応Issueを立てておいた。Good first issueです


エゴサしててそういえばこれの分脈が気になるなと思ったのだった https://twitter.com/makicamel/status/1215237613344284672


https://github.com/ruby/ruby-signature/pull/177

Hashの型をつけるのにコメントが来ていたのでなおした。


github.com

いい加減RuboCopにプラグインシステムが欲しいですね。このInjectクラスをラップしただけのものをとりあえずrubocop coreで提供するのはありなんじゃないかなと思う。

2020-01-10

先パイがお呼びです! を読んでた。好き。 https://scrapbox.io/pocke-sub/%E5%85%88%E3%83%91%E3%82%A4%E3%81%8C%E3%81%8A%E5%91%BC%E3%81%B3%E3%81%A7%E3%81%99%EF%BC%81

良かったから同じ作者の「ふりだしにおちる!」も読んでみたけど、こちらはあまりハマらなかった。残念… 最近は同じ作者の作品はどれも好きになることが多かったのでかなしい。


github.com

querlyでfoo&.barの時にbarをメソッド呼び出しとして検知してくれないのが不便だったのでissueを上げた。 対応は多分そんなにむずかしくないと思うので、実装してしまいたい