memo.xight.org

日々のメモ

浮動小数点数 (float 型) の仕組みを学べるアプリ

Summary

インタラクティブに浮動小数点の仕組みを学習できるWebアプリ。
符号部、指数部、仮数部のビットを操作して、Floatの値、実際の値を確認できる。



Reference

siv3d.jp - 浮動小数点数 (float 型) の仕組みを学べるアプリ
https://siv3d.jp/web/sample/IEEE754Float32/IEEE754Float32.html

via

twitter - reputeless - 2022-06-29 23:58
https://twitter.com/reputeless/status/1542160459658416129

Homebrewで使われてない formula を特定する

Summary

Homebrew で使われていない formula を整理したい。

依存しているパッケージ数を表示

brew uses  --installed PACKAGE | wc -l


CPUコア数 - 1 の数値を表示 (並列実行時に利用)

echo `expr $(sysctl -n hw.ncpu) - 1`


プロセス数 (CPUコア数 - 1) で、xargs 以降を並列実行。

brew list | xargs -P`expr $(sysctl -n hw.ncpu) - 1` -I{} sh -c 'brew uses --installed {} | wc -l | xargs printf "%20s is used by %2d formulae.\n" {}'


homebrew-rmtree で依存関係のない formula を削除 (libx11)

brew rmtree libx11
==> Examining installed formulae required by libx11...
 \  5 / 6

Can safely be removed
----------------------
libx11
libxcb
libpthread-stubs
libxau
libxdmcp
xorgproto

Proceed?[y/N]: y
==> Cleaning up packages safe to remove

Uninstalling /opt/homebrew/Cellar/libx11/1.7.3.1... (1,055 files, 7MB)
Uninstalling /opt/homebrew/Cellar/libxcb/1.14_1... (2,452 files, 7.3MB)
Uninstalling /opt/homebrew/Cellar/libpthread-stubs/0.4... (5 files, 6.6KB)
Uninstalling /opt/homebrew/Cellar/libxau/1.0.9... (20 files, 135.7KB)
Uninstalling /opt/homebrew/Cellar/libxdmcp/1.1.3... (11 files, 141.8KB)
Uninstalling /opt/homebrew/Cellar/xorgproto/2021.5... (264 files, 3.9MB)


Reference

by and for engineers - 2020-05-09 - Homebrew で使われていない formula を削除する
https://yulii.github.io/brew-cleanup-installed-formulae-20200509.html

GitHub - beeftornado / homebrew-rmtree
https://github.com/beeftornado/homebrew-rmtree

Google Chrome から 10080番ポートに接続しようとして ERR_UNSAFE_PORT エラー

Summary

ローカルの開発環境で Chrome 経由で10080番ポートに接続できない。
telnetでは, Webサーバからの応答が返ってくるが、Chrome経由だと ERR_UNSAFE_PORT エラーが発生する。

% telnet 127.0.0.1 10080
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
GET /
...
...
Connection closed by foreign host.

Chrome側で、安全ではなさそうな通信をブロックしているようだ。
(NAT Slipstreaming v2攻撃への対策とのこと)

chromium の port_util.cc を参照

1,      // tcpmux
7,      // echo
9,      // discard
11,     // systat
13,     // daytime
15,     // netstat
17,     // qotd
19,     // chargen
20,     // ftp data
21,     // ftp access
22,     // ssh
23,     // telnet
25,     // smtp
37,     // time
42,     // name
43,     // nicname
53,     // domain
69,     // tftp
77,     // priv-rjs
79,     // finger
87,     // ttylink
95,     // supdup
101,    // hostriame
102,    // iso-tsap
103,    // gppitnp
104,    // acr-nema
109,    // pop2
110,    // pop3
111,    // sunrpc
113,    // auth
115,    // sftp
117,    // uucp-path
119,    // nntp
123,    // NTP
135,    // loc-srv /epmap
137,    // netbios
139,    // netbios
143,    // imap2
161,    // snmp
179,    // BGP
389,    // ldap
427,    // SLP (Also used by Apple Filing Protocol)
465,    // smtp+ssl
512,    // print / exec
513,    // login
514,    // shell
515,    // printer
526,    // tempo
530,    // courier
531,    // chat
532,    // netnews
540,    // uucp
548,    // AFP (Apple Filing Protocol)
554,    // rtsp
556,    // remotefs
563,    // nntp+ssl
587,    // smtp (rfc6409)
601,    // syslog-conn (rfc3195)
636,    // ldap+ssl
993,    // ldap+ssl
995,    // pop3+ssl
1719,   // h323gatestat
1720,   // h323hostcall
1723,   // pptp
2049,   // nfs
3659,   // apple-sasl / PasswordServer
4045,   // lockd
5060,   // sip
5061,   // sips
6000,   // X11
6566,   // sane-port
6665,   // Alternate IRC [Apple addition]
6666,   // Alternate IRC [Apple addition]
6667,   // Standard IRC [Apple addition]
6668,   // Alternate IRC [Apple addition]
6669,   // Alternate IRC [Apple addition]
6697,   // IRC + TLS
10080,  // Amanda

Reference

chromium / chromium / src.git / refs/heads/main / . / net / base / port_util.cc
https://chromium.googlesource.com/chromium/src.git/+/refs/heads/main/net/base/port_util.cc

Zenn - ota42y - 2021-05-28 - Web Application開発に10080番ポートは使ってはいけない
https://zenn.dev/ota42y/articles/127fee3353bafe

GitHub - whatwg / fetch - Issues #1191 Should we block port 10080?
https://github.com/whatwg/fetch/issues/1191

ASnoKaze blog - 2021-01-29 - NAT Slipstreaming v2 攻撃とブラウザ側の対策
https://asnokaze.hatenablog.com/entry/2021/01/29/014759

ARMIS - Research - NAT Slipstreaming v2.0
https://www.armis.com/research/nat-slipstreaming-v20/

via

superuser - Which ports are considered unsafe by Chrome?
https://superuser.com/questions/188058/which-ports-are-considered-unsafe-by-chrome/188070

マイナンバーカード出張申請

Summary

出張申請受付会場で申請すると、マイナンバーカードを窓口で受け取る際に、
対象者1人につき板橋区内共通商品券2,000円分をプレゼントとのこと。

不明な点があったので、電話で問い合わせてみた。

QA

Q1. 出張申請に必要なものは?
A1. 特にない。証明写真がなければ、その場で撮影可能。

Q2. 保護者がこどもの申請を出張申請で行なえるか?
(こども本人がいなくても申請可能か?)
A2. 証明写真があれば、保護者のみで可能。

Q3. 交付申請書が手元にあるが、記入して持参しても
出張申請特典の板橋区内共通商品券が受け取れるか?
A3. はい。

Q4. 証明写真は持参して利用できるか?
A4. はい。

Q5. こどもの申請書の「申請者氏名」の欄にはこどもの氏名を書くのか?
A5. こどもの氏名と保護者の氏名を併記
さらに「代理人記載欄」に保護者の連絡先などを記載する。

Reference

板橋区 - 2021-10-26 - マイナンバーカード出張申請受付について
https://www.city.itabashi.tokyo.jp/tetsuduki/koseki/mynumber/1033534/1035239.html

Office for Macの配色パターン、フォントファイルの場所

Summary

カスタマイズした配色パターン、フォントの名前を変更しても適用されない。
配色パターン、フォントのファイル名を変更することで、名前を変更することができる。

配色パターンファイルの場所

$HOME/Library/Group Containers/UBF8T346G9.Office/User Content.localized/Themes.localized/Theme Colors

フォントのファイルの場所

$HOME/Library/Group Containers/UBF8T346G9.Office/User Content.localized/Themes.localized/Theme Fonts

TeX + 日本語フォント

Summary

macOS付属の non-freeなフォントをLaTeXで使うためのツールやファイルは、TeX Live本体にはなく、TLContribにある

TLContribリポジトリの追加

% tlmgr repository add https://contrib.texlive.info/current tlcontrib
tlmgr: added repository with tag tlcontrib: https://contrib.texlive.info/current

% tlmgr pinning add tlcontrib '*'
tlmgr: package repositories
        main = http://mirror.ctan.org/systems/texlive/tlnet (verified)
        tlcontrib = http://contrib.texlive.info/current (verified)
tlmgr: new pinning data for tlcontrib: *

% curl -fsSL https://www.preining.info/rsa.asc | tlmgr key add -
tlmgr: key successfully imported

% tlmgr repository status
tlmgr: package repositories
        main = http://mirror.ctan.org/systems/texlive/tlnet (verified)
        tlcontrib = http://contrib.texlive.info/current (verified)
main https://ftp.kddilabs.jp/CTAN/systems/texlive/tlnet/tlpkg/texlive.tlpdb verified
tlcontrib http://contrib.texlive.info/current/tlpkg/texlive.tlpdb verified

% tlmgr install japanese-otf-nonfree japanese-otf-uptex-nonfree ptex-fontmaps-macos cjk-gs-integrate-macos

% cjk-gs-integrate --link-texmf --cleanup --force
cjk-gs-integrate: reading font database ...
cjk-gs-integrate: searching for Ghostscript resource
cjk-gs-integrate: going to clean up /opt/homebrew/share/ghostscript/9.54.0/Resource
cjk-gs-integrate: cleaning up all links, snippets and cidfmap.local ...
cjk-gs-integrate: removing cidfmap.local from cidfmap file ...
cjk-gs-integrate: removing snippets and cidfmap.aliases for font aliases ...
cjk-gs-integrate: removing cidfmap.aliases from cidfmap file ...
cjk-gs-integrate: running mktexlsr ...
mktexlsr: Updating /usr/local/texlive/2021/texmf-config/ls-R...
mktexlsr: Updating /usr/local/texlive/2021/texmf-dist/ls-R...
mktexlsr: Updating /usr/local/texlive/2021/texmf-var/ls-R...
mktexlsr: Updating /usr/local/texlive/texmf-local/ls-R...
mktexlsr: Done.
cjk-gs-integrate: finished

% cjk-gs-integrate-macos --link-texmf --force
cjk-gs-integrate [WARNING]: Our built-in database does not support recent
cjk-gs-integrate [WARNING]: versions of Mac OS (10.8 Mountain Lion or later)!
cjk-gs-integrate [WARNING]: If you want to use Hiragino fonts bundled with
cjk-gs-integrate [WARNING]: your OS, obtain external database file and
cjk-gs-integrate [WARNING]: specify it with --fontdef-add option!
cjk-gs-integrate [WARNING]: I'll continue with my built-in database ...
cjk-gs-integrate: reading font database ...
cjk-gs-integrate: checking for files ...
cjk-gs-integrate: searching for Ghostscript resource
cjk-gs-integrate: output is going to /opt/homebrew/share/ghostscript/9.54.0/Resource
cjk-gs-integrate: generating links and snippets for CID fonts ...
cjk-gs-integrate: generating links, snippets and cidfmap.local for non-CID fonts ...
cjk-gs-integrate: adding cidfmap.local to cidfmap file ...
cjk-gs-integrate: generating snippets and cidfmap.aliases for font aliases ...
cjk-gs-integrate: adding cidfmap.aliases to cidfmap file ...
cjk-gs-integrate: running mktexlsr ...
mktexlsr: Updating /usr/local/texlive/2021/texmf-config/ls-R...
mktexlsr: Updating /usr/local/texlive/2021/texmf-dist/ls-R...
mktexlsr: Updating /usr/local/texlive/2021/texmf-var/ls-R...
mktexlsr: Updating /usr/local/texlive/texmf-local/ls-R...
mktexlsr: Done.
cjk-gs-integrate: finished

% mktexlsr
mktexlsr: Updating /usr/local/texlive/2021/texmf-config/ls-R...
mktexlsr: Updating /usr/local/texlive/2021/texmf-dist/ls-R...
mktexlsr: Updating /usr/local/texlive/2021/texmf-var/ls-R...
mktexlsr: Updating /usr/local/texlive/texmf-local/ls-R...
mktexlsr: Done.


% kanji-config-updmap-sys status
CURRENT family for ja: ipaex (variant: <empty>)
Standby family : ipa
Standby family : ms
Standby family : yu-win10


via

つーさにブログ - 2020-05-12 - macOSでLaTeX環境 (install-tlを使って)
https://tsuu32.hatenablog.com/entry/2020/05/12/190000

明治大学 - 桂田 祐史 - 2 MacTeX 2021を待つ …M1対応バージョン やって来ました!
http://nalab.mind.meiji.ac.jp/~mk/knowhow-2021/node2.html

Macbook Air Mid 2012 に Ubuntu 20.04 をインストール

Summary

Macbook Air Mid 2012 に Ubuntu 20.04 + Minecraft, MultiMCをインストールしたい。
起動音の消去など、macOSからのみ行える操作があるため、macOSとのデュアルブートとしたい。

ディスクユーティリティでパーティションを分割。
Etcherを使って、USBメモリにUbuntu 20.04のインストールファイルを書き込む。
ブートローダー rEFInd をインストールしておいたほうが良いらしいので、事前にインストール。

ブートローダー rEFInd をインストール

1. rEFIndのダウンロード、展開
2. Macをリカバリーモードで起動 (Command + R)
3. T2チップ搭載のMacの場合は、起動セキュリティをOFFに変更
4. rEFIndのインストール
5. 再起動

リカバリーモードでは、/Users 以下がマウントされていない。
ディスクユーティリティで refild-bin を展開したHDDをマウントする。

cd /Users/USERNAME/Downloads/refind-bin-X.XX.X
./refind-install


Ubuntuインストール

インストールの初期画面で、日本語を選択すると、パーティションの設定画面でウィンドウがはみ出てしまうので、英語表示にしておく。

Updates and other software で Install thrd-party software ... にチェックを入れる。

Installation type で Something else を選択する。
Erase disk and install Ubuntu を選択すると、ディスク全体がフォーマットされてしまう。

macOSがインストールされているパーティションはそのままにしておく。
ext4でフォーマット、 / にマウントするように設定。
Ubuntuをインストールするパーティションにブートローダをインストールする。

Ubuntu側の Setting - Sharing - Screen Sharing が表示されない

sudo apt install vino


Vinoの暗号化を解除

gsettings set org.gnome.Vino require-encryption false


Minecraftのインストール

sudo apt install default-jre
sudo apt --fix-broken install
sudo dpkg -i Minecraft.deb


MultiMCのインストール

sudo apt install libqt5widgets5 libqt5gui5
sudo apt --fix-broken install
sudo dpkg -i multimc_1.5-1.deb


Reference

Kobe's Public Scrapbox - Macbook AirにUbuntu 18.04を入れてみたときのメモ(OSインストール編)
https://scrapbox.io/kb84tkhr-pub/Macbook_Air%E3%81%ABUbuntu_18.04%E3%82%92%E5%85%A5%E3%82%8C%E3%81%A6%E3%81%BF%E3%81%9F%E3%81%A8%E3%81%8D%E3%81%AE%E3%83%A1%E3%83%A2%EF%BC%88OS%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E7%B7%A8%EF%BC%89

Trick or Think? - 2020-01-23 - Macbook Air (2011 mid) に Ubuntu 18.04 LTS を入れてサブ機にする際の設定メモ
http://tricken.hatenablog.com/entry/Macbuntu

Qiita - @hktmtsk - 2018-12-26 - MacでUbuntu18.04LTSのブートUSBを作成する
https://qiita.com/hktmtsk/items/0bacdd144365c2da1165

Ubuntu - Tutorials - Install Ubuntu Desktop
https://ubuntu.com/tutorials/install-ubuntu-desktop

LFI - 2020-04-27 - Ubuntu 20.04 LTSインストールガイド
https://linuxfan.info/ubuntu-20-04-install-guide

python3.9.4 + pyenv + homebrew

Summary

% pyenv install 3.9.4
python-build: use openssl@1.1 from homebrew
python-build: use readline from homebrew
Downloading Python-3.9.4.tar.xz...
-> https://www.python.org/ftp/python/3.9.4/Python-3.9.4.tar.xz
Installing Python-3.9.4...
python-build: use readline from homebrew
python-build: use zlib from xcode sdk

BUILD FAILED (OS X 11.3 using python-build 1.2.26-9-g2924886a)

Inspect or clean up the working tree at /var/folders/ys/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/T/python-build.YYYYMMDDhhmmss.nnnnn
Results logged to /var/folders/ys/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/T/python-build.YYYYMMDDhhmmss.nnnnn.log

Last 10 log lines:
/var/folders/ys/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/T/python-build.YYYYMMDDhhmmss.nnnnn ~/Desktop
/var/folders/ys/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/T/python-build.YYYYMMDDhhmmss.nnnnn /Python-3.9.4 /var/folders/ys/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/T/python-build.YYYYMMDDhhmmss.nnnnn ~/Desktop
checking build system type... Invalid configuration `arm64-apple-darwin20.4.0': machine `arm64-apple' not recognized
configure: error: /bin/sh ./config.sub arm64-apple-darwin20.4.0 failed


config.subにpatch をあててインストール

timestamp='2018-04-24' のconfig.sub を timestamp='2021-01-08' に変更するパッチをあてる

% pyenv install --patch 3.9.4 <<(curl -sSL https://gist.githubusercontent.com/xight/a064b1fd82a4529eb6ebbde13d95ea8c/raw/8e75b31ea3e9d4b9376e976fa9626401ae217f6c/config.patch)
python-build: use openssl@1.1 from homebrew
python-build: use readline from homebrew
Downloading Python-3.9.4.tar.xz...
-> https://www.python.org/ftp/python/3.9.4/Python-3.9.4.tar.xz
Installing Python-3.9.4...
patching file config.sub
python-build: use readline from homebrew
python-build: use zlib from xcode sdk
Installed Python-3.9.4 to /Users/username/.anyenv/envs/pyenv/versions/3.9.4


Reference

GitHub Gist - xight/config-sub.patch (2018-04-24 -> 2021-01-08)
https://gist.github.com/xight/74f84b8bde9ac6f539c3db20c2897d46

GitHub Gist - xight/config.patch config.sub (2018-04-24 -> 2021-01-08), config.guess (2018-03-08 -> 2021-01-25)
https://gist.github.com/xight/a064b1fd82a4529eb6ebbde13d95ea8c