Initial commit

このコミットが含まれているのは:
たかし 2023-03-24 14:28:36 +00:00
コミット 68fc442f9f
30個のファイルの変更1171行の追加0行の削除

1
.gitignore vendored ノーマルファイル
ファイルの表示

@ -0,0 +1 @@
www

26
make.sh 実行可能ファイル
ファイルの表示

@ -0,0 +1,26 @@
#!/bin/sh
mkdir -p www
rm -rf www/*
cp -pv src/style.css www
cp -pv src/favicon.ico www
cp -pv src/076mute.user.js www
cp -rpv src/images www
cd src
for name in *.html; do
out=../www/$name
cat include/header.html >> $out
# titleタグの次の行にbodyの開始タグを追加
sed '/^<title>/r include/body.html' $name >> $out
# 目次以外にはフッターあり
if [ $name != index.html ]; then
cat include/footer.html >> $out
fi
echo "src/$name -> www/$name"
done
cd ..

14
notice.sh 実行可能ファイル
ファイルの表示

@ -0,0 +1,14 @@
#/bin/sh
# usage:
# $ ./notice.sh ./src/hello.html
BASE_I2P='http://bibi.i2p/'
BASE_TOR='http://6wyvgarb3kht6umsqdjrkmwxhfobre24cr6bkmjszu4ngtuezjd45mqd.onion/'
filepath=$1
title=`sed -n -e'/<title>/s/^.*<title>//p' $filepath | sed -es'/<.*$//'`
filename=`echo $1 | sed 's/^.*\///'`
echo "$title"
echo "I2P: ${BASE_I2P}${filename}"
echo "Tor: ${BASE_TOR}${filename}"

90
src/076mute.html ノーマルファイル
ファイルの表示

@ -0,0 +1,90 @@
<title>076萌SNS用で特定ユーザーを非表示にする(Firefox用ユーザースクリプト) - 美々蝶々</title>
<h1>076萌SNS用で特定ユーザーを非表示にする(Firefox用ユーザースクリプト)</h1>
<ul>
<li>2023-02-03 たかし</li>
</ul>
<h2>1. 概要</h2>
<p>Firefox系ブラウザー用に、<a href="https://social.076.moe/main/public">076萌SNS</a>で特定ユーザーの投稿を非表示にできるユーザースクリプトを作りました。</p>
<ul>
<li><a href="./076mute.user.js">076mute.user.js</a></li>
</ul>
<p>機能は次の通りです。</p>
<ul>
<li>特定ユーザーの投稿を非表示にする。</li>
<li>その投稿に對する他の人のリプライも非表示にする。</li>
<li>未ログイン時も有効。</li>
</ul>
<h2>2. 使用方法</h2>
<p>先づ、ユーザースクリプトを実行するための拡張機能をブラウザーに導入します。わたしは、<a href="https://addons.mozilla.org/en-US/firefox/addon/violentmonkey/">ViolentMonkey</a> を導入しました。他の拡張機能 (<a href="https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/">GreaseMonkey</a> など) を使用するなら、以降の文章を讀み換へてください。</p>
<p>拡張機能を導入したら、ユーザースクリプトを登録します。<a href="076.mute.user.js">076mute.user.js</a> をPCに保存して、ブラウザーで開くと ViolentMonkey の画面が開き、ユーザースクリプトを登録するか確認してくるから、登録します。または、ViolentMonkey のメニューからユーザースクリプトを新規作成して、076mute.user.js の中身を貼り附けてください。</p>
<p>登録したら、ユーザースクリプトを編集します。「ユーザー名@ドメイン名」の部分を非表示にしたいユーザーに變更してください。例へば、<a href="https://social.076.moe/tak4">たかし(tak4@social.076.moe)</a> を非表示にするには次の様にします。</p>
<pre><code>var selector_mute = [
&quot;[title='<var>tak4@social.076.moe</var>']&quot;,
];</code></pre>
<p>複數を非表示にする時は行をコピーして増やします。</p>
<pre><code>var selector_mute = [
&quot;[title='<var>tak4@social.076.moe</var>']&quot;,
&quot;[title='<var>bad_user@example.com</var>']&quot;,
&quot;[title='<var>other_user@example.com</var>']&quot;,
];</code></pre>
<p>ユーザースクリプトを編集・保存して、SNSにアクセスすると、特定のユーザーの投稿が表示されなくなります。</p>
<h2>「076moe.user.js」全文</h2>
<pre><code>// ==UserScript==
// @name 076mute
// @match *://social.076.moe/*
// @version 1.0
// @run-at document-start
// ==/UserScript==
(function () {
var selector_mute = [
&quot;[title='ユーザー名@ドメイン名']&quot;,
];
var selector_entry = &quot;li.h-entry&quot;;
function del(node) {
if (node && node.parentNode) {
node.parentNode.removeChild(node);
}
}
function run() {
var result = document.querySelectorAll(selector_mute.join(&quot;,&quot;));
var i = 0;
while (result[i]) {
del(result[i].closest(selector_entry));
i++;
}
}
var tid = setInterval(run, 0);
window.addEventListener(&quot;DOMContentLoaded&quot;, function f() {
run();
clearTimeout(tid);
window.removeEventListener(&quot;DOMContentLoaded&quot;, f);
}, false);
window.addEventListener(&quot;beforeunload&quot;, function f() {
clearTimeout(tid);
window.removeEventListener(&quot;beforeunload&quot;, f);
}, false);
}());</code></pre>

42
src/076mute.user.js ノーマルファイル
ファイルの表示

@ -0,0 +1,42 @@
// ==UserScript==
// @name 076mute
// @match *://social.076.moe/*
// @version 1.0
// @run-at document-start
// ==/UserScript==
(function () {
var selector_mute = [
"[title='ユーザー名@ドメイン名']",
];
var selector_entry = "li.h-entry";
function del(node) {
if (node && node.parentNode) {
node.parentNode.removeChild(node);
}
}
function run() {
var result = document.querySelectorAll(selector_mute.join(","));
var i = 0;
while (result[i]) {
del(result[i].closest(selector_entry));
i++;
}
}
var tid = setInterval(run, 0);
window.addEventListener("DOMContentLoaded", function f() {
run();
clearTimeout(tid);
window.removeEventListener("DOMContentLoaded", f);
}, false);
window.addEventListener("beforeunload", function f() {
clearTimeout(tid);
window.removeEventListener("beforeunload", f);
}, false);
}());

15
src/calendarsuck.html ノーマルファイル
ファイルの表示

@ -0,0 +1,15 @@
<title>カレンダー式の日附入力は誰の爲 - 美々蝶々</title>
<h1>カレンダー式の日附入力は誰の爲</h1>
<ul>
<li>2023-01-25 たかし</li>
</ul>
<p>以前、わたしの親がウェブ上で誕生日を入力しました。この時、誕生日を撰ぶ爲のカレンダーが表示されました。カレンダーのデフォルトが「今年」だつたから、數十年分、「前へ」をクリックする必要がありました。キー入力も反應しなくて、カレンダーから撰ぶしかありませんでした。ひどい話です。</p>
<p>そもそも日附は數字だからキーボードでもタッチパネルでも簡單に入力できます。カレンダーから撰ぶまでもありません。ただの INPUT 要素の横に「例:20230125」みたいに表示するか、INPUT 要素を3つ用意して年・月・日に分ければ良いと思ひます。なぜさうしないのか……</p>
<p>多分、開發者(またはその上司)が「型」に囚はれてゐます。「誕生日は Date 型だ」「Date 型ならカレンダーで入力させる物だ」と云ふわけです。しかも、カレンダー形式だとユーザーが不正な日附を入力できないから、エラーチェックを手拔きできる。カレンダーにする理由は、自分たちの爲か、固定概念か、お節介です。</p>
<p>ユーザーが不正な日附を入力するのを防ぎたいなら、お得意の JavaScript 日附の形式をチェックできるし、全角/半角とか区切文字とかの表記ぶれは自動で變換できる筈です。<strong>豫約サイトなどを除いて</strong>、日附をカレンダーで入力させる必要は殆ど無いと思ひます。</p>

20
src/darknetlink.html ノーマルファイル
ファイルの表示

@ -0,0 +1,20 @@
<title>CSSでダークネットのリンクにスタイルを適用する - 美々蝶々</title>
<h1>CSSでダークネットのリンクにスタイルを適用する</h1>
<ul>
<li>2023-03-11 (陰暦02月20日) たかし</li>
</ul>
<p>HTML で他のサイトにリンクする時、クリアネット・I2P・Tor で別々のスタイルを適用できたらいいな、と思ひました。CSS の「Attribute Selector」を使用したら簡單にできました。でも、きれいなスタイルの案が無かつたから、bibi では不使用です。</p>
<p>これは netsurf で機能しました。dillo では機能しませんでした。</p>
<dl>
<dt>CSS(色を変更)</dt>
<dd><code>a[href^=&quot;http&quot;] { color: cyan; } /* クリアネットの場合 */<br>
a[href*=&quot;.i2p/&quot;] { color: lime; } /* i2p の場合 */<br>
a[href*=&quot;.onion/&quot;] { color: magenta; } /* onion の場合 */</code></dd>
</dl>
<p>色を変更する以外にも、:before や :after と組合せたら、onion リンクに玉葱のマークを表示する事もできると思ひます。</p>

31
src/disabledbus.html ノーマルファイル
ファイルの表示

@ -0,0 +1,31 @@
<title>dbus-daemon の自動起動を防ぐ方法 (OpenBSD) - 美々蝶々</title>
<h1>dbus-daemon の自動起動を防ぐ方法 (OpenBSD)</h1>
<ul>
<li>2023-02-11 たかし</li>
</ul>
<p>OpenBSD で cwm を使つてゐます。GTK のプログラム (netsurf-gtk3 や firefox-esr など) を起動した時に dbus-launch・dbus-daemon が起動する事に氣附きました。しかも、GTK のプログラムを終了しても、dbus は起動したままでした。<kbd>pkill dbus-daemon</kbd> で消してもいいですが、面倒です。だから起動しない様にしました。</p>
<p>dbus を起動しない様にするには、.xsession に次の記述を追加します。</p>
<dl>
<dt>.xsession</dt>
<dd><code>export NO_AT_BRIDGE=1<br>
export DBUS_STARTER_BUS_TYPE=dummy<br>
export DBUS_SESSION_BUS_ADDRESS=/dev/null</code></dd>
</dl>
<ul>
<li>※ .xsession に限らず環境變數にこれらの値を設定できれば良いです。</li>
<li>※ 代入する値が適切かどうかは未確認です。</li>
</ul>
<p>X にログインし直してから、「<kbd>ps -A | grep dbus</kbd>」と入力して、dbus のプロセスが無い事を確認します。</p>
<p>起動する GTK のプログラムによつて、どの變數が効くかが異なる様です。「NO_AT_BRIDGE」「DBUS_STARTER_BUS_TYPE」は netsurf-gtk3 に効きました。「DBUS_SESSION_BUS_ADDRESS」は firefox-esr に効きました。他に必要な變數を見附けたら追加します。</p>
<h2>餘談</h2>
<p>この記事は ed で書いてみました。少し不便ですが、(OpenBSD の) vi と異なり、漢字を扱へるのが良いです。</p>

28
src/dpid.html ノーマルファイル
ファイルの表示

@ -0,0 +1,28 @@
<title>Dillo ブラウザーの dpid を自動終了する方法 - 美々蝶々</title>
<h1>Dillo ブラウザーの dpid を自動終了する方法</h1>
<ul>
<li>2023-02-12 たかし</li>
<li>最終更新日: 2023-03-12 (陰暦02月21日) exit のステータスコードを修正</li>
</ul>
<p>Dillo を実行すると、プロセス「dpid」が起動する事があります。このプロセスは Dillo の終了後も殘ります。次のシェルスクリプトを dillo の名前で、PATH の通つた場所 (~/.local/bin など) に置いて実行権限を設定すれば、Dillo を終了した時に dpid も終了します。複數の Dillo を起動した時は、全ての Dillo を終了したら dpid を終了します。</p>
<pre><code>#!/bin/sh
<var>/usr/local/bin/dillo</var> $@
result=$?
if [ ! `pgrep dillo` ] ; then
pkill '^dpid$'
pkill '\.dpi$'
fi
exit $result</code></pre>
<ul>
<li>※「<code><var>/usr/local/bin/dillo</var></code>」の部分はディストリによつて異なるから「<kbd>type dillo</kbd>」で調べてください。</li>
<li>※「<kbd>chmod +x ~/.local/bin/dillo</kbd>」の様にして実行権限を設定してください。</li>
</ul>
<h2>餘談</h2>
<p>わたしは、HTML/CSS をローカルで点検する爲に Dillo を使用します。Dillo は動作が輕くて、CSS を少しサポートしてゐて、HTML のエラーチェック機能があるからです。</p>

バイナリ
src/favicon.ico ノーマルファイル

バイナリファイルは表示されません。

変更後

幅:  |  高さ:  |  サイズ: 326 B

45
src/hello.html ノーマルファイル
ファイルの表示

@ -0,0 +1,45 @@
<title>Hello, darknet! - 美々蝶々</title>
<h1>Hello, darknet!</h1>
<ul>
<li>2022-12-18 たかし</li>
<li>最終更新日: 2022-12-29</li>
</ul>
<p>このサイト、美々蝶々を公開した動機について。</p>
<h2>1. ダークネットでサイトを自由に公開できる</h2>
<p>2022年末、わたしは、ダークネットにサイトを作りました。ダークネットを選んだ理由は、クリアネットより自由で簡単だからです。</p>
<p>ダークネットのサーバーは、古いPCや Raspberry Pi で十分です。これだけでサイトを公開できます。また、クリアネットと異なり「ドメインの支払」「ネームサーバーの設定」「HTTPSの証明書取得」が不要だから、簡単です。さらに、サーバーのIPアドレスが公開されません。これらの特徴により、誰にも制限されず、自由に、簡単にサイトを公開できます。</p>
<h2>2. ダークネットは快適に閲覧できる</h2>
<p>ここまでは、サイトの管理者に対する利点でしたが、サイトの利用者に対する利点もあります。それは匿名性です。ダークネットではサイトの管理者にIPアドレスを知られないから、プライバシーを保てます。そして、IPアドレスに基づくアクセス制限ができません。</p>
<p>別の話になりますが、ダークネットの個人サイトには、広告や重いスクリプトがなく簡潔です。殆どが純粋に趣味のサイトだからです。</p>
<p>ダークネットでサイトを見たり公開したりするには準備が要りますが、準備が済めば、クリアネットよりも快適で自由な世界を楽しめます。</p>
<h2>3. Fediverse で人との繋がりができる</h2>
<p>ウェブで何かをするなら仲間が欲しいですが、<strong>多くの人</strong>は Twitter 等の大手SNSしか見ません。つまり、個人サイトを殆ど見ません。だから、<strong>彼ら</strong>を相手にするなら、サイトを作る意味がありません。</p>
<p><strong>大手SNS</strong>には多くのユーザーが居が居て、みんなは有名人の投稿しか見ないから、そこで活動しても「埋もれ」ます。仲間を探すなら、小規模な <strong>Fediverse (分散SNS)</strong> がよいと感じました。</p>
<p>わたしは、<a href="https://social.076.moe/main/public">076萌SNS</a>に参加しました。その理由は、わたしと似た趣味を持つ人やダークネットに詳しい人が多いと感じたからです。このSNSでよい刺激を受けて、サイトを公開する事に決めました。</p>
<h2>4. 美々蝶々について</h2>
<p>ここまで、ダークネットや Fediverse について書きましたが、サイトには趣味の事を書きたいです。わたしはPCをよく使用するから、主にPCについて書くつもりです。他にも、「生き物や植物の記事」「絵」「プログラム」を公開したいです。</p>
<p>因みに、美々蝶々は「美々しい蝶々」の略です。</p>
<h2>参考</h2>
<ul>
<li><a href="http://freshmia.starfree.jp/exp/ep.html">創設者の目指すWeb | Freshmia</a></li>
<li><a href="http://asc7ewkcvat2wsoi5yuwkej5ukyrqqnpnzpj4u34r2jxnoxhnbx6yqad.onion/blog/web1-is-new-normal-again/">Ryo's Izakaya: Web 1.0 is the new normal, again [onion]</a></li>
</ul>

45
src/html5.html ノーマルファイル
ファイルの表示

@ -0,0 +1,45 @@
<title>HTML5の嘘 - 美々蝶々</title>
<h1>HTML5の嘘</h1>
<ul>
<li>2022-12-20 たかし</li>
<li>最終更新日: 2022-12-28</li>
<li>書きかけ。根拠となるURLを見つけたらリンクする。</li>
</ul>
<p>HTML5 (今は HTML Living Standard) が登場した時、HTML5 では「アプリ」や「ゲーム」を作れると宣伝されました。HTML5/JavaScript で作成した「アプリ」には次の長所があると宣伝されました。</p>
<ol>
<li>「アプリ」がPCでもスマートフォンでも動くから、開発が楽になる。</li>
<li>「アプリ」をウェブ上で公開できるから Google や Apple から自由になる。</li>
<li><code>canvas</code> や WebGL を使用してプラットフォーム非依存のゲームを開発できる。</li>
</ol>
<p>2022年現在、そこまで良い物だと感じません。</p>
<h2>1</h2>
<p>1つ目、「アプリ」の開発が楽になるのは本当です。ただし本物の HTML/CSS/JS で作ればの話です。React 等のフレームワークや、NodeJS (npm) を使用すると複雑になります。多くの「アプリ」ではフレームワークや NodeJS を採用します。</p>
<h2>2</h2>
<p>2つ目、スマホ向けの「アプリ」を作るなら、現実的にはネイティブアプリの中に WebView として埋め込む事になります。Android の場合は「野良アプリ」や F-Droid でアプリを公開できますが、多くの人は Google のストアからアプリをインストールします。iOS の場合は Apple のストアしかありません。だから Google や Apple から自由になりません。</p>
<p>WebView を使用しないで、ウェブ上で HTML5 の「アプリ」を公開しても、「アプリ」を実行するためのブラウザーは Firefox 以外には「GoogleのChrome」「AppleのSafari」だけです。結局、Google や Apple に依存します。</p>
<h2>3</h2>
<p>3つ目、CANVAS や WebGL でゲームを開発できますが、JSのガーベージコレクションのせいで動作が不安定です。また、JSでキーボードやマウスの情報を取得するAPIが複雑すぎるから、C等の他の言語で作る方が簡単です。特にPC/スマホの両方に対応するには沢山のコードが必要です。</p>
<p>こんなに大変ですが、HTML5 で作るゲームは結局ブラウザゲームです。遊ぶたびにサーバーからダウンロードが必要で効率が悪いです。しかも多くのPCユーザーはOSネイティブのゲームしか遊びません。だからプログラミングの勉強にはなりますが、HTML5 で作る利点は少ないです。</p>
<p>それでも CANVAS はフィンガープリントに使用できます。それなら CANVAS は無くても良いです。</p>
<h2>4</h2>
<p>この通り、HTML5 はかつて宣伝された程、便利ではないみたいです。本当に便利なのは、むしろ、HTML5 と同時に現れた CSS3 かもしれません。HTML5/CSS3 で作られたサイトを HTML5 無しで再現する事は簡単ですが、CSS3 無しで再現するのは困難です。</p>
<h2>余談</h2>
<p>このサイトは HTML i18n で書きました。1997年の規格ですが機能は充分です。HTML5 や HTML Living Standard で HTML の規格を何度も更新する意味とは……</p>

22
src/iconsuck.html ノーマルファイル
ファイルの表示

@ -0,0 +1,22 @@
<title>デスクトップアイコンの問題點 - 美々蝶々</title>
<h1>デスクトップアイコンの問題點</h1>
<ul>
<li>2023-02-18 たかし</li>
</ul>
<p><cite><a href="http://tsumuri3rdtyn3xkbu4megl2afzbgsdgruv6v52jdadalpid6yry4fyd.onion/post/0002">ファイル拡張子の偽装方法|Tsumuri's website</a></cite> を讀んで、思ひ附いた事を書きます。</p>
<p>上の記事は、RLO で拡張子を僞裝すれば、EXE 形式の実行可能ファイルを Word ファイルや Excel ファイルかの様に見せられる事の解説です。わたしは、この事が問題になる理由は「デスクトップアイコンをクリックする」と云ふ操作で次の2つの事をできるからだと考へます。</p>
<ul>
<li>ファイルを開く</li>
<li>プログラムを起動する</li>
</ul>
<p>この2つを UI で區別できれば、RLO に因る危険を減らせます。極端な話ですが、コマンドラインでは「<kbd>nvim <var>foobar.txt</var></kbd>」の様に、ファイルを開く時にプログラムを明示できるから、ファイルとプログラムとを區別できます。GUI では、ファイルとプログラムとを全く別の領域に表示すれば區別できるでせう。</p>
<p>そもそも、実行可能ファイルに独自のアイコンを設定できるから、僞裝が可能になります。アイコンは常にファイルの種類に従ふべきです。独自のアイコンが必要になるのは、プログラムを選んで起動する時だから「スタートメニュー」や「ランチャー」の中でのみ、独自のアイコンを表示できれば充分です。</p>
<p>デスクトップ(机)にファイル(書類)が並び、ファイルのアイコンを開いて仕事をすると云ふメタファーは、PC が大衆に廣まり始めた頃の物です。PC が充分に廣まつた今、UI はデスクトップのメタファーに拘らず、セキュリティーやポカヨケを重視するべきでせう。</p>

バイナリ
src/images/fish.png ノーマルファイル

バイナリファイルは表示されません。

変更後

幅:  |  高さ:  |  サイズ: 187 B

1
src/include/body.html ノーマルファイル
ファイルの表示

@ -0,0 +1 @@
<body>

6
src/include/footer.html ノーマルファイル
ファイルの表示

@ -0,0 +1,6 @@
<h2>附加情報</h2>
<ul>
<li><a href="./">「美々蝶々」目次</a></li>
</ul>

5
src/include/header.html ノーマルファイル
ファイルの表示

@ -0,0 +1,5 @@
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML i18n//EN">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="./style.css">

71
src/index.html ノーマルファイル
ファイルの表示

@ -0,0 +1,71 @@
<title>美々蝶々</title>
<h1>美々蝶々 - Bibi Chocho</h1>
<p>たかしの個人サイトです。</p>
<ul>
<li><a href="./profile.html">自己紹介</a></li>
<li><a href="https://social.076.moe/tak4">Notices by たかし (tak4@social.076.moe)</a></li>
</ul>
<h2>コンピューター</h2>
<h3>1. ウェブ</h3>
<dl>
<dt><a href="./hello.html">Hello, darknet!</a></dt>
<dd>2022-12-18・最初の記事。サイトを公開した動機について。</dd>
<dt><a href="./html5.html">HTML5の嘘</a></dt>
<dd>2022-12-20・「HTML5」で「アプリ」や「ゲーム」を作る事について。</dd>
<dt><a href="./personalsite.html">個人サイトが良い理由</a></dt>
<dd>2022-12-24・他の媒体と比較した時の個人サイトの長所について。</dd>
<dt><a href="./webdesign.html">ウェブサイトの設計方針</a></dt>
<dd>2022-12-27</dd>
<dt><a href="./calendarsuck.html">カレンダー式の日附入力は誰の爲</a></dt>
<dd>2023-01-25</dd>
<dt><a href="./076mute.html">076萌SNSで特定ユーザーを非表示にする(Firefox用ユーザースクリプト)</a></dt>
<dd>2023-02-03</dd>
<dt><a href="./jsomohide.html">JSの思ひ出</a></dt>
<dd>2023-03-05 (陰暦02月14日)</dd>
<dt><a href="./darknetlink.html">CSSでダークネットのリンクにスタイルを適用する</a></dt>
<dd>2023-03-11 (陰暦02月20日)</dd>
<dt><a href="./saveyoursite.html">サイトは消えてほしくない</a></dt>
<dd>2023-03-14 (陰暦02月23日)</dd>
</dl>
<h3>2. GNU/Linux、BSD</h3>
<dl>
<dt><a href="./oshistory.html">私のOSの話</a></dt>
<dd>2022-12-18・GNU/Linux や BSD を使用する様になつた経緯について。</dd>
<dt><a href="./userland.html">UserLAnd でタブレットから SSH を使用</a></dt>
<dd>2022-12-25・Android から SSH を使用する方法、及び、CLI の便利なソフトについて。</dd>
<dt><a href="./uim-fep.html">uim-fep の紹介</a></dt>
<dd>2022-12-31・コンソール上で日本語を入力するためのソフトについて。</dd>
<dt><a href="./obsdmoveuser.html">OpenBSD ユーザーを他のPCに引越す方法</a></dt>
<dd>2023-01-06</dd>
<dt><a href="./windows.html">Windows を相手にしない</a></dt>
<dd>2023-01-22・無理に Windows をサポートしなくていいと云ふ話。</dd>
<dt><a href="./disabledbus.html">dbus-daemon の自動起動を防ぐ方法 (OpenBSD)</a></dt>
<dd>2023-02-11</dd>
<dt><a href="./dpid.html">Dillo ブラウザーの dpid を自動終了する方法</a></dt>
<dd>2023-02-12</dd>
</dl>
<h3>3. その他コンピューター關聯</h3>
<dl>
<dt><a href="./iconsuck.html">デスクトップアイコンの問題點</a></dt>
<dd>2023-02-18</dd>
</dl>
<h2>その他</h2>
<dl>
<dt><a href="./webring.html">ウェブリング</a></dt>
<dd>リンク集です。</dd>
<dt>ミラー</dt>
<dd><a href="http://bibi.i2p/?i2paddresshelper=dZ8Tr0RVYIwQ93LEoe1nz~2vnk6mBPu0pZShrEDK-Q80Fs1l1PJZDD1sMBPk4BdIxN9NMGMnZNBp~u3Qnbw2YIC7I8yjMTypMC~rsDMlG8gtCQ-0dFGXkGbZChfT4vTvduJM-NgfXnSYmiqy-KnkYXIz47qVhPbwnZtR36GNWtytul6800YELREQqPl1sP8icO0daBMrrKBk6AOmBNqWbuLxvLX8N2guJFU2PC0XhkX0FciLlxhpFzW8wZvo9gdmIfcrW2CTFR6NqtM7bgIxIk10sG9CXhcKLCOqVfE4xWSLKkr1Y7ZLiupC9-ZCvB6OLH67NRY94jHox7f-hNZNSQ0ik5s77VvWe7Ha3Fl3N8fvtRsLJ3GqOhADsvzRmeKlsu8jh7TeB1o8MsRqWHsoFltuYLR8cp-Xo2PByIwxJpwd1HP6nDIj9PQRVWz1ZmnG5PfBHeMV8F0nb6QOhnfH1fnUT3smXyh-K1p5941m8ws8ieDzZV3E8A0xDH6W6U18BQAEAAcAAA==">美々蝶々 (i2p)</a></dd>
<dd><a href="http://6wyvgarb3kht6umsqdjrkmwxhfobre24cr6bkmjszu4ngtuezjd45mqd.onion/">美々蝶々 (onion)</a></dd>
</dl>

46
src/jsomohide.html ノーマルファイル
ファイルの表示

@ -0,0 +1,46 @@
<title>JSの思ひ出 - 美々蝶々</title>
<h1>JSの思ひ出</h1>
<ul>
<li>2023-03-05 (陰暦02月14日) たかし</li>
</ul>
<h2>1</h2>
<p>わたしはウェブサイトの JS が苦手で、NodeJS を使用する豫定もありません。ところが、わたしは JS に思ひ入れがあります。その思ひ出を綴ります。</p>
<h2>2</h2>
<p>昔 (2010年より前)、ブラウザゲームが人氣でした。Flash・Java Applet などの技術で作られたゲームです。當時、わたしもブラウザゲームを作りたいと考へましたが、Flash・Java Applet を難しく感じて諦めました。ところが、JS でゲームを作る方法があると知りました。JS はソースコードのまま實行できるから簡單でした。そして、わたしは HTML を知つてゐたから JS を學ぶのに時間はかかりませんでした。</p>
<h2>3</h2>
<p>JS にはグラフィック機能がありません。昔は DOM や CSS でグラフィックを表現しました。HTML5 の CANVAS 2D が登場した後は、それでグラフィックを表現しました。CANVAS 2D の API は、かなり良くできてゐて、多くのブラウザーで正しく動きました (WebGL はダメダメ)。</p>
<p>CANVAS 2D は簡單でした。ところが、マウスやキーボードのイベント處理、メインループの爲のタイマー處理などの API は非道い物でした。だから、わたしは JS でマシなプログラムを書く方法を勉強しました。JS の本を購入して、PC が無い時でも紙にプログラムを書いて實驗する程でした。</p>
<h2>4</h2>
<p>しばらくして、殆どのブラウザーが Flash・Java Applet のサポートを止めて、JS だけが殘りました。JS でブラウザゲームを作る時代が來たと思ひました。ところが、その時にはブラウザゲーム自體が過去の物でした。個人サイトは無くなり、Twitter・Youtube が中心になりました。ゲームは、PCのハイエンドゲームか、スマホのアプリゲームのどちらかになりました。だから、わたしはブラウザゲームを諦めました。</p>
<h2>5</h2>
<p>後で、わたしは JS に次の問題があると知り、JS の事が苦手になりました。</p>
<ul>
<li><a href="https://www.gnu.org/philosophy/javascript-trap.ja.html">不自由なJS</a></li>
<li>JS のスパイウェア (廣告・トラッキングなど)</li>
<li>JS を完全サポートするブラウザーは全て肥滿ソフト</li>
<li>ライブラリー開發者に對する搾取</li>
</ul>
<p>また、JS の言語仕様も ES6 以降、複雜になり、わたしの好みでは無くなりました。例へばアロー函數は讀みにくいし、class 構文は退化です。</p>
<p>NodeJS は Chrome の V8 エンジンだから使用したくありません。それに、ブラウザー以外でスクリプト言語を使用するなら、JS よりも PHP とか Perl の方が良いです。</p>
<h2>6</h2>
<p>JS の數少ない用途はユーザースクリプトでせう。ウェブサイトを閲覽する時に、サイトの振る舞ひをユーザーの好みに調節するわけです。ユーザーが非道いサイトを自分で修正できるから、ウェブをより自由にする物であると考へます。Dillo、Netsurf、W3M みたいな輕量ブラウザーにもユーザースクリプトの機能がほしくなります。</p>
<p>また、よく調べてゐませんが、<a href="https://mujs.com/">mujs</a> は、C で書かれた輕量な JS (ES5) の實裝で、Lua みたいに使用できます。わたしは Lua より JS に慣れてゐるから、mujs には興味があります。</p>

63
src/obsdmoveuser.html ノーマルファイル
ファイルの表示

@ -0,0 +1,63 @@
<title>OpenBSD ユーザーを他のPCに引越す方法 - 美々蝶々</title>
<h1>OpenBSD ユーザーを他のPCに引越す方法</h1>
<ul>
<li>2023-01-06 たかし</li>
</ul>
<p>OpenBSD をインストール済みのPCが2台ありました。片方のPCに統一するためにユーザーを引越ししました。その手順を殘します。</p>
<h2>1. 前提</h2>
<p>OS は移行先・移行元のどちらも OpenBSD 7.2 です。以降のコマンドには、例として次の名前を使用します。</p>
<dl>
<dt>from-pc</dt>
<dd>移行元PCのホスト名。</dd>
<dt>to-pc</dt>
<dd>移行先PCのホスト名。</dd>
<dt>myname</dt>
<dd>移行するユーザー名。</dd>
</dl>
<h2>2. 手順</h2>
<p>最初に、移行元のPCで、ユーザーのホームを .tar.gz 壓縮して、移行先のPCに .tar.gz を転送します。</p>
<dl>
<dt>ホームのバックアップを作成</dt>
<dd><samp>pc-from$ <kbd>cd</kbd><br>
pc-from$ <kbd>tar zcvf /tmp/myname.tar.gz * .*</kbd></samp></dd>
<dt>SFTP で轉送</dt>
<dd><samp>pc-from$ <kbd>cd /tmp</kbd><br>
pc-from$ <kbd>sftp myname@192.168.1.XXX</kbd><br>
sftp&gt; <kbd>cd /tmp</kbd><br>
sftp&gt; <kbd>put myname.tar.gz</kbd><br>
sftp&gt; <kbd>exit</kbd></samp></dd>
</dl>
<p>次に、移行先のPCに新しいユーザーを作ります。ユーザー名は移行元と同じ名前にします。</p>
<dl>
<dt>ユーザーを作成</dt>
<dd><samp>pc-to$ <kbd>useradd</kbd></samp><br>
(名前は myname とします)</dd>
</dl>
<p>そして、移行先のPCに新しいユーザーでログインして、ホームを空にして、.tar.gz を壓縮解除します。</p>
<dl>
<dt>ホームを空にする</dt>
<dd><samp>pc-to$ <kbd>cd</kbd><br>
pc-to$ <kbd>ls -a</kbd><br>
. .. .Xdefaults .cshrc .cvsrc .login .mailrc .profile .ssh<br>
pc-to$ <kbd>rm -r * .*</kbd><br>
pc-to$ <kbd>ls -a</kbd><br>
. ..</samp></dd>
<dt>ホームで .tar.gz を壓縮解除</dt>
<dd><samp>pc-to$ <kbd>cd</kbd><br>
pc-to$ <kbd>tar zxvf /tmp/myname.tar.gz</kbd></samp></dd>
</dl>
<p>これで移行元の「from-pc」から、移行先の「to-pc」にユーザーを引越すことができました。</p>

85
src/oshistory.html ノーマルファイル
ファイルの表示

@ -0,0 +1,85 @@
<title>私のOSの話 - 美々蝶々</title>
<h1>私のOSの話</h1>
<ul>
<li>2022-12-18 たかし</li>
<li>最終更新日: 2022-12-28</li>
</ul>
<p>わたしは現在 OpenBSD を使用中です。わたしが Windows をやめて GNU/Linux や BSD を使用する様になつた経緯、及び、今まで使用したOSについて書きます。今まで使用したOSは次の通りです。</p>
<ol>
<li>Windows XP</li>
<li>Windows 7</li>
<li><strong>Ubuntu</strong> (デュアルブート)</li>
<li>Windows 10</li>
<li><strong>Linux Mint</strong></li>
<li><strong>Trisquel GNU/Linux</strong></li>
<li><strong>OpenBSD</strong></li>
</ol>
<h2>Windows XP (~2010年頃)</h2>
<p>初めてのPCは Windows XP のノートPCでした。当時はOSの事を知りませんでした。最初はIEでウェブを見たり、「ペイント」で絵を描いたりました。後からHTMLの作成やプログラミングを始めました。</p>
<p>SNS ( = Twitter) に支配される前だから、HTMLを公開して掲示板で宣伝するとみんなが見てくれました。仕合せな時代でした。</p>
<h2>Windows 7 (2010年頃~)</h2>
<p>前のノートPCが壊れて、Windows 7 のノートPCを購入しました。この時にOSの事を知りました。また、OSのサポートが終了したら、OSを更新するか、新しいPCを購入する必要があると知りました<strong>(*)</strong>。それを知つてから、Windows に対して不信感を持ち始めました。後でこれは「不自由なソフトウェア」の問題だと知りました。</p>
<dl>
<dt><strong>(*)</strong></dt>
<dd>サポートが終了したOSも使用できますが、最新のソフトウェアが起動しなくなつたり、古いOSに必要なパッチ等が公開停止になつたりします。</dd>
</dl>
<h2>Ubuntu (2012年頃)</h2>
<p>Windows ではなく Linux なら、OSのインストールや更新が無料だと知りました。Ubuntu のライブCDを作り、Windows 7 とのデュアルブートにしました。普段は Firefox かテキストエディターしか使用しないから、Ubuntu でも全く支障がなく、「Windows なんて必要ない」と感じました。</p>
<p>それでも、この頃はCLIを全く使用しなかつたから Windows でも平気で、Ubuntu を1年くらい使用した後で飽きて Windows に戻しました。</p>
<h2>Windows 10 (~2016年頃)</h2>
<p>Ubuntu から Windows に戻した後、Windows 7 を Windows 10 に更新しました。Windows 10 は非道すぎました。勝手にソフトをインストールされたり、Microsoft Account を強制されたりします。Windows 10 を何年か使用しましたが、ノートPCのHDDが破損しました。この時にUSBブートで Linux を使用する事にしました。</p>
<h2>Linux Mint (2016年頃)</h2>
<p>Linux を再開した当時、人気だつた Linux Mint をインストールしました(Ubuntu に近いけど)。使用した期間がとても短いから、感想はありません。</p>
<p>この頃、自由なソフトウェアと不自由なソフトウェアとの事を知りました。そして100%自由なディストリビューションである Trisquel に関心を持ちました。</p>
<h2>Trisquel (~2022年)</h2>
<p>新しいデスクトップPCを購入した時に、遂に Trisquel をインストールしました。</p>
<p>この頃から Linux を本気で使用する様になりました。CLI や Vim を勉強して、ターミナルだけで作業できる様になりました。また、デスクトップ環境ではなくウィンドウマネージャーを使用する様になりました。OpenBox・twm・fvwm・ctwm を試して、最後は dwm を気に入りました。OSから余分な物を消して単純にするのが楽しいです。</p>
<p>Linux を勉強したら、Systemd の問題を知りました。Trisquel は Ubuntu の派生だから Systemd を強制します。だから他のディストリビューションを探しましたが、調べるうちに BSD に興味を持ち、BSD を試す事にしました。</p>
<h2>OpenBSD (2022年~)</h2>
<p>複数の BSD を試して、OpenBSD に決めました。OpenBSD は、デフォルト設定が(NTP以外)が好み通りだからです。デフォルト設定が良いと、設定に時間をかけなくて済みます。</p>
<p>dwm ではなく OpenBSD に同梱の cwm を使用する事にしました。日本語入力(uim・nvim)、browser、画像閲覧ソフトはOSに含まれないから自分でインストールしました。これだけで充分快適に使用できます。</p>
<p>この通り OpenBSD に満足したから、何か問題が起きるまでは、OpenBSD を使用するつもりです。</p>
<h2>参考</h2>
<ul>
<li><a href="https://why-openbsd.rocks/">- Why OpenBSD rocks 🐡</a></li>
</ul>
<h2>【注意】OpenBSD のデフォルトのNTPサーバーについて</h2>
<p>OpenBSD のデフォルトのNTPサーバーには Cloudflare や Google が設定されているから、ここの設定変更は必須です。または ntpd を停止します。</p>
<dl>
<dt><cite>/etc/ntpd.conf</cite> の記述から引用</dt>
<ul>
<li><code><q>server time.cloudflare.com</q></code></li>
<li><code><q>constraints from &quot;www.google.com&quot;</q></code></li>
</ul>
</dl>

27
src/personalsite.html ノーマルファイル
ファイルの表示

@ -0,0 +1,27 @@
<title>個人サイトが良い理由 - 美々蝶々</title>
<h1>個人サイトが良い理由</h1>
<ul>
<li>2022-12-24 たかし</li>
</ul>
<h2>1</h2>
<p>わたしは個人サイトを読むのが好きです。個人サイトを読む事で筆者の一面に触れられるからです。会つた事のない人について、その人の意見を読み、自分の意見と比較できます。また、その人の個性や感情にも触れられます。わたしは口で会話する事が苦手だから、直接会つて話すよりもサイトを読んだ方が意見を交換できます。それは本やSNSでも同じかもしれませんが、個人サイトにも良さを感じます。</p>
<h2>2</h2>
<p>本を読めば著者の意見を読み、知識を得られますが、本は商品だから著者の感情は和らぎます。また、大抵、本の著者は何かの専門家です。専門家の意見は勉強になりますが、わたしは、専門家以外も含めた<strong>「その辺に居る、ランダムな誰か」</strong>の意見や感情にも関心があります。だから、わたしは本と個人サイトとの両方を読みます。</p>
<h2>3</h2>
<p>SNSでも人の意見を読めますが、SNSでは最新の投稿が優先されて、昔の投稿を読むのが難しいです。大抵の<strong>個人サイトには目次があるから</strong>文書を探し易いです。また、日付を見れば簡単に最新の文書を探せます。また、SNSのと投稿は独り言に近く、個人サイトや「ブログ」の文章は、読む為に書かれた物だと感じます。だから読みやすいです。</p>
<h2>4</h2>
<p>ここで「ブログ」に触れました。ここではアメーバブログやFC2ブログ等の事を指します。ブログは個人サイトと同じく読み易いですが、大抵は目次がありません。記事を探すには「前へ」「次へ」のアンカーを辿るか、カテゴリーごとの一覧から探すか、検索を使用するしかありません。だからブログより個人サイトが好きです。</p>
<h2>以上</h2>
<p>他にも「note」「qiita」「pixiv」などの投稿サイトがありますが、投稿サイトについては、また別の文書で触れる事にします。</p>

43
src/profile.html ノーマルファイル
ファイルの表示

@ -0,0 +1,43 @@
<title>自己紹介 - 美々蝶々</title>
<h1>自己紹介</h1>
<ul>
<li>たかしです。日本の中國地方に居ます。</li>
<li>このサイトでは、わたしの思つた事や試した事についての文章を公開します。</li>
<li>このサイトは JS 不使用です。</li>
</ul>
<dl>
<dt><img src="./images/fish.png" alt="cursesで描かれた魚"></dt>
<dd>マスコットキャラクターの魚です。</dd>
</dl>
<h2>關心がある事</h2>
<ul>
<li>GNU/Linux、BSD</li>
<li>自由なソフトウェア、自由なウェブ</li>
<li>自然(生き物、植物)</li>
<li>節約、儉約</li>
<li>健康</li>
</ul>
<h2>使用中ソフト</h2>
<dl>
<dt>OS</dt>
<dd>OpenBSD</dd>
<dt>シェル</dt>
<dd>ksh</dd>
<dt>テキスト編集</dt>
<dd>Nvim・vi・ed</dd>
<dt>日本語入力</dt>
<dd>uim-fep</dd>
<dt>ウィンドウ管理</dt>
<dd>cwm</dd>
<dt>端末</dt>
<dd>XTerm + tmux</dd>
<dt>ウェブ閲覽</dt>
<dd>W3M・Netsurf・Dillo・Firefox</dd>
</dl>

45
src/saveyoursite.html ノーマルファイル
ファイルの表示

@ -0,0 +1,45 @@
<title>サイトは消えてほしくない - 美々蝶々</title>
<h1>サイトは消えてほしくない</h1>
<ul>
<li>2023-03-14 (陰暦02月23日) たかし</li>
</ul>
<h2>1</h2>
<p>サイトはいつか消えます。わたしは、できればどの個人サイトにも消えてほしくありません。個人サイトが消えてほしくない理由や、個人サイトを維持する上での課題を考へました。</p>
<h2>2</h2>
<p>サイトが消える理由はいくつかあります。主な理由は次の通りでせう。</p>
<ul>
<li>サイトの管理者が自分で消した</li>
<li>ドメインや VPS の契約が切れた</li>
<li>無料レンタルサーバーのサービスが終了した</li>
</ul>
<p>サイトの更新に飽きてもサイトを消すのは勿體ないです。わたしは、サイトが更新されなくとも、消えずに保持されれば充分だと考へます。</p>
<h2>3</h2>
<p>ウェブに殘された情報が役に立つ事は多いです。わたしは、1990年代や2000年代に書かれた文章から様々な影響を受けました。そして、心が苦しくなつた時は、誰かが書いた樂しい文章から元氣を貰ふ事が多いです。書いた本人にとつて重要でないサイトでも、わたしには大切なサイトです。</p>
<p>今のウェブサイトは、とにかく實用的なサイト、商売の爲のサイトが目立ちます。わたしは、感情的なサイト、信念を持つたサイト、個性的なサイトを重要だと考へます。この様なサイトは本人にしか作れず、失はれたら取り戻せないからです。</p>
<h2>4</h2>
<p>現實的には、サイトを永久に維持する事はできません。多くの場合、管理者が死亡したらサイトも無くなります。これは仕方がありません。</p>
<p>サイトを維持するには、ISP の契約とは別で、ドメイン、VPS、自宅サーバーなどに支払が必要です。これらの支払をやめるとサイトが消えますが、一生續けられるとは限りません。無料レンタルサーバーなら無料で長期間殘りますが、無料レンタルサーバーは近年、次々とサービス終了してゐます。</p>
<p>アーカイブサイトでサイトを保存する方法もあります。これは中央管理ですが、サイトが無くなるよりマシです。また、サイト全體を tar.gz とか zip とかで配布すれば、誰かが保存するかもしれません。壓縮ファイルの狀態であれば、簡單に轉載できます。それはさて置き。</p>
<p>サイトはいつか無くなるとしても、まだ殘せる物を早々と消す事は避けたいです。そして、なるべく消さない事を念頭に置き、長持ちする様にサイトを設計・運營する事が大切だと考へます。</p>
<h2>餘談</h2>
<p>ところで、ダークネットのサイトは、クリアネットよりも更に消え易い様に見えます。ダークネットのリンク集などを見ても、多くのサイトが繋がらなくなつてゐます。ダークネット版のアーカイブサービスがほしくなります。知らないだけで、既にあるかもしれませんが。</p>
<p>いつ、何が起きても大丈夫な様に、サイトの文書や、鍵ファイルなどを徹底してバックアップするべきかもしれません。</p>

54
src/style.css ノーマルファイル
ファイルの表示

@ -0,0 +1,54 @@
*
{
border: none;
font-size: 100%;
font-style: normal;
margin: 0;
padding: 0;
}
body
{
background: #393633;
color: white;
line-height: 150%;
margin: 1em 1em 2em 1em;
padding: 0 1%;
}
h1, h2, h3, h4, h5, h6
{
border-color: gray;
border-style: solid none;
border-width: thin;
font-size: 125%;
font-weight: bold;
line-height: 120%;
margin-bottom: 0.8em;
}
dl, ol, p, pre, ul
{
margin-bottom: 1em;
}
blockquote, dd, ol, ul
{
margin-left: 2em;
}
cite, dt, em, kbd, strong
{
font-weight: bold;
}
img
{
border: thin solid;
}
:link, :visited
{
color: yellow;
text-decoration: underline;
}

134
src/uim-fep.html ノーマルファイル
ファイルの表示

@ -0,0 +1,134 @@
<title>uim-fep の紹介 - 美々蝶々</title>
<h1>uim-fep の紹介</h1>
<ul>
<li>2022-12-31 たかし</li>
</ul>
<p>uim-fep と anthy とを使用すれば、コンソール上で日本語を入力できます。長所は次の通りです。</p>
<ul>
<li>SSH から使用できる。</li>
<li>GTK や X11 が無くても使用できる。</li>
<li>uim-xim と異なり、XTerm 上で文字化けしない。</li>
<li>uim-xim と異なり、suckless の st 上で変な表示にならない。</li>
</ul>
<p>本文中のコマンドなどは OpenBSD 向けです。自分の OS に合せて読み変へてください。</p>
<h2>1. GTK版を使用中の場合</h2>
<p>すでに GTK版の uim を使用中の場合、「uim-pref-gtk」を使用して、anthy の ON/OFF のキーバインドに「<kbd>control + o</kbd>」を指定します。「全角/半角」などのキーバインドは、uim-fep で使用できないからです。</p>
<h2>2. GTK版を使用しない場合</h2>
<p>GTK版の uim を使用しないで、uim-fep だけを使用する手順は次の通りです。</p>
<p>始めに、uim のパッケージをインストールします。uim をインストールすると、anthy (日本語 IME) もインストールされます。</p>
<dl>
<dt>インストール:</dt>
<dd><samp># <kbd>pkg_add uim</kbd></samp></dd>
</dl>
<p>uim-fep を使用するには、環境変数「LANG」「LC_ALL」「LC_CTYPE」に言語とエンコーディングとを設定する必要があります。「.profile」などの設定ファイルに次の記述を追加します。</p>
<dl>
<dt>LANG の設定例:</dt>
<dd><code>export LANG=ja_JP.UTF-8</code></dd>
<dt>または:</dt>
<dd><code>export LANG=en_US.UTF-8</code></dd>
</dl>
<p>最後に、uim の設定ファイルを作成します。デフォルト設定では anthy が無効だから、anthy を使用できるようにします。また、anthy の ON/OFF のキーバインドを「<kbd>control + o</kbd>」に設定します。</p>
<dl>
<dt>設定ファイルを作成:</dt>
<dd><samp>$ <kbd>vi ~/.uim</kbd></samp></dd>
<dt>設定ファイルの中身:</dt>
<dd><samp>$ <kbd>cat ~/.uim</kbd></samp></dd>
<dd><code>(define default-im-name 'anthy-utf8)<br>
(define-key anthy-on-key? '(&quot;&lt;Control&gt;o&quot; generic-on-key?))<br>
(define-key anthy-off-key? '(&quot;&lt;Control&gt;o&quot; &quot;escape&quot; generic-off-key?))</code></dd>
</dl>
<h2>3. 起動と終了</h2>
<p>コンソールで uim-fep を実行すると、日本語入力ができる状態になり、新しいシェルが起動します。また、<kbd>-e</kbd> オプションで、シェルではなく別のプログラムを起動できます。</p>
<dl>
<dt>起動:</dt>
<dd><samp>$ <kbd>uim-fep</kbd></samp></dd>
<dt>起動(tmux):</dt>
<dd><samp>$ <kbd>uim-fep -e tmux</kbd></samp></dd>
</dl>
<p>uim-fep の起動後は、コンソールの最後の行に uim のインジケーターが表示されます。「anthy-utf8」が有効であること、「- 」=「直接入力」、「R」=「ローマ字入力」を意味します。</p>
<dl>
<dt>インジケーター:</dt>
<dd><samp>anthy-utf8[Anあ]</samp></dd>
</dl>
<h2>4. 入力の操作</h2>
<p>起動時は直接入力になります。日本語入力を ON にするには、設定したキーバインド通り「<kbd>control + o</kbd>」を押します。日本語入力を ON にすると、インジケーターの「- 」が「あ」=「日本語入力」に変化します。</p>
<dl>
<dt>インジケーター(日本語入力):</dt>
<dd><samp>anthy-utf8[An- ]</samp></dd>
</dl>
<p>この時、日本語をローマ字で入力できます。例として、「<kbd>toukyou</kbd>」と入力すると「とうきょう」になり、<kbd>スペース</kbd>を押すと漢字変換の候補が表示されます。候補の中から漢字「東京」を選んで<kbd>エンター</kbd>や「<kbd>control + m</kbd>」で確定すると「東京」が入力されます。</p>
<dl>
<dt>漢字変換の候補一覧:</dt>
<dd><samp>1:東京 2:とうきょう 3:トウキョウ [1/3]</samp></dd>
</dl>
<p>日本語入力を OFF にする時は「<kbd>control + o</kbd>」か<kbd>エスケープ</kbd>を入力します。<kbd>エスケープ</kbd>で OFF にできる様に設定すると、Vim を使用する時に便利です。</p>
<p>漢字変換中の便利なキーバインドをいくつか紹介します。</p>
<dl>
<dt><kbd>control + p</kbd>」:</dt>
<dd>前の候補を選択します。</dd>
<dt><kbd>スペース</kbd>」または「control + n」:</dt>
<dd>次の候補を選択します。</dd>
<dt><kbd>control + b</kbd>」:</dt>
<dd>前の文節に移動します。</dd>
<dt><kbd>control + f</kbd>」:</dt>
<dd>次の文節に移動します。</dd>
<dt><kbd>F7</kbd>」:</dt>
<dd>カタカナに変換します。</dd>
</dl>
<h2>5. かな入力</h2>
<p>私は日本語よりローマ字入力が好きです。かな入力だと、1つのひらがなを1つのキーで入力できます。ただし、キー配列は暗記が必要です。例として「ち」は「<kbd>a</kbd>」のキーに割り当てられます。</p>
<p>uim でかな入力を使用する場合、uim-pref-gtk で設定するか、設定ファイルに次の設定を追記します。</p>
<dl>
<dt>かな入力の設定:</dt>
<dd><code>(define default-widget_anthy_utf8_kana_input_method 'action_anthy_utf8_kana)</code></dd>
</dl>
<p>かな入力を設定すると、インジケーターに「か」=「かな入力」と表示されます。</p>
<dl>
<dt>インジケーター(かな入力):</dt>
<dd><samp>anthy-utf8[An- か]</samp></dd>
</dl>
<h2>以上</h2>
<p>uim の設定ファイルに關する資料は少ないから、調査の余地があります。ですが、わたしは、これだけで充分に日本語を入力できます。</p>
<h2>参考</h2>
<ul>
<li><a href="https://github.com/uim/uim/tree/master/fep">uim/fep at master · uim/uim · <strong>GitHub</strong></a></li>
<li><a href="https://raw.githubusercontent.com/uim/uim/master/fep/README.ja">https://raw.<strong>github</strong>usercontent.com/uim/uim/master/fep/README.ja</a> -- 上記の英語版 README とは少し異なる。</li>
</ul>

92
src/userland.html ノーマルファイル
ファイルの表示

@ -0,0 +1,92 @@
<title>UserLAnd でタブレットから SSH を使用 - 美々蝶々</title>
<h1>UserLAnd でタブレットから SSH を使用</h1>
<ul>
<li>2022-12-25 たかし</li>
<li>最終更新日: 2022-12-31</li>
<li>書きかけ。スクリーンショットを追加したい。</li>
</ul>
<h2>1. 初めに</h2>
<p>ノートPCが欲しいけど新しく購入するのは勿体ないです。でも、わたしには CyanogenMod (Android 6 と同じ) のタブレットがあります。SSH を使用すればタブレット経由でデスクトップPCを操作できます。これでノートPCと同じになります。CLIだけですが。</p>
<h2>2. 使用した機器</h2>
<dl>
<dt>PC</dt>
<dd>Open BSD をインストールしたPCです。</dd>
<dt>タブレット</dt>
<dd>CyanogenMod をインストールしたタブレットです(普通の Android でも同じです)。</dd>
<dt>キーボード</dt>
<dd>USB Type-A のキーボードです。</dd>
<dt>USB Type-A・B 変換アダプター</dt>
<dd>タブレットが USB Type-B のみ対応だからキーボードの接続に変換アダプターが必要です。</dd>
</dl>
<h2>3. タブレットにインストールしたソフト</h2>
<p>全て <a href="https://f-droid.org/">F-Droid</a> からインストールできます。インストールしたら、IME を Hacker's keyboard に設定してタブレットに USB キーボードを接続します。</p>
<dl>
<dt><a href="https://f-droid.org/en/packages/tech.ula/">UserLAnd</a></dt>
<dd>Android で Linux ディストロを使用可能にします。</dd>
<dt><a href="https://f-droid.org/en/packages/org.pocketworkstation.pckeyboard/">Hacker's keyboard</a></dt>
<dd>いくつか試した Android用 IME の中で一番 SSH との相性が良いです。</dd>
</dl>
<h2>4. UserLAnd の初期設定</h2>
<p>UserLAnd を使用する前に、Linux ディストロの選択が必要です。わたしは「Alpine」を選択しました。ユーザー名とパスワードとは入力し易い物を設定します。接続方法は「SSH」にします。</p>
<p>設定が終つたら Alpine のセッションを始めます。パスワードを入力して Alpine にログインします。初めは SSH が無いから apk で OpenSSH をインストールします。</p>
<ul>
<li><samp>$ <kbd>apk add openssh</kbd></samp></li>
</ul>
<p>PCを予め起動して、Alpine から SSH で PC に接続します。</p>
<ul>
<li><samp>$ <kbd>ssh myname@192.168.1.###</kbd></samp></li>
</ul>
<h2>5. SSH を便利に使用するために</h2>
<p>SSH を使用するなら tmux が便利です。SSH の接続が切れてもセッションを復元できるし、タブレットをやめてPCに直接ログインした時に、タブレットで作成したセッションをPCで再開できます。</p>
<dl>
<dt>セッションを新規作成する</dt>
<dd><samp>$ <kbd>tmux</kbd></samp></dd>
<dt>作成したセッションにアタッチする</dt>
<dd><samp>$ <kbd>tmux attach</kbd></samp></dd>
</dl>
<p>Android の IME で SSH に日本語を入力するのは不便です。むしろPC側の IME を、SSH 経由で使用する方が簡単です。そのために「uim-fep」を使用します。</p>
<p>uim-fep の使用方法は次の通りです。<a href="./uim-fep.html">uim-fep について</a>は、別の記事で解説しました。</p>
<dl>
<dt>インストール (OpenBSDの場合)</dt>
<dd><samp>$ <kbd>pkg_add uim</kbd></samp></dd>
<dt>「~/.uim」を設定する(例です)</dt>
<dd><samp>$ <kbd>nvim ~/.uim</kbd><br>
(define default-im-name 'anthy-utf8)<br>
(define-key anthy-on-key? '(&quot;&lt;Control&gt;o&quot; generic-on-key?))<br>
(define-key anthy-off-key? '(&quot;&lt;Control&gt;o&quot; &quot;escape&quot; generic-off-key?))</samp></dd>
<dt>uim-fep を起動する(IME が有効になる)</dt>
<dd><samp>$ <kbd>uim-fep</kbd></samp></dd>
<dt>uim-fep と同時に tmux を起動する</dt>
<dd><samp>$ <kbd>uim-fep -etmux</kbd></samp></dd>
<dt>uim-fep と同時に tmux のセッションにアタッチする</dt>
<dd><samp>$ <kbd>uim-fep -etmux attach</kbd></samp></dd>
</dl>
<p>uim-fep を起動すると IME が有効になります。上記の ~/.uim の記述により、「<kbd>Alt + o</kbd>」で日本語入力と直接入力とを切替できます。uim-fep を終了するには「<kbd>exit</kbd>」または「<kbd>Ctrl + D</kbd>」を入力します。</p>
<p>Alpine にログインするたびに SSH コマンドを入力するのが面倒な時は Alpine側の ~/.profile にコマンドを記入して、「<kbd>chmod +x ~/.profile</kbd>」とします。これで Alpine にログインしたら勝手に SSH が起動します。</p>
<h2>以上</h2>
<p>タブレットは持ち運べて便利ですが Android などのタブレット用OS はイマイチでした。SSH なら、タブレット側のOSが何であれ、PC側のOSを使用できるから良いですね。</p>

40
src/webdesign.html ノーマルファイル
ファイルの表示

@ -0,0 +1,40 @@
<title>ウェブサイトの設計方針 - 美々蝶々</title>
<h1>ウェブサイトの設計方針</h1>
<ul>
<li>2022-12-27 たかし</li>
<li>最終更新日: 2023-03-04</li>
</ul>
<p>このサイトの設計方針です。わたしは W3M の愛用者だから、テキストブラウザを贔屓します。方針が変化したら、この記事の内容も更新します。</p>
<h2>1. 文章を優先</h2>
<p>わたしは HTML や CSS よりも文章を重要視します。ウェブサイトの本質は文章だからです。文章の書き方で問題を解決できるなら文章を直します。具体的には、記事を読み辛いと感じたら文章を直し、見た目が物足りないと感じたら文章を書き足します。</p>
<h2>2. 見出しを活用</h2>
<p>わたしは段落のまとまりを見出しで区切るのが好きです。文章の途中に見出しを置くと、適度な余白ができて、目に優しいと感じます。また、見出しに番号を振ると、紙の本のページ数と同じく、どこまで読んだかが分かり易くなります。だから、時には数字だけの見出しも使用します。</p>
<h2>3. ナビゲーションは最小</h2>
<p>このサイトにはヘッダーが無く、フッターも最小限です。各文書に共通のヘッダー・フッターを付けると、HTML が大きくなるからです。</p>
<p>また、ヘッダーが無ければ本文が最初に来るから、上部に「本文へ」のリンクを付けなくても済みます。</p>
<h2>4. CSS について</h2>
<p>このサイトの CSS の特徴は次の通りです。</p>
<ul>
<li>見出しを沢山置くから、見出しのフォントや前後の余白は小さくしました。</li>
<li>読み易い様に、配色は暗めの背景色、白い文字色にしました。</li>
<li>リンクが分かり易い様に、普通の文字は白、リンクだけ黄色にしました。</li>
<li>色々な画面幅で読める様に、ページの横幅は可変にしました。</li>
<li>ブラウザーの設定で好きなフォントを指定できる様に、フォント名・フォントサイズはデフォルトにしました。</li>
</ul>
<h2>以上</h2>
<p>たまに自分のサイトのデザインの方針を書く人が居て、わたしはそれを読むのが好きだから、この記事を書きました。全くの無価値ではない筈……</p>

47
src/webring.html ノーマルファイル
ファイルの表示

@ -0,0 +1,47 @@
<title>ウェブリング - 美々蝶々</title>
<h1>ウェブリング</h1>
<p>ダークネット上のサイトについては、ダークネットのURLのみを掲載します。</p>
<h2>個人サイト</h2>
<p>分散SNSやダークネットの方々の個人サイトはこちらです。</p>
<ul>
<!-- cook1 --><li><a href="https://cookiehookey.v6.rocks/">CookieHookey</a></li>
<!-- digd1 --><li><a href="http://r7mv4w5dlcpha4sr5oseugwulntbuds7l6wzvszzformlyhutdtq.b32.i2p/">Dig Deeper (i2p)</a></li>
<!-- digd2 --><li><a href="http://us63bgjkxwpyrpvsqom6kw3jcy2yujbplkhtzt64yykt42ne2ms7p4yd.onion/">Dig Deeper (onion)</a></li>
<!-- fres1 --><li><a href="http://freshmia.starfree.jp/">創作プロジェクトFreshmia</a></li>
<!-- ryos1 --><li><a href="http://ryocafe.i2p/?i2paddresshelper=Bmmlkmk-Ogv1~gilPATZ27jPydWQOEz8ST4VjiqlRBuNi6S-2mNQ~ODtP2zOTehX6UtUXFMcXh54g09k5LDRG7PkQhVILe6pgFY4rBWg1pYkcOm5kBNsVcWTKKHutNPB6Hsmuqcs2Veel~I4XlvQPVSghz5ALpfH6kejzNiSJb-2zv8dAvDB3gqsRFtTtP~x1SRVwSxI6Avp-udmwY~mxynJ1o9gfK8vnNzIgvaVYNkJqqh75IRA3uV5nVqUPC4bpDusCx8R-rm8jHDIm4adTbZY9xx3ZrrX1wCdiSvEuiOsaSLGpbeFYEj37NlrMkGCf6N8BgjlAf8WtqeOxqJWRjj0VmX4UVzsENd3o5HfRuKd7wAe1~9hcUDavtHCK3r7oKGBjX6OwjhUNuvdxTAgV5aOqq453~3EL-N93lCHDJPGSgQr2OhGBuwDfpfvQGvxWqsA8t1n8eV6noZzUYX7pU6QDE-NEWUt0ClrpbkBe6QTV5ndYQXbM9oJKswCD8CzBQAEAAcAAA==">Ryo&#39;s Izakaya (i2p)</a></li>
<!-- ryos2 --><li><a href="http://asc7ewkcvat2wsoi5yuwkej5ukyrqqnpnzpj4u34r2jxnoxhnbx6yqad.onion/">Ryo&#39;s Izakaya (onion)</a></li>
<!-- teck1 --><li><a href="http://technicalsuwako.i2p/?i2paddresshelper=ubsJs74cyvIxM5CAnadTpNP~8nL3FylU6CC9EzXlaLQVbUuzwzDWSrvTwTEiS1~GTlPaoMxlHe7vCHk0Mn4dnTg-wVZts721rHhu8w4cb0RPVneU5jmcXItsPMyg4oXLVLhv~qe4CEJDFHv6kumFZHUVw~bzorCvwUuISSBM1CqbmZ~SWz0MOHHQBBkIzUHncl~oTGHYJ2AGS0-RLmTSNQIv9Eam1X7EWOmi4VBTpGf-n39QjltWL6SKr9um49OgsYochG6pC8l0kneaIjpDrGUr1jJ6MrwTZxxMWeykuxZv1Vwta74tITjijVyBwKUmlHtUHnnH7IukvEGq5S-6YXUZO~nu5PC~ycNJ35mQUJDmiGAikUUY-vUHk0FvDP30XEQnubsOKEyKBXnd7hSDw8IAO~eAaE8gI21zCMW58Qey11WsxCzM1fAmIN9Y0af~eKkmSTbn14Ma0CGl9M8vt1h5k0i-rKt-V76DR5eyYQ6JBwT7UqB6qiD90OMaaQ6rBQAEAAcAAA==">テクニカル諏訪子 (i2p)</a></li>
<!-- teck2 --><li><a href="http://6qiatzlijtqo6giwvuhex5zgg3czzwrq5g6yick3stnn4xekw26zf7qd.onion/">テクニカル諏訪子 (onion)</a></li>
<!-- tsum1 --><li><a href="http://tsumuri3rdtyn3xkbu4megl2afzbgsdgruv6v52jdadalpid6yry4fyd.onion/">Tsumuri&#39;s website (onion)</a></li>
<!-- udon1 --><li><a href="http://udonya.i2p/?i2paddresshelper=LsBDkoAhI0ZIAM~wL~LD3bNP1G6w2MbEGVGtgn6Jw9zuMRVvKntkbZ7GHEp5X6p5~UUlapsUJWI9GgDLyUwG7Xp8f7ZhzHtk7ItYloqVa8zHPGm81sSh6k0ApaaK6ZwHdfSl~cq1T844wFbGSe0LhJW~cQYfOo7J33RBvapphDSoRldUND6m9GlzBVy4IszQpIxFRqKD5uxxhh8U2Whu46LSJldGN59ODJFm2cXpL-0roJ0GWETOBxnAepo3Vn8Jo6fpJU9f1P0b1f0AeyYWC9aR9fWEMq6i2dXp~kN6fBrUN~hx907ZXgNGi9SqimkdXpP-YqkqWmh9r3Xz~9AciDgJ8X6buW11FOdho366FwPUd1mSvMt-5ka~QlpjvpfudjEllXd5ysLDBavkc2nwQHWpR3hjWLN-g9QgTrkGoP77ToSSwfI0H6Kw3ipiTurzBxb4SQES3yispUdJf5QAf-SvT9OiBEOurr9NBA3YfBKHSYUIPXUCcx1q6dTmcLA4BQAEAAcAAA==">うどん屋 (i2p)</a></li>
<!-- udon2 --><li><a href="http://gpvdip7rd7bdy5gf7scl3rzgzgzckqw4sqxbmy6g3zijfwu4lz3ypbyd.onion/">うどん屋 (onion)</a></li>
<!-- wron1 --><li><a href="https://wrongthink.link/">Wrongthink</a></li>
</ul>
<h2>コンピューター・ウェブ</h2>
<p>勉強や調べ物で見附けたサイトはこちらです。</p>
<ul>
<!-- ilov1 --><li><a href="https://userweb.mnet.ne.jp/tnomura/">I love CUI</a></li>
<!-- kabe1 --><li><a href="http://vega.pgw.jp/~kabe/">Kabe&#39;s Home Page</a> -- ウェブや UNIX など</li>
<!-- kabi1 --><li><a href="https://kabipan.com/">カビパン男と私</a> -- UNIX など</li>
<!-- mhir1 --><li><a href="http://www.nct9.ne.jp/m_hiroi/">M.Hiroi&#39;s Home Page</a> -- 様々なプログラミング言語など</li>
<!-- shad1 --><li><a href="http://63gxkfc4hlcbxrdoepw2i2hyxai5qkxmi636ag3y7sf5tq3imoya.b32.i2p/index.xhtml">Shadow Wiki (i2p)</a> -- ソフトウェアのレビューなど</li>
<!-- shad2 --><li><a href="http://zsxjtsgzborzdllyp64c6pwnjz5eic76bsksbxzqefzogwcydnkjy3yd.onion/index.xhtml">Shadow Wiki (onion)</a> -- 同上</li>
<!-- spyw1 --><li><a href="http://spywareitdaiuyfo2sqb5vsg7mek5cjabdr73luhnda57t2hyuzg7yyd.onion/">Spyware Watchdog (onion)</a></li>
<!-- w3mr1 --><li><a href="http://w3m.rocks/">W3M Rocks</a></li>
</ul>
<h2>リンク集</h2>
<ul>
<!-- okoj1 --><li><a href="http://okojo2httpfu4belqr4ubsxesuqoih35j3yacskp7ijyt7rueykxgkqd.onion/">🐕 okojo2http (onion)</a></li>
<!-- onio1 --><li><a href="http://donionsixbjtiohce24abfgsffo2l4tk26qx464zylumgejukfq2vead.onion/">Onion link list (onion)</a></li>
<!-- regi1 --><li><a href="http://reg.i2p/">reg.i2p (i2p)</a></li>
</ul>

33
src/windows.html ノーマルファイル
ファイルの表示

@ -0,0 +1,33 @@
<title>Windows を相手にしない - 美々蝶々</title>
<h1>Windows を相手にしない</h1>
<ul>
<li>2023-01-22 たかし</li>
</ul>
<h2>1</h2>
<p>わたしは Linux・BSD のユーザーです。前まではゲームやソフトウェアを作る時に、Linux・BSD だけではなく Windows などの不自由なOSもサポートしたいと考へてゐました。でも、無理に Windows をサポートしない方が氣が樂だし、それによる大きなデメリットも無いと氣附きました。Linux・BSD だけで動けば充分です。</p>
<h2>2</h2>
<p>Windows で動くプログラムを作るには、技術をよく檢討しないといけません。Windows に移植されてゐる言語・ライブラリーしか使へないし、移植されてゐたとしても Windows のパッケージ管理は不味いから、簡單に導入できない事が多いです。だから「HTML5」「Electron」「Flutter」みたいな仕組みが流行るのでせうが、興味がありません。</p>
<p>(Java はマシな選擇肢かも……)</p>
<p>そもそも、Windows をサポートするには、Windows を使ふ必要があります。普段、Linux・BSD を使用してゐるのに、Windows のPCを起動するのは面倒です。色々な不便を受け入れてまで Windows をサポートする價値があるか、が問題ですが、その價値は無いと思ひます。</p>
<h2>3</h2>
<p>わたしは、Windows の現狀は「デスクワーカーのためのOS」だと思ひます。それなら業務のためのソフトウェアだけが必要です。それは個人が趣味で作る様な物ではありません。</p>
<p>勿論、遊びのために Windows を使ふ人もたくさん居ますが、多くは STEAM などのストアで賣られるソフトで遊びます。無料ソフトにもニッチな人氣がありますが、さう云ふ物は、Windows 専用と割り切つて、Windows の技術で開發した方がいいでせう。</p>
<p>無理に Linux・BSD・Windows の3つをサポートするより、Windows 非對應にするか、Windows 専用にするか、きつぱりと決めた方が良い結果を生むと思ひます。</p>
<p>言語やライブラリによつては、Windows でも動くものが作れるかもしれませんが「動いたらラッキー」「動かしたい人は自分で調べてください」つて方針でいいと思ひます。</p>
<h2>餘談</h2>
<p>今、perl と curses とを使つて自分のためのソフトを開發中ですが、Linux・BSD であれば、perl用 curses パッケージをインストールするだけで簡單に動作します。Windows で動くかは氣にしません。</p>