標準以外のソフトのインストール

debian10(buster)でlibpng12

OSを入れ替えたときに問題になるのが、普段使っているソフトが動かなくなることである。大半のソフトは、debianの標準的なものなので、大丈夫なのだが、それ以外のソフトが動かないときがある。libpng12を使っているソフトがあり、そのインストールに少し苦労したので、メモをしておく。

libpng12は、debian9のときにはlibpng12-0_1.2.50-2+deb8u3_amd64.debを入れたら動いたのだが、debian10ではエラーが出てこれを入れることが出来なかった。その代わりに、libpng12-0_1.2.49-4ubuntu1_amd64.debを入れることで問題を解決できた。まず、このファイルをdownloadする必要があるが、launchpad.netというところにあり、これがubuntuの開発が行われているサイトだと最初は知らなくて、downloadするのを躊躇してしまった。ファイルが取れたら、

sudo apt install ./libpng12-0_1.2.49-4ubuntu1_amd64.deb
sudo apt-mark hold libpng12-0

としたら、libpng12が使えるようになった。

debianのdebを入れるほうがsimpleだと思ったが、ubuntuのdebでしか動かないので、仕方が無いだろう。

Read more...

ようやくdebian10に

ソフトを動かすために
あるソフトをlinuxで動かそうと思ったら、それに必要なプログラムのversionが古かったので、OSを新しくすることにした。debian10が出てからしばらく経っているので、そろそろ安定した頃だという判断もその後押しをした。ちなみに、以前はdebianのversionを愛称で覚えていたが、そろそろ限界になって来たので、数字で区別することにした。10はbusterらしいが。 インストールはnetinstをusbに入れて、そこからlxdeを選択した。downloadや展開に時間はかかったが、特に問題無く完了した。動かそうと思っていたソフトも、少し工夫したら動くようになった。 しかし、そのソフトのネットワーク関係の設定に非常に手間取った。ユーティリティを使おうかとも思ったが、汎用性がなくなりそうに感じたので、それは止めることにした。結局、汎用のソフトを使って工夫したら、なんとかなった。 debian10であるが、debian9との大きな違いは今の所あまり感じていない。lxterminalがうメニューからうまく起動できない点も同じである。まだバグが取れていないようだ。

Read more...

行列計算

maximaを使って
行列のexpを計算をする必要があったのだが、これを手で計算するのは面倒である。これまで、行列の計算はRにさせることがあったが、Rでexpを処理しようとすると、対角化してexpを計算して、元の座標系に戻すという手法で計算していた。しかし、Rの場合には数値計算はしてくれるが、数式の変形はしてくれない。数式変形をするときには、maximaが便利だが、行列のexpも扱えることを知った。例えば以下のような感じである。

my:matrix([0,-1],[1,0])*%i/2;
matrixexp(t*%i*my);
demoivre(%);
trigreduce(%);

最後の二行は、数式を三角関数で表して、簡略化している。指数関数や三角関数は、期待するように計算するのが、少し面倒で、trigexpandやfactorなども使って処理する必要がある場合もある。まだ、maximaには慣れていないが、数式変形の時に、使おうと思う。

Read more...

ryzenの問題

debianとAMD
debian10が7/10にreleaseされていた。三ヶ月以上たったし、そろそろmainのPCのOSをupdateしようかと思っています。しかし、debian9でも全く困っていないし、もうしばらくこのままで良いかなと思っています。 そのPCのCPUはAMDのものを使っている。intelかAMDの選択肢がある場合には、後者の方がコストパフォーマンスが良いので、AMDを選ぶようにしている。 AMDからRyzenというCPUが出て、興味があったのだが、LINUXとの相性が良くないというニュースを聞いた。もうしばらくしたら、問題が解消されないかな。

Read more...

rubyとRの使い分け

Rのみでのデータ処理
測定データの処理には、rubyとRを使っている。Rは文字列の操作が苦手なので、測定データの保存されたファイルから、必要なデータを抽出して、簡単なデータ処理をするためにはrubyを主に使っている。例えば、必要な列を取り出したり、質量から物質量に変換したりする処理などである。そして、plotやfittingなどにRを用いるという具合である。しかし、ニ段階の処理が必要で面倒なので、Rだけでデータ処理をしてしまうと楽に感じられる。 Rですべての処理をする場合に問題になるのが、データファイルのヘッダ部分の処理である。Rでファイルを読み取るコマンドとしては、通常read.tableを使っている。skipオプションを指定すれば、ヘッダを飛ばすことはできるが、ヘッダの情報を読み取ることができなくなる。ヘッダの情報を取り込むには、readLinesを使う方が良いだろう。そして、ヘッダと本体の境目を探して、両者を分離して、ヘッダから必要な情報を抽出して、本体をデータフレームにして、といろいろな処理を書く必要がある。 こういったことを考えると、もうしばらくは今のままで良いかと思ってしまう。

Read more...

ubuntuのwindows共有

mount場所
ubuntuでwindows共有を使って、windowのファイルにアクセスすることができる。sambaやcifsを使ってコマンドでマウントする場合には、マウントする場所を指定するので、linuxから見たときに、そのファイルがどこにあるのかは自明である。しかし、ubuntuのファイラーからwindows共有に接続したときには、実際にはそのファイルがどこにmountされているかはよく分からなかった。調べてみたら、ユーザーの.gvfsというフォルダの下にあった。rubyからそこを指定すると、無事に読むこともできた。もう少し、分かりやすい場所にmountして欲しい気がする。

Read more...

USB-MIDI

stm32を使って
AVRを使ってUSB-MIDIを変換するものとしては、例えばMOCOというものがあり、作成記事などもいくつかある。しかし、部品集めや半田付けが面倒である。 一方STM32を使ったものの記事は少ないようである。Blue Pillなどを使えば、ほとんど半田付けなどもほとんど必要無い。まず見つけてのが、USBMidiKliK4x4というものである。ここにある、Blue Pill用のbinを書き込んで、LinuxのPCにUSBに接続してみたが、何かerrorだ出て、うまく認識できなかった。次に見つけたのがSTM32F1_MIDI_Serial_Bridgeである。binは無かったので、サイトの情報に従ってコンパイルして、binを書き込んだ。このとき、usbmidi.cのボーレートを31250に変更する必要がある。USBに接続してみたところ、正しく認識出来ているようだし、オシロでそれっぽい信号も出力していることが確認できたので、うまく動いているようである。 Blue Pillを使って作ることができれば、安いしほとんど半田付けも不要である。AVRで作るよりも簡単そうだが、なんで情報が少ないのかな。

Read more...

MIDIとRS232Cの違い

マイコンかUSB-RS232C変換ICか
昔からデジタル音楽機器がMIDIという通信規格を持っていることは知っていたが、詳しくは知らなかったので、調べてみた。基本的には、シリアル通信で、スタートビットやストップビットがある点では、RS232Cとそっくりである。違いは、MIDIの場合は電圧が5Vで、ボーレートが31250baudという点である。USB-MIDI変換をする場合には、マイコンでやる方法以外に、USB-RS232C変換ICを使う方法もあるようである。しかし、RS232Cの場合の近いボーレートが38400baudであるので、これを変更できるようにする必要があるらしい。マイコンでプログラムを流し込むのが面倒だと思うか、変換ICでボーレートを変更する方が面倒と思うかの、どちらだろうか。

Read more...

新しい物理定数

SI単位
本日からSI単位の定義が新しくなる.カンデラを除く6つの基本単位の内,秒とメートルの定義は変わらなかったが,残りの4つの基本単位が,4つの物理定数から定義されることになった.これらの物理定数の値は,今後はほぼ変わることが無いだろうから,記憶しておく価値が高まったと言えるだろう.そこで,日本人に覚えやすいように語呂合わせを考えてみた.いくつか考えた中で,まともそうなものを一つずつ紹介する.ちなみに,マイナスは「の」と読むことにしている.

プランク定数(6.62607015e-34) 室に群れ生れ,苺の実よ.

ボルツマン定数(1.380649e-23) 遺産はゼロ,無欲の罪.

電気素量(1.602176634e-19) 広間に避難路,武蔵野一区.

アボガドロ定数(6.02214076e23) 六列に石,オセロ詰み.

2022.4.7追記 電気素量(1.602176634e-19) 人群れに避難路,武蔵野一区. の方がマシかな.後半をもう少しなんとかしたいけど. 電気素量(1.602176634e-19) 人群れに避難路,無残,死の一苦. とかはなんか酷い.

Read more...

多面体の描画

rglで多面体

正十二面体や正二十面体はややこしい形をしているので、描くのが困難である。rglでこれらを描画しようと思ったら、結構簡単だった。

open3d()
shade3d(dodecahedron3d(col='red'))

のようにすると良いようです。任意の多面体を描くには、tmesh3dを使うと良いようです。ただ、頂点の座標を求めたり、面を定義したりするのが、面倒な気がします。

Read more...