vimでcsvファイルやtsvファイルを閲覧したり編集する方法です プラグインを使わない方法(急ぎの場合) 急ぎの場合,viの機能だけで凌ぐ方法です csvファイルの場合は区切りを tabに変換しておく(tsvにする) viでファイルを開く vi上で,以下のコマンドを…
最近のOpenSSHは「量子コンピュータでも破られにくい暗号(ポスト量子暗号)」を使うことを推奨しています.OpenSSH 10.1では,サーバー側のSSHがポスト量子暗号をつかっていないと,接続時に次の警告を出すようになりました. ** WARNING: connection is no…
OpenSSHのバグでひどい目にあったので情報をまとめておきます原因の詳細と修正パッチは以下のスレッドで報告されています https://marc.info/?l=openssh-unix-dev&m=175982625513497&w=2(2025年10月11日追記.バグ修正版の10.2がリリースされました) 問題…
emacsでSQLを書いていると、クエリのインデントが崩れて読みにくくなることがあります。 ここでは、外部コマンド sql-formatter を使って、SQLを自動で綺麗に整形する方法を紹介します。 sql-formatter のインストール まず、npmを使って sql-formatter をイ…
pythonでテストケース用のロガーを自作したので公開しますテスト関数にデコレータを付けるだけで,成功/失敗を記録するロガーを作りました.最小実装なので,好みに合わせて拡張できます.ロガー本体のコードは末尾に掲載します.先に使い方から説明します…
C++23を使うと、スタックトレースが簡単に表示できます #include <stacktrace> #include <iostream> void f() { std::cout << std::stacktrace::current() << std::endl; } int main() { f(); return 0; } C++23で登場した関数なので GCCはバージョン12以降 Visual C++は2022以降 </iostream></stacktrace>…
Linuxのネットワーク設定をすべてsystemdにお任せする方法をまとめます DHCPを使う 固定IPアドレス WoL(Wake-on-LAN)の有効化 DHCPをつかう 設定ファイル /etc/systemd/network/20-wired.network を用意する [Match] MACAddress=<MACアドレス> [Network] DHCP=ipv4 固定</macアドレス>…
久しぶりに postfix を設定したので手順をまとめます 環境 debian さくらサーバー インストール postfixと ca-certificates をインストールしておきますca-certificates はTLS(SSL)通信で必要になります sudo apt install postfix sudo apt install ca-cert…
macOSでデバイスドライバ(機能拡張)を手動で削除する方法ですSIP(System Integrity Protection )というシステム保護機能を一旦無効にして作業する必要があるため,少々煩雑な手順になります 手順1 リカバリーモードに入る 再起動して,リカバリーモード…
glibc 2.41(Ubuntu 25.04 や debian sid で採用)で cuda toolkit を使うにはパッチが必要ですと言っても,以下のパッチを /usr/local/cuda/include/crt/math_functions.h に当てるだけで解決です --- math_functions.h.orig~ 2025-05-22 11:09:49.99462784…
GNU Screen 5.0.0 にセキュリティホールが見つかりました.条件によってはコマンドを3回実行するだけでroot権限を奪われるので注意が必要です *1 概要 以下のディストリビューションで,サーバーにsshでログインしたあとscreen コマンドを使うだけで簡単にr…
C++20でやっとSFINAE(Substitution Failure Is Not An Error)が実用レベル(?)になったので,まとめておきますC++20版のSFINAEだけでなく,C++17版やC++11以前版のSFINAEも用意しました. 見比べると如何にC++11がクソで,C++20が素晴らしいかが一目で理…
今どき(2025年現在)のLinuxについて、オーディオが再生できない場合のチェックポイントをまとめます オーディオデバイスの接続を確認 内蔵オーディオであれば PCIe接続,外付けオーディオがならばUSB接続,をそれぞれ確認します PCIの場合は lspci コマン…
c++のメンバへのポインタの使い方をまとめます 利用例 たとえば以下のデータ構造について struct Employee { int id; std::string name; double salary; }; std::vector<Employee> employees; std::sort()で Employee::id をキーにソートしたい場合を考えますこの場合</employee>…
c++の可変長テンプレートで2つの型リストKeysとValuesを使いたいとする その場合は リストの片方は std::tupleで一つの型にする 残りのリストは 可変長テンプレートにする とコーディングしやすい 例 template <typename KeyTuple, typename... Values_> struct Foo { using Keys = KeyTuple; using </typename>…
mac の TeX環境を texlive2025 (BasicTeX) に更新したので手順をまとめます.この記事は以下のエントリをTex Live 2025 に合わせて更新・加筆したものです. https://pyopyopyo.hatenablog.com/entry/2022/04/06/211116 (TeX Live 2022の記事) http://d.hate…
c++11 の perfect forwading (完全転送,std::forward)をつかうと,たとえば派生クラスの実装が簡潔かつ安全に実装できるようになります. 例:派生クラスのコンストラクタから,基底クラスのコンストラクタへ引数を完全転送する 基底クラスBaseを派生する…
サーバの稼働状況(CPUやメモリ使用率など)を簡単に監視する方法をまとめます sar / sysstat おそらく一番簡単な方法です セットアップ インストール $ sudo apt install sysstat 初期設定 $ sudo vi /etc/default/sysstatENABLED="true"に書き換えます設定…
条件付きコンパイルで、C++標準のバージョンを調べるときは __cplusplus プリプロセッサマクロを使いますたとえば以下のコードは、c++のコンパイラが c++11 に準拠していない場合、コンパイルエラーとなります #if __cplusplus < 201103L # error "C++11に対…
linux 6.12.x に更新したところ e1000eのドライバが頻繁にフリーズするようになりました症状としては カーネルは linux 6.12.1 or linux 6.12.2 突然,ネットワーク(有線LAN)の通信が出来なくなる dmesg を見るとe1000eのドライバが エラーを出している li…
git diff で "ESC[" とゴミが表示される場合の解決方法です ゴミが表示される原因 pager として /usr/bin/less を使っている場合に ESC[ が表示される場合があります 解決方法(その1) /usr/bin/pager を lv に変更します/usr/bin/pager はシンボリックリ…
概要 PCの前で,重たい処理が終わるのをじっと待つのは時間の無駄です 重たい処理が終わると,自動で LINE に通知を送る方法を紹介します 処理完了!のLINE通知が届くまでは,PCなんて放置して時間を有効活用しましょう 手順 LINE公式が提供している通知連携…
linux-6.12.x で nvidiaのドライバ(565.57.01)を使うためのパッチを書いたので公開します.nvidiaのドライバは オープンソース版(open GPU kernel modules) プロプライエタリ版(proprietary NVIDIA kernel modules) の2種類があります.このパッチは…
macOS Sequoia 15.1にアップグレードしたところ、 OSがフリーズする ピンクスクリーン(Windowsのブルースクリーン・ESoDに相当) Safariが落ちる イラレが落ちる Anker 563 USB-C Hub (11-in-1)経由で,Ethernet が接続できない と不具合が続出しました.全…
debian(sid)でsystemdが正常動作しなくなったので,原因と対処方法を記録しておきます. 症状 debain (sid)をamd64環境で使用 検証のためカスタムカーネルを使用 2024年11月23日に apt dist-upgrade でパッケージを更新 sysytemd 257 rc2 がインストールされ…
macOSでネット切替時にスクリプトを自動実行する方法です IPアドレスが変わった場合に ssh を再接続したい wifiが途切れたらプロセスをkillしたい wifiが再接続されたらプログラムを自動起動したい といった場合に利用できます 動作原理 起動したいコマンド…
jupyter notebookで plotly が動作しない場合は, jupyter lab を使うと plotly が動作するようになりますコマンドラインから notebookを起動している場合は $ jupyter notebook で notebookを起動せずに,代わりに $ jupyter lab で jupyter lab を起動すれ…
Emacs が重たいときの原因を調べる方法をまとめます メモリ使用量の確認 M-x memory-report でメモリ使用量のレポートが表示できますレポートは *Memory report* というバッファに表示されます.バッファ上で "g" を押すとレポートが更新されるので,随時"g"…
gnuplot で凡例を左揃えにする方法です set key Left ポイントは"Left"。先頭の"L"は大文字で書く必要があります。
Emacsから deepL を使う設定です 設定 (use-package go-translate :config (setq gt-langs '(en ja)) (setq gt-default-translator (gt-translator :taker (gt-taker :text 'buffer :pick 'paragraph) :engines (list (gt-deepl-engine :key "XXXXXXXXX")) :…