윈도우 95 시절 쉘 API로 만든 명령줄 도구, WinUtils 회고
글쓴이가 1996~1997년에 만든 WinUtils는 윈도우 95의 쉘 API를 감싼 얇은 명령줄 도구 모음이었다. 직접 파일 입출력을 구현하는 대신 탐색기와 같은 복사, 이동, 삭제, 휴지통, 확인창 동작을 그대로 활용한 점이 핵심이다.
- 1
WinUtils는 SHFileOperation을 호출해 복사, 이동, 삭제, 이름 변경을 처리했다
- 2
휴지통 기반 되돌리기는 FOF_ALLOWUNDO 플래그 덕분에 가능했다
- 3
도움말 파일은 RTF, HPJ, CNT, Help Compiler를 거쳐 만드는 꽤 번거로운 작업이었다
- 4
글쓴이는 비효율적인 시행착오가 오히려 오래 남는 학습 경험이었다고 회고한다
요즘이라면 대규모 언어 모델이 몇 분 만에 비슷한 코드를 뽑아낼 수 있겠지만, 이 글의 재미는 ‘고생이 학습의 일부였다’는 대목이다. 얇은 래퍼라도 운영체제의 사용자 경험을 존중하면 꽤 쓸모 있는 도구가 된다는 교훈도 있다.
관련 기사
러스트로 다시 만든 로컬 코딩 에이전트 ‘파이’, 자동화까지 노린다
파이는 기존 pi 코딩 에이전트를 러스트로 다시 만든 터미널 기반 AI 코딩 에이전트다. 프로젝트 안에서 파일을 읽고 수정하고, 셸 명령을 실행하고, 세션을 이어가며, 로컬 모델과 여러 모델 제공자를 쓸 수 있다. 단순 채팅 UI가 아니라 트리거, 크론, MCP 알림, 에이전트 간 허브 메시징까지 넣은 로컬 에이전트 런타임을 지향한다.
Paseo, 여러 코딩 에이전트를 한 화면에서 돌리는 오픈소스 인터페이스 공개
Paseo는 Claude Code, Codex, Copilot, OpenCode, Pi 같은 코딩 에이전트를 한 인터페이스에서 실행하고 관리하는 오픈소스 도구다. 로컬 daemon이 에이전트 프로세스를 관리하고, 데스크톱·모바일·웹·CLI 클라이언트가 여기에 연결되는 구조라 자기 개발 환경 위에서 병렬 작업을 돌릴 수 있다.
줄리아 반응형 노트북 Pluto가 6년 만에 1.0을 찍었다
줄리아용 반응형 노트북 환경 Pluto.jl이 6년 개발 끝에 1.0을 공개했다. 이번 1.0 자체는 제거된 deprecated 기능 정도로 조용하지만, 재현성, 공유, 반응형 실행, 교육용 기능, 접근성, 편집기 도구까지 지난 몇 년의 누적 개선을 정리한 릴리스에 가깝다.
리눅스에서 놀고 있는 엔비디아 VRAM을 스왑 공간으로 쓰는 오픈소스 프로젝트
하이브리드 그래픽 노트북에서 유휴 엔비디아 GPU의 VRAM을 리눅스 스왑 공간으로 활용하는 프로젝트가 공개됐다. CUDA 드라이버 API로 VRAM을 할당하고, 이를 NBD 블록 디바이스로 노출해 일반 스왑처럼 쓰는 방식이다. 순차 처리량은 NVMe보다 느리지만, 드문드문 발생하는 스왑 접근에서는 평균 지연 시간이 335마이크로초로 NVMe의 9.05밀리초보다 27배 빠르다는 결과가 흥미롭다.
괄호가 싫어도 한 번은 봐야 할 작은 리스프, 재닛
글쓴이는 취미 프로젝트용 언어로 작은 리스프 계열 언어인 재닛을 몇 년째 쓰고 있고, 무료 책까지 쓸 정도로 꽂혔다. 핵심은 문법 장난이 아니라 작은 런타임, 네이티브 실행 파일 배포, 파싱 표현 문법, 셸 스크립팅, 매크로, 컴파일 타임 실행이 한데 묶인 실용성이다.
댓글
댓글
댓글을 불러오는 중...