Programming(14개 스토리)

OpenCiv3: Civilization III의 오픈 소스, 크로스 플랫폼 리이매지닝

OpenCiv3: Open-source, cross-platform reimagining of Civilization III

OpenCiv3는 Godot 엔진과 C#을 사용하여 최신 기능으로 Civilization III를 재구축하는 오픈 소스 커뮤니티 주도 프로젝트입니다. 이 프로젝트는 현대 플레이어를 위해 제한을 제거하고, 문제를 수정하며, 모딩 지원을 개선함으로써 원본 게임을 향상시키는 것을 목표로 합니다. 이 프로젝트는 현재 초기 프리알파 단계이지만, 독립 실행형 모드 기능을 갖춘 미리보기 버전을 출시했습니다.

940|295|by klaussilveira|2026년 2월 6일|openciv3.org|

저자는 AI가 프로그래밍 기술에 미치는 심오한 영향에 대해 성찰하며, 전통적인 코딩 방식에 대한 애도의 감정을 표현합니다. AI 도구의 능력이 점점 더 향상됨에 따라 프로그래머의 역할이 바뀌고 있으며, 저자는 직접 코딩하고 디버깅하는 과정에서 오는 만족감의 잠재적 상실을 안타까워합니다. 이러한 기술적 변화의 불가피성을 인정하면서도, 코딩이 순전히 인간의 노력으로 이루어졌던 시대의 종말을 함께 애도하자고 제안합니다.

557|681|by ColinWright|2026년 2월 7일|nolanlawson.com|

SectorC: 512바이트 C 컴파일러 (2023)

SectorC: A C Compiler in 512 bytes (2023)

SectorC는 x86-16 어셈블리로 작성되었으며 512바이트 부트 섹터 안에 완벽하게 들어가는 놀라운 C 컴파일러입니다. 흥미로운 프로그램을 작성하기에 충분한 C의 부분 집합을 지원하여 역사상 가장 작은 C 컴파일러일 가능성이 높습니다. 개발 과정에서는 공간으로 구분된 "메가 토큰"과 `atoi()`를 나쁜 해시 함수로 사용하는 것과 같은 혁신적인 기술을 사용하여 극심한 크기 제약을 극복했으며, 궁극적으로 극도로 제한된 공간 내에서 기능적인 C 컴파일러를 구현했습니다.

347|72|by valyala|2026년 2월 7일|xorvoid.com|

저자는 코드를 수동으로 작성하는 것이 더 느리지만, 더 깊은 문제 해결과 정확성 검증을 가능하게 하기 때문에 더 큰 즐거움과 효율성을 느낀다고 말합니다. AI 코드 생성, 즉 '바이브 코딩'에 너무 의존하는 것은 변화에 대한 수동적인 수용, 문제 영역 이해력 상실, 그리고 궁극적으로 진정한 사고를 방해하고 우울증을 유발할 수 있는 도파민 주도 주기로 이어집니다.

296|219|by lazyfolder|2026년 2월 8일|abhinavomprakash.com|

저자는 신뢰성, 이식성, 단순성을 우선시하며 비전통적인 선택으로 솔로 게임 프로젝트를 전적으로 '바닐라' C로 작성하는 이유를 설명합니다. C의 위험성을 인정하면서도, 그 단순성, 속도, 광범위한 플랫폼 지원이 비교할 수 없다고 말합니다. C++ , C#, Java와 같은 더 복잡한 언어와 비교하고, Go와 Haxe가 자신의 특정 요구에 이상적이지 않은 이유를 논의하며, 결국 C가 자신의 게임 개발 워크플로우에 가장 적합하다고 결론 내립니다.

238|252|by valyala|2026년 2월 7일|jonathanwhiting.com|

작성자는 AI 개발이 정체되어 진정한 혁신을 저해하고 품질 저하로 이어지는 "그저 그런" 소프트웨어를 초래할 수 있다는 두려움을 표현합니다. 그들은 사용자들이 불완전한 AI 생성 제품에 안주하게 될까 봐, 그리고 진정으로 훌륭한 소프트웨어를 만드는 데 대한 동기가 줄어들어 쉽게 생산되는 평범한 애플리케이션이 지배하는 미래로 이어질까 봐 걱정합니다. 이러한 소프트웨어의 "테무화"는 단순한 상품화보다 더 해롭다고 간주됩니다.

219|205|by Ezhik|2026년 2월 8일|ezhik.jp|

LLM을 새로운 고수준 언어로

LLMs as the new high level language

이 글은 대규모 언어 모델(LLM)과 그 에이전트들이 어셈블리에서 벗어난 상위 언어처럼 새로운 상위 프로그래밍 언어가 되고 있다고 제안합니다. 자율적으로 작업하는 LLM 에이전트가 개발자 생산성을 크게 향상시킬 수 있다고 주장합니다. 코드 품질과 이해 가능성과 같은 잠재적 과제를 인정하면서도, LLM이 명세와 시나리오가 에이전트 워크플로우를 주도하는 비대화면 개발의 새로운 패러다임을 가능하게 하여 웹 및 소프트웨어 개발을 재정의할 수 있다고 제안합니다.

168|324|by swah|2026년 2월 3일|federicopereiro.com|

Apple Silicon Mac의 인상적인 성능은 종종 성능 코어 때문이라고 생각하지만, 효율성 코어는 백그라운드 작업을 처리하는 데 중요한 역할을 하여 P 코어가 사용자 애플리케이션을 위해 자유롭게 유지되도록 합니다. ARM의 big.LITTLE을 현대적으로 구현한 이 아키텍처는 서비스 품질(QoS)을 사용하여 스레드를 지능적으로 할당합니다. QoS는 포그라운드 작업을 P 코어(때로는 E 코어)에 우선적으로 할당하는 동시에 백그라운드 작업을 E 코어로 제한하여 사용자 경험과 배터리 수명에 영향을 미치지 않도록 하며, 이는 이전 Intel Mac에 비해 상당한 개선입니다.

152|166|by ingve|2026년 2월 8일|eclecticlight.co|

Show HN: 스타트업을 판매하는 데 4년이 걸렸습니다. 그에 관한 책을 썼습니다.

Show HN: It took 4 years to sell my startup. I wrote a book about it

저자는 스타트업을 매각하는 4년간의 여정을 회고하며, 인수 과정에서 겪었던 실수와 어려움을 상세히 담은 책을 출간했습니다. "The Toughest Sell A Founder's Guide to Startup Exits"라는 제목의 이 책은 초기 문의부터 최종 협상까지 모든 과정을 다루며, 비슷한 매각을 경험하는 다른 창업자들을 위한 가이드 역할을 목표로 합니다.

115|19|by zhyan7109|2026년 2월 4일|derekyan.com|

OpenClaw가 내 인생을 바꾸고 있다

OpenClaw Is Changing My Life

작성자는 OpenClaw를 코드를 실행하는 역할에서 벗어나 "슈퍼 매니저"가 될 수 있게 해주는 혁신적인 AI 에이전트라고 설명합니다. 이전 도구와 달리 OpenClaw는 채팅을 통해 개발부터 배포까지 전체 프로젝트를 독립적으로 처리할 수 있어, 작성자가 더 높은 수준의 제품 디자인 및 계획에 집중할 수 있게 합니다. 이러한 변화는 이전에는 도달할 수 없었던 기업가적 꿈을 실현 가능하게 만들었습니다.

98|181|by novoreorx|2026년 2월 8일|reorx.com|

오픈 소스 애플리케이션 아키텍처 (1권) Berkeley DB

The Architecture of Open Source Applications (Volume 1) Berkeley DB

이 글은 오픈 소스 데이터 관리 라이브러리인 Berkeley DB의 아키텍처를 자세히 설명합니다. 설계 원칙, 20년에 걸친 발전 과정, 제작자의 철학을 논의하며, C로 작성되었음에도 불구하고 모듈화, 잘 정의된 API의 장점, 객체 지향적 접근 방식을 강조합니다. 또한 초기 설계와 이후 버전을 비교하며 복제 및 SQL 지원과 같은 기능이 핵심 원칙을 유지하면서 어떻게 통합되었는지 보여줍니다.

77|10|by grep_it|2026년 2월 2일|aosabook.org|

RFC 3092 – "Foo"의 어원 (2001)

RFC 3092 – Etymology of "Foo" (2001)

이 RFC 문서는 기술 문서, 특히 RFC에서 명확한 정의 없이 자주 사용되는 메타 신택틱 변수 'foo', 'bar', 'foobar'의 어원을 탐구합니다. 이는 20세기 초반 만화, 군대 속어(FUBAR), 심지어 고대 중국 조각상까지 그 기원을 추적하며 컴퓨터 과학에서의 광범위한 채택을 설명합니다.

65|12|by ipnon|2026년 2월 8일|datatracker.ietf.org|

아타리 2600용 레이더스: 잃어버린 성궤 리버스 엔지니어링

Reverse Engineering Raiders of the Lost Ark for the Atari 2600

이 저장소는 아타리 2600 게임 "레이더스: 잃어버린 성궤"의 완전한 리버스 엔지니어링 및 주석이 달린 소스 코드를 제공합니다. 이 프로젝트는 2뱅크 ROM 구조, 뱅크 스위칭 기술, 그리고 게임 로직, 그래픽, 입력 처리를 제어하는 복잡한 프레임 루프를 포함한 게임의 아키텍처를 상세히 설명합니다.

61|2|by pacod|2026년 2월 8일|github.com|

Vouch

Vouch

Vouch는 AI 도구로 가능해진 저품질 기여를 막기 위해 설계된 실험적인 프로젝트 신뢰 관리 시스템입니다. 이를 통해 프로젝트는 사용자를 명시적으로 보증하거나 거부하여 서로 다른 프로젝트 간에 공유될 수 있는 신뢰 네트워크를 구축할 수 있습니다. 이 시스템은 구성 가능하며 GitHub 액션과 CLI를 통해 GitHub와 통합되며, 신뢰 목록을 관리하기 위한 간단한 파일 형식을 사용합니다.

49|12|by dboon|2026년 2월 8일|github.com|

게임보이 컬러에 실시간 3D 셰이더를 적용했습니다

I put a real-time 3D shader on the Game Boy Color

이 프로젝트는 게임보이 컬러에 구현된 실시간 3D 셰이더를 보여줍니다. 노멀 맵, 구면 좌표, 사용자 정의 수학 파이프라인을 활용하여 게임보이의 제한된 처리 능력과 곱셈 명령어 부재를 극복합니다. 이 시스템은 로그 및 조회 테이블을 사용하여 계산을 수행하며, 원본 하드웨어의 제약 조건 내에서 기능적인 3D 렌더링 효과를 달성합니다.

30|0|by adunk|2026년 2월 8일|blog.otterstack.com|

콜라코프스키 수열

Kolakoski Sequence

콜라코프스키 수열은 자신의 런-렝스 인코딩을 설명하는 {1,2} 기호의 무한 수열입니다. 수열의 각 항은 동일한 기호의 다음 런 길이를 나타내며, 기호는 1과 2 사이에서 번갈아 나타납니다. 이는 자기 생성적이고 프랙탈과 같은 수열로, 재귀 및 밀도와 같은 흥미로운 수학적 속성을 가지고 있으며 여전히 연구 중입니다.

26|9|by surprisetalk|2026년 2월 2일|en.wikipedia.org|

1997년처럼 Quake를 컴파일해 봅시다

Let's compile Quake like it's 1997

이 글은 게임 Quake의 32비트 Windows 바이너리를 컴파일하는 1997년 개발 경험을 재현하는 과정을 상세히 설명합니다. Windows NT 4.0 또는 Windows 98SE가 설치된 가상 머신을 설정하고 Visual C++ 6을 설치하는 과정을 안내합니다. 이 과정에는 어셈블리 파일을 처리하고 오래된 개발 도구와의 호환성 문제를 극복하기 위한 특정 단계가 포함되어 있으며, 초기 게임 개발 관행에 대한 향수를 불러일으킵니다.

16|5|by birdculture|2026년 2월 8일|fabiensanglard.net|

Lean4로 PBS Kids의 형식 검증

Formally Verifying PBS Kids with Lean4

이 게시물은 형식 검증 언어인 Lean4를 사용하여 PBS Kids의 Cyberchase 에피소드를 형식적으로 검증한 내용을 상세히 설명합니다. 저자는 원리로부터 수학적 원리를 도출하는 쇼의 초점에 영감을 받아, 이를 엄격한 검증이 필요한 소프트웨어 공학에 적용합니다. 이 글은 Lean에서 Nim의 변형인 에피소드의 게임을 모델링하고, 함수의 정의 방법, 적에 대한 비결정적 선택 처리 방법, Lean의 증명 전술을 사용하여 재귀 함수의 종료 증명을 보여줍니다. Lean이 수학적 사실을 표현하고 기본 공리까지 코드 동작을 검증하는 데 얼마나 강력한지 강조합니다.

8|0|by shadaj|2026년 2월 2일|shadaj.me|

Bun v1.3.9

Bun v1.3.9

Bun v1.3.9은 상당한 성능 향상과 새로운 기능을 도입합니다. 주요 업데이트에는 더 나은 출력 라벨링을 갖춘 향상된 동시 및 순차 스크립트 실행 기능, net.Server를 통한 올바른 HTTP/2 연결 업그레이드, 자동 모의 복원을 위한 Symbol.dispose 지원이 포함됩니다. 또한 NO_PROXY 처리 개선, --cpu-prof-interval 플래그 추가, --compile에서 ESM 바이트코드 지원, ARMv8.0 aarch64 CPU 충돌 수정 등이 이루어졌습니다. Markdown 렌더링, AbortSignal.abort(), JavaScriptCore의 RegExp 처리, 다양한 문자열 및 Set/Map 작업에서도 추가 최적화가 이루어졌습니다. Node.js 호환성 및 Web API 수정도 포함되어 있습니다.

4|0|by tosh|2026년 2월 8일|bun.com|