揮発性のメモ2

http://d.hatena.ne.jp/iww/

秀丸で、カーソルを行末に移動する

秀丸で、カーソルを行末に移動するときにEndキーを使うと ウィンドウの端で折り返す設定のとき、デフォルトでは 図1 のA(行末→と2の間)にカーソルが移動する。 しかし実際には折り返し位置なだけで行末でもなんでもない上に 見た目ではひとつ手前の中途…

Let’s Noteで、タッチパネルを無効化する

デバイスマネージャーから、「HID準拠タッチスクリーン」を無効化する

gccで、スレッド間で同じメモリを同時にアクセスしてる人を探してぶっ殺したい

gccで、スレッド間で同じメモリを同時にアクセスしてる人を探してぶっ殺したい。そのためにはgccの TSAN(Thread Sanitizer)機能を使う -fsanitize=thread ソース #include <pthread.h> #include <stdio.h> volatile long long A=0; void *gettidtest( void *arg ) { int number</stdio.h></pthread.h>…

gccで、スタックを破壊している人を探してぶっ殺したい

C

gccで、スタックを破壊している人を探してぶっ殺したい。 #include <stdio.h> #include <string.h> void fn1() { int c=0; // intは4バイト。5~12で静かに破壊。13以上でSegv memset(&c, 0x55, 16); // memsetが最適化で消えないように printf("c=0x%x\n", c); } int main() { </string.h></stdio.h>…

gccで、構造体の中の配列の範囲を超えてアクセスしてる人を探してぶっ殺したい

C

gccで、配列の範囲を超えてアクセスしてる人を探してぶっ殺したい - 揮発性のメモ2gccで、構造体の中の配列の範囲を超えてアクセスしてる人を探してぶっ殺したい。 しかし、 -fsanitize=address で検知できるのは「構造体をはみ出たかどうか」のみである。 …

gccで、どんな最適化がかかっているかを見る

gcc -Q --help=optimizersこのコマンドで、どんなオプティマイズオプションがあるか、どれが有効になっているか を確認できる $ gcc -Q --help=optimizers The following options control optimizations: -O<number> -Ofast -Og -Os -Oz -faggressive-loop-optimizat</number>…

gccで、配列の範囲を超えてアクセスしてる人を探してぶっ殺したい

gccで、配列の範囲を超えてアクセスしてる人を探してぶっ殺したい。 そのためにはgccの ASAN(Address Sanitizer)機能を使う -fsanitize=address ソース コンパイル 実行結果 -fsanitize=bounds コンパイル 実行結果 コアダンプの設定 実行結果 処理能力 参…

Googleドライブで、「エラーが発生しました。」と出て同期されないとき

Googleドライブで、「エラーが発生しました。」と出て同期されないとき エラーの原因はだいたいファイルがロックされているとかの場合。 このエラーが出ると、ロックしていたアプリが終了し問題が解消しても同期は再開されない。解消する方法は エラーリスト…

原作の改変について

原作者がNoを出さない限りは、何をどう改変しようとも全てOKであって 極端に言えばリスペクトすらも要らない派。アラミスが女性になっても マルコがバイアブランカに行っても ホームズが犬になっても ノーチラス号が亜光速宇宙船になっても 面白ければ特に問…

POSTFIXで、TLSで送信するよう設定

/etc/postfix/main.cf に次の設定を追記する # ルート証明書のファイル指定 smtp_tls_CAfile = /etc/pki/tls/cert.pem # TLS送信設定 may:可能であればTLSで送信 smtp_tls_security_level = may # TLSログ設定 1:ログを残す smtp_tls_loglevel = 1 参考 Post…

画面外のウィンドウを呼び戻す呪文(Windows10以降)

画面外に行ったウィンドウをアクティブにする Win+Shift+← を押す ウィンドウが隣の画面に移動する ウィンドウのスナップ機能をオフにしているとこの裏技は使えないので、オンにしておくこと

Windowsで、ジャンクション機能を使う

ジャンクションとは NTFSの機能で、フォルダに対するシンボリックリンクみたいな機能のこと。NTFSでのシンボリックリンクは管理者権限が必要で面倒くさいので、ジャンクションを使う。 DOS窓から、mklinkコマンドで シンボリックリンクを張るようにジャンク…

Windowsで Google Driveを使う

やりたいこと:複数のPC間で、20GB程ある C:\Data\ を同期して仕事とかしたい Windows版 Google Drive について調査した マニュアルが説明不足&項目がとっちらかってて全体像がいまいち見えなかった アプリの動作は高速だしメッチャ安定してて 安心感が半端…

iCloud Outlook のアンインストール

iCloud Outlook は アンインストール がグレーアウトしてるけど 「変更」の中に 削除メニューがあるので そこからアンインストールできる

Windowsで iCloud Driveを使う

やりたいこと:複数のPC間で、20GB程ある C:\Data\ を同期して仕事とかしたい Windows版 iCloud Drive について調査した 一度に大量のファイルを同期すると完全に固まる 固まったときのリカバリ手段がない 同期の一時停止ができない .で始まるフォルダが同期…

VSCodeで、なんか日本語化が解除されてたとき

そんなん Japanese Language Pack をアンインストールして即座に再インストールよ

chrootで、なんかシェルがおかしい

chrootしたとき、シェルがおかしいときがある # chroot /data/chroot_hoge \u@\h:\w$ ショボい環境でchrootするとだいたいこうなる。chrootしたときに起動されるシェルは $SHELL なので、 シェルが/bin/shの環境から Debian環境のchrootを起動すると /bin/sh…

Cygwinで、SDカードをext4でフォーマットする

Cygwinで、SDカードをext4でフォーマットする 準備 util-linux と e2fsprogs をインストールしておく 管理者権限で起動 Cygwinを管理者権限で起動する フォーマット /proc/partitions を見て、SDカードがどこにあるのかアタリをつける $ cat /proc/partition…

Linuxで、利用可能なファイルシステムの一覧を取得する

/proc/filesystems を見ることでマウントできるファイルシステムがわかる。 nodevはブロックデバイスを使わないもの、要は仮想ファイルシステムという意味 $ cat /proc/filesystems nodev sysfs nodev rootfs nodev ramfs nodev bdev nodev proc nodev cpuse…

bashで、rootじゃなければエラーにする

シェル変数UIDを使う シェル変数UIDには実ユーザIDが入っている 0ならroot #!/bin/bash if [ "$UID" != "0" ]; then echo "root以外では実行できません" exit 1 fi

scpしたときにエラーが出る

新しめのサーバから yoctoで作ったようなショボい環境(opensshじゃなくてdropbearとか)へ scpコマンドでファイル転送すると、だいたいエラーになる ssh-rsa で通信する ssh-rsaを使ってくださいというエラーが出るとき $ scp a.out root@192.168.101.80:/t…

Cygwinで、コマンドラインでtabを押したときのファイル名補完で .exe が表示されない

Cygwinで hello.exe を実行するときに、 bash上で ./he まで入力してtabを押しても ./hello で止まってしまって ./hello.exe とならない。 コマンドの引数のときの補完では ちゃんと hello.exe まで出る。 別に ./hello で普通に実行できるからいいんだけど…

VSCodeで、ターミナルにCygwinを使う

デフォルトだと、「新しいターミナル」でPowerShellが開く。 これをCygwinにする。 拡張機能のインストール ターミナルにCygwinを追加する 参考 拡張機能のインストール Cygwinを使うための拡張機能がある。 ファイル⇒ユーザー設定⇒拡張機能(Ctrl+Shift+X)…

VSCodeで、setting.jsonを見る

VSCodeはユーザーごとの設定が setting.json に保存される。 C:\Users\ユーザー\AppData\Roaming\Code\User\setting.jsonシステムにインストールしたときはここにある。 ユーザー毎にインストールした場合は知らん。 このファイルがからっぽだと、全ての設定…

Windowsで、VirtualBoxをインストールする

www.virtualbox.org VirtualBox7.0.14 のインストールについての注意事項 Visual C++ 再頒布可能パッケージ のインストール(必須) VirtualBox7 以降をインストールするときは、事前にMicrosoft Visual C++ 2019 Redistributable(Visual C++ 再頒布可能パ…

sshで、鍵認証でログインする

新しいサーバにsshでログインしようとしたら、鍵認証なのにパスワードを訊かれてしまう。 ログを確認したら、RSAは使えませんと言われた Jan 14 14:56:45 unko-srv sshd[5280]: userauth_pubkey: signature algorithm ssh-rsa not in PubkeyAcceptedAlgorith…

gdb-arm-linux-gnueabihf のインストール

そんなものはない # apt install gdb-arm-linux-gnueabihf パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています... 完了 状態情報を読み取っています... 完了 パッケージ gdb-arm-linux-gnueabihf は使用できませんが、別のパッケー…

LibreOfficeのアンインストール2

なんかもう雑に全部アンインストールするにはワイルドカードを使う sudo apt purge libreoffice* sudo apt clean

Debianでbullseyeからbookwormにアップグレードする

www.debian.org dist-upgrade とかではなくなったっぽい 手順目次 とりあえずbullseyeで最新にする souces.listを全部bookwormに書き換える 最小アップグレード 完全アップグレード とりあえずbullseyeで最新にする apt update apt upgrade -y apt autoremov…

Chromeで 最後のタブを閉じてもブラウザを終了しないプラグイン 2

chromewebstore.google.com Chromeで最後のタブを閉じてもブラウザを終了させないようにするプラグイン ・常に2つ以上のタブを用意することで、「最後のタブ」を回避 ・回避用含めてタブが3つ以上になったら、回避用のタブは消える ・回避用のタブは選択で…