しくみ

Something holds together in a particular way. These entries reach into it — not to master, but to understand the quiet logic of how things are made.

しくみ

EthernetポートのLEDが示すもの

PCやルーターのEthernetポート(RJ45コネクタ)には、小さなLEDが2つ付いていることが多い。何気なく目にする光だが、それぞれが異なる情報を伝えている。 リンク状態と通信アクティビティ 一方のLEDは、物理的な接続の有無と、データの送受信状況を示す。 * 点灯していれば、ケーブルが正しく接続され、リンクが確立している * 点滅していれば、データパケットの送受信が行われている * 消灯していれば、ケーブルが抜けているか、相手側の機器が応答していない この点滅は一見すると何らかの規則的なパターンに見えることがあるが、実際にはネットワーク上のトラフィック(パケットの送受信)に応じて不規則に発生しているだけであり、点滅のパターン自体に意味はないことがほとんどである。点滅していない場合は、単に通信が発生していない状態である。 通信速度の表示 もう一方のLEDは、リンク確立時にネゴシエーションされた通信速度を色で示す。10/100/1000 Mbps対応のポートでは、一般的に以下のような構成になっている。 * ある色で1000 Mbps(ギガビット)接続を示す

By Sakashita Yasunobu

しくみ

NTPのStratum階層とGPS時刻同期の仕組み

Windowsの時刻がずれやすいと感じたことをきっかけに、NTPの仕組みやStratum階層、GPSを用いた時刻同期について調べた内容をまとめる。 NTPとは NTP(Network Time Protocol)は、ネットワーク上の機器間で時刻を同期するためのプロトコルである。現在広く使われているのはNTPv4(RFC 5905)で、1985年の初版から改良が重ねられている。 NTPはStratum(階層)と呼ばれるツリー構造で時刻を配信する。上位の正確な時刻源から下位へ順に同期することで、ネットワーク全体の時刻精度を維持している。 Stratum階層 NTPのStratum階層は以下のように定義される。 * Stratum 0 : 基準時刻源そのもの。原子時計やGPS受信機などのハードウェアデバイスが該当する。Stratum 0はネットワーク上のサーバではなく、シリアルポートやUSBなどでStratum 1サーバに直接接続される * Stratum 1 : Stratum 0に直接接続されたNTPサーバ。プライマリタイムサーバとも呼ばれる * Stratum 2

By Sakashita Yasunobu

しくみ

Ghost CMSでKaTeXを使って数式を表示する方法

Ghost CMSには数式レンダリング機能が組み込まれていないため、外部ライブラリを導入する必要がある。本記事では、Khan Academyが開発した軽量な数式レンダリングライブラリであるKaTeXをGhostに導入する手順を解説する。 KaTeXの読み込み GhostのCode Injection機能を使い、サイト全体のヘッダーにKaTeXのCSSとJavaScriptを追加する。 Settings > Code injection > Site Header に以下のコードを貼り付ける。 <link rel="stylesheet" href="<https://cdn.jsdelivr.net/npm/katex@0.16.25/dist/katex.min.css>" integrity="sha384-WcoG4HRXMzYzfCgiyfrySxx90XSl2rxY5mnVY5TwtWE6KLrArNKn0T/mOgNL0Mmi" crossorigin="anonymous&

By Sakashita Yasunobu

しくみ

出版がブログに代替されない理由

インターネットが普及し、誰でも無料でブログを公開できる時代になった。にもかかわらず、書籍という形態はいまだに選ばれ続けている。技術的にはブログで全文公開すれば済む話なのに、なぜわざわざ出版するのか。この問いを整理してみる。 出版が果たしている機能 編集・校正という品質保証 ブログは基本的に著者一人で完結する。一方、出版には編集者・校正者が介在し、構成の見直しや論理的な矛盾の指摘が行われる。文章が長くなるほど、著者自身では気づけない問題が増えるため、第三者による検証の価値は高まる。 これは学術論文における査読(peer review)と同じ構造であり、公開前に一定の品質フィルタを通すことで、読者が内容を信頼しやすくなる。 「読了される」確率の違い ブログに長文を掲載しても、最後まで読まれるとは限らない。書籍の場合、読者は購入という金銭的コストを払っている。行動経済学でいうサンクコスト(埋没費用)の影響もあり、購入した本は最後まで読もうとする動機が働きやすい。 もちろんこれは「必ず読了される」ことを意味しない。しかし、無料のブログ記事と比較すれば、書籍のほうが読者の注意

By Sakashita Yasunobu

しくみ

Markdownで文献出典を扱う実用的な方法

Markdownで文章を書いていると、学術的な小論や技術記事など、ある程度の正確さを求められる文書で文献出典をどう扱うかという問題に直面する。Markdownの仕様には脚注や参考文献を管理する標準的な仕組みがなく、エディタごとの独自拡張に頼ると将来の移行時に困る。本稿では、プレーンテキストとしての可搬性を保ちながら文献出典を扱う方法を比較し、実用的な選択肢を検討する。 前提と要件 文献出典の記法に求められる性質は以下の通りである。 * 可搬性: 特定のエディタやプラットフォームに依存しない。プレーンテキストとして意味が通じる * 執筆時の効率: 書いている途中で文献リストとの間を行き来する必要がない * 可読性: 出典の挿入が本文の読みやすさを大きく損なわない * 検索性: 後から特定の文献を参照している箇所を検索できる * 自己完結性: リンクや外部参照に依存せず、テキスト単体で出典情報が完結する リンクベースの参照([[]] やハイパーリンク)は、リンク先が移動・消失すると出典情報そのものが失われるため、長期的な文書管理には不向きである。 主な方法の比較

By Sakashita Yasunobu

しくみ

Pi-holeをdocker runだけで起動する

Pi-holeのDocker公式イメージはdocker-composeでの起動が案内されている。しかしNAS製品の多くはGUIからコンテナを管理する設計であり、docker-composeを使うにはSSHでログインする必要がある。Pi-holeを動かすためだけにSSHの管理を増やすのは合理的でない。 実際にはdocker-composeの設定はすべて docker run のオプションに変換できるため、docker-compose無しでもPi-holeは起動できる。本稿では、公式のdocker-compose設定を docker run コマンドに変換した例を示し、あわせて各オプションの意味を整理する。 docker runコマンド 以下は、Pi-hole公式のdocker-compose設定と同等の docker run コマンドである。 docker run -d \\ --name pihole \\ -p 53:53/tcp \\ -p 53:53/udp \\ -p 80:80/tcp \\ -p 443:443/tcp \\ -e TZ='

By Sakashita Yasunobu

しくみ

ScanSnap iX1300のカラー解像度が白黒の半分になる理由

はじめに PFUのドキュメントスキャナー ScanSnap iX1300の自動画質モード(Best)では、カラーと白黒で読み取り解像度が異なる。 原稿の短辺が約105mm以下の場合は、カラー/グレー300dpi、白黒600dpi相当に設定。原稿の短辺が約105mmよりも長い場合は、カラー/グレー200dpi、白黒400dpi相当に設定。 どの条件でも白黒はカラーのちょうど2倍の解像度である。光学解像度は600dpiと記載されているにもかかわらず、なぜカラーではその性能をそのまま発揮できないのか。本記事では、iX1300が採用するCISセンサーの仕組みからその理由を解説する。 なお、iX1300は手動で「Excellent」モードを選択すればカラー600dpi(白黒1200dpi相当)でのスキャンにも対応している。ただしスキャン速度は大幅に低下する(Best:30枚/分 → Excellent:9枚/分)。本記事で扱うのは、速度を維持する自動画質モードでなぜ解像度が制限されるかという問題である。 参考:ScanSnap iX1300 | PFU CISセンサーの基本構造

By Sakashita Yasunobu

しくみ

ドメインレジストラの選び方

ウェブサイトを運営するならドメインが要る。ドメインが要るなら、それを登録・管理するレジストラを選ばなくてはいけない。 Cloudflare×Ghost Proで簡単!.pageドメインを使ったカスタムドメイン設定ガイド.pageドメインでのセットアップをしている人を見なかったので。 ドメインといえば.comがいまでも主流ですが、ドメインを新規で使う分にはどれを選んでも同じなため、ちょっと面白いものを選びたいですね。 今回は.pageドメインを利用してみました。Googleがレジストラーとして管理しており、HTTPSが強制され、HSTS Preloadも勝手に登録されるのでブログを使う身としては安心でらくちんです。 HSTSとはなんぞや HSTS(HTTP Strict Transport Security)って、簡単に言うと「ブラウザが自動でHTTPアクセスをHTTPSアクセスに切り替えるようにする仕組み」です。たとえばふつうならHTTPでアクセスすると、そのままHTTPでサーバーに行くわけですよね。でもHSTSを設定しておくと、いったんブラウザが「このサイトはHSTSに対応してるん

By Sakashita Yasunobu

しくみ

ストロボのガイドナンバーは照射角でどう変わるか

ストロボの照射角(ズーム位置)を変えると、ガイドナンバー(GN)はどう変化するか。本稿では物理法則から理論式を導出し、Canon スピードライト EL-1の公称データと照合する。 GNの定義 GNはISO 100において次式で定義される。 \[ GN = d \times F \] \(d\) は被写体距離(m)、 \(F\) は絞り値である。 GNと光度の関係 光軸上の光度を \(I\) (cd)とする。逆二乗則より、距離 \(d\) における照度は次のようになる。 \[ E = \frac{I}{d^2} \] 適正露光の条件として、被写体面での照度 \(E\) と絞り値 \(F\) の間には \(E \propto F^2\) の関係がある(ISO感度一定)。絞りを絞るほど、より明るい照度が必要になるためである。

By Sakashita Yasunobu

しくみ

エネループのプロとスタンダードとライトは何が違うのか

Panasonicのニッケル水素充電池「エネループ(eneloop)」には、ハイエンドモデル(エネループ プロ)、スタンダードモデル(エネループ)、お手軽モデル(エネループ ライト) の3ラインナップがある。「とりあえず高いやつが良いだろう」と思いがちだが、実はモデルごとに容量・充放電サイクル寿命・自己放電率のバランスが異なり、用途に応じた選択が重要になる。 各モデルのスペック比較 エネループ プロ(ハイエンドモデル) * 展開サイズ: 単3形 / 単4形 * 最小容量: 単3形 2,500 mAh / 単4形 930 mAh * 自己放電: 満充電から1年後に約85%残存(室温20℃保管時) * くり返し回数: 旧JIS基準で約150回 / 現行JIS基準で約500回 3モデルの中で最も容量が大きい。ただし、くり返し使用回数はスタンダードモデルの約4分の1と大幅に少なく、自己放電率もやや高い。 エネループ(スタンダードモデル) * 展開サイズ: 単1形

By Sakashita Yasunobu

しくみ

立体角の限界効果から求めるソフトボックスの最適サイズ

影の柔らかさは、被写体から見た光源の見かけの大きさによって決まる。光源の見かけが大きいほど影のエッジは緩やかに遷移し、柔らかい影が得られる。ソフトボックスを大きくすれば見かけの光源は大きくなるが、その効果には収穫逓減がある。 本稿では、ソフトボックスを均一発光する円盤と近似し、被写体位置から見た立体角を影の柔らかさの代理指標として定式化する。そのうえで、半径を増加させたときの立体角の増加率(限界効果)が最大となる最適半径を解析的に導出する。 モデルの定義 以下の仮定を置く。 * ソフトボックスを半径 \(R\) ( \(R > 0\) ) の均一発光円盤とする。 * 被写体上の注目点 \(P\) は円盤の中心軸上にあり、発光面中心からの距離を \(d\) ( \(d > 0\) ) とする。 * 影の柔らかさの代理指標として、点 \(P\) から円盤を見込む立体角 \(\Omega(R, d)\) を採用する。 なお、本モデルは軸上の1点に対する評価であり、被写体の広がりや光源の配光特性は考慮していない。 解析 円盤が張る立体角 点 \(P\) から円盤の縁

By Sakashita Yasunobu

しくみ

プログラムオートで撮るということ

写真を趣味にしていると、いつか必ず撮影モードの話に出くわす。「マニュアルモードを使えるようになって一人前」、「とりあえず絞り優先で」、「Pモードなんてフルオートと同じでしょ」。こうした声はインターネット上にもカメラ愛好家のコミュニティにも根強く存在する。 自分自身、長いあいだ何も考えずに絞り優先を常用してきた。絞りを自分で選ぶという行為に、写真をコントロールしている実感があったのだと思う。けれどあるとき、ふとPモードで撮ってみたら、思いのほか快適だった。それをきっかけに、各モードの仕組みを改めて考えてみることにした。 考えていくうちに、漠然と信じていたモード間の優劣が、思っていたほど自明ではないことに気づいた。以下はその整理の記録だ。何かを強く主張したいというよりは、自分が考えた道筋をそのまま書き留めておきたくて書いている。 露出の三要素と自由度 写真の明るさ、つまり露出は、シャッタースピード、絞り(F値)、ISO感度という三つの要素で決まる。 ここで一つ、見落とされがちだけれど重要な事実がある。「適正露出」という目標を一つ定めると、三つの変数のあいだに一つの拘束条件が生ま

By Sakashita Yasunobu