すぐ忘れるのでメモ

c++初心者です

obsidianが落ちる

ubuntu22.04 で debから入れた obsidianを立ち上げようとすると,こんな感じのエラーを吐く.

2023-03-07 07:23:08 Checking for update using Github
libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
2023-03-07 07:23:08 Success.
2023-03-07 07:23:08 Latest version is 1.1.16
2023-03-07 07:23:08 App is up to date.
[56754:0307/162309.000524:FATAL:gpu_data_manager_impl_private.cc(415)] GPU process isn't usable. Goodbye.
[4]+  Trace/breakpoint trap   (コアダンプ) ~/Appimage/Obsidian-0.12.15.AppImage

下記ページを見ると,--no-sandboxオプションをつければ良いらしい.実際にうまく行った.

obsidian --no-sandbox

www.reddit.com

PowerShell「ファイルから設定を読み込むことができませんでした。」のエラー

wslを立ち上げようとすると以下のエラーが.

ファイルから設定を読み込むことができませんでした。末尾のコンマを含めて構文エラーを確認してください。
* Line 52, Column 17
  Missing ',' or '}' in object declaration

Windows ターミナルの既定の設定を一時的に使用しています。

どうやら,PowerShellのエラーらしい.

powershell上で,以下のコマンドでsettings.jsonの場所を聞く.

$settings = (Get-Item "C:\users\$env:UserName\AppData\Local\Packages\Microsoft.WindowsTerminal_*\LocalState\settings.json")
$settings.DirectoryName

いじった記憶は全くないが,iconのバックスラッシュが一つしかない状態だったので,バックスラッシュをエスケープするように\\に変えた. あと,なぜか,このiconの一行上の行末のコンマがないので,書き足しておいた.

                "icon": "C:\\Users\\saito\\AppData\\Local\\Packages\\Microsoft.WindowsTerminal_8wekyb3d8bbwe\\Image\\Tatice-Operating-Systems-Ubuntu.ico",

ctrl+semicolonの衝突 libreoffice vs fcitx

Ubuntu上のlibreofficeのCalcでctrl+;で現在の日付を入力しようとすると,select to pasteとか言って,ペーストの候補が出てくる. これはFcitxのアドオンなので,スプレッドシートのショートカットを優先させたい場合は切っておく. fcitx-configtool から アドオン=>Cliboard=>Trigger Key for Clipboard History List のCtrl-;を他のものにする. (例えば,Ctrl-Shift-Vなど)

Eigen 基礎の基礎

Eigenをintelコンパイラでうごかす.

icpcにパスが通っている状態として,

https://eigen.tuxfamily.org/dox/GettingStarted.htmlに記載のプログラムを回してみる.

#include <iostream>
#include <Eigen/Dense>
 
using Eigen::MatrixXd;
using Eigen::VectorXd;
 
int main()
{
  MatrixXd m = MatrixXd::Random(3,3);
  m = (m + MatrixXd::Constant(3,3,1.2)) * 50;
  std::cout << "m =" << std::endl << m << std::endl;
  VectorXd v(3);
  v << 1, 2, 3;
  std::cout << "m * v =" << std::endl << m * v << std::endl;
}

出力はこんな感じ.

m =
94.0188  89.844 43.5223
49.4383 101.165  86.823
88.3099 29.7551 37.7775
m * v =
404.274
512.237
261.153

VTKをintelのコンパイラでmake

環境はubuntu22.02,cpuはi7.

 source /opt/intel/oneapi/setvars.sh
mkdir build
cd build
cmake -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc ..
make
sudo make install

結構時間かかるが特に問題なく終わる.

インテルのコンパイラのインストール

intelコンパイラが無償になったらしい. 早速インストールする. 下記のとおりにやれば,すぐに終わる. C++だけとかFortranだけなども出来そうであるが,面倒なので全部入れる.

www.intel.com

大規模計算が目的であれば,以下のコマンドでiccもifortも使えるようになる.このやり方は,何でもかんでも入れるので容量は食ってしまう.要注意.

sudo apt install intel-basekit intel-hpckit

このままだとパスが通ってないので,パスを通しておく.

source /opt/intel/oneapi/setvars.sh 

毎回するのが面倒なのであれば,~/.bashrcに書いておく.

本の例文をAnkiに流し込む方法

流し込むというほど自動化されてないが,やったことをまとめる.

下記の本の例文をAnkiに突っ込んだ.

OCRGoogle Docを使うという選択肢もあるようだが,今回はさほど量が多くなかったので全てスマホでやった. 量が多い場合はスマホよりGoogle Docの方が良いかもしれない.

  • スマホで写真を撮影.
  • Google Lens のテキスト→すべて選択→コピー
  • どこか適当なところ(テキストファイル)に貼りつけ.
  • 読み込んだままだと誤字や変な改行,空白があるので,日本語,英語をそれぞれ1行1文になるよう修正.
  • エクセルに貼り付け.1列目に日本語,2列めに英語となるように並べる.
  • Ankiにインポート.
  • TTSで英文に音声を付ける.