systemd 化されてしまった Raspbian でコンソールへの自動ログインをやめさせる

またしても systemd か。


やめさせる

ln -fs /lib/systemd/system/getty@.service     /etc/systemd/system/getty.target.wants/getty@tty1.service


自動ログインに戻す

ln -fs /etc/systemd/system/autologin@.service /etc/systemd/system/getty.target.wants/getty@tty1.service

謎の企業⽢潤社とはっ

⽢潤社、聞いたこともないような名前の企業である
しかしてその実態は膨大な量の暗号文を配布し、社員をはじめその理念に賛同するもの達への指示を行っている悪の秘密結社である!


というのは嘘で、ShiftJIS 優先のエディタで HTML 書き始めてうっかりそのまま保存して Chrome でみたら


㱨瑭氾ഊ़桥慤㸍ਉ़瑩瑬放浵獩挼⽴楴汥㸍ਉ़獣物灴⁳牣㴢浵獩挮臏∾㰯獣物灴㸍ਉ㰯桥慤㸍ਉ㱢潤社ഊउ苙芰ഊ़⽢潤社ഊ㰯桴浬


こんな風に化けてました
ちょっと謎。

template <typename NUMBER_TYPE>
NUMBER_TYPE calculateGcdWithEuclidean(NUMBER_TYPE fst, NUMBER_TYPE snd)
{
	if (fst <= 0) { fst *= -1; }
	if (snd <= 0) { snd *= -1; }
	
	while (fst != snd)
	{
		if (fst > snd)
		{
			fst -= snd;
		}
		else
		{
			snd -= fst;
		};
	};
	
	return fst;
};

#include <iostream>
#include <stdlib.h>
int main(int argc, const char** argv)
{
	long timesPerSecond = 1000000; // 1000
	long framesPerSecond = 60; // 60
	long baseTime = timesPerSecond / framesPerSecond; // 16
	long remaindered = timesPerSecond % framesPerSecond; // 40
	
	long gcd = calculateGcdWithEuclidean(framesPerSecond, remaindered); // 20
	long cycle = framesPerSecond / gcd; // 3
	long longSpanCount = remaindered / gcd; // 2
	std::cout << "baseTime:" << baseTime << std::endl;
	std::cout << "remaindered:" << remaindered << std::endl;
	std::cout << "gcd:" << gcd << std::endl;
	std::cout << "cycle:" << cycle << std::endl;
	std::cout << "longSpanCount:" << longSpanCount << std::endl;
	
	// assertEqual(timesPerSecond, (cycle * gcd * baseTime) + (longSpanCount * gcd));
	long* pTimeTable = (long*)malloc(sizeof(long) * cycle);
	for (int i = 0; i < cycle; i += 1)
	{
		pTimeTable[i] = baseTime + ((i < longSpanCount) ? 1 : 0);
		std::cout << i << ":" << pTimeTable[i] << std::endl;
	}
	free(pTimeTable);
	
	return 0;
}

まく使いの憂鬱(Karabiner)の設定ファイル

Karabiner の設定ファイル。
もうこれがないと職場で仕事できないレベルになってきたのでバックアップ代わりに晒しておく。

VirtualBox 内と VNC 経由で Windows で nfer/xfer で IME 制御したい Mac 利用者っていう変態的なケースなので需要は少ないかもしれん。
Karabiner がなかったら OS-X は個人的にはもう諦めてたと思う(OS 8 くらいの時期から Mac に触ってるはずだが今でも Finder の挙動に耐えられん)

<?xml version="1.0"?>
<!-- Karabiner/private.xml -->
<root>
	<appdef>
		<appname>VirtualBox</appname>
		<equal>org.virtualbox.app.VirtualBoxVM</equal>
	</appdef>
	<appdef>
		<appname>VNC</appname>
		<equal>com.geekspiff.chickenofthevnc</equal>
		<equal>net.sourceforge.chicken</equal>
		<prefix>de.jinx.JollysFastVNC</prefix>
		<prefix>com.realvnc.vncviewer</prefix>
	</appdef>
	<appdef>
		<appname>iTerm</appname>
		<equal>com.googlecode.iterm2</equal>
	</appdef>
	<item>
		<name>Use Eisuu as Shift + F12 in VirtualBox</name>
		<identifier>private.virtualbox_eisuu</identifier>
		<only>VirtualBox</only>
		<autogen>__KeyToKey__ KeyCode::JIS_EISUU, KeyCode::F12, ModifierFlag::SHIFT_L</autogen>
	</item>
	<item>
		<name>Use Kana as Han/Zen in VirtualBox</name>
		<identifier>private.virtualbox_kana</identifier>
		<only>VirtualBox</only>
		<autogen>__KeyToKey__ KeyCode::JIS_KANA, KeyCode::JIS_PC_HAN_ZEN</autogen>
	</item>
	<item>
		<name>Use CapsLock as Ctrl in VNC Viewer</name>
		<identifier>private.vnc_ctrl</identifier>
		<only>VNC</only>
		<autogen>__KeyToKey__ KeyCode::COMMAND_L, KeyCode::CONTROL_L</autogen>
	</item>
	<item>
		<name>Use Yen mark as Backslash in VNC Viewer</name>
		<identifier>private.vnc_yen</identifier>
		<only>VNC</only>
		<autogen>__KeyToKey__ KeyCode::JIS_YEN, ModifierFlag::NONE, KeyCode::VK_JIS_BACKSLASH</autogen>
	</item>
	<item>
		<name>Use Eisuu as Ctrl + F13 in VNC Viewer</name>
		<identifier>private.vnc_eisuu</identifier>
		<only>VNC</only>
		<autogen>__KeyToKey__ KeyCode::JIS_EISUU, KeyCode::F13, ModifierFlag::CONTROL_L</autogen>
	</item>
	<item>
		<name>Use Kana as Ctrl + F14 in VNC Viewer</name>
		<identifier>private.vnc_kana</identifier>
		<only>VNC</only>
		<autogen>__KeyToKey__ KeyCode::JIS_KANA, KeyCode::F14, ModifierFlag::CONTROL_L</autogen>
	</item>
	<item>
		<name>Use Underscore as Backslash globally</name>
		<identifier>private.global_yen</identifier>
		<autogen>__KeyToKey__ KeyCode::JIS_UNDERSCORE, ModifierFlag::NONE, KeyCode::VK_JIS_BACKSLASH</autogen>
	</item>
	<item>
		<name>Use Home as Command + Left globally except VirtualBox, VNC and iTerm</name>
		<identifier>private.global_home</identifier>
		<not>VirtualBox, VNC, iTerm</not>
		<autogen>__KeyToKey__ KeyCode::HOME, KeyCode::CURSOR_LEFT, ModifierFlag::COMMAND_L</autogen>
	</item>
	<item>
		<name>Use End as Command + Right globally except VirtualBox, VNC and iTerm</name>
		<identifier>private.global_end</identifier>
		<not>VirtualBox, VNC, iTerm</not>
		<autogen>__KeyToKey__ KeyCode::END, KeyCode::CURSOR_RIGHT, ModifierFlag::COMMAND_L</autogen>
	</item>
</root>

尚、Windows 側の IME の設定は手動でやってる。
こいつもレジストリエディタとかでなんとかならんのかなと思い続けて気がつけば十年くらい経ってる気がする。

7/25 追記 iTerm で Home/End を除外した。ちょっと弄ると他で影響が出てくるのがつらい。
後年追記 Karabiner-Elements の設定 まく使いの憂鬱(Karabiner-Elements)の設定ファイル - public: typedef Takel::Diary Observable;

つまり1進法か

1+1=11 も1進法という事にするなら正しいなと気づいた。
unary 1 = decimal 1
unary 11 = decimal 2
unary 111 = decimal 3
unary 1111 = decimal 4
字面に対して超直感的な記法www
もはや1の代わりに饅頭でもリンゴでもバナナでも使っていいwww


1進法があるなら0進法もあってもいいと思ったw
nullary 0 = decimal 0 = unary
nullary 00 = decimal 1 = unary 1
nallary 000 = dicimal 2 = unaary 11
nallary 0000 = decimal 3 = unary 111


ゼロ進法まできちゃうと頭に0をいくらつけても等価とするっていう他の記法との互換性はなくすか、
ゼロでない数字を使う必要が出てくるなwww


さらに追加で-1進法を考えたw
これはマイナスを表せるだけでなく
1進法で0を表すときに何も書けなくなる事の対応と
0進法で頭に0を付けられない事の対応まで含むwww
(もはや arity がわからないので仮に negary とするw)
negary -111 = decimal -3
negary -11 = decimal -2
negary -1 = decimal -1
negary - = decimal 0
negary 1- = decimal 1
negary 11- = decimal 2
negary 111- = decimal 3


これは神の記法かもしれんwwwwww


あかん、小数点対応もいくぜ...?
p-negary 1.1- = decimal 1.5
p-negary 0.1- = decimal 0.5
p-negary 0.01- = decimal 0.25
p-negary 0.11- = decimal 0.75(0.5 + 0.25)
p-negary 0.001- = decimal 0.125
p-negary 0.101- = decimal 0.625(0.5 + 0.125)
p-negary 0.111- = decimal 0.875(0.5 + 0.25 + 0.125)
p-negary 0.0001- = decimal 0.0625
p-negary -0.1 = decimal -1.0
p-negary -1.1 = decimal -1.5
p-negary -1.0 = decimal -0.5
p-negary -10.0 = decimal -0.25
p-negary -11.0 = decimal -0.75(-0.5 + -0.25)
やゔぁいwww 超シンメトリーwww

1+1=2 の理由をこたえられる人はいるか?

1+1=2 が真である理由を説明できる人っているのだろうか?
みんなこれを当たり前のように真理として受け入れているだけであって、
本当にそうなのかそこに疑いがないのか真面目に考える人は少ないと思う。


数字や数値について何の前提知識もなく + は足す記号で、 = は等しい事を表す記号だというルールを与えられたら、
1+1=11
あたりと答えるのがある意味普通の反応なのではないか?
偶然性に頼る以外に、どうやっても虚無から 1+1=2 というルールを導出するに至らない気がする。


では 1+1=2 とは何なのだろうか?
誰もが経験的にそれが真であることが間違いないとは知っている。
だがそれが真である理屈を説明する事は自分にはできそうもない。


しかし、こう考えることは可能であった。
『人間は1と1を足した結果の状態を2という数値で捉えることにしているんだよ。』