数学的確率と論理的真理値の違い
現代数学的に言って、数直線に一本のダーツを投げて、矢の先端が値aの点に当たる確率は0であるが、起こりうる。
例:0〜1の実数をランダムに1つ選ぶ
区間 [0,1] から一様に1つ選ぶとします。
特定の1点(例:0.5)が選ばれる確率は 0
でも 0.5 が選ばれることは可能
つまり:
確率0 ≠ 不可能
確率1 ≠ 必然
---------------------------------------------------------------------------------------------------------------
ここで、無限小の概念を導入したらいけないのかな。
つまり、区間[0,1]から一様に特定の一点(0.5)が選ばれる確率は無限小。
そうすると、確率は0ではなくなる。
論理学的には1は真、0は偽である。
無限小の概念を導入したら、論理学と数学的確率の0と1が一致するのではないか。
現代数学的には確率1のものを真、確率0のものを偽としてはいけないらしいが。
囚人のジレンマの答。
囚人のジレンマの答。
「日曜日までにお前の分からない日に殺してやる」と言われ、日曜日までは後1週間ある。さて、いつ殺される?
日曜日は分かっているので殺されない。
土曜日は、日曜に殺されないが、金曜日に、土曜日に殺される可能性と、金曜日に殺される可能性があるので、どちらかわからないので、殺される可能性がある。
死刑囚は木曜日に殺された。
Arch Linuxで、Brother DCP-J952Nを動かす。
CUPSのインストール
sudo pacman -S cups
CUPSサービスの開始
sudo systemctl enable cups.service
sudo systemctl start cups.service
Brotherから、RPMパッケージのドライバを持ってきて、rpmextract.shで抽出。
PPDファイルが中にあるのでセーブ。
CUPS(http://127.0.0.1:631)を起動させて、プリンタを追加。
PPDファイルを指定する。
URLは、’ipp://192.168.003.002/ipp/' (固定IPなので、192.163.003.002を指定している)
テストプリント 出来上がり。
しかし、カラーが出ない。geditからタイトルが印刷されない。無理なのかなあ。
Qiitaの記事編集エディタが動かなくなった原因
Qiitaの記事が編集できなくなった。編集しようとしてもレスポンスがかなり遅いかフリーズする。IMかシステムかがおかしくなっているかと思って、web検索してみたら、ある特定の文字列を記事に含んでいると誤動作するとの記述があった。その問題は解決しているらしいが、新しい問題が起こったのだろう。改造したmc.ext.iniをQiitaに載せるとエディタがおかしくなる。多分、ある特定の文字列が改造したmc.ext.iniに含まれていて、その文字列をアップするとおかしくなるのだろう。Qiitaのバグだろうから、運営にメールを書いておいた。
追記:運営から返事が来て、一部のデバイスでシンタックスハイライトを使うと不具合が発生するとのことで、シンタックスハイライトを切ったら直った。すぐ修正することは難しいと言われてる。
シンタックスハイライトを切る方法
```plaintext:mc.ext.ini
---
```
Picasa3のアルバムデータベース削除
今時Picasa3なんて使ってる人居ないだろうな。僕はwineで使っているので、wineの方法を書いておきます。
Picasa3はアルバムの一括削除機能がないので、一回散らかしたアルバムデータは手動で一々削除していくしかありませんでしたが、
/home/gar/.wine/drive_c/users/gar/Local Settings/Application Data/Google/Picasa2/のディレクトリを削除すると、データベースの一括削除ができます。
.../Google/Picasa2Albums/は監視フォルダのリスト等が入っていて、.../Google/Picasa2/にはサムネイルなどが入っています。
削除コマンドのaliasを.bashrcに登録しておくと良いでしょう。
alias picasaclear='rm -rf "/home/gar/.wine/drive_c/users/gar/Local Settings/Application Data/Google/Picasa"*'
これで、picasaclearとすると、データベースと、監視フォルダの一括削除ができます。
python3 AttributeError
AttributeError: partially initialized module 'random' has no attribute 'seed' (most likely due to a circular import) これが出る時は、実行ファイル名にインポートしたモジュールの名前と同じ名前が付いているときだ。 いちいちpythonはファイル名とインポートモジュール名を区別しなくてはいけない。 調べるのが面倒くさい。 自分自身じゃなくても、インポートモジュールと同じ名前で実行ファイルがあったらダメみたい。 実行ファイルがt.pyという名前で、他に以前うっかり作ってそのままにしておいたrandom.pyというファイルがあったら、それでこのエラーが出た。これは、import randomとぶつかったのである。random.pyを消したら上手く行った。
linux 用PC9801エミュレータ'xnp2'を動かしてみた。Ubuntu 18.04 & Arch linux
09 /232018
linux 用PC9801エミュレータ'xnp2'を動かしてみた。
★Ubuntu 18.04
① 必要なパッケージをインストールする。
sudo apt-get install libsdl-mixer1.2 libsdl-mixer1.2-dev libgtk2.0-dev libglib2.0-dev x11proto-xext-dev gcc-avr build-essential
② https://github.com/nonakap/xnp2 ( GitHub xnp2 )から、zipファイルをダウンロードする。
③ お好みのディレクトリfooで、zipファイルを展開。
④ xnp2-masterというディレクトリが出来るので、その中の、
x11 (すなわち、foo/xnp2-master/x11/)に入る。
⑤ ビルド。
(1) sh autogen.sh
(2) ./configure
(3) make
(4) sudo make install
⑥ ディレクトリfooにて、ファントファイルとFreeDOS(98)(MS-DOS同様に動く、無料で手に入るDOS) の入った、ハードディスクイメージを手に入れる。
(1)font.bmp
(2)fd98_hd_100m_20180629.zip
⑦ ハードディスクイメージを展開。
$ unzip fd98_hd_100m_20180629.zip
⑧ ハードディスクイメージを指定して、xnp2を動かす。
$ xnp2 FD98_HD.hdi
⑨ フォントファイルを指定してxnp2をリセット。
「Emulate」→「Font...」で指定。「Emulate」→「Reset」でリセット。
⑩ 終了。
「Emulate」→「Exit」
⑪ 「~/.np2/np2rc」が設定ファイルなので、お好みに設定。
⑫ Linuxファイルシステムと、ハードディスクイメージのファイルの交換をするため、Vectorから、「editdisk」をインストールする。
⑬ 自分は、昔のプログラムを動かすために、screen optionの設定を「EGC」にしてやった。
★Arch linux
Arch linuxでは、xnp2は、
yay -S xnp2
で、インストールできる。
以上。
今後の課題
yacc,lex(bison,flex)によるGAME言語のコンパイラ作成。
Prologをやる。
タートルグラフィックス。
pascalをやる。
Javaをやる。
bison,flexはインストールした。SWI-Prolog もインストールした。fpc(Free Pascal)もインストールした。
ucblogoもインストールした。今後の課題である。
eclipseをやろう。pleiadesで日本語化。GUIによるIDEは扱ったことがないので。
linuxでlanを張ってvncserverとremminaをインストールする。
ChatGPTとStable diffusionもやりたい。ChatGPTにはSMSが必要。stable diffusionにはハイスペックのパソコンが必要だ。
GAME言語の思い出
GAME言語が流行ったのは、パソコン黎明期1980年前後。GAME言語には思い入れがあります。僕がコンピュータをやり始めた中学一年の時、まだパソコンはパソコンという呼称ではなくマイコンと呼ばれ、今のように広まっていず、マニアだけがやっていました。当時、国民機と呼ばれたPC-8001、PC-8801が発売され、僕はそれらのコンピュータを買ってもらい、ゲームを作って雑誌に投稿していたマイコン少年でした。ゲームを作るときに問題になるのがコンピュータの処理速度で、Z80の8ビットマイコンにはマイクロソフトのN88-BASICは重くてリアルタイムゲームは無理と言われていました。そこで登場したのが月刊ASCIIに載っていた「GAME言語」で、MZ-80やPC-8001、APPLE][、CBM-3032などの機種で、コンパクトで軽量で高速な処理を実現していました。実行速度はアセンブラには敵わないけれど、雑誌にいろんなGAME言語のプログラムが載り、一世を風靡しました。ちょっと恥ずかしいですが、僕はGAME言語を参考に、自作の言語処理系を作り、インタプリタとコンパイラでゲームを開発していました。自作言語の第一号はMIEP(MICRO INTEGER EXPRESSION PROCESSOR)と言い、エディタとインタプリタとコンパイラで構成されていました。PC-8801用でした。これで、PC-8801向けに、PACK'N BOYとGALACKという、パックマンとギャラクシアンのクローンを作り、PSK(パソコンショップ高知)から発売していました。自作言語の第二号は、これも、GAME言語から派生したものですが、MIGといい、これは略称ではなく、「速いゲームを作りたい」という思いで、旧ソ連の超音速戦闘機から取りました。GAME言語は’General Algorithmic Micro Expression’の略だった様に記憶しています。MIGはIDEを作ろうと思ったのですが、エディタとコンパイラだけで断念。それでも、インラインアセンブラを装備していました。MIGでStarStruck とInternalTroubleというゲームを作り、PSKから発売をしました。このゲームもPC-8801用でした。<div>この間、ふとハックアタックがあり、Ubuntu20.04で、スクラッチからC言語で、GAME言語のインタプリタを二晩徹夜で作り、GithubとQiitaに上げました。いまではGAME言語は廃れており、資料を手に入れるのが困難ですが、GAME言語と聞いてノスタルジーを覚える同世代のエンジニア達のなんかのお役に立てれば、また、思い出を温めるお手伝いができれば、と思っています。
LXDE,cinnamonの日付書式のフォーマット
”%A%b%d日 %R”で、"火曜日4月04日 23:27"と出る。
command lineのdateコマンドと同じ書式。