@kyanny's blog

My thoughts, my life. Views/opinions are my own.

Hurl

hurl.dev

Hurl は一風変わった HTTP クライアントツール。同僚に教えてもらった。HTTP リクエストを宣言的に書いたテキストファイルを Hurl が解釈して実際の HTTP リクエストを発行する。レスポンスの検証やキャプチャなどの機能もあり、HTTP リクエストのテスト用途にも使える。

これも Rust で書かれており、シングルバイナリで動く。内部では HTTP エンジンに libcurl を使っていて、実質 curl のシンタックスシュガー。

例を見れば一発でどういうものかわかる。

# Get home:
GET https://example.net

HTTP/1.1 200
[Captures]
csrf_token: xpath "string(//meta[@name='_csrf_token']/@content)"

# Do login!
POST https://example.net/login?user=toto&password=1234
X-CSRF-TOKEN: {{csrf_token}}

HTTP/1.1 302

curl で一連の(前後で実行順序の依存関係がある)HTTP リクエストを発行するシェルスクリプトを書くようなシーンで良い代替になりそう。curl 自体はともかく、シェルスクリプトで色々頑張るのは割と苦労するので*1、悩むくらいなら他に依存なしで必要な機能が揃っている hurl だけで書くのも選択肢として悪くない、かもしれない。

既視感あるなと思って思い出したのが

www.jetbrains.com

で、リクエストの書き方はよく似てるのだけど*2、JetBrains の方には Hurl を内部で使っているとは書いてない。JetBrains 製品は Java で書かれてるから多分別物だろう。

*1:特に JSON の扱い。jq への依存を受け入れて jq を使うか Ruby や Python のワンライナーを混ぜるか、などいつも悩む

*2:HTTP リクエストをテキストで書いた風なのをそのまま実行する、というアイデアが同じなので、そっくりな見た目になるのは当然ではある

Bizmates Program: Level 2 Rank E Lesson 10: Review

ミスターニワトリと。今日はどうだった?というので、普通の日だった、あ、けど↓ということがあったよ、という話をしたら、「次はさらに自信を持ってできるようになるよ、約束する。英語で話す機会を持つごとに、慣れていくし上達していくんだ。英語でコミュニケーションするたびに、その相手からも学べるんだ」と励ましの言葉をもらった。ミスターニワトリ、なかなかいいやつだ。

Lesson 6, 7 のレビューをやった。彼はとてもゆっくり喋るので、ミスター早口の時とは裏腹にこちらは焦らずマイペースで喋れる分、長く喋りがち。そして彼のマイクの調子が悪いのか、音声がめっちゃ途切れ途切れで半分くらい聞こえない。ので聞き直したり、昔インターネット回線の弱い地域の同僚とカンファレンスコールして苦労した時のことを思い出した。などで進みはゆっくりで、Lesson 10 は今日では終わらず。

彼のレビューは Biz Tips の振り返りとかはせず、いきなり exercise (ロールプレイ)をする感じだった。この辺のレッスンの進め方の手際とかは、やはり他の熟練トレーナーの方が上手だなと思う。音声のことはフィードバックしたいのだが、直接メッセージで言うのもやや気まずいので、問い合わせとかで伝えるべきか。

次回は Lesson 8, 9 のレビュー。Lesson 8 dealing with conflict のロールプレイシナリオを考えておかないと。

明日はミスナンバーワンを予約した。金曜土曜の夜の予約枠がなかなか渋くて、明日の夜のテレビ番組表ともにらめっこしながらどうしようかと思いつつ改めて予約画面のトレーナー一覧を見たら、さっきは見なかったはずのミスナンバーワンの枠が三つ空いていた。偶然今しがたクラスを開けたんだろうか。

  • I'd say that I have more opportunities to receive feedback from my colleagues or my boss. In my company, I'm the newest member to join the team, so I'm usually the one getting feedback from others. However, in my previous job, I had more opportunities to give feedback to others
  • The instructions I get from my boss are usually clear and I don't really get confused. However, when I read some announcements from the top level managers, I sometimes get confused because I don't have enough background information.

YouTube Premium 年間プラン

YouTube Premiumに年間プラン登場 月額契約より3,540円お得になるキャンペーン開催中(1/23まで) | ゴリミー

ニュースを見てはいたけど切り替えめんどくさいなあと思ってたら奥さんから「安くなるからやったら?」と軽いプレッシャーを受けたので切り替えた。

YouTube の年間プランに申し込む - パソコン - YouTube Music ヘルプ

サブスクリプションの更新日が 1/28 で、解約時に日割り返金とかその辺はどうなるんだろうと思いつつやったが、

  • 更新日 = 契約満了日までは Premium のまま
  • 年間プランは 2022-01-28 から一年分 Premium 期間が追加される形で適用された

結果、おれの YouTube Premium は 2023-01-28 まで有効、となった。

OSS to earn by Middle Aged Developers #madevs

元同僚二人が始めた雑談ポッドキャスト。ポッドキャストは素人っぽいのも玄人っぽいのも苦手意識があったが、面識ある人たちが喋ってるのは割と聴き続けられることがわかった。

anchor.fm

いくつか気になった点にコメント:

  • faker.js はテスト用のダミーデータを生成するライブラリで、チュートリアル用ではないと思う(チュートリアルサイトに表示するダミーデータ生成のために使えたりはする)。大元は Perl の Data::Faker で、各種プログラミング言語に移植されたものの一つ。
  • Big Tech 企業が OSS 作者に経済的な援助・還元をしないことに怒りを覚え、というのは一定の理解ができるが、火事で全てを失ったのがきっかけというのは、自宅で爆弾作ってたせいかもという説もあるので、個人的には同情に値しないと思う。
  • OSS の収益化については、それ自体で稼ごうとせず、条件の良い仕事を得るための宣伝材料にするのが個人レベルでは最も妥当なアプローチだと思う。実より名を取れ、ということ。
  • 一方で OSS のメンテナンスについては、難しい問題だと思うが、現状では Apacheソフトウェア財団みたいなモデル + Big Tech 企業がそのような非営利団体に大口の寄付をする、というのが現実的なのかな、と思う。幸か不幸か、その手のプレイヤーに拾われるほど巨大ではないが広く使われてしまった OSS については、多少の痛みを受け入れて自然淘汰に任せるよりないのかな、と思う。

なお、私は GitHub の従業員ですが、この件に従業員として関与しておらず、公開情報に基づいて個人の見解としてこれを書いています。