Emacs上でリリースノート(GNU Emacs NEWS)を確認する方法

Emacs 29.3が,2024年3月24日にリリースされています.org-mode関連のセキュリティ対策を施したリリースです

変更点の詳細は Emacs NEWS(Changelogに相当するもの)に書かれています

Emacs NEWSはemacs上で

M-x  view-emacs-news

を実行すると読めます

Web上で見る場合は,ソースツリーの etc ディレクトリを覗くと良いです
https://github.com/emacs-mirror/emacs/blob/master/etc/NEWS.29

Wi-FiパスワードをQRコードで共有する

WIFIのパスワードをQRコードで共有する方法です

QRコードを作って,SSIDとパスワードを埋め込むだけで良いのですが

  • QRコード作成サイトを使う→パスワードが流出するので好ましくない
  • スマホやPCのQRコード作成アプリを使う→面倒くさい

ということで pythonスクリプトを使う方法が個人的にはおすすめです.

QRコードの作成

原理は簡単で,以下の文字列をQRコードに変換するだけです

WIFI:S:<SSID>;T:WPA;P:<パスワード>;;

pythonで書くと3行です

import qrcode
img = qrcode.make('WIFI:S:%s;T:WPA;P:%s;;' % ("softbank002", "12345"))
img.save("wifi.png")

上記の例は

  • SSID:softbank002
  • パスワード: 12345

という設定のQRコードを生成して

というファイル名で画像を保存しています

この画像のQRコードを印刷しておけば,QRコードスマホタブレットでスキャンするだけで無線LANに接続できます

店頭のフリーWifi,自宅の来客用など,一つ用意しておくと便利です

QRコードに色をつける

色の指定もできます

オプションが増えるので コマンドライン引数で指定できるようにします

import qrcode
from argparse import ArgumentParser

parser = ArgumentParser()
parser.add_argument("ssid")
parser.add_argument("passwd")
parser.add_argument("output")
parser.add_argument("--bg", "--background", type=str, default="255,255,255")
parser.add_argument("--fg", "--forground", type=str, default="0,0,0")

args = parser.parse_args()
args.bg = tuple(int(x) for x in args.bg.split(','))
args.fg = tuple(int(x) for x in args.fg.split(','))

qr = qrcode.QRCode()
qr.add_data('WIFI:S:%s;T:WPA;P:%s;;' % (args.ssid, args.passwd))
qr.make(fit=True)

img = qr.make_image(back_color=args.bg,
                    fill_color=args.fg)

img.save(args.output)

これを wifi.py という名前で保存しておけば,例えば

  • 背景:緑(0,255,0)
  • 前景:赤(255,0,0)

で作成する場合は

$ ./wifi.py  SSID PASSWORD output.png --fg 255,0,0 --bg 0,255,0

とコマンド一発で生成できます

import qrcode でエラーが出る場合

qrcode モジュールのインストールが必要です

$ pip3 install --user qrcode