git filter repo

잘못된 커밋 내용(name, email 등)을 수정할때 git rebase 를 하나씩 pick 해서 수정했다.

그런데 git filter repo(https://github.com/newren/git-filter-repo)툴을 사용하면 편하다.

# 설치
uv pip install git-filter-repo --system

# 도움말
git filter-repo -h

# aaa.bbb 이름으로 커밋된 모든곳에 ysoftman 이름과 ysoftman@gmail.com 멜주소로 수정하기
git filter-repo --commit-callback '
if commit.author_name == b"aaa.bbb":
   commit.author_name = b"ysoftman"
   commit.author_email = b"ysoftman@gmail.com"
   commit.committer_name = b"ysoftman"
   commit.committer_email = b"ysoftman@gmail.com"
' --force

# git filter-repo가 안전을 위해 origin remote를 자동으로 제거한다.
# remote를 다시 추가하고 force push
git remote add origin https://github.com/ysoftman/ysoftman
git push --force origin main

# origin/main 을 로컬 main 브랜치로 다시 연결(트랙킹)
git branch --set-upstream-to=origin/main main

참고로 force push 후에도 gitHub에 이전 커밋 객체가 남아있어 이전 sha 해시로 직접 접근하면 여전히 보인다. 수주가 지나면 github 에서 자동으로 정리된다고 한다.

netflix - hot spot

요즘 netflix 는 보통 애니만 보는데 'hot spot' 이 드라마는 2배속하지 않고 야금야금 꼼꼼히 보게 된다.
예전에 본 영화 '고양이를 빌려드립니다(렌타네코)'가 재밌어서 주인공으로 나온 여배우(이치카와 미카코)를 좋아했는데, 넷플릭스 핫스팟 드라마에 이치카와 미카코가 나오는 썸네일을 보고 플레이하게 됐다.
처음에는 이쁜 여주인공 때문에 봤는데 1회부터 스토리가 재밌다. 일본 특유의 소소한 일상속에 녹아드는 코믹요소가 미소 수준의 웃음을 준다.
썸네일만 보고는 후지산에 UFO, 외계인등이 출현해 핫스팟이 되는 내용일거라고 예상했는데,
외계인은 있지만 내가 생각했던 그런 모습이 아닌 중년 아저씨고 이런저런 사건을 해결하는데 뭔가 애잔하다.
외계인,미래에서온 사람,초능력자,귀신(이래서 핫스 팟ㅋ)까지 나오는데 그냥 그렇구나하고 넘어가는게 코믹요소다. 나 같으면 꼬치꼬치 캐물어 진짜인지 확인하고 싶을텐데 주인공과 친구들은 놀라기는해도 금새 받아들이는 모습이 조금 비현실적으로 보이기도 했다. 그래도 이런게 이 드라마의 매력이다.
어떻게 보면 참 재미없는 작은 마을의 평범한 일상 같은데 은근 집중하고 본다.
주인공과 외계인 아저씨의 알콩알콩한 대화와 초인적인 능력 사용등을 보면 넷플릭스에서 소개한 특징대로 기발하고 유쾌 발랄하다.
화려한 CG도 아니고 배우들간의 열정적인 연기 대결이 펼쳐지지도 않고 뭔가 단편 영화스런 분위기도 나면서 약간의 병맛 느낌도 난다.
난 이런 류의 영화, 드라마를 좋아한다. 이 드라마를 보고 일드 '트릭(나카마유키에)'이 생각났다.
내가 좋아하는 여주인공 나카마유키에와 신비스러운 마술, 과학적인 트릭을 병맛스러운 느낌으로 풀어냈다.(이시절 일드가 참 좋았다.)
이 드라마를 보는 이유는 코믹도 있지만, 여배우가 주는 편안함이 크다.
이쁜 이목구비에 차가운 도시녀도 잘 어울릴것 같은데, 예전 영화 '렌타네코'에서도 느겼지만 소탈한 일상 연기가 자연스럽고 거부감이 없었다.(뭐 이건 좋아하는 연예인이라서 그런것도 같다.)
드라마의 배경이 되는 후지산 근처 이 마을에 가보고 싶은 생각이 들었다. 주인공 직장인 호텔과 마트, 거리를.. 주인공 친구들과 자주가는 카페에서 파르페도 먹어 보고 싶다.

terminated screencapture

맥스크린 캡쳐시 저장이 안되는 경우가 발생했다. 될 때는 되고 안될때는 안되던가 수초간의 딜레이가 발생 후 저장됐다
스크린 캡쳐 관련 프로세스는 다음 2개가 있다.
screencapture: cmd+shift+3/4 로 실제로 캡처를 수행하는 프로세스
screencaptureui: cmd+shift+5 로 화면 캡처 메뉴 UI 를 보여주는 프로세스

위 2개 프로세스를 모니터링(btop 등에서 screen 이름으로 필터링) 하고
cmd+shift+4 누르면 screencapture 가 실행되고 종료되지만 캡쳐가 되지 않거나 느리게 캡쳐된다.

다음과 같은 명령으로 영역 캡쳐 테스트시 캡쳐가 안되는 경우 강제 종료가 되고 있다는것을 알았다.
screencapture -R 0,0,100,100 -t jpg z.jpg
zsh: terminated  screencapture -R 0,0,100,100 -t jpg z.jpg

cmd+shift+5 누르면 screencaptureui 가 생겼다 사라진다.(메뉴가 잠깐 보였다 사라진다)
screenshot.app 앱도 실행하면 켭쳐메뉴가 바로 종료된다.
claude-code 으로 원인 파악을 해봤다.

screencaptureui(PID: 37344) 로그를 모니터링하면
/usr/bin/log show --last 2m | grep "37344" | grep -i "exit"

launchd가 프로세스 종료 시 자동으로 기록하는 로그에 원인이 포함되어 있었다.
launchd: [gui/501/com.apple.screencaptureui.agent [37344]:] exited due to SIGTERM | sent by TouchEN_TEWeb_Agent[854], ran for 285ms

원인은 TouchEN_TEWeb_Agent(금융/보안 프로그램)이였다.
TEWebUNInstall.pkg 를 실행해서 삭제하니 잘된다.