別シリーズ記事(ESP32版MicroPython)にてMD5がサポートされてなかったです。もったいなくもSHA256ハッシュの計算を実施。別にMD5に何か格別の思い入れがあるわけではないのですが、一応計算方法を確認しておくかと。Linux上での作業なので大仰にもOpenSSLを利用です。あるもんは何でも使え?
“ソフトな忘却力(34) MD5ハッシュを計算してみる、OpenSSL” の続きを読む
ソフトな忘却力(32) NCURSES、New Cursesライブラリを使ってみる
前回に続き「いつもお世話になっている」割には使った記憶のないライブラリを使ってみます。今回は ncursesライブラリ、古い curses ライブラリの置き換えで”New” がついての ncurses みたいです。忘却力の年寄はターミナルウインドウ上でもncursesベースのユーティリティに頼ってます。ほんとに便利。
“ソフトな忘却力(32) NCURSES、New Cursesライブラリを使ってみる” の続きを読む
ソフトな忘却力(31) GNU Readlineライブラリを使ってみる
冒頭に掲げましたるman pageの末尾のお言葉、投げやりな感じもするけれど、カッケー。一度そういうことを書いてみたかったデス。今回のGNU Readlineライブラリは多分毎日お世話になっているけれど、ライブラリとして使ってみるのは多分初めて。GPLv3なので避ける方も多いと。大人の事情ってやつね。
ソフトな忘却力(30) SQLite3をC言語から使う。Amalgamationって何よ。
別シリーズではNode-REDの裏側でSQLiteを使わせていただいてます。Node-RED(JavaScript)からは勿論、コマンドラインからGUIからもSQLを操作してます。なんといってもSQLiteは簡便でお楽。この辺でC言語プログラムからもSQLite3してみるかと思い立ちました。これがまたお楽?ホントか?
ソフトな忘却力(29) uuid、libuuidでパースして比較、wsl2、Ubuntu
今回はUUIDです。たまに登場するやたら長い(128ビット)IDです。勝手に生成しても(高い確率で)衝突しないIDなんだと。Bluetoothなどの通信でも登場し言われたとおりに書き写すしかない?アレです。手元のwsl2上のUbuntu20.04LTSでは、何も言わずにインストール済というかOSの一部になっている?
“ソフトな忘却力(29) uuid、libuuidでパースして比較、wsl2、Ubuntu” の続きを読む
ソフトな忘却力(28) libqrencode、ソースからインストールして使ってみた編
今回はQRコードのエンコード用のライブラリを使わせていただいたのですが、バイナリあるのに「わざわざ」configureスクリプトを生成するところからです。最近 configure するような作業をしてないので、更新後のPCにはツールも入ってなかったです。たまにやらないと忘却力がすべてを押し流していってしまいます。 “ソフトな忘却力(28) libqrencode、ソースからインストールして使ってみた編” の続きを読む
ソフトな忘却力(27) MPFR、the Multiple Precision Floating-Point Reliable Library
前回に引き続き清水の舞台から飛び降りるつもりにならないと浮動小数を使えないしがないマイコン屋には無縁なライブラリを使用してみます。今回はMPFRライブラリです。浮動小数点数専用の多倍長演算ライブラリです。前回のGMPとの違いはsin, cos, tanなど数学関数が「だいたいサポート」されているところかと。
“ソフトな忘却力(27) MPFR、the Multiple Precision Floating-Point Reliable Library” の続きを読む
ソフトな忘却力(26) GMP、The GNU MP Bignum Library
単精度浮動小数点数ですら恐れ多くて使えない、しがないマイコン屋にとっては多倍長精度演算ライブラリなどはまずは無縁な存在であります。しかし稀にその名を目にすることがあります。何かの事情でソースからgccをビルドしなけりゃならないときでしょう。gmpを使えるようにしておいてね、と言われます。たまには使ってみたいもんデス。
ソフトな忘却力(25) WSL2とWindows11連携でサウンドファイル生成なんのその
新PC(Windows11)は便利。今回はWindows10で消えていたSound Recorder が復活しているのに気づきました。10のVoice Recorderは、wavフォーマット対応せずで難渋しました。WSL2とWindows11間は相互乗り入れ。音声ファイルの加工はLinux側のライブラリでさくさく?
ソフトな忘却力(24) 久しぶりの gprof、簡単なところから思い出す
ここ暫くプロファイラなど使っておらず。すっかり使い方を忘却しております。今回は、open, read, writeなど基本中の基本?のシステムコールのリハビリをしながら、これまた一番基本の gprof を動かして関数が何回呼び出されているんだか勘定してみたいと思います。数えたら早くなるってもんでもないケド。
ソフトな忘却力(23) time_t型、64bit OS上なら64bitになっていたのね
別件でdateコマンドを使って思い出したのが UNIX時間であります。Linuxでも使用の「伝統」です。そういえば昔は32ビットであったので2038年問題ってのが有った筈。手元のLinux機、ラズパイ4はようやく64ビットOSに切り替えましたが、ラズパイ3は32ビットOSのままです。time_t型の件、調べてみました。
“ソフトな忘却力(23) time_t型、64bit OS上なら64bitになっていたのね” の続きを読む
ソフトな忘却力(22) シグナル、無視するにはsigprocmask()使う方が良いのね
シリーズ3か月近く間が空きました。気を許すと練習頻度を忘却速度が上回ります。練習再開、テーマは「シグナル」です。マイコンの場合のハードウエア割り込みのようなアカラサマなものではなく、Linuxの管理下にある「ソフトウエア割り込み」的なやつです。今回はシグナルを無視するやり方を練習。
ソフトな忘却力(21) gcc、デフォルト設定でのNaN、INF、デノーマル数の挙動
昨日の別件投稿にてRISC-VのFPUでのNaN、INF(無限大)、デノーマル数などを再び扱いました。「そういえば」いつも使っているGCCコンパイラでそれらヤバイ奴らはどんな挙動をするんでしょうか?普段、あまり浮動小数点数を使わぬので、実機でやってみることにいたしました。
ソフトな忘却力(20) Node-REDのsmoothノードのフィルタ特性を推定
Node-REDはIoTデバイスなどから集めて来たデータをWeb表示したりするときにとても便利なシステムです。昨日別投稿にてsmoothノードというものを勉強。入って来たデータの平均、最大といった統計量を求める他に、ローパス、ハイパスフィルタも含んでました。しかしHELPみてもフィルタ特性については書いてなかったです。