nimを動かしてみた

nimをインストール

公式サイトのインストール手順の一番最初にあるchoosenimを使った方法を試してみる。

$ curl https://nim-lang.org/choosenim/init.sh -sSf | sh

とすると、テレメトリ情報の取得可否の質問をされるが、すぐ完了する。
~/.profile か ~/.bashrc に

export PATH=/home/${USER}/.nimble/bin:$PATH

を追加するよう表示されているので、 ~/.bashrc の最後に記述を追加してシェルを開いて、バージョンを確認する。

$ nim -v
Nim Compiler Version 1.6.6 [Linux: amd64]
Compiled at 2022-05-05
Copyright (c) 2006-2021 by Andreas Rumpf

git hash: 0565a70eab02122ce278b98181c7d1170870865c
active boot switches: -d:release

サンプルを動かしてみる

nimのドキュメントにある、Learn X in Y minutesからソースコードをダウンロードしてきて、

$ nim c learnNim.nim

でコンパイル、

$ ./learnNim

で実行できた。

$ nim c -r learnNim.nim

とすると、コンパイル後実行してくれるので、Pythonと同じ感覚で使える・・・・かもしれない。

オンラインでコンパイル&実行

https://play.nim-lang.org/ にて、オンラインでコンパイル&実行ができる。ただし、対話的なものはだめっぽい。(よくわからん)

プログラミング言語Nim

Nimというプログラミング言語があるらしい。
ちょっと見た感じ、とても興味深い気がするので、是非トライしてみたい。
知ったのは、

がきっかけ。

お役立ちリンクも貼っていただいた。

同じ内容だけど、自分で参照するために貼っておこう。

電気通信事業法

ググっていてたまたま見つけたのだけど、電気通信事業参入マニュアルガイドブックなるものがあることがわかった。

これによると、

ということで、特定のユーザー間での送受信機能があると、電気通信事業法上の登録または届出が要るらしい。

これって、もしかして例えばWordPressにユーザー間のメッセージの送受信ができるプラグインを入れて運用を始めた時点で該当しちゃうってことなのだろうか??(自分は入れてないけど)

あ、広告入れなければいいのかな??

Ryzen Pro 4750G + Linux Mint 20.3 Cinnamon(Edge)

4度目(実際にはもっといろいろ試しています)の挑戦です。

Linux Mintのエディションには、Cinnamon、Cinnamon(Edge)、MATE、Xfceがあり、2番目の『Cinnamon(Edge)』ってなんだ?と思って調べてみたところ、初めからカーネルが5.13系になっているもののようです。

ですので、こんどはこちらでトライしてみました。あわせて、今回はインストールUSBで起動する際にBIOSではなく、UEFIを選択しました。(先にセキュアブートは禁止してあります)

で、インストーラでは平然とマルチモニタをしっかり認識して、らくらくとインストールが進みます・・・が、インストールして再起動すると、GRUBでRecovery Modeじゃないと起動できません。正確には、Linuxの起動メッセージが2〜3行くらい表示された後、何も画面が表示されなくなります。

Recovery Modeでは800×600しか表示されないのですが、なんとかこれでアップデートの際のミラー選択をして、すべて更新をかけます。

で、更新しても、やっぱりGRUBでRecovery Modeじゃないと起動できません。おまけに、ドライバインストールがいるよ、という表示が出るものの、ハードウェアをスキャンしても何も検出されません。

で、このままAMDのGPUドライバをインストールしてきます。


http://repo.radeon.com/amdgpu-install/latest/ubuntu/

の下の、

http://repo.radeon.com/amdgpu-install/latest/ubuntu/focal/

からインストール用のドライバパッケージ(amdgpu-install_21.50.50000-1_all.deb)をダウンロードしてきて、ダブルクリックしてインストールします。

その後、

$ sudo apt update
$ sudo apt upgrade
$ sudo apt install build-essential
$ sudo amdgpu-install

としたところ、無事にマルチモニタで動作するようになりました。

で、あとはいつものように言語の設定で、システムのロケールと言語サポートをインストール。
こんどは無事に動作し続けるといいのですが・・・。

Ryzen Pro 4750G + Linux Mint XFCE

先にマルチモニタ表示ができずにUbuntuにしたRyzen 7 Pro 4750G + DeskMini X300ですが、やはりUbuntuが使いにくくてなんとかLinux Mintに戻すチャレンジをしてみました。

が、今回はいつものMATEではなく、Cinnamonでチャレンジしたところ、

  • 標準のkernel 5.4系 : マルチモニタ認識せず
  • kernel 5.8系 : メンテされてないので対象外
  • kernel 5.11系 : まったく画面表示が出ない
  • kernel 5.13系 : マルチモニタ認識しない上に、ネットワークデバイスも認識しない(dmesgでは認識してるのに・・・)

ということで、Cinnamonでも途方に暮れてしまいました。

そこで、Linux Mint XFCEを試してみたところ、標準ではやはりマルチモニタを認識しなかったのですが、インストール後にとりあえずアップデートだけかけて、

http://repo.radeon.com/amdgpu-install/latest/ubuntu/

の下の、

http://repo.radeon.com/amdgpu-install/latest/ubuntu/focal/

からインストール用のドライバパッケージ(現在あるのはamdgpu-install_21.50.50000-1_all.deb)をダウンロードしてきてインストール、

その後、


$ sudo apt update $ sudo apt upgrade $ sudo amdgpu-install

としたところ、無事にマルチモニタで動作するようになりました。\(^o^)/

しばらくこれで使ってみようと思います。

【追伸】

しばらく・・・・というほど使って見るまでもなく、Chromeを使っているとフリーズするようになってしまいました。😔

Arch-Linuxをインストールしてみた

だいぶ前から触ってみたかったArch-Linuxをインストールしてみることにします。インストールガイドが秀逸なので、これ沿ってVirtualBox上でインストールしてみました。早速、ガイドに沿ってすすめていきます。

インストールイメージGnuPG鍵をダウンロードして、

$ gpg --keyserver-options auto-key-retrieve --verify archlinux-2022.03.01-x86_64.iso.sig

として、署名検証をします。出力された結果のフィンガープリントが公開されているものと一致していればいいのでしょう。

一致していたら、とりあえずCPU4コア、メモリ4GB、ストレージ30GBとして仮想マシンを作成し、インストールメディアをマウントして起動します。

起動したら、

# loadkeys jp106

として、日本語キーボードにマップを合わせます。

マップがあったら、

# ping archlinux.jp

としてネットワークの疎通を確認します。

# timedatectl set-ntp true
# timedatectl status

として、時計を合わせ、合っていることを確認します。

# fdisk /dev/sda

として、ディスクのパーティションを作成します。

/dev/sda1を4GBでLinux swapに、/dev/sda2を26GBでLinuxに設定しました。

wコマンドでパーティションテーブルを書き込んで、確認します。

パーティションをフォーマットします。

swapを有効化して、ルートパーティションを /mnt にマウントします。

必須パッケージをインストールします。

# pacstrap /mnt base linux linux-firmware

fstabを生成します。

インストールしたシステムにchrootします。

タイムゾーンと時刻の設定をします。

ローカリゼーションします。

で、ここで、

とさらっと書かれていたりするのですが、viすら入ってません。

なので、

# pacman -S vim

として、vimをインストールしてからvimで /etc/locale.gen を編集して、

en_US.UTF-8 UTF-8
ja_JP.UTF-8 UTF-8

の行のコメントを外して保存してからロケールを生成します。

LANG環境変数を設定する/etc/locale.confを作成します。

コンソールキーマップを設定する/etc/vconsole.confを作成します。

ホストネームを設定します。

initramfsを生成します。

rootのパスワードを設定します。

GRUBをインストールする

ブートセクタにインストールする。

chroot環境から抜けて再起動する。

仮想メディアを外して起動すると・・・

で、Enterキーを叩くと、無事に

ということで、起動成功しました。

引き続き、一般的な推奨事項に沿って、設定していく感じでしょうか。

Ryzen Pro 4750G + Ubuntu 20.04.4 LTS

前回、LinuxMintでマルチモニタ表示ができなかったのでkernel 5.8系をインストールしたDeskmini X300 + Ryzen Pro 4750Gですが、kernel 5.8系はアップデートが提供されていないことに気づきました。

調べてみると、AMDが提供しているドライバをインストールするのが正しいようです。(なんで?標準で表示してくれる方が圧倒的に嬉しいのですけど)

手順は、

http://repo.radeon.com/amdgpu-install/latest/ubuntu/

の下の、

http://repo.radeon.com/amdgpu-install/latest/ubuntu/focal/

からインストール用のドライバパッケージ(現在あるのはamdgpu-install_21.50.50000-1_all.deb)をダウンロードしてきて、これをインストールします。

インストールしたら、

$ sudo apt update
$ sudo apt upgrade
$ sudo amdgpu-install

でインストールします。自分でコンパイル環境とソースを引っ張ってきてビルドするようなので、数百MBのダウンロードを行った後でコンパイルを行うようです。

で、Linux Mintのデフォルトのkernel 5.13系で起動してインストールしようとしたところ、5.8系をインストールしたためか、依存関係に矛盾があるということで失敗してしまいました。

どうせならということで、クリアインストールすることにしたのですが、手元にUbuntu 20.04.4 LTSのインストーラが入ったUSBメモリがあり、(LinuxMintだと思って)起動したところ2画面とも正しく認識することに気づきました。

で、「もしかして、Ubuntuはドライバインストールしなくても大丈夫なのでは?」と思って、そのままインストールしたところ・・・インストール後は全く画面が出なくなりました。

仕方ないので、GRUBのところからRecovery Modeで起動して、上記の手順でインストールしてから、通常手順で起動すると無事に2画面表示できるようになりました。

それにしても、インストール手順が書いてある

https://amdgpu-install.readthedocs.io/en/latest/install-prereq.html#downloading-the-installer-package

にたどり着くのにすごく苦労しました。もう少し探しやすくしてほしい・・・。

CircuitLabで簡単な回路シミュレーション

いろいろ作っていると、「ちょっとこの考え方でいいんだよなぁ?」ということがあります。

まじめにやるならSpiceを引っ張り出してきてシミュレーションということになるのですが、ちょっと手軽に確認したい、というケースではそれも面倒です。そんなときに使えるWebサイトはないかと探したところ、CircuitLabというサービスがありました。

“CircuitLabで簡単な回路シミュレーション” の続きを読む

電源電圧周波数監視3.0(3)

これでttyS0経由でRaspberry Pi側にデータを持ってくることができるようになりましたので、以前のサーバプログラムを改良して、電源周波数変動、電源電圧(実効値)の変動、最大電圧の変動などをリアルタイム表示できるようにしました。(公開しているページはこっち

“電源電圧周波数監視3.0(3)” の続きを読む