TCP Fast Open を知る

こんにちは、C とインフラの話が多い masm11 です。 今回もインフラです。 「TCP Fast Open」をご存知でしょうか? 私は知りませんでした。 今回、この機能のせいでインターネットにつながらなくなってしまったので、 ご紹介します… 背景 世の中 HTTP でなく…

Linux を Time Machine サーバにする

こんにちは、masm11 です。 最近 MacBook Air を購入しました。 新しいコンピュータを買ったら、後回しではあるものの、バックアップの設定をします。 Mac でバックアップと言えば Time Machine ですね。 しかし、新たに Time Machine サーバを買う気はしま…

Ruby のコードを読む! 別スレッドで例外を起こす

こんにちは masm11 です。 以前の記事で Timeout.timeout のコードを読みました。 記事はこちらです。 blog.ingage.jp 新たなスレッドを起動し、時間になったら元のスレッドで 例外を発生させているらしい、ということは解りました。 しかし、それだけでは s…

Linux 生コンソールで日本語を表示する

こんにちは、masm11 です。 暇に任せて Linux の生コンソール (window system が動いていない黒背景の画面を私は勝手にこう呼んでいます。window system が動いていようが、コンソールはコンソールなので…) に日本語を表示する設定をしたので、今回はそれを…

iPhone充電スタンドをMagSafe化してみた、けれど

こんにちは。Tedです。 iPhone 12から採用になったMagSafeが気になっていました。 でも私のiPhoneは11。MagSafeに対応していません。 なのでQi充電器を使う際に、あの「ピタッ」とできるのはいいなあと思っていました。 iPhone 13を購入 今回、iPhone 13を購…

systemd で zfs legacy mount の問題を解決する

こんにちは、masm11 です。 ZFS に関連した mount で苦労したのでご紹介したいと思います。 ZFS の mountpoint 設定とは ZFS は自前で mountpoint を管理しています。 zfs set mountpoint=/home/service zroot/svc などとして mountpoint を設定しておくと、…

Ruby の Timeout.timeout の実装を読む

こんにちは、masm11 です。 Ruby の Timeout モジュールは便利で、 gs = TCPServer.open(0) Timeout.timeout(5) do gs.accept end このように自由にタイムアウトを設定できます。 今回はこの実装について見ていきたいと思います。 実装を見る Ruby のバージ…