@peccul is peccu

(love peccu '(emacs lisp cat outdoor bicycle mac linux coffee))

20230601 today i see

続くか分からないが、見たもの読んだものを記録してみる。

こういうのを LogSeqとかに残したらええんか。どっちがええやろか。

itnext.io

Angularのコマンド nxリポジトリをセットアップする記事かな。髭のおじさんが懐かしい。

モノレポとポリレポのどっちがいいか、みたいな

chatbotslife.com

企業家がChatGPT使うなら。

ペルソナ定義してそのペルソナでアウトプットする、AIに入力するプロンプト書かせるの面白い。

なんでもありやなぁ

市場になってる。

medium.com

便利げなアプリ選。fantastical入れてみた

betterprogramming.pub

↑サマリの通り。Rustで書いたら速かった。とのこと

www.deeplearningbook.org

関連書籍に挙がってた。ウェブ上で本のページの見た目が再現されてて面白い。

medium.com

TypeScriptのコードにjestのテストコードつけてもらって、エッジケースを追加して、という流れ

楽やなぁ

qiita.com

コードの説明を図示してくれる

qiita.com

最後のリンク集が使えるかも。

qiita.com

こういうワークフロー好き。アウトプットをNotion DBにしてるのね。なるほど。

qiita.com

特徴がええ感じにまとまってる

vimdiffの代わりにemacs-vdiffを使う

tl;dr

以下のシェルスクリプトvdiffみたいな名前でパスの通ったところにおいて実行権限をつければ使える。

#!/bin/bash
# -*- shell-script -*-
tmpdir=$(mktemp -d /tmp/emacs-vdiff.XXXXX)
emacs -Q --eval "(progn
  (setq user-emacs-directory \"${tmpdir}/\")
  (package-refresh-contents)
  (package-install 'vdiff)
  (require 'vdiff)
  (define-key vdiff-3way-mode-map (kbd \"C-c\") vdiff-mode-prefix-map)
  (vdiff-files3 \"$1\" \"$2\" \"$3\"))"
rm -rf $tmpdir

# C-c n/p move cursor to next/previous hunk
# C-c s sends current hunk to other files
# C-c r receives from other files to current hunk
# C-c w write changes to files
続きを読む

WSLの占めるディスク容量を減らす

tl;dr

WSLの使うvhdxファイルをdiskpartコマンドで圧縮すればよい。

以下の2つのファイルを同じフォルダに置いて、PowerShellで実行する。WSL環境をシャットダウンするので何か実行中は避ける。

続きを読む

minikubeでローカルのdocker imageやDockerfileを利用する

tl;dr

$ env $(minikube docker-env)
$ cd path/to/build
$ docker build -t local/myapp:1.0.0
$ minikube kubectl -- create deployment test-app --image=local/myapp:1.0.0

ドキュメントを一通り読めばよかった

minikube.sigs.k8s.io

続きを読む

Windowsで同じアプリケーションのすべてのウィンドウを手前に表示する

tl;dr

AutoHotKeyで解決する例を見つけたのでそれを導入。 Alt+PrintScrernを押すと今開いているウィンドウと同じアプリケーションのウィンドウが順にパカパカ切り替わって全部手前に表示される。

!PrintScreen::
WinGetClass, class, A
WinGet, currentWindowId ,, A
WinGet, id, list, ahk_class %class%
Loop, %id%
{
    this_id := id%A_Index%
    WinActivate, ahk_id %this_id%
}
WinActivate, ahk_id %currentWindowId% ;bring the current window back to front
return
続きを読む

WSLgでEmacsを使う

tl;dr

# install packages for build
sudo apt install -y build-essential libgtk-3-dev libgnutls28-dev libtiff5-dev libgif-dev libjpeg-dev libpng-dev libxpm-dev libncurses-dev texinfo autoconf adwaita-icon-theme-full
cd /tmp
# clone source only emacs 29
git clone --single-branch --branch emacs-29 git://git.sv.gnu.org/emacs.git
cd emacs
./autogen.sh
./configure --with-pgtk
make -j8
sudo make install
# install jp font (Takao)
sudo apt install -y fonts-takao
sudo fc-cache -fv
# fc-list | grep -i takao
# IPA font
sudo apt install -y fonts-ipafont
sudo fc-cache -fv
# fc-list | grep -i ipa

Emacs上でWSLg上のEmacsかどうか区別するならこんな感じ(Takaoフォントの設定例)

(when (and (eq system-type 'gnu/linux)
           (eq window-system 'pgtk)
           (getenv "WSLENV"))
  ;; Takaoフォントの利用
  (set-fontset-font t 'japanese-jisx0208 "TakaoGothic")
  (add-to-list 'face-font-rescale-alist '(".*Takao .*" . 0.85))
  ;; M-wでwindowsのクリップボードにコピーする
(defun copy-selected-text (start end)
  (interactive "r")
    (if (use-region-p)
        (let ((text (buffer-substring-no-properties start end)))
            (shell-command (concat "echo '" text "' | clip.exe")))))
  (global-set-key (kbd "M-w") 'copy-selected-text)
  ;; Teach Emacs how to open links in your default Windows browser
  (let ((cmd-exe "/mnt/c/Windows/System32/cmd.exe")
        (cmd-args '("/c" "start")))
    (when (file-exists-p cmd-exe)
      (setq browse-url-generic-program  cmd-exe
            browse-url-generic-args     cmd-args
            browse-url-browser-function 'browse-url-generic
            search-web-default-browser 'browse-url-generic)))
)
続きを読む