2023年の振り返り(Emacs編)

起動速度のこと init.elの初期化処理で時間がかかる事は起動後にやるようにした。 参考文書は定番とも言える下記2点。 Emacs の起動時間を""詰める"" Emacsを世界最速級で起動する方法 (defvar my/delayed-configs nil) (defvar my/delayed-config-timer nil) (eval-and-compile (defconst my/prio-low 1) (defconst my/prio-normal 10) (defconst my/prio-urgent 100)) (defun my/add-to-delayed-configs (priority config) "Add CONFIG with PRIORITY to delayed configs." (push (cons priority config) my/delayed-configs) ;; sort the configs by priority (setq my/delayed-configs (sort my/delayed-configs (lambda (a b) (> (car a) (car b)))))) (defun my/start-delayed-configs () "Execute `my/delayed-configs` list using a timer. Start a timer to run each config in the list with a default interval of 10ms. The timer runs until all configs are executed, then it stops. Customize interval with `my/delayed-config-interval`. Delayed configs can impact your Emacs environment." (setq my/delayed-config-timer (run-with-timer 0.0 0.01 ; start after 0ms with 10ms interval (lambda () (let ((inhibit-message t)) ;; if there is a config, execute it (if-let (config (cdr (pop my/delayed-configs))) (eval config) ;; if there is no config, cancel the timer (cancel-timer my/delayed-config-timer))))))) (add-hook 'after-init-hook 'my/start-delayed-configs) こんなのを書いて、 ...

December 30, 2023 · 2 min · 385 words · nekomimist

2023年の振り返り(PC編)

FreeBSDのファイルサーバを停止して、Synology DS923+に変更 Core i7 8700K+メモリ32GB+HDD9台(3TB×5+4TB×4)のFreeBSDマシン、HDDを大容量に移行するのも面倒だし、PC的には限界だったのでかわりにSynology DS923+HDD3台(20TB×3)を購入した。 長い間FreeBSDマシンが自宅で稼動していたので、無くなるのは寂しくもある。まあ、あまり活用もできていなかったのでしょうがない。 メインデスクトップPCの段階的な構成変更 いろいろあった。 Stable Diffusion webuiによるAI描画にハマる。 VRAM 8GBのRTX3070だとLoRA学習が厳しい事もあり、VRAM 12GBのRTX4070Tiと電源を買う。 WindowsのGPUとして使った上で、CUDAで利用するとメモリのフラグメントでよくエラーになった。生成やLoRA作成が止まるだけでなく、Windows表示そのものが死んだりもするので実につらい。 RTX3070+RTX4070Tiの2枚指しにして、RTX3070をWindows画面用に専念させたら快適😄 ASRock X570 Steel Legendの制限により、RTX3070+RTX4070Tiの2枚指しにすると、10GbEのフル帯域を出せるPCIeスロットが余らなくて、LANの性能がかなり落ちた メインPCをRyzen 7950X3D + ASUS ProArt X670E-CREATOR WIFI + 96GB RAM(48GB DDR5×2)に変更。10GbEがオンボードなのでソケットに余裕ができてラッキー❤️ しかしスロット配置の問題で、X570 Steel Legendの時よりケース下側のGPUスペースがつらくなり、ケーブルと干渉してファンが回らなくなったりした。 イラついてCUDA用のマシンを旧メインPCパーツ(Ryzen 5900X + X570 Steel Legend WiFi ax + 96GB RAM(32GB×2+16GB×2)を利用して独立させた。OSはUbuntu Server 22.04。ケースと電源は新調した(Fractal Design Meshify 2とCORSAIR RM850e)。 Ubuntu 22.04でTehuti TN4010B0の10GbEを動かすのに苦労した。 Kernel標準ではなく、かつ正式公開されているソースは最新カーネルではコンパイルできない。 コンパイルできるようメンテしている人のgithubをいくつか見て対策したら、DKMSでちゃんと動くものをコンパイルできるようになった。 しかし安定せず、メモリ使用量が増えた局面でメモリ破壊っぽいKernel Panicがしばしば発生した。 Kernel標準で対応しているAQC107の10GbEを買った。Panicは出なくなった。 結果、1台のメインPCが2台のPCに分割された。 before. AMD Ryzen 5900X + ASRock X570 Steel Legend WiFi ax + 64GB RAM(32GB DDR4×2) + RTX3070 After. ...

December 30, 2023 · 1 min · 155 words · nekomimist

Hugo中心にコンテンツを整理した

とりあえずHugoでサイトを作りなおしてみた。 以前はてなブログで書いていた記事が、blogsyncのおかげで全てmarkdownの形で手元にあったので、 ざっとpythonスクリプトで最低限の変換をかけて取り込んでみた。 でも、画像がはてブロのままなのはイマイチだし、下手するとgoogle photoのままだったりしたの で、ちょっと手動で整えたりもしてみた。 別記事へのリンクにブログカード入れたいけど、自分でshortcodeでなんとかしないといけない(?) ようなので、で、とりあえずは後まわし。あとは古いWeb日記なども残した。 URLは変わってないはずので、以前の記事への参照も問題ないはず。 これで、ndiary時代並に気軽に書けるようなった気がする。はてブロは面倒だったから。 hugo serverでローカルで確認できるのはありがたいし、ついでにhugoはむちゃくちゃ速いのでよし。

August 12, 2023 · 1 min · 12 words · nekomimist

自作キーボードを作った話(自設計キーボード編)

以前のこの話の続き。 SU120版のちょっとした不満点 アクリルのトップ・ボトム両プレートを作って使用感よくなったため、Ergo Dashを予備役にまわしてnekonos0を楽しく使っていたのだが、いくつか不満点があった。 キースイッチが外れやすい MX互換キーは1.5mm厚のプレートに対して爪がひっかかるようになっている。しかしアクリルキャスト材は2mmからなので爪がひっかからない。今まで作ったことがあるHelixやErgo Dashもアクリルプレートだが1、これらはソケットではなく基板にスイッチを半田づけする構造なので、大きな問題は生じなかった。 しかし、Kailhソケットでスイッチを固定するSU120で作られたnekonos0では、アクリルプレートにキースイッチの爪がひっかかっていないため、キーキャップを変えようとするとスイッチも必ず抜ける。これは、次の問題との組み合わせによってたいへんストレスになった。 親指まわりのキーとプレートの位置関係の問題 そもそもトッププレートはnekonos1用に設計したものを手直ししただけなので、SU120のビスケットを適当に現物合わせしたnekonos0用の親指まわりとは微妙に位置が合っていない。ビスケットを調整してなんとかスイッチが嵌るようにはしているのだが、位置合わせがシビアである。 それで何が起こるかというと、キースイッチの端子がKailhソケットを捉えそこねて曲がってしまうのである。実につらい。 前述の問題が原因でキースイッチが外れやすく、この問題が原因でキースイッチが嵌めづらい。これはキーキャップを試行錯誤する過程において非常につらい。 Pro Micro下のプレート形状がいまいち nekonos0のボトムプレートのPro Microのあるあたりが横に広くてスマートさが足りない。nekonos0のボトムプレートはnekonos1のPCBと同じ形状なので、つまりはnekonos1の基板形状が悪い。 ここは目に入りやすいところなので最初気になった。まあすぐに慣れたのでそこまで致命的ではないかも。 アンダーグローがいまいち nekonos0はボトムプレートをクリア赤アクリルにした。これはこれでわりとカッコいいのだが、せっかくアンダーグロー用のLEDテープをつけても赤にしか見えない上に暗くて映えなかった。 下を赤くしたいならば、赤のアクリルではなく、クリアアクリルに赤いアンダーグローでいいのではないか。 折角基板設計したのに作らないなんてとんでもない 最大の不満はこれで、nekonos1の基板は99%設計終わっていたし、プレートも90%設計が終わっていたのである。これを作らないなんて組み込みエンジニアとしては耐えられない。 nekonos1を作ることにした というわけでnekonos1は上記の課題を解消する目的で、実際に基板を起こすことにした。そのため、nekonos0の完成後に下記の部分に手を入れた。 Pro Microのあたりをすっきりさせる プレートをPCBプレートにしてキースイッチを抜けづらくする 2 ボトムはクリアのアクリルで作る 回路と基板設計 KiCadを利用した。ほぼ全面的にfoostan氏の自作キーボード設計入門の3章の記述通りにやった。KiCadのバージョンがたぶん違うのと、undergrow用のLEDテープのfootprintにちょっと悩んだくらいだろうか。 まずEeschemaで回路図を書く。泥くさいところは全部Pro Microに任せているおかげで、単純なキーマトリックス回路そのものであり悩むことはない。エンジニアならサルレベルでも書けるに違いない。 あとは個々の部品にフットプリントを設定して、PCBnewでフットプリントを望む形に配置した。概ね前述のfoostan氏の本の通りにやって概ね問題なかった。 キースイッチの配置はPCBnewで完結させるのは難しそうだったので下記手順で行った。 Keyboaed Layout EditorのRaw DataをPlate & Case Builderに食わせてSVGを出力する。 このSVGをInkscapeで開いて基板外形を書き込んでからSVG3とDXFにセーブする。 このDXFをKiCadのPCBnewでEdge.Cutsにimportする。原点は気合で合わせる。 キースイッチのフットプリントをimportした絵に合わせて配置する。 Edge.Cutsからキーボード穴を消す。 もっといい手があったかもしれない。 あとは気合で配置と配線をしていけばOK。Freeroutingによる自動配線はあまり美しくなかったので、Pro Microまわりの一部を残して手で配線した後にのみ利用した。ちなみにこれはこれで十分な配線スペースがないとFreeroutingがギブアップするので注意が必要だろう。 トッププレート PCBプレートなのでこれもPCBnewで作る。 先程作った基板外形+キー穴のSVGをトッププレートの形に整形する。nekonos1はPro Micro部分だけ高さが違うので切り離す必要がある。まあ、しかし、特に難しい事はない。Pro Micro分のデザインを2種類考えてたのでPro Micro部のカバーが2コあるくらいか? Pro Micro部にロゴが欲しかったので、これはAffinity DesignerでSVGを作って、InkscapeでDXFにしてフットプリントを登録してトッププレートにはりつけた。 ロゴは金にしたかったけど、それだけのために高いENIG(金メッキ)にする気はなかったので、HASL(有鉛半田レベラー)の結果として銀っぽい色になった。 このへんの処理はサリチル酸さんのブログ記事やe3w2qさんのブログ記事を少し参考にした。 ボトムプレート アクリルプレートなのでPCBnewではなくInkscapeを使う。といっても、メインPCBの時に作った基板外形+キー穴のSVGからキー穴を削ってネジ穴を追加するだけでOK。今回はついでにPro Micro部カバーのPCBの上に載せるパーツも入れた。 遊舎工房さんとか、工房Emerge+さんに依頼するなら、それぞれのルールに合わせてデータを作る必要があるが、今回は基板といっしょにElecrowに製造依頼する予定だったので、本当に線で描いただけで終わった。 Elecrowに製造依頼する メイン基板とトッププレートのデータはPCBnewでガーバーデータを生成した。これもfoostan氏の本のほぼその通りにやったはずだが、一部ググったかもしれない。 ボトムプレートはSVGデータと寸法説明用のPDFを同梱してZIPにまとめるだけでOK。あとはElecrowのアカウントを作り、さきほどの3点のZIPをそれぞれ基板製造の見積りページとアクリルカットの見積りページから入力してカートに入れて、注文しておしまい。支払いはPayPalが使える。 1日ほどでin productionにステータスが変わり、1週間後くらいに「発送した」というメールが基板とアクリルプレートの写真と共に届いた。その後2日くらいで荷物が到着した。 ...

December 28, 2020 · 1 min · 111 words · nekomimist

自作キーボードを作った話(SU120編)

以前の記事の続きである。 さて、ないなら作ればいいじゃない、ということで自分でキーボードを作ってみることにした。 いきなり基板を起こすのではなく、まずはe3w2q氏のSU120でプロトタイプを作ってみることにした。 レイアウトを作る まずKeyboard Layout Editorでレイアウトを作る。 手持ちのキーキャップのサイズを眺めつつ1試行錯誤した結果、最終案はこんなレイアウトになった。 SU120で基板を作る じゃあSU120を入手だ! ということで、SU120のドキュメントを眺める。……まあElecrowあたりで作ってもらってもいいのだが、Kailhソケットやダイオードその他も必要なので、そのあたりがセットになっているTALP KEYBOARDさんの分割キーボードセットを買った。 キースイッチはGateron Brownにした。ただソケットはKailhなのでキースイッチもKailhのほうがいいのかもしれない。PCBマウント(5本足)のKailhスイッチあまり売ってないけど……。 で、問題はM1.4のビスとナットで入手性が悪い。今回はAmazonで買った。 ビスはこれ。 ナットはこれ。 ただ、ナットは中国からの直送で時間がかかったので、最初からAliExpressで買ったほうがよかったかもしれない。後述するが、プレートをつけるためにm2のスペーサーを揃えるのにAliExpressは使ったからだ。 TALP KEYBOADDのキットのナットと上記ナットは二面幅2.5mmなので問題ないのだが、あとで楽天で買った二面幅3mmのナットはGateronスイッチと干渉してスイッチを削る羽目になったので、ナットのサイズに注意したほうがいいだろう。 SU120とビスとナットが揃ったら、あとはレイアウトに合わせて切ってビスケットで繋ぐだけ。 配線はSU120の作例120 Key Split Ortholinear Keyboardのドキュメント通りにやればそう悩まずに済むだろう。 とりあえず右手側だけ仮配置。一部ダイオードの実装面を変えないとダメそう #SU120 pic.twitter.com/3ktG4coV68 — いずみたすく (@nekomimist) October 17, 2020 Pro Microまわり以外の配線等が終わったので仮組み。手持ちのR4の1.75Uのキーが足りなかったので、一部キーの位置を修正した。こういう修正が気軽にできるのは #SU120 のいい所だろうな pic.twitter.com/ZWM9BrWEax — いずみたすく (@nekomimist) October 24, 2020 キーキャップはMT3 susuwatariを使うのだが、ここでR4の1.75Uのキーの余剰が一個もなく、当初レイアウトは実現できないに気付いてENTERに当たるキーを1.5Uに変更したが、それ以外は当初レイアウトそのままである。 左手分も仮組み。こちらは予定通りの配置。右の横長キー2つが両方1.5Uになった以上、左の横長キーも全部1.5Uのほうがよいのかも……キーキャップないけど pic.twitter.com/Vy05X2LorH — いずみたすく (@nekomimist) October 24, 2020 配線むちゃくちゃ間違えたりもしたけど、動くようにはなったのでしばらく使ってみよう #SU120 pic.twitter.com/1gwTaiT67y — いずみたすく (@nekomimist) October 26, 2020 親指まわりと左小指まわりをいろいろ試行した結果、現状の姿はこれ #自作キーボード #SU120 pic.twitter.com/jvAFrBVgiW — いずみたすく (@nekomimist) October 31, 2020 使ってみて、親指まわりの角度と左手小指まわりが微妙だったので、最終的なレイアウトはこれとした。 ファームを作る 前述の120 Key Split Ortholinear Keyboardを元にやればOKだろう。 ...

November 23, 2020 · 1 min · 128 words · nekomimist

自作キーボードを作るまでの話

ひさびさにblogを書こうとしたらblogsync-modeのblogsync-postが動かなくなっていてまずそっちを直す羽目になった。世界に俺以外のユーザーはいないと思われるので、俺がブログを書かないと問題に気付かない。 閑話休題。 そもそもいつ頃自作キーボードに興味を持ったのかは覚えていないが、2018年の頭あたりにはいつか自分も作ってみたいと思うようになっていたと記憶している。ただ、気になったキットは恒常的に販売されているものでないことが多かったので、なかなか手を出せずにいた。 しかし、遊舎工房でHelixが売られていることに何かのはずみで気付いた。ずっとOrtholinear(直交配列)が気になっていて、かつ数字列のないストイックなものではなく、数字列のあるものが欲しいと思っていたので、えいやっと通販で買ってみた。これが2018年8月。 Helix、とりあえず組み終わった。 pic.twitter.com/I516CGiU4s — いずみたすく (@nekomimist) August 7, 2018 Ortholinearは慣れると快適であることをHelixで知ったので、2018年10月には2台目のHelixを組んで、自作と会社両方でHelixを使うようになった。 Helix2台目稼動開始。キータッチ的には1台目のほうが好きかな…… pic.twitter.com/W0OhkwXzt5 — いずみたすく (@nekomimist) October 14, 2018 しばらくはHelixで満足していたのだが1、親指まわりにキーがもうちょっと多いと活用できるのではないかとはずっと思っていたので、COVID-19のせいで家に籠っていたGW中に物色して、最終的にはErgo Dashを買った。 Ergo Dashとか作ってみようかな…… — いずみたすく (@nekomimist) May 25, 2020 ErgoDashできた。キー配置はまだ試行錯誤中 pic.twitter.com/VBnZabGGE5 — いずみたすく (@nekomimist) June 5, 2020 途中でキーキャップをMDA Big Bang Custom VersionからMT3 susuwatariに変えたり、親指まわりの配置を変えたりして、これもまあ満足して使っていた。 だが、ふと気付いた。親指まわりのキーを増やすためにErgo Dashを作ったのに、親指を十分に活用できていない。俺の親指はそんなに器用ではなかったのだ。ついでにErgoDashでHelixより増えた最内列のキーも活用できていない。せっかくのErgoDashの利点を活かせていないではないか……。 そこで、自分が欲しいキーボードが何なのかを、もう一度考えてみた。 Ortholinearが◎。Column Staggeredは○、Row Staggeredは△。 片手でPINを打ちたいので数字キー列は欲しい。 独立したカーソルキーが欲しい。横1列が○。凸は○〜△。 Enterが大きめであってほしい。(HelixでもErgoDashでも上の’によく誤爆した) 変換/無変換に独立キーを与えられるといいが、なくても許す 親指キーはHelixより1コだけ多ければ十分 ところが、サリチル酸氏の自作キーボードの選び方など眺めつつ、探しても該当するキーボードは見付からなかったのだった。 (つづく) 今でも会社はHelixのままなので、Helixには今なお十分に満足している ↩︎

November 22, 2020 · 1 min · 59 words · nekomimist

艦これ。2018年冬イベE-4甲

現在3/24ですっかり今さらだが、記録は残しておこう……ということでE-4甲。攻略日は2/24。 まずは西村艦隊でNに行く。甲なので史実西村艦隊6人とA勝利以上が必要。 西村艦隊の顔ぶれはE-2と同じだが装備は違う。駆逐艦は3人がPT対策。一人(山雲)が対空カットイン。 道中PTに朝雲大破、山雲中破させられたものの、朝雲が単艦退避してN行って無事A勝利。わりとぎりぎりだった。 さて、これでボスルートが開放されるので、栗田艦隊で行く。削り艦隊のスクショを撮り忘れてたので、ボス前のスクショを。鈴熊は純制空+彩雲だったはず。 これで4出撃して全部A勝利だったので1、必殺の思いを込めて第二艦隊を入れかえて速吸さん入りにした。ゲージ破壊後のスクショなので速吸さんが2スロ分空いているが、もちろん洋上補給×2を積んでいた。 これで少しはよくなるかと思ったが、S勝利2回A勝利3回でS勝利は安定しなかった。もう少しやりようがあったのかな? ちなみにラストヒットは鳥海さんだった。 鳥海さんが二択で正解を引いてE-4甲ラストが一発で終わった #艦これ pic.twitter.com/jOWXR4bPxm — いずみたすく (@nekomimist) February 24, 2018 まあギミック込みで10出撃で終わってるので、攻略そのものは楽勝だったと言えるかな。 まあ2回も英仏連合が来たせいもあるが。 ↩︎

February 24, 2018 · 1 min · 19 words · nekomimist

艦これ。2018年冬イベE-3甲

現在3/24ですっかり今さらだが、記録は残しておこう……ということでE-3甲。攻略日は2/18。 潜水艦4人でまず左側のルート開放条件を満たしにいく。道中水雷戦隊は基地航空隊で蹴ちらすせばよいので特に苦労はなく。 次は右側。以降の顔ぶれは基本的には固定。 この顔ぶれでLKNQSと進めばルート開放だが、一回Qの空襲で日向が一発大破して泣いた。まあ次は普通に到達できて、その後ボスにも行けたのだが……。 どうもいろいろ詰めが甘く、なかなかS勝利が取れなかった。基地航空隊を1部隊防空に振ったのたたぶん悪手。S勝利3回A勝利4回大破撤退3回とさんざんな感じだった。北上さま2号はLv60で大破要因2回とちょっと足をひっぱらせてしまったかな。 まあ、とはいえすごい苦労したかと言われるとそうでもない。最後は一発だったし。 E-3甲終了。いろいろケチったら苦労してしまった。反省。 pic.twitter.com/gQUF4sAaRx — いずみたすく (@nekomimist) February 18, 2018

February 18, 2018 · 1 min · 14 words · nekomimist

艦これ。2018年冬イベE-2甲

さてE-2。これもルート開放から入る。G/X/YでA勝利とT到達が必要。 まずは第三艦隊に西村艦隊を入れてG/X/Yを片付ける。 秋イベの際の所謂「しまむら艦隊」ではなく、純正西村艦隊で。 この中で先制爆雷攻撃ができるのは時雨だけなので、時雨は対潜装備マシマシで、山雲だけ気休めの対空カットインにして、あとの駆逐艦はPT対策。なお、支援も基地航空隊もなし。 一回空襲で時雨大破して撤退したものの、2出撃目で無事Yまで行く。G/Xは何なくA勝利を取れていたようだ(記憶に全くない)。 もちろんYでも何なくS勝利を取る。 さて次は栗田艦隊でTに行く。T以外はほぼ対潜マスなので対潜マシマシで。例によってキャプションが間違っているが、もちろん第一第二艦隊による水上打撃連合艦隊である。 12艦全員史実の栗田艦隊とした。対潜64ちょいの駆逐艦ばかりだったので、手持ちのありったけの四式水中聴音機×7とType124 ASDIC×2を駆使してなんとか先制×4を確保。 何なく1回でTまで行けて、スタート地点が前進する。 スタート地点が前進すると道中潜水艦がいなくなって空襲と通常艦隊戦になるので、第二艦隊の顔ぶれと装備を入れかえた。 ただまあ元の艦隊でも装備だけ変えたら普通に攻略できた気はするかなあ……。 ボス前に単縦ル級がいるのがイヤな感じだが、陸攻のみの基地航空隊を送ったら撃墜されまくってひどい目にあったので、基地航空隊はなし。支援もなし。Uマスの空襲で大井さんが一発大破して撤退したことはあったが、それ以外は特に問題なしで7出撃でゲージ破壊。 第一の鈴谷熊野の攻撃機がボスで全滅していると敵第二艦隊が残ってA勝利になりやすかった気がする。まあ旗艦撃破はできるのでさほど問題はないのだが。 さて次のE-3は小沢艦隊か……。

February 18, 2018 · 1 min · 15 words · nekomimist

艦これ。2018年冬イベE-1甲

おそらく3月中旬までやるであろうこのイベントを「冬イベ」と呼ぶべきかどうかはさておき、我が泊地はいつも通り全甲突破を目指して突入。 武蔵改二を先に作ってしまったがために、鉄と弾がちょっとへこんた資源状況からスタート。 ルートは攻略Wikiが見やすいだろう。 ルートギミックありでB/F/NでA勝利以上が必要。B/Fは一度に行けるので解除に2出撃。というわけで、まずは下記の通常艦隊でNに行く。艦これ一覧メーカーの設定を直すのを忘れてたせいで第一艦隊が"第三艦隊"になってるけど気にしないこと。 この艦隊だとDGJKNとJに寄り道するが特に道中に問題はない。Nは駆逐古姫入りで、海防艦×3入りだとアレかなと思って陸攻×4の基地航空隊を送ったら楽勝でA勝利。 次はこの艦隊から那珂ちゃんを抜いた5艦で突入すると、初手羅針盤で北に進むようになる。Bは潜水艦なので海防艦と那珂ちゃんの先制爆雷の単なるエサだ。で、ABEFと進む。 Fは潜水入り水上艦なので念のため基地を送っておいた。 楽勝でS勝利は取れてボスマスが現れる。 あとはN行きと同じ艦隊でDEHIOと進んでボスを倒すだけ。HとOは単横陣、Iは警戒陣を選ぶ。ボスの水上艦はクソ弱いのでガングートと鳳翔さんで余裕で処理できるため、基地航空隊はなしでいい。もちろん支援もいらない。 サクッと6回S勝利を取るだけの簡単さ。なおめぼしいドロップもなし。 ただ、報酬の試製東海がうれしいかったかな。

February 18, 2018 · 1 min · 11 words · nekomimist