GPG(OpenPGP)鍵管理・運用ベストプラクティスガイド

項目 推奨設定・結論 理由・備考
アルゴリズム Ed25519 (署名) / Cv25519 (暗号化) 軽量・高速かつ十分な安全性。RSA 4096bitは処理負荷と鍵長サイズの観点から非推奨へ移行
マスターキー運用 Certify (証明) のみ / オフライン隔離 日常運用での盗難リスク排除。ローカル表示は sec# となる状態を構築
サブキー構成 Sign (署名), Encrypt (暗号化), Authenticate (認証) 用途別にサブキーを分離。個別の失効・更新を可能にする
有効期限 1〜2年(定期的に延期運用) 鍵紛失時の有効期限切れによる自動無効化を担保。マスターキーからいつでも延長可能
信用設定 移行先で Ownertrust = 5 (ultimate) を再設定 秘密鍵インポートのみでは自身の鍵としてフル信用されないため必須

Windows11 + Realtek 8822CE の設定

「青い蟹と窓」

重要事項

本記事は個人の経験による問題解決方法を記録したものです。 情報が正確であることを確約するものではないことをご理解下さい。

操作手順や画面表示は執筆時のものです。バージョンやモデルによって、異なっている場合があります。

経緯

Wireless LAN アダプタとして Realtek 8822CE Wireless LAN 802.11ac PCI-E NIC が搭載されている ノート PC (ASUS製 購入時 Windows10) を使用しています。

困ったことに、OS を Windows10 から Winsows11 に入れ替えた後から、このデバイスが不安定な動作をするようになりました。 時間経過で Wifi 接続が切れて失われ、場合によってはデバイスマネージャーにも表示されなくなります。

いろいろと調べてみたものの上手くいかず、今までは Wireless LAN USB アダプタを別に購入して、Realtek 8822CE は無効化していました。

今回、ドライバ周りを改めて見直してみたところ、(もしかしたら) 安定動作に成功した (かもしれない) ので、記事として残します。

WSL2の覚書

WSL2とは?

Linux 用 Windows サブシステムです。

Windows で GNU/Linux を使用できる仮想環境となってます。

一次情報源

Microsoft / Windows Subsystem for Linux に関するドキュメント

注意事項

  1. 2024/10 時点の Windows 11, version 23H2 で確認しています。
  2. コマンドは管理者として実行したターミナル (PowerShell) で入力します。

太陽と地球と月と宇宙船

Bloggerのデザインを換えました

このBloggerのデザインに関しては、 いじくり回しても切りがない上に、思うように変更できないので妥協して放置していたのですが、 さすがに自分でも見難いなという思いが山積してしまったため、手直ししました。

いかがなものでしょうか。

こっちが本題に見せかけるためのネタ

流石にしれっとデザイン変更だけするのも気が引けたもので、 アニメーションでもやろうと、Javascriptで行列を使ってみました。

Rust製 Discordでサイコロを振れるチャットボット 「Aizuna」

ご無沙汰しています。前回の投稿から、だいぶ間が空いてしまいました。

Aizuna

今回は、Rust言語を使ってチャットサービス上でサイコロを振れるチャットボットを作りました。

名称は「Aizuna」です。

Rustで記述されているのが特徴です。

Haxeでお手軽ゲーム製作 ライツアウト

ライツアウト

Web上で動くものをお手軽に作りたくなりました。

クロスプラットフォームツールキットである Haxe で OpenFL というものを使うと、ゲームの様なメディアコンテンツが Windows, macOS, Linux, iOS, Android, Flash そして HTML5に出力できるそうです。

試しに有名なライツアウトを作ってみました。 さっそくHTML5で出力。

Haskell / 数字4つで10を作れ (3)

前回からの続きです。

  • 4つの数と3つの四則演算(×÷+−)を組み合わせて、答えが10になるような計算式を作れ。
  • 数字、演算ともに重複あり。
  • 単一の負符号はなし。

Octocat GitHub hanepjiv/make10_hsでソースコードを公開しています。

テスト環境

順番が前後しますが、実装時にはテスト環境を構築して利用しました。

開発中はテストを行ないながら、少しづつ機能を拡張していきます。

Haskell / 数字4つで10を作れ (2)

前回からの続きです。

  • 4つの数と3つの四則演算(×÷+−)を組み合わせて、答えが10になるような計算式を作れ。
  • 数字、演算ともに重複あり。
  • 単一の負符号はなし。

Octocat GitHub hanepjiv/make10_hsでソースコードを公開しています。

実装の解説

使用した言語拡張機能
{-# LANGUAGE     ScopedTypeVariables
   , OverloadedStrings
   , GADTs
   , Safe
   #-}

各ソースコードの最初に上記を指定しています。

Haskell / 数字4つで10を作れ (1)

以前の投稿 Python / 数字4つで10を作れ で、 make10 / メイクテン に挑戦しました。(== 切符パズル == 10puzzle / テンパズル とも。)

次のようなパズルです。

  • 4つの数と3つの四則演算(×÷+−)を組み合わせて、答えが10になるような計算式を作れ。
  • 数字、演算ともに重複あり。
  • 単一の負符号はなし。

以前は Python で解いたこのパズルを Haskell でやってみます。

数字を4つ入力すると、「10になる計算式」を出力するプログラムを作ります。

AdSense / Bloggerで長期間 AdSense が承認されない場合

この度、AdSenseを導入致しました。

際して、AdSenseの承認を得るまでに、だいぶ嵌り込んでしまいました。

同様にお困りの方もいるのではないかということで、経緯を残そうと思います。

嵌った状況

「ご使用の AdSense アカウントは承認待ちの状態です。」

陥ったのは、[Blogger]の[収益]タブを開くと、上記のようなメッセージがでたまま、承認プロセスが (少なくとも1週間以上) 進行しないという状態です。 同様の状況の方は以降の手順で改善するかもしれません。

※ 注意!
「現在、あなたのブログには AdSense に承認されていません。」

上記のように表示されて[AdSenseに登録]ボタンが無効化(グレーアウト)されている場合は、 「記事の総数が足りない」等の理由で参加要件を満たしていない状態です。 当然この場合、この記事の手順に従っても無意味です。

Python / 数字4つで10を作れ

「重複ありの4つの数と、四則演算(×÷+−)を組み合わせて、答えが10になるような計算式を作れ」 というパズルに挑戦してみました。

切符パズルやmake10(メイクテン), 10puzzle(テンパズル)などの名前があるそうで、 GoogleのNexus7のコマーシャルに登場して、よく知られている様です。

条件として

  • 単一の負符号はなし
でやります。

Python3.4で挑戦

$ ./make10.py
# Enter the 4 numbers
>>> 1
>>> 1
>>> 5
>>> 8
# 1 (8 ÷ (1 - (1 ÷ 5))) == 10

shell / 入力を非表示にする

何回か「???」となって、その都度、検索してしまったので、忘れないようにメモ。

エコーバックを無効にする


stty -echo

エコーバックを有効にする


stty echo

ipythonを使っていたら、勝手に入力が非表示になってたことがありました。なんでだろ?

GLSL / WebGLでレイマーチング

現実逃避的にWebGLのGLSLでレイマーチングをやってみました。

下記のstartを押すとJavascriptからWebGLが作動します。 Chomium 40.0 とFirefox 34.0 で動作確認しています。 3D対応のグラフィックカードが必要です。

C/C++ / Pythonを組み込む

アプリケーションにPythonを組み込むサンプルです。

Python 3.3, boost 1.55で実装しました。

要求

  1. shared library(DLL)を作らない
  2. C/C++から外部へモジュールをexportする (== 外部から、C/C++内のモジュールをimportする)
  3. C/C++内から、文字列としてPythonスクリプトを実行する
  4. C/C++内から、外部のモジュールをimportする
  5. Pythonとboost::pythonのみを使用する
  6. C/C++クラスはnoncopyableである
  7. shared_ptr, intrusive_ptrに対応する
  8. factory, addref, releaseを持つクラスに対応する

C/C++ / cast構文にカンマ式を渡して嵌った

さて、失敗談です。

カンマ「,」とコンマは一緒なので、ここではカンマで統一します。

C++にはcast構文があります。

  • static_cast
  • reinterpret_cast
  • const_cast
  • dynamic_cast

これらのキャストは関数ではなく構文なので、カンマ式を渡すことができます。

nginx で vhost の設定 / uwsgi と fpm-php

完全に備忘録です。

実用サーバではなくテスト動作用のローカル環境の設定メモとして残します。 セキュリティ的なことにはまったく触れていないので注意。 あくまで、手元でwordpressやwsgiをいじってみただけの設定です。

コンパイルジャンキー入門 「ねっ!今夜は徹夜でナイトリービルドしよっ!!」

さて、今回はコンパイルについてです。

Gentoo Linuxを使用していると、毎日のコンパイルのおかずには事欠くことはありません。

もちろん、紳士淑女の嗜みですから"emerge --sync"を打つのは1shot/1dayLANは守ってますよね。 一つのLAN内からのemergeは一台のGentooから一日一回。 他のGentooは、shotした一台のportageをrsyncで参照しましょう。

C/C++ / Python風のデコレータを書いてみたい ── Buffered Loop

前回からの続きです。

デコレータを「テンプレートを使って関数ポインタと関数オブジェクトを受け取り、値を返す関数」として定義しました。 また、新しい名前を付けるために移譲する関数や関数オブジェクトを作りました。

これを使って次のような要求を実装してみようと思います。

要求

  • streamから読みとった値を加工してstreamに流したい。
  • この時、全てを読み込んでから加工するとバッファから溢れてしまうので、 一定サイズ毎にステップで処理したい。
  • 加工方法は複数あるが、バッファの取り回しを共通化したい。

C/C++ / Python風のデコレータを書いてみたい ── テンプレート

前回からの続きです。

テンプレートを使います。みんなが大好きな奴です。

関数ポインタと関数オブジェクトを処理できるデコレータを書きます。

C/C++ / Python風のデコレータ(decorator)を書いてみたい ── 関数オブジェクト

前回からの続きです。

今回は、関数オブジェクトについてです。 関数オブジェクトは、operator ()を定義したオブジェクトのことです。 C++のオブジェクトはstructかclassで定義します。