소프트웨어를 만드는 일은 예술적 활동입니다
소프트웨어는 아이디어를 코드라는 매체와 그 제약에 맞춰 구현하는 과정에서 만들어집니다. 글쓴이는 그 과정에 필요한 판단과 취향이 결과물의 질을 좌우한다고 주장하며, Reddit에서는 예술과 공예의 경계, 업무 환경의 제약, AI가 창작감을 바꾸는지를 두고 의견이 갈립니다.
언어와 프레임워크, SDK와 개발 방식·도구의 변화를 다룹니다.
소프트웨어는 아이디어를 코드라는 매체와 그 제약에 맞춰 구현하는 과정에서 만들어집니다. 글쓴이는 그 과정에 필요한 판단과 취향이 결과물의 질을 좌우한다고 주장하며, Reddit에서는 예술과 공예의 경계, 업무 환경의 제약, AI가 창작감을 바꾸는지를 두고 의견이 갈립니다.
Rails의 요청 처리 과정을 Rack 미들웨어부터 라우팅, ActiveRecord, 뷰 렌더링까지 따라가며 관습 뒤에 숨은 Ruby 메커니즘을 설명합니다. Zeitwerk, 커넥션 풀, Strong Parameters도 다뤄 Rails 동작을 디버깅할 때 살펴볼 지점을 제시합니다.
buddylist는 Claude Code, Codex, Gemini, OpenCode를 MSN 메신저 같은 대화 목록에 모으는 무료 데스크톱 앱입니다. 에이전트끼리 프로젝트 폴더를 공유하고, 한 에이전트가 시작한 작업을 다른 에이전트가 이어서 하거나 검토하게 구성할 수 있습니다.
지구 표면을 오각형 셀로 표현하는 이산 전역 격자 시스템(Discrete Global Grid System) A5가 v1.0을 출시했습니다. 격자와 셀 ID를 앞으로 고정하고, 압축된 셀 집합 연산과 자기 교차가 없는 공간 채움 곡선을 도입해 대규모 영역 채우기와 처리를 개선했습니다.
Nordwand Mono는 Univers의 인상과 JetBrains Mono의 비율을 참고해 Python으로 만든 코딩용 모노스페이스 글꼴입니다. 글리프와 높이 같은 지표를 직접 조정해 글꼴을 생성할 수 있으며, 최소한의 화살표 합자 두 가지를 제공합니다.
GrowBook은 식물 목록과 관리 기록을 휴대전화에 먼저 저장해 계정 없이도 식물을 추가하고 알림을 설정하게 합니다. 계정은 클라우드 동기화와 가족 공유를 쓸 때 요구합니다. 제작자는 화면의 호감도보다 사용자가 다시 찾아오는지를 보려 하지만, 현재 측정 수단만으로는 재방문 이유를 구분하기 어렵습니다.
AI가 코드를 더 빠르게 만들 수 있다는 이야기가 반복되면서, 프로그래밍을 즐기는 마음마저 경제적 가치로 증명해야 한다는 압박이 생겼다고 말합니다. 글쓴이는 결과물의 효용과 만드는 과정의 즐거움은 별개라며, 쓸모없는 프로젝트를 재미로 만들 권리를 되찾자고 제안합니다.
Rich Hickey가 Clojure의 유연한 정보 처리와 정확성 문제를 설명하고, 데이터 구조의 변화를 견디면서 필요한 값과 기대 조건을 드러내는 destructuring 기능을 소개합니다. 강연은 선택자와 누락 처리 같은 새 지시자도 다루며, 정적 타입의 역할을 둘러싼 논쟁을 불러왔습니다.
Blazon은 입력한 단어를 고정된 문장 규칙으로 방패 문양과 설명(blazon)으로 바꾸고, Gemma가 문구와 짧은 설화를 씁니다. 무료 SVG 다운로드와 팁통으로 운영하며, 결정론적 생성과 모델 입력·출력 검증, 일일 호출 제한을 적용했습니다.
Rust 컴파일러에서는 차세대 trait solver와 Polonius, 병렬 프런트엔드, LLVM 성능 개선 등 오래 진행한 작업이 함께 진척되고 있습니다. 필자는 이를 새 기능 하나의 성과보다 장기적인 내부 정비와 성능 투자가 결실을 맺는 시기로 설명합니다.
EmbodiWeave는 로봇 정책의 학습 시작점을 고르는 에이전트로, 체크포인트와 평가, 실패 기록을 FalkorDB 그래프에 저장하고 MCP로 조회합니다. 그래프가 과거 회귀 이력이 있는 계보를 후보에서 제외하자 에이전트의 선택이 달라졌지만, 새 정책도 부모보다 나빠 배포되지 않았습니다.
Deno 런타임 개발이 1년 뒤 중단될 예정이라는 소식에, 글쓴이가 포크 프로젝트 Ende를 시작한다고 밝혔습니다. Node.js 호환성과 Deploy, KV 같은 제품을 덜어내고 모듈별 권한, 비신뢰 코드 샌드박스 등을 개발하겠다는 계획입니다.
나이지리아 POS 운영자의 Moniepoint 입금 이메일을 일일 장부로 정리하는 웹 앱을 만들었습니다. 금액과 잔액은 코드로 처리하고, 은행마다 다르게 쓰는 고객 이름만 Gemma 3 1B로 읽습니다. 데이터는 기기에 남지만, 모델을 실행하려면 작동하는 GPU가 필요합니다.
Futhark 컴파일러가 signed integer division의 오버플로를 피하도록 고치자 CUDA 성능이 특정 벤치마크에서 5,548μs에서 12,592μs로 느려졌습니다. 일반 벤치마크에서는 차이가 측정되지 않았지만, 모든 나눗셈에 추가된 분기 때문에 GPU 코드 생성이 달라지는 사례를 보여줍니다.
무한 스크롤과 자동 재생은 사용자를 속이기보다 계속 이용하는 쪽을 기본값으로 만들어 멈출 기회를 줄입니다. 글은 행동과 의도를 구분하는 연구를 검토하고, 정해진 분량 뒤에 '더 보기'를 두는 설계와 사용 시간 외의 성공 지표를 제안합니다.
세 글은 에이전트가 코딩을 대신할 때 잃는 것이 같다고 보지 않습니다. 한 글은 개발자의 기술과 직업적 의미가 흔들리는 감정을, 다른 글은 작업에 빠져들던 시간과 유능하다는 감각의 상실을 말합니다. 반면 손으로 코딩하는 즐거움은 일의 경제성과 별개로 이어질 수 있다는 반론도 있습니다.
macOS 27.0에서 /pkg/env/global/bin이 PATH에 추가된 사실이 확인됐습니다. /pkg에는 env, etc, inv, var 디렉터리가 있지만 용도는 밝혀지지 않았습니다. 글쓴이는 패키지 관리 시스템일 가능성을 추측하지만 근거는 확인되지 않았습니다.
Tower 18 for Mac은 명령줄 도구를 개선해 터미널에서 History, Blame, Working Copy 같은 Tower 화면을 한 명령으로 열도록 합니다. AI 에이전트가 바꾼 파일을 Tower에서 검토하거나 브랜치 고유 커밋을 확인하는 흐름도 소개했습니다.
Java의 sealed 클래스와 exhaustive pattern matching은 switch가 모든 하위 타입을 처리하는지 컴파일 시점에 검사합니다. 하지만 공개 API에 새 하위 타입을 추가하면 재컴파일한 소비자 코드가 깨질 수 있고, 재컴파일하지 않은 코드는 새 값 처리 시 MatchException을 던질 수 있습니다.
실행 중인 script 요소를 document.currentScript로 찾아 자기 자리에 결과를 렌더링하는 방법을 소개합니다. 별도 템플릿 언어나 ID 선택자 없이 날짜, 문구, 간단한 상호작용을 HTML 가까이에서 처리하지만, 비동기 데이터 처리에는 추가 요청과 HTML 보안 처리가 따릅니다.