2022年に読んだ技術書

年の瀬なので、2022年に読んだ技術書をまとめてみたいと思います。 ここでいう技術書とは、プログラマやソフトウェアエンジニアが読む、プログラミングやコンピューターサイエンスに関する書籍のことを指します。 ここに挙げる本は、最初から最後まですべて…

EPUBをKindle用にできるだけ読みやすく変換する

EPUBファイルを手に入れた際、それをKindleで読むためにはmobiファイルに変換する必要がある。 しかし適当に変換してみると、読みにくいものができてしまうことも珍しくない。 今回はチューニング方法や、注意すべき点を簡単に説明する。 なお、DRMフリーの…

RSA秘密鍵について

PEMとDERというものがあるがどういう違いがあるのか、ssh-keygenで作成される鍵とopenssl genrsaで作成される鍵は違うのか、など気になったので調査してまとめてみる。 形式について PKCSという規格群が存在する。 PKCS - Wikipedia この中でPKCS#1という規…

DRMフリーのIT技術書が買えるストア

よくあるネタだけど、自分が知っている範囲でまとめてみる。 O'Reilly Japan www.oreilly.co.jp EPUB or PDF。ご存知オライリー。日本のオライリーなので、洋書はない。価格は紙で買うより若干安めに設定されている。 技術評論社 gihyo.jp EPUB or PDF。紙書…

MacでThinkpad Trackpoint Keyboard IIを使う

www.lenovo.com MacBook Proのバタフライキーボードは全く好きになれないので、Trackpoint Keyboard IIを購入して使っている。しかし快適に使うのには設定が必要で、それなりに苦労したのでまとめておく。 なお単純に使用するだけなら、Bluetooth接続、USB接…

ABC 161D Lunlun Number

本番では解けなかった問題。敗因は全列挙できることに気づけなかったこと。 別解ができたので貼っておく。 考えたこと ルンルン数が十分密に存在するなら1から順に判定していけるかと思った。しかし次のようなコードでルンルン数の総数を調べたところ無理そ…

powerlevel10kとfzf-tmux

zshのプロンプトをpureからpowerlevel10kに移行しようとしたところ、fzf-tmuxと食い合わせが悪いことがわかった。 以下のような関数で再現する。 func() { var=$(fzf-tmux); print -z $var } 例えばREADME.mdを選択すると、 ❯ README.md となってほしいとこ…

メモリが貧弱な環境でNextcloudをメンテナンスする

メモリを食う原因はDBやHTTPサーバーなので、それらのサービスを止めた上でメンテナンスするとうまく行く。 ディレクトリ構成やユーザ名は適宜読み替えること。 # mariadb, httpdを止める sudo systemctl stop mariadb.service sudo systemctl stop httpd.se…

第一回 アルゴリズム実技検定

past.atcoder.jp AtCoderが開催しているアルゴリズム実技検定 (PAST) というものがある。 今回はお金を払って検定として受けることはしなかったが、開催期間が終了し問題が公開されているので、少しずつ解いている。 atcoder.jp やってみると解き方はわかっ…

ABC 149 E - Handshake

解説を読みながら実装してもなかなか苦戦したのでメモ。 解説はもちろん公式解説PDFと、このツイート、 フェネック「E問題は、「どのペアまで使えるか」で二分探索だねー。Kを固定したとき、「各iについてA[i]+A[j]≧Kとなるjの個数」は累積和を使って全体でO…

Firefox Developer Editionに未署名の自作アドオンをインストールする

初めての拡張機能 - Mozilla | MDNを参考にアドオン開発を試していた。 about:debuggingでの動作はできたのだが、xpi形式のインストールがうまく行かなかった。 Firefox のアドオン署名 | Firefox ヘルプを参考に、環境はFirefox Developer Editionで用い、a…

SwitchのMicroSDカードデータ移行はMac上ではできないっぽい

Finderからやっても、cp, rsyncコマンドで -a オプションをつけてもダメだった。 既知の問題のようで、いろいろ調べたけどどうやっても無理っぽいので諦めた方が良さそう。 元も子もない解決策ではあるが、Linux上で cp -a するとあっさりうまくいった。 自…

Wineで動かしたSteamでゲームがダウンロードできない

表題の通り。Steam自体は起動するが、MacでもLinuxでもゲームのダウンロードが上手くいかない。 公式WineHQ - Steam Official Releaseでも報告されている(Steam Client Fails to install games/ applications, with the error "content servers unreachable…

NeoVim + vimtexでSyncTeXを使う

SyncTeXを使うためには色々設定項目があって、さらにOS毎に違っており面倒臭いという話。 この記事は qiita.com と被るところも多い。 以降に書くことも大抵のことはvimtexのドキュメントを見れば書いてあるが、メモも兼ねて書いておく。 vimtexのインストー…

WindowsのVirtualBox上のArch Linuxでxmodmapが効かない

訳あってWindowsのVirtualBox上でArch Linuxを動かしているのだが、xmodmapがうまく効かなくて困ったのでメモ。 Macユーザーだったこともあり、個人的にスラッシュの隣のキーはバックスラッシュであってほしい。 そこでxmodmapの出番となるのだが、正しく設…

Arch Linuxにrbenvでバージョンの古いrubyをインストール

例えば2.3.4など。普通にやると失敗する。 github.com にあるとおり、 $ PKG_CONFIG_PATH=/usr/lib/openssl-1.0/pkgconfig \ rbenv install 2.3.4 でOK。

GNOME、fcitxで候補リストの向きを縦にする

わかりにくい上にググっても出てこなかったのでメモ。 Input Method Panel - GNOME Shell Extensions をインストールした上で、右上に出てくるパネルから"Panel Preferences"をクリックして、"Vertical List"を有効にすれば良い。 デフォルトが横向きってキ…

源ノ明朝と源ノ角ゴシックをupLaTeXで使用する

前から試したかったのだが、無事成功した。 源ノ明朝と源ノ角ゴシックをupLaTeXで使ってみるテスト(pxchfon+otfパッケージ使用)

Arch LinuxでMacの3本指ドラッグを再現する

github.com で実現できる。Arch LinuxではAURの AUR (en) - xf86-input-mtrack-git をインストールする。 あとはREADMEの最後にあるとおりに設定すれば、3本指ドラッグが実現できる。 しかしそれだけやって再起動すると、トラックパッドが反応しなくなってし…

Arch Linux (GNOME)でBluetoothスピーカーの音質が悪くなる問題の解決

私は部屋では Anker SoundCore ポータブル Bluetooth4.0 スピーカー 24時間連続再生可能【デュアルドライバー / ワイヤレススピーカー / 内蔵マイク搭載】(ブラック) A3102011出版社/メーカー: Ankerメディア: エレクトロニクスこの商品を含むブログ (1件) …

Evinceで日本語を表示する

EvinceはGNOMEの標準PDFビューアーである。 LaTeXで作成したファイルを開こうとしたのだが、日本語部分だけ表示されない。 fontconfigを変更すれば良いという解決方法も出てくるが、このためだけに変更するのは何か違う気がする。 次のサイトに解決法があっ…

Arch Linuxにmikutterをインストールする

詰まったのでメモしておく。 yaourtでインストールしても実行するとgtk2でコケる、自分でインストールしようとしてもbundle installでやっぱりgtk2のところでコケる、という状況になった。 bundle installではgdkkeysyms.hが見つからないと言われるのだが、…

Vimでairlineからlightlineに乗り換えた

ステータスバープラグインとして有名な両者だが、今までGitHubのスター数が多いからという理由だけでairlineを使ってきた。 だがairlineの挙動が把握しづらいので、lightlineに乗り換えてみた。 結果は上々。 設定方法がわかりやすく、自分の好きなようにカ…

MacVimで指定した日本語フォントが使用されない

MacVim(GUIの方)で、guifontwideを正しく設定しているのに正しい日本語フォントが使用されないことが頻繁にある。 プログラミングなど日本語がコメントくらいにしか出てこないときはいいのだが、TeXを書いているときなどは気になって仕方がない。 対処法と…

VirtualBox上でCtrlとCapsキーが入れ替えられない件

ゲストはArch Linux。 Xorgでのキーボード設定や、GNOME上での設定など色々試したのだがどれもダメだった。 前はできた気がするのだが、どうやらいつからかできないようになったらしい…? #13404 (Swap Ctrl/Caps Lock not working in VirtualBox 4.3.16 -> …

fzfでコマンド履歴を選択

fzfとかpeco、便利ですよね。 私のzsh設定では、Ctrl-rの履歴検索を、fzfを用いたものに変更しています。 よく書いてある設定を利用すると重複している履歴も表示されてしまうのですが、これを除きたいと思い、改良してみました。 以下でできます。 function…

Wineのフォントを綺麗にする

いろいろなところにやり方が書いてあるが、情報が古かったりする。 mattintosh.hatenablog.com が一番参考になるが、情報が多すぎて混乱するので必要最小限のことだけまとめておく。 $ wine regedit でレジストリエディタを起動して、 HKEY_LOCAL_MACHINE ->…

Wine上のアプリケーションからBluetoothスピーカーへ音を出す

Wineで動かしたものだけ、Bluetoothスピーカーから出てくれなかったのでメモ。 winecfgのAudioタブで、Outputを変更する。それだけ。

PDFに目次を追加するソフトウェア

Mac上でPDFの目次(しおり、bookmark)を追加・編集するソフトが意外に見つからなかったのでメモ。 一つはJPdfBookmarks。 GUIでもCUIでも使える。 あとはcpdf、 GhostScriptでもできるらしい。

keyhacが重い

keyhacを使っていると、ウインドウ立ち上げ直後などに結構長時間フリーズが生じてしまうようです。これが結構ストレス。 Karabiner-Elementsでも対応してくれればいいのですが、見ている限りまだっぽい…。待つしかなさそうです。Pull Requestを送れるくらい…