Brainfuck으로 레이 트레이서를 만들기
저자는 Brainfuck의 여덟 가지 명령만으로 레이 트레이서를 구현하며 고정소수점 연산과 산술·제어 흐름을 직접 구성합니다. 2,300만 바이트가 넘는 프로그램은 픽셀 하나를 그리는 데 약 1분이 걸렸고, 후속 JIT 개선으로 렌더링 결과도 얻었습니다.
언어와 프레임워크, SDK와 개발 방식·도구의 변화를 다룹니다.
저자는 Brainfuck의 여덟 가지 명령만으로 레이 트레이서를 구현하며 고정소수점 연산과 산술·제어 흐름을 직접 구성합니다. 2,300만 바이트가 넘는 프로그램은 픽셀 하나를 그리는 데 약 1분이 걸렸고, 후속 JIT 개선으로 렌더링 결과도 얻었습니다.
LLVM 컴파일러 프로젝트의 주요 기여자이자 OpenMP·고성능 컴퓨팅 연구자인 요하네스 되퍼트가 암 투병 끝에 36세로 세상을 떠났습니다. 그는 Attributor 프레임워크와 GPU 오프로딩 개발을 이끌었고, 연구·멘토링·커뮤니티 활동으로 LLVM 생태계에 흔적을 남겼습니다.
글쓴이는 프롬프트를 다듬어도 답변의 정확성이 아니라 설득력만 높아진다고 주장합니다. AI가 만든 결과를 검증하고 의심하는 능력이 더 오래가는 경쟁력이며, 이를 키우려면 실제 상황에서 결과를 깨뜨려 보고 부작용을 확인해야 합니다.
Haskell 개발자인 글쓴이는 LLM에게 코딩을 맡기는 대신 조사·계획·기록·검토를 맡기고, 직접 코드를 쓰는 작업 흐름을 제안합니다. 생산성을 조금 얻으면서 코드 이해와 프로그래밍 기술, 작업의 즐거움을 지키는 방법을 설명합니다.
Mathy는 이미 배운 수학 내용을 짧게 반복 연습해 빠르고 정확하게 떠올리도록 돕는 무료 앱입니다. FSRS로 복습 시점을 정하고, 문제와 답을 결정론적으로 생성·검증하며, 핵심 기능은 계정 없이 오프라인에서도 작동합니다.
게임의 UX를 앱에 그대로 옮기기보다, 게임이 사용자의 학습과 탐색을 설계하는 원리를 살펴봅니다. 글은 이야기와 사용자 경험의 관계, 학습 루프, 피드백, 힌트, 진행 속도 등 여섯 가지 관점으로 앱 UX를 분석합니다.
Rust의 `std::path::Component` 열거형을 각 변형을 나타내는 별도 타입으로 나눠 경로 처리 함수의 입력 조건을 타입으로 표현한 사례입니다. `NormalComponent`와 `ParentDirComponent`를 쓰면 경로 결합과 디렉터리 탐색에서 잘못된 구성 요소를 넘기는 실수를 줄일 수 있습니다.
AI가 구현과 테스트, 코드 리뷰까지 맡는 흐름에서는 모든 단계가 같은 오해를 공유할 수 있습니다. 개발자는 코드의 문법이나 테스트 통과 여부를 넘어 요구사항과 가정, 실패 위험, 설계가 실제 문제와 맞는지 검증해야 합니다.
크리스틴 뉘고르 100주년 행사에서 앨런 케이의 목소리가 Zoom으로 약 21초 늦게 되돌아오며 즉흥적인 오디오 피드백 공연이 벌어집니다. 이 우연한 사고는 잡음이 있는 통신 채널과 클로드 섀넌의 부호화 정리를 떠올리게 합니다.
Rails World에 참석하지 못한 Ruby 개발자가 대형 행사와 소규모 컨퍼런스의 장단점, 사람을 만나고 새로운 아이디어를 얻는 경험을 돌아봅니다. 첫 컨퍼런스라면 작고 부담 없는 행사부터 시작하고, 자신이 속한 커뮤니티가 모이는 곳을 고르라고 권합니다.
Excel 베타 채널에 셀 안의 목록과 배열, 중첩 배열 기능이 추가됩니다. 개별 항목을 필터링하고 계산에 활용할 수 있으며, FLATTEN과 HAS 계열 함수도 제공합니다. 다만 Power Query, 차트, PivotTable 등은 아직 배열을 직접 처리하지 못합니다.
코딩 에이전트를 도입한 팀에서 PR은 늘고 사람의 리뷰는 사라지면서, 대충 만든 구현이 다음 에이전트의 기준으로 굳어지는 문제가 생겼습니다. 글쓴이는 리뷰를 전면 중단하기보다 변경 위험에 따라 검토하고 계획 리뷰와 테스트를 보강하자고 제안합니다.
브라우저에서 Neon Data API를 직접 호출하는 멀티테넌트 작업 보드의 보안 구조를 만들고, 27가지 공격과 네 가지 설정 실수로 검증합니다. RLS와 컬럼 권한을 함께 쓰면 대부분의 공격을 막지만, 토큰 만료 전 멤버를 제거해도 최대 15분가량 접근이 이어질 수 있어 실시간 멤버십 확인이 필요합니다.
Rust의 SIMD 생태계를 자동 벡터화, portable SIMD 라이브러리, 플랫폼별 인트린식 관점에서 비교합니다. 라이브러리별 기능과 런타임 디스패치의 차이, 컴파일러 최적화 문제를 짚고 x86·ARM 등 하드웨어의 특성도 살펴봅니다.
Among Us 오픈소스 클론의 역할 배정은 가장 높은 플레이어 ID를 가진 클라이언트가 임포스터를 자처하는 방식이었습니다. 개발팀은 Midnight의 Compact 계약과 커밋먼트, 비공개 증명을 이용해 역할 배정과 처치를 검증하는 Shadow Protocol을 만들었으며, 데모는 실제 블록체인 대신 같은 규칙을 검사하는 모의 원장으로 실행했습니다.
좋은 시니어 엔지니어는 익숙한 기술적 제약을 답으로 받아들이기보다, 무엇을 왜 만드는지부터 따져 가장 작은 다음 단계를 찾습니다. 에이전트를 쓸 때도 경험을 잠시 내려놓고 가능성을 살피되, 설계와 검토에서 사람의 판단을 놓치지 말아야 한다는 글입니다.
리눅스 커널 소스 트리에 AI 코딩 에이전트가 개발 규칙을 따르도록 안내하는 AGENTS.md를 추가하는 제안이 나왔습니다. README로 연결하는 간단한 파일이지만, 에이전트의 패치 서명 표기 오류를 줄이는 한편 전체 문서를 읽힐 때 늘어나는 토큰 비용을 두고 의견이 갈립니다.
INKSHIFT는 모임 계획을 공유하고, 일정 변경 뒤에도 참가자의 예약을 유지하는 앱입니다. Sanity의 Content Lake와 Workflows를 사용해 변경을 검토하고, 세션 ID를 보존해 장소만 옮깁니다. 동시 예약과 변경 이력 처리 방식도 소개합니다.
Paranoia-Sans는 음모론에서 자주 등장하는 용어를 자동으로 검은 상자로 바꾸는 글꼴입니다. OpenType 합자 기능을 사용해 지정된 문자열을 가리며, 예를 들어 ‘5G’는 두 글자 너비의 검은 상자로 표시합니다.
Martin Fowler는 새 프로젝트에서 마이크로서비스부터 시작하기보다 모놀리스로 출발한 뒤 서비스 경계를 파악하고 필요할 때 분리하자고 제안합니다. 마이크로서비스는 운영 부담이 크고 경계를 잘못 나누면 변경이 어려워지지만, 여러 팀의 독립 배포나 엄격한 검증이 필요한 환경에서는 장점도 있습니다.