프로그래밍 언어를 제대로 설계하기
새 프로그래밍 언어가 초기에 결정해야 할 설계 원칙을 정리합니다. 들여쓴 여러 줄 문자열, 파일 경로와 확장자, 후행 쉼표, 키워드와 숫자 리터럴, 개발·배포 환경, 버전 관리, 빌드 시스템과 파일 감시까지 생태계와 호환성을 좌우하는 세부 사항을 짚습니다.
새 프로그래밍 언어가 초기에 결정해야 할 설계 원칙을 정리합니다. 들여쓴 여러 줄 문자열, 파일 경로와 확장자, 후행 쉼표, 키워드와 숫자 리터럴, 개발·배포 환경, 버전 관리, 빌드 시스템과 파일 감시까지 생태계와 호환성을 좌우하는 세부 사항을 짚습니다.
Java .class 파일의 첫 4바이트를 식별하는 매직 넘버 0xCAFEBABE의 유래를 다룹니다. Java라는 이름보다 먼저 정해졌으며, 재미와 기억하기 쉬운 형태를 고려해 선택했다는 당시 개발자의 설명과 다른 시스템의 유사한 값도 소개합니다.
Arialdo가 Jujutsu를 처음 사용하는 사람을 위해 쓴 무료 가이드입니다. HTML과 PDF로 제공하며, 명령어와 터미널 출력 중심으로 첫날부터 따라 할 수 있게 구성했습니다.
Evocation은 Forth에서 파생한 64비트 amd64용 언어이자 자기 호스팅 컴파일러입니다. 주석이 달린 hex dump로 바이너리 생성 과정을 감사할 수 있는 자기 부트스트래핑 구조를 갖추고 있으며, 현재 컴파일에는 최대 10분이 걸립니다.
LLM이 코드를 생성하는 시대에는 프롬프트 세션에서 사라지는 의도와 설계를 Markdown으로 남겨야 한다고 제안합니다. Markdown을 코드와 함께 /src에 저장하고, 코드와 테스트를 그 문서에서 파생시키자는 구상입니다.
개발자는 GBA·e-Reader용 게임 Eridin을 PC판과 함께 개발하고 있습니다. e-Reader 카드 제조 실패를 대비하면서 C 기반 엔진에 플랫폼별 API 구현을 나눴고, PC판에는 같은 240×160 화면 구성 위에 고해상도 렌더링과 부드러운 스크롤을 더합니다.
Canonical이 업스트림 Zephyr를 기반으로 최대 15년 보안 유지보수를 제공하는 기업용 배포판 Zephyr 26.04 LTS를 발표했습니다. EU Cyber Resilience Act 대응을 겨냥해 OTA 업데이트, 장치 관리, 컨테이너 기반 개발 환경도 함께 제공합니다.
Squalk는 Nostr의 NIP-29 그룹과 NIP-7D 스레드를 사용하는 포럼 엔진입니다. 단일 포럼부터 다중 포럼까지 지원하고, 릴레이·Blossom 서버·환경 변수만으로 정적 사이트나 SSR 서비스로 배포합니다.
Rift는 여러 창 배치 방식과 애니메이션, macOS 제스처를 지원하는 윈도 매니저입니다. SIP를 끄지 않고도 사용할 수 있으며, 별도 Space를 쓰는 디스플레이 구성과 비공개 API를 활용한 성능을 내세웁니다.
테트리스 효과를 출발점으로, 오래 집중한 대상이 사고방식과 지각을 바꾼다고 설명합니다. 추천 알고리즘에 화면을 맡기기보다 RSS, 블로그, 북마크처럼 직접 선택하는 느린 인터넷으로 돌아가야 한다고 주장합니다.
IPv4 부족으로 통신사 CGNAT 뒤에 놓인 홈랩을 프랑스 VPS와 WireGuard로 인터넷에 공개하는 구성입니다. VPS에서 포트 포워딩과 라우팅을 처리하고, 홈랩은 터널을 먼저 연결해 공인 IP 없이 서비스를 운영합니다.
데이터베이스의 relational algebra와 논리학·수학의 relation algebra는 이름만 비슷할 뿐 서로 다른 체계입니다. 글은 두 대수의 기원과 표현력, Alloy·Prela 같은 컴퓨터과학의 활용 사례를 설명하고 혼동을 피하려고 relation algebra를 TAR라고 부르자고 제안합니다.
Linux 커널 RCU를 만든 Paul E. McKenney의 무료 교재를 읽은 뒤, CPU 캐시와 컴파일러 최적화부터 메모리 모델과 락프리 프로그래밍까지 평가합니다. 리뷰어는 초반 다섯 장만 깊이 읽었지만 병렬 프로그래밍을 더 공부하고 싶게 만든 훌륭한 입문서라고 봅니다.
Gemini 프로토콜에서 블로그인 gemlog를 만들고 운영하는 방법을 설명하는 실용 가이드입니다. 호스팅 플랫폼, 파일 구조, 피드, CGI 기반 상호작용, TLS 클라이언트 인증서까지 소개해 저사양·저복잡도 웹 publishing을 직접 시작하게 돕습니다.
Vim 문서에는 같은 키를 42번 누르면 발생한다는 가짜 자동 명령(autocmd) UserGettingBored가 있습니다. 실제 이벤트로 구현된 적은 없지만, 2000년부터 문서와 테스트에 남았고 2022년에는 이를 흉내 낸 비공식 플러그인까지 등장했습니다.
Functional Core/Imperative Shell 구조를 결정론적 코어와 비결정론적 셸로 확장해 설명합니다. 외부 세계와 맞닿은 코드를 셸에 모으고 비즈니스 로직을 결정론적으로 분리하면, 순수 함수형 프로그래밍을 쓰지 않아도 테스트 범위와 신뢰도를 높일 수 있다고 제안합니다.
Sun의 실패 원인을 전략보다 사업 운영의 기본을 소홀히 한 데서 찾습니다. OpenSolaris를 쓰던 성장 기업이 Sun의 하드웨어를 사려 했지만 영업과 지원을 받지 못했고, Dell의 신속한 대응으로 거래를 성사한 사례를 통해 운영 실패가 기술적 성과를 무너뜨린 과정을 설명합니다.
Google Analytics를 제거한 뒤 AI 스크래퍼로 부풀려진 로그 분석을 버리고, GoatCounter를 NixOS 환경에 직접 배포한 사례입니다. 상호작용 기반 JavaScript와 CSS 대체 수단으로 봇을 걸러내고, 5대 웹 서버의 로컬 프록시와 Litestream 백업으로 수집 안정성까지 확보합니다.
PHP 테스트 메서드 이름에 일반 공백처럼 보이는 non-breaking space를 넣어 문장처럼 읽히게 만드는 방법을 소개합니다. 팀 내부에서는 1년 넘게 만족스럽게 사용했지만, 터미널 검색과 다른 언어의 식별자 규칙, 오픈소스 협업에서는 혼란을 부를 수 있다는 반론도 나옵니다.
Quarkdown은 CommonMark와 GFM을 확장해 함수, 변수, 조건문, 반복문을 제공하는 Markdown 기반 조판 시스템입니다. 하나의 소스에서 책·논문·문서 사이트·프레젠테이션·PDF 등을 생성할 수 있으며, 라이브 미리보기와 빠른 컴파일을 지원합니다.