つぶやき
技術系や雑感等は再編集して本文の記事にする事を前提としているので、こっちにLinkを張らないでください。
flet'sとFreeBSDとIPv6
気になったので、Flet'sでIPv6 addressを受け取り、通信時のPacket Sizeを調べてみる。
tcpdumpの結果、FreeBSD VM で Flet'sでIPv6を利用している場合、
Payloadサイズを1232でICMPを飛ばすと、
# ping6 -s 1232 xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:1488 PING(1280=40+8+1232 bytes) yyyy:yyyy:yyyy:yyyy:yyyy:yyyy:yyyy:d0d6 --> xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:1488 1240 bytes from xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:1488, icmp_seq=0 hlim=56 time=4.873 ms 19:19:55.947744 IP6 xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:1488 > yyyy:yyyy:yyyy:yyyy:yyyy:yyyy:yyyy:d0d6: ICMP6, echo request, id 14679, seq 0, length 1240
となるのに対し、Payloadサイズを1233でICMPを飛ばすと、
# ping6 -s 1233 xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:1488 1241 bytes from xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:1488, icmp_seq=0 hlim=56 time=5.144 ms 19:25:22.080256 IP6 yyyy:yyyy:yyyy:yyyy:yyyy:yyyy:yyyy:d0d6 > xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:1488: frag (0|1232) ICMP6, echo request, id 13461, seq 0, length 1232 19:25:22.080273 IP6 yyyy:yyyy:yyyy:yyyy:yyyy:yyyy:yyyy:d0d6 > xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:1488: frag (1232|9)
となる。
これをみる限り、Flet'sでIPv6を利用している時、IPv6のMTUは1280 (1280-48)になっているように見える。
今度 https://github.com/kazubu/netmap-tcpmss を作った理由聞かないとな…
気になった記事(20240805)
久しぶりに気になった記事を。続けるかどうかはわからない。
FreeBSDでlua54でsysctl
あんまりにもあまりだったのでmemoを。
いつか luaで色々書きたい。
LUA用のFreeBSD-sysctl moduleはすでに開発されていて、GitHUBにえて公開されている。
これをinstallするなら、pkgから
pkg install lua54-sysctl
で終わり。
以下にsample codeを
local sysctl = require("sysctl") local ip_address, err = sysctl.get("net.inet.ip.forwarding") if err then print("Error reading sysctl value:", err) else print("IP forwarding enabled:", ip_address) end
Bing CoPilotが優秀すぎた…
Dokuwiki for PHP8
PHPはversion 8以降、Codeのエラーチェックが厳しくなり、本番環境であってもWarningが表示される場合がある。
特にDokuwikiの場合、loginしている時に 大量にWarningを出力する場合があり、ちょっと気になったので、修正を行なった。
筆者の環境の場合、blog pluginがあまりよろしくないCodeのようで、Undefined array keys
が大量に出力された。
/usr/local/etc/php.iniにdisplay_errors = Off
を記述すると、この Undefined array keys系のErrorが抑制される。
この解決法は本来のCodeの品質を向上させ、Bugを減らすという意味では全く解決されておらず、ただの一時凌ぎだが、blog pluginを書き直すのはちょっと面倒なので、今回はこれで諦める。
KeyChron K5SEが届いた
今時の意識高いProgramming系の人は ANSI Keyboard を利用するのだろうが、自分のような年寄りはもう今更 ANSI Keyboardは辛い。もちろん、若い頃はANSI Keyboardを利用していたので、しばらく使えば慣れるのだろうけど、日本語入力モードの切り替えとか色々なところでイラつきが出てしまうので、あえてJISキーボードを入手した。
このキーボード、WindowsとMacの両方に対応しているのは良いのだが、切り替えが物理スイッチだったり、Aの左にCAPSがあったり、1の左に「全角・半角」キーがあったりで、ちょっと微妙な配列だった。
というわけで、自分の使いやすい配列にしようと Karabinar-Elementsを導入したのだが、その瞬間に、キーボードがANSI Keyboardとして認識されてしまったorz…
というわけでKarabinar-Elementの設定とともにいかにメモ書きを残しておく。
- Karabinar-ElementsをInstall
- 設定 → プライバシーとセキュリティ → 入力監視に以下を追加(再起動すると登録される)
- karabinar_observer
- karabinar_grabber
- karabinar-EventViewer
- 設定 → プライバシーとセキュリティ で、追加されたDeviceDriverを許可する
- 再起動
- karabinar-Elementsを起動
- 左PainのSimple Modificationを選択
- 中PainのKeychron K5SEを選ぶ
- Add Itemを押下し以下二項目を追加
- caps_lock → left_control
- A の左はCtrlじゃないと困る
- grave_accent_and_tilde(`) → escape
- 1の左はESCにしておかないとEmacs使う時に困る
- 左PainのVirtual Keyboardを選択
- Country Code 0 をJIS(Japanese)に変更
- karabinar-Elements を終了
- システム環境設定 → キーボードから「キーボードの種類を変更」を押下し、JIS Keyboardに設定
- 再起動