タグ

ブックマーク / gfx.hatenablog.com (205)

  • デイリーポータルZの新着記事をBlueskyに投稿するbotを作った - Islands in the byte stream

    デイリーポータルZの新着記事をBlueskyに投稿するbotを作りました。 github.com デイリーポータルZは2024年1月1日から独立した会社になるようですが、状況から察するに実態としては消滅まで秒読みと思われます。インターネットからデイリーポータルZが無くなるのは寂しいので、どこかの企業がスポンサーになってくれることを期待しています。 dailyportalz.jp それはそれとしてBlueskyのボットを作るのは結構楽しいですね!ボットのコードはRustで書きました。GitHub Actionsの定期実行でRSS feedをポーリングして新しいものがあったらポストする、という素朴なプログラムです: bsky.app Bluesky APIへのアクセスはsugyan/atriumを使いました: memo.sugyan.com 投稿の文をリッチテキストにできたり*1、OGPカー

    デイリーポータルZの新着記事をBlueskyに投稿するbotを作った - Islands in the byte stream
    gfx
    gfx 2023/12/22
    blogged
  • SMBCのOliveカードでオンライン決済が拒否されたら「クレジットモード専用カード番号」を試すとよい - Islands in the byte stream

    2023年から三井住友銀行にオリーブアカウントなるものができて、これのクレジットカードが「クレジットモード」「デビットモード」「Vポイント払いモード」を切り替えて使えるという触れ込みです。このほか、オリーブ化するとSMBCからの振り込み手数料が無料になります。この振込手数料無料に引かれてオリーブ化したのですが、このオリーブアカウントで発行するオリーブカードがあまりにも出来がわるくて驚いています。 実際に使ってる方はわかると思いますが、実店舗・オンライン決済問わず、Oliveカードでの支払いが拒否されることが頻繁にあります。おかげでオリーブカードと通常のSMBCカードの2枚持ちをする必要があります。なんならオリーブカードは使う必要がないくらいです。 ところで、オンライン決済のときにオリーブカードが弾かれる場合は、「クレジットモード専用カード番号」なるものがあるので、それを試すとうまくいくこと

    SMBCのOliveカードでオンライン決済が拒否されたら「クレジットモード専用カード番号」を試すとよい - Islands in the byte stream
    gfx
    gfx 2023/11/24
    書いていて思ったのだけど、オリーブカードを使わないのが一番楽だと思う。
  • 家計口座用の家計簿アプリをマネーフォワードMEからZaimに乗り換えた - Islands in the byte stream

    追記(2023/11/29): 2023/11/1からまたZaimでアメリカン・エキスプレスとの連携ができなくなりました: (11/2 掲載)アメリカン・エキスプレスの連携不具合について:よくある質問|家計簿アプリ Zaim。マネーフォワードではできているようです。困惑の極み…。とりあえずZaimのプレミアムプランは解約しました。 最近、我が家の家計のための家計簿アプリを、5年ほど使ったマネーフォワードMEからZaimに乗り換えました。今のところ、機能的には満足しており、かつこれまでできていなかった我が家の家計スタイルに合った家計簿の運用がようやくできるようになったので、大変満足しています。 もともとあった課題として、マネーフォワードMEは我が家の家計スタイルを実装していないというものがありました。我が家の家計スタイルは、別に特殊なものではなく、次のゼクシィの記事の「【2】お互いに、毎月定

    家計口座用の家計簿アプリをマネーフォワードMEからZaimに乗り換えた - Islands in the byte stream
    gfx
    gfx 2023/09/26
    書いた。長年マネーフォワードMEを愛用してきたので断腸の思いです…。
  • 40代の男性プログラマーが5ヶ月の育休を取った - Islands in the byte stream

    次子のために5ヶ月の育休をとった記録です*1。 家族構成は、外資系*2勤務フルタイムワーカーの私、同じく外資系勤務フルタイムワーカーの、長子のmfx氏(2017年9月生まれ)、そして次子のrfx氏(2022年6月生まれ)という四人家族です。 私が育児休業をとったのはrfx氏の育児のためです。がはrfxの誕生の1ヶ月前から産休に入り、11月いっぱいまで育休をとりました。私はと入れ替わるように11月下旬から翌年の4月下旬まで育休をとったため、約5ヶ月間育児休業を取得することになりました。つまり、rfx氏が保育園に入園して慣らし保育が終わるまでの期間を、私たち夫婦で分担して育休をとり、育児に集中することにしたのです。 長子のmfx氏が生まれたときは、私は育休を取得しませんでした。当時は人数が一桁台のスタートアップ企業に勤めていましたが、育休は取ろうと思えば取れたはずです。しかしなんとなく「

    40代の男性プログラマーが5ヶ月の育休を取った - Islands in the byte stream
    gfx
    gfx 2023/09/07
    blogged
  • エンジニアHubにHTTP/3の記事を寄稿しました - Islands in the byte stream

    エンジニアHubに「HTTP/3|Webエンジニアが知るべき新常識 ─ QUICやコネクションマイグレーションなどを学ぶ 」という記事を寄稿しました。CDNとしてHTTP/3を提供しているFastlyで働いているという縁からです*1。 eh-career.com 書きたいことはこの記事にすべて書いたので呼んでいただきたいのですが、この記事では「自分でHTTP/3サーバーを管理する」ということはまったく視野に入れていません。HTTP/3は現在のところCDNのための技術といっても差し支えないからです。 一方で、これから数年かけて「非ブラウザのHTTPクライアントにおけるHTTP/3の活用術」といったことが研究され、広まっていくのでしょう。ちょうどHTTP/2が標準化されたあとで、HTTP/2を活用したgRPCが作られたように。これについては個人的には非常に楽しみにしています。非ブラウザのHTT

    エンジニアHubにHTTP/3の記事を寄稿しました - Islands in the byte stream
    gfx
    gfx 2023/09/05
    blogged
  • 『日経サイエンス』誌を読んだら思いの外よかった - Islands in the byte stream

    ふと思い立って『日経サイエンス』誌を読んだらけっこうよくて軽く感動しました。 これまではTwitter至上主義だったので情報はTwitterから仕入れればよいと思っていたのですが、最近のTwitterのサードパーティ・マイノリティ排除の様子に辟易してTwitterをやめて以来、情報に飢えていたのでした。そこでたまたま目にした科学雑誌を読んだら満足感が高かったという感じです。 自分の専門分野(ソフトウェアエンジニアリング)ではない専門誌を読むという発想があまりなかったのですが、子供が生物に関心をもったのをきっかけに真面目に理科・科学を学び直すのもよいなあと思ってたのでちょうどよいというのもあります。こと学術系の記事に関しては、有料コンテンツも捨てたものじゃないですね(当たり前)。 https://amzn.to/480Mnry

    『日経サイエンス』誌を読んだら思いの外よかった - Islands in the byte stream
    gfx
    gfx 2023/01/28
    blogged
  • vscodeが使うTypeScript.tmLanguageに基づいて構文ハイライトを実現する - Islands in the byte stream

    vscodeTypeScriptの構文ハイライトのために TypeScript.tmLanguage という定義ファイルをもっています。 GitHub - microsoft/TypeScript-TmLanguage: TextMate grammar files for TypeScript for VS Code, Sublime Text, and Atom. この tmLanguage はもともとTextmate用の構文定義言語のようですが、vscodeプロジェクト群はこれを利用する構文ハイライトエンジンも提供しています。 GitHub - microsoft/vscode-textmate: A library that helps tokenize text using Text Mate grammars. つまりこれらを使うと、vscodeと同じ構文ハイライトを実装でき

    vscodeが使うTypeScript.tmLanguageに基づいて構文ハイライトを実現する - Islands in the byte stream
    gfx
    gfx 2023/01/28
    blogged
  • vscodeの設定ファイル .vsocde/*.json をGitHubでJSONCとしてハイライトさせる - Islands in the byte stream

    .gitattributes に次の1行を足すと、vscodeの設定ファイルがGitHubでJSONC (JSON with Comments) としてsyntax highlightされるようになります。 .vscode/*.json linguist-language=jsonc GitHubのsyntax highlightは github/linguist で制御されています。これに同梱されている overrides.md というドキュメントに、repoごとのカスタマイズ方法が載っています。 https://github.com/github/linguist/blob/master/docs/overrides.md syntax highlightだけでなく、GitHub repoの統計(どの言語がN%、みたいなやつ)からの除外、自動生成されたかどうかのフラグ(統計から除外され

    vscodeの設定ファイル .vsocde/*.json をGitHubでJSONCとしてハイライトさせる - Islands in the byte stream
    gfx
    gfx 2022/12/21
    blogged
  • ナイフで果物を切っているときに手を滑らせて全治一ヶ月の切り傷を負った - Islands in the byte stream

    3行で キウィフルーツなどのぬめりのある果物を切ったあとは、別の作業に取り掛かるまえに手を洗うべし リンゴなどの硬めの果物を手の上で切るのはハイリスクなので、可能であればまな板を使うべし 切り傷を負ったとき、5分経っても血が止まらなければ即病院へ(行きつけのクリニックでよい)。ナイフによる切り傷はよくあることなので医者も処置に慣れている 詳細 2022年6月に、果物ナイフで左の人差し指をばっさり切って縫合する羽目になりました。抜糸まで10日、その後キーボードをタイピングできるようになるまで数週間、だいたい全治一ヶ月くらいでした。そこからさらに半年ほど経過した今でも縫合痕は残っていますが、日常的にはまったく問題ないくらい回復しました。怪我の場所に意識を集中すると、違和感が多少残っているかな、という程度です。 これは朝キウィフルーツとリンゴをナイフで剥いているときに起こった事故です。この2種の

    ナイフで果物を切っているときに手を滑らせて全治一ヶ月の切り傷を負った - Islands in the byte stream
    gfx
    gfx 2022/12/16
    この件、ちゃんと記録しておかないと忘れてしまうなと思ったので備忘録がわりにブログにした。
  • 4ヶ月の育休をとる - Islands in the byte stream

    2022年の6月に第二子であるrfxを受け入れました。それに伴い、11月最終週から4月第1週いっぱいまで、約4ヶ月の育休をとることにしました。 第一子であるmfxのときは育休はとらなかったので、はじめての育休です。なんならプログラマーとして働き始めてから十余年、1ヶ月以上休みをとるのは初めてです。 rfxが産まれてからこのかた、認知的に高負荷な状態が続いていて、そのわりには仕事にも全然集中できなくてけっこうしんどい思いをしていたので、ここで育休をとって育児に専念できるようになるのは正直ほっとします。一方で、育休給付金を踏まえても収入が激減すること、4ヶ月の間キャリアを休止することについては不安もあります*1。 とくに収入については結構苦しいところです。育休給付金は雇用保険でまかなっていて、年々改善はしてきていますが、支払い上限が1ヶ月約30万円までとなってるからです。一方で、夫婦どちらも育

    4ヶ月の育休をとる - Islands in the byte stream
    gfx
    gfx 2022/12/05
    blogged / 第一子のハンドルネームの由来はイニシャル (M. F.) です。第二子は第一子とイニシャルが被ってしまったので他の家族と被らない1字を採用しました。
  • BPF CO-RE は GitHub Actions の Ubuntu 20.04 インスタンスでテストできそう - Islands in the byte stream

    BPF CO-RE (CO-RE: Compile Once , Run Everywhere) を実行するにはLinux kernelがBTF (BPF Type Format) つきでビルドされている必要があります。 Ubunt 20.04 の最初のリリースではBTFは有効になっていませんでしたが、アップデートで配信されているカーネル 5.13.0-39-generic ではBTFが有効なのでカーネルのアップデートをするだけでBPF CO-REが使えます。 GitHub Actionsの場合、デフォルトのカーネルではなくAzureのためのカスタムカーネルですが、こちらも最近のインスタンスはBTFが有効になっているので、特別なことをしなくても BPF CO-RE をテストできそうです。 github.com ci.yml - workflow file、ただし実際には make を呼ぶだ

    BPF CO-RE は GitHub Actions の Ubuntu 20.04 インスタンスでテストできそう - Islands in the byte stream
    gfx
    gfx 2022/04/07
    blogged
  • Firefoxの「プライバシーとセキュリティ」の設定を変えたらアプリの再起動が必要 - Islands in the byte stream

    追記: これをしてもはてなブログのヘッダでログイン状態にならない現象が起きてしまうようです。もはやFirefoxのバグなのかはてなブログのバグなのかわかりませんが…。 Firefoxの「プライバシーとセキュリティ」を変えると次のようにタブの再読み込みを行うUIが出ますが、少なくともFirefox v98現在はタブの再読み込みだけではなく Firefox自体の再起動が必要です。 そうしないと少なくとも一部のクッキーの挙動などが変わり、「はてなブログ」のヘッダではてなアカウントがログイン状態にならないようです(はてなブログはFirefoxのプライバシー設定が「厳格」だとヘッダがログイン状態になりません)。 このせいでずっとはてなブログがFirefox未対応だと勘違いしていたのですが、実際にはどうもFirefoxのバグっぽいなということがわかった次第です。

    Firefoxの「プライバシーとセキュリティ」の設定を変えたらアプリの再起動が必要 - Islands in the byte stream
    gfx
    gfx 2022/03/30
    メモを書いた。
  • GitHub Pull-ReqでCIの完了をデスクトップ通知するChrome拡張 "WatchRaptor" を作った - Islands in the byte stream

    Chrome Web Store chrome.google.com 使い方ですが、GitHub PR pageに次のようにCI statusにcheckboxが現れるので、完了通知がほしいCI statusにチェックをつけるだけ。 チェックされたCI statusが完了(success or failure)になると、次のようなデスクトップ通知が出ます。この完了したときの通知をクリックすると該当のGitHub PR pageのタブをアクティブにします。 tab idごとにcheck状態をもっているので、リロードしてもtabごとのcheck状態は維持されます。 現在(v0.9.2)の機能はこれだけです。既知のバグとして、GitHubのPR画面で差分をみたりdiscussionに戻ったりしているとcheckboxが出ないことがありますが、そういう場合はリロードするとcheckboxが出ると思

    GitHub Pull-ReqでCIの完了をデスクトップ通知するChrome拡張 "WatchRaptor" を作った - Islands in the byte stream
    gfx
    gfx 2022/01/20
    blogged
  • M1 Mac + Intel NUC (mini PC) で快適AMD64 Linux生活 - Islands in the byte stream

    2021年現在、M1 MacDockerを使うのが大変という話がちょいちょいあります。 個人的な事情でいうと、私は現在、AMD64 Linuxでしか動かせないソフトウェアを開発していて、Dockerもちょいちょい使う、という感じです。なのでAMD64 MacでVMWareを使ってUbuntu VMを使って開発しています。 一方で、新規で購入できるMacbook ProがM1しかない、デスクトップマシンとしてWindowsやUbuntuを使うことにまだ踏ん切りがつかない(なんだかんだで10年Mac仕事をしてきているので…)ということもあり、どうしたものかと思っていましたが、会社が開発機としてIntel NUCを用意しているというので申請して導入したことで、一気に諸問題が解決しそうだなというところに至りました。 Intel NUCはIntelが作っているmini PCで、サイズ的には幅12

    M1 Mac + Intel NUC (mini PC) で快適AMD64 Linux生活 - Islands in the byte stream
    gfx
    gfx 2021/12/22
    blogged
  • set -eのもとで特定のコマンドの終了ステータスを変数に入れるシェルスクリプトのスニペット - Islands in the byte stream

    課題編 シェルスクリプトで「あるグローバルな状態を変える操作を行い、その結果をチェックし、状態をもとに戻す」みたいなタスクをするときに「その結果をチェックし」のところでコマンドの終了ステータスを変数に入れて置きたいみたいなことがあります。例えば、次のようなコマンド操作です。 set -e # グローバルな状態を変える操作を行う git merge --no-ff --no-commit $main_branch || true # 結果をチェックしてexit codeを変数に入れる git diff --cached --exit-code --quiet ; code=$? # グローバルな状態をもとに戻す git merge --abort # 上位プロセスに結果を渡す exit $code スクリプト全体には set -e (コマンドが失敗するとシェルスクリプトが即座に終了する)を効

    set -eのもとで特定のコマンドの終了ステータスを変数に入れるシェルスクリプトのスニペット - Islands in the byte stream
    gfx
    gfx 2021/12/15
    blogged
  • Findy Engineer Labに Individual Contributor の話を寄稿しました - Islands in the byte stream

    engineer-lab.findy-code.io 詳細は記事を読んでいただきたいのですが、おかげさまで「ICという役割を初めて知った」「自分もIC的な働き方をしたいのだと分かった」という感想が複数みられたので、この記事を書いた甲斐はあったなあと思います。 一方でやや誤解というか説明が不十分だったかなと思うのが、「ICを役割としておいている企業では、ICはプレイヤーのデフォルトの役割である」ということです。Fastlyではそうですし、たぶんICを置いている他の企業でもそうです。ICはスタープレイヤーだけに許された特別な働き方では決してありません。私はIC的に働いてきて今後もICで行きたいと思いますが、ICと管理職(ピープルマネージャ)を行き来するという選択をとってもいいですし、むしろICとピープルマネージャを行き来するほうがICとしての成長に繋がりますよという主張もあります。 ともあれ私

    Findy Engineer Labに Individual Contributor の話を寄稿しました - Islands in the byte stream
    gfx
    gfx 2021/11/19
    blogged
  • GitHub ActionsからGitHub wikiを更新する - Islands in the byte stream

    GitHub ActionsからGitHub wikiを更新したいことがたまにあります。たとえば、何かのメトリクスを見やすく整形したものなど、repositoryのデータを何らかの形で加工したドキュメントを作りたいときです。コード生成したmarkdownドキュメントをコミットしてもいいですが、それよりはシンプルで運用が楽です。 今回は、GitHub repoで管理する原稿の文字数(など)を継続的に見れるページを作ると便利かなと思って作りました。自分一人だったらローカルで適当なツールを叩けばいいですが、同repoを見れる編集者にも共有したいとなると独立したページがあるほうが便利ですからね。 リポジトリはこんな感じです。 github.com 基的には、 actions/checkout を使って "${{ github.repository }}.wiki" をcloneして編集してpus

    GitHub ActionsからGitHub wikiを更新する - Islands in the byte stream
    gfx
    gfx 2021/07/04
    blogged
  • Kindle Fire HD 10" が固定レイアウト書籍やPDFを読むのにとてもよい件 - Islands in the byte stream

    クリスマスプレゼントからもらったKindle Fire HD 10"が思いの外よくて快適だなという話です。 Kindle Fire HD 10" (amazon.co.jp) これまで電子書籍リーダーとしてはE-InkのKindleをここ数年ずっと使っていて、それはそれで軽量&電池長持ち&目に優しい仕様で十分に満足しているのですが、E-Ink端末は画面が小さくて固定レイアウトの書籍がとても読みづらいのです。というか、あまりに読みづらいので買っても読まないし、だんだん買わなくなってきたというのが実情でした。 物理書籍にはペラペラめくりやすいなどのいい面があることは重々承知しているのですが、とにかく物を増やしたくないし、手軽に手に取れる端末とちがって物理書籍を読む心理障壁もだんだん上がってきたなかで、(統計はとってませんが感覚として)電子書籍のほうが読了する率が上がってきていました。ここ数

    Kindle Fire HD 10" が固定レイアウト書籍やPDFを読むのにとてもよい件 - Islands in the byte stream
    gfx
    gfx 2020/12/28
    blogged
  • h2ologにみるBPF toolsの構造と設計 - Islands in the byte stream

    最近はお仕事で h2olog を開発しています。これはC++で書いたBPF toolsで、H2Oに組み込まれたUSDTが出力するイベントをトレースするためのツールです。 具体的にはこんな感じで使ってH2OプロセスをトレースしてJSON-Linesにして出力します: # QUICを有効にした H2O serverが起動しているとして $ sudo h2olog quic -p "$(pgrep -o h2o)" {"type":"accept","seq":1,"conn":2,"time":1594471121930,"dcid":"9546e6940ebeec5f"} {"type":"crypto-decrypt","seq":2,"conn":2,"time":1594471121930,"pn":0,"decrypted-len":1236} {"type":"quictrace-

    h2ologにみるBPF toolsの構造と設計 - Islands in the byte stream
    gfx
    gfx 2020/07/11
    blogged
  • アデノウィルス感染症の後遺症で長期の視力障害を経験した - Islands in the byte stream

    追記 (2021年12月): このエントリを書いた当初、1年経過時点では完全に回復しきったとは言い難くて、エディタのフォントサイズを16ptくらいにしていたのですが、3年たってようやく完全回復してフォントサイズを14にしました。長かった…。 アデノウィルスによる流行性角結膜炎という病気がありまして、これに保育園〜子供経由で感染した*1結果、しばらく視力障害になりました。 一年半経過した今はほとんど回復していますが、一番悪いときでメガネをしていても両目ともに視力0.1程度といった様相でした。これは角膜が濁っているので、目を凝らしたり近づけたりしてもはっきり見えたりはしません。この視力だと、ディスプレイを使った仕事はまともにできないし、スマホの文字を読むことすら困難で、日常生活にも支障がありました。この視力障害が重い状態が半年は続いて、そのあと1年くらいかけて徐々に回復したわけですが、けっこう

    アデノウィルス感染症の後遺症で長期の視力障害を経験した - Islands in the byte stream
    gfx
    gfx 2020/03/27
    日記です