TeXで表のセルの間隔を詰める方法

TeX

TeXで表のセルの間隔を小さくする方法ですTeXの表の余白は 列方向(カラム方向,水平方向)は \tabcolsep 行方向(ロウ方向,垂直方向)は \tabrowsep で設定できます例えばそれぞれ1ptにする場合は \tabcolsep = 1pt \tabrowsep = 1pt と書くだけですただし…

Linux起動時にNVMe SSDがSMARTエラーを出す件 (解決)

昨年下記のエントリでとりあげたSMARTの監視で「SMART error (ErrorCount) detected on host」というエラーメールが届く件は,smartmontools 7.4 で解決しました.pyopyopyo.hatenablog.com 該当する修正,diff はこれです https://www.smartmontools.org/ch…

tarコマンドのオプションが複雑すぎて覚えらない時は,"tar --help" だけ覚えよう

この記事を読みました.zenn.devこういう時は "--help” オプションを覚えておきましょう. 困ったら "tar --help" ”--help"を指定してtarコマンドを実行します. $ tar --help 使用方法に関するヘルプ(簡易的なマニュアル)が表示されます.先頭を引用する…

emacs25でFailed to verify signatureが出る場合の対処方法

Ubuntu(Bionic Beaver )の emacs(emacs25)で package-list-packages や package-install でエラー( Failed to verify signature)が出る場合の修正方法です 原因 パッケージのgpg署名(066DAFCB81E42C40)の期限切れです 修正方法 修正方法は3つありま…

gpgでWarning: You have entered an insecure passphrase. と警告が出る場合の対処方法

gpgを使っていると Warning: You have entered an insecure passphrase. と言われる場合の対処方法ですこのメッセージは gpg-agent が出力していて パスワードが短い パスワードが単純すぎる(アルファベット文字しか使ってない.記号や数字も混ぜるべき) …

Emacsでelispをデバッグする方法

Emacsでelispをデバッグする方法をまとめます emacs 起動時に elisp でエラーが出る場合 debug-on-error emacs 起動時に elisp でエラーが出る場合は ~/.emacs.d/early-init.el で debug-on-error を t に設定する方法が便利です (setq debug-on-error t) de…

ラズパイからメールを送信する方法(2024年版)

Raspberry Pi から Gmail のメールサーバーを経由してメールを送信する方法です.ラズパイで稼働しているサーバの監視用途,たとえばcrontabのエラー,セキュリティの警告などをメールで通知する用途を想定していますOSはdebian系を使っているものとして,ex…

時刻合わせで ntpd の代わりに systemd-timesyncd を使う方法

サーバーの時刻合わせといえば昔は ntpd 一択でしたが今は systemd の timesyncd もあります両者の違いは以下の通りです ntpd 高機能 NTPサーバーを構築するなら ntpdを使うしかない systemd timesyncd クライント動作のみ.NTPサーバーの構築はできない 軽…

NVIDIA のGPUのクロックを固定する方法

NVIDIAのGPUの動作クロックを固定する方法です。デフォルト設定のGPUは動作クロックが200MHzぐらいから2000MHz(2GHz)ぐらいまで随時変動します。動作クロックが10倍変わると、ベンチマークのスコアも10倍変わります。CUDAや3D描画の性能測定を行う場合はま…

Linuxコンソールのスクリーンセーバーの設定方法

コンソールのスクリーンセーバーの設定方法です 標準コマンドで設定する方法 10分後に画面表示をOFFにする場合は以下のコマンドを実行します setterm -blank 10 数字の単位は「分」です. 0を指定すると,スクリーンセーバーはOFF,つまり画面が常に表示され…

稼働時間が100年を超えたSSD

S.M.A.R.T.のログを見ていたら、Power-On hours(稼働時間)が100年を超えたSSDが見つかりました。smartctl を実行すると $ sudo /usr/sbin/smartctl -a /dev/sda レポートが出力されます smartctl 7.3 2022-02-28 r5338 [x86_64-linux-6.1.0-12-amd64] (loc…

PC復旧作業用にブータブルUSBを作成する方法(2023年版)

データ修復やPCの復旧作業用に,起動可能なUSBフラッシュドライブを用意する方法です. ventoy 現時点(2023年)で一番使いやすいのは ventoy です。 open source つまり無料 インストールが簡単 ISOイメージをコピーするだけでISOイメージから起動できる IS…

シェルスクリプトでターミナルの大きさを調べる方法

bashなどのシェルでターミナルのサイズを取得する方法をまとめます おすすめは tput コマンド tputコマンドを使うのが無難です tput cols でターミナルの横幅 tput lines でターミナルの高さ となります.単位はどちらも文字数です 別解1: $COLUMS と $LIN…

debian(sid)のgrub2にバグがありLinuxがブートしなくなる件

debian(sid)を使っていたら,grub2のバグを踏んで,サーバが起動しなくなりました.顛末をまとめます. バグの内容 apt-get dist-upgrade すると,grub2が壊れて,システムが起動しなくなります! バグは修正済みです 影響を受けるバージョンはGRUB2 2.12か…

C/C++でshellのように"~"や環境変数を展開する方法

bashなどの shell では "~/*" "$HOME/*" はホームディレクトリ以下のファイル名に展開されます.これをC/C++で実装する方法です 実装 wordexp(3) を使います #include <wordexp.h> #include <stdio.h> int main(int argc, char *argv[]) { wordexp_t exp; int flags = 0; int ret</stdio.h></wordexp.h>…

EmacsでmarkdownのTOCを自動生成/自動更新する方法

markdownの目次(Table of contents, TOC)を自動更新する方法です 自動更新する方法は 外部コマンドで随時TOCを更新する方法 gitのhookを使って外部コマンドを自動更新する方法 エディタのプラグインを使う方法 などがあります最後の方法としては,Emacs なら…

Emacsでカーソル下の文字コード(コードポイント・バイト列)を表示する方法

M-x describe-char を使うとカーソル下の文字コード(コードポイント・バイト列)を16進数で確認できます.表でまとめると C-u C-x = M-x describe-char 詳細表示 C-x = M-x what-cursor-position ミニバッファに簡易表示 です.滅多に使わないので,私は M-…

Emacsのperl開発環境(2023年版)

今時 perl なんて使う人がいるんでしょうか?そう思ってたら自分がperlを書く羽目になったのでEmacsのperl環境を更新しました.設定をまとめます lsp-mode lsp (Language server)を設定します.lsp-modeを使います. 手順1: cpan 経由で Perl::LanguageSer…

スピーカーの音質を測定する方法

ピンクノイズを再生して,スマホのアプリで音のスペクトルを確認することで,音の再現性をグラフでチェックします.簡易的ですが,音の違いがグラフで比較でき,便利です.以下,方法をまとめます. /usr/bin/speaker-test (alsa-utils) alsa-utils というパ…

時系列データをグラフでプロットして、アニメーションとして保存する方法

グラフをアニメーション(動画ファイル)で保存する方法ですgnuplotを使います gnuplot の do for 構文 "do for" を使うと簡単にアニメーションが作れます.とりあえずsinカーブをアニメーションさせる例です do for [i=0: 60] { plot sin(x + i/10.*pi) } …

3月1日の一日前を計算する方法

いろんな言語・コマンドラインで,日付の足し算・引き算をする方法をまとめます.例として,3月1日の1日前を計算を考えます.この計算は,うるう年があるので面倒です.たとえば 2021年3月1日の前日は 2月28日 2020年3月1日は前日は 2月29日 となりますが…

CPU(論理プロセッサ)の個数を確認するコマンド(Linux, macOS)

LinuxやmacOSで論理プロセッサの個数を確認する方法をまとめます nproc コマンド(Linux, macOS) GNUの coreutils がインストールされている場合は nproc コマンドが利用できます.macOSでもcoreutilsをインストールしておけば nprocコマンドが使えます. $ …

autotools で make check を実装する方法(その4):XPASSとXFAIL

前回までのエントリの続きです make checkで実行されるテストケースの結果には,ラベルが付きます.わかりやすいのは,成功(PASS)と失敗(FAIL)です.他にもSKIPやERRORがあります.わかりにくいのはXPASSとXFAILです.以下,その意味を説明していきます…

autotools で make check を実装する方法(その3):valgrind を組み込んでメモリリークを検出する

前回のエントリの続きです メモリリークの検出ツールである valgrind を使って、メモリリークに関するテストを自動化します.autotools や make check に関する基礎情報は前回のエントリを参照してください.本エントリでは差分だけ記載します. make check …

autotools で make check を実装する方法(その2)

前回のエントリの続きですmake check で 必要なプログラム・ライブラリのビルド テストケースの実行 を自動で行う方法をまとめます.autotoolsの使い方,make checkに関する基本的な情報は前回のエントリにまとめているので,本エントリは差分だけをまとめま…

autotools で make check を実装する方法(その1)

今更ですが autotools で make check を実装する方法をまとめます. make check の仕組み 手順1: テスト用プログラムを用意する 手順2: Makefile.am で テスト用プログラムを指定する 手順3: configure.ac の記述 手順4: autoreconf -vfi の実行 make check …

matplotlib でグラフの軸ラベルを一つにまとめる方法

matplotlibでグラフをプロットするときに、複数の軸ラベルを一つの共通の軸ラベルにまとめる方法です例えば以下のグラフには X軸にラベル(ABC)が二つありますが,これを と一つにまとめます. 方法 軸ラベルの指定は set_xlabel()を使いますが import matp…

Pythonで方程式を解く

pythonで方程式を解く方法です 一次方程式を解く 一次方程式 を について解きます import sympy x = sympy.symbols('x') eqn = sympy.Eq(5*x + 3, 0) ans = sympy.solve(eqn) print(ans) 出力は [-3/5]で,答えは です 連立一次方程式を解く 連立一次方程式 …

gitでtagを変更する方法(ワンライナーで一括変更)

gitでtagの名前を変更する方法をまとめます 簡単な例 応用としてbashのワンライナーで複数タグを一括変更する例 の二つを紹介します 簡単な例 変更前のタグを old 変更後のタグを new リモートのリポジトリを origin とすると,oldをnewに変更するコマンドは…

LinuxでShiftJISの文字化けを直す方法

最近のLinuxはシフトJIS(SJIS)をサポートしてない場合があります. その場合,moreやless,vimでシフトJISのファイルを開くと文字化けします.Windowsで作成したソースコードやテキストファイルが文字化けする場合は文字コードだけでなく,LinuxがShiftJIS…