PS5의 RTMP 스트림을 가로채기
PS5 방송 기능은 Twitch나 YouTube로만 송출하지만, DNS 응답을 바꾸면 스트림을 로컬 Mac으로 보낼 수 있습니다. 글쓴이는 dnsmasq와 nginx-rtmp를 구성해 PS5의 1080p60 영상을 받아 mpv로 재생하고 Discord에서 공유합니다.
PS5 방송 기능은 Twitch나 YouTube로만 송출하지만, DNS 응답을 바꾸면 스트림을 로컬 Mac으로 보낼 수 있습니다. 글쓴이는 dnsmasq와 nginx-rtmp를 구성해 PS5의 1080p60 영상을 받아 mpv로 재생하고 Discord에서 공유합니다.
프랑스 약국의 LED 십자 전광판을 개조해 영상을 재생한 프로젝트입니다. 영상을 초당 10프레임으로 추출하고 24×24 단색 이미지로 변환한 뒤 C++ 라이브러리로 전광판에 출력합니다.
LibreOffice는 사용자 통제, 문서 데이터 보호, 제공업체 독립성, ODF 호환성 등을 충족하는 AI 통합이 아직 없다고 밝혔습니다. 요건을 만족하는 방안이 나올 때까지 기본 설치에는 AI를 넣지 않고, 원하는 사용자는 확장 기능으로 이용하도록 합니다.
초보자에게 답할 때 드물거나 고급인 선택지까지 덧붙이면, 정작 질문의 초점이 흐려질 수 있습니다. 초보자의 배경과 목적을 먼저 확인하고, 이해하기 쉬운 말로 필요한 답에 집중하라고 조언합니다.
AI 전문가의 지식이 다른 분야의 재난 예측까지 뒷받침하지는 않는다고 주장합니다. 방사선과 의사에 관한 제프리 힌턴의 과거 예측과 RAND의 AI 위험 분석을 들어, 실제 위험 경로를 판단하려면 해당 분야 전문가를 살펴야 한다고 말합니다.
Rockbox를 구동하는 iPod Classic에서 작동하지 않던 이어폰 리모컨을 되살리기 위해, 작성자는 문서가 없는 Mikey 칩의 레지스터를 직접 조사했습니다. 버튼 이벤트를 해독해 세 버튼을 지원하는 드라이버를 만들었으며, 현재 Rockbox Gerrit에서 검토 중입니다.
p5.js의 셰이더 시스템 p5.strands가 컴퓨트 셰이더까지 확장됩니다. 익숙한 JavaScript 문법으로 픽셀 필터와 정점 변형부터 GPU 병렬 연산까지 단계적으로 익히며, 글에서는 WebGPU로 보이드(boids) 1만 개를 실행한 사례도 소개합니다.
Go 패키지 경로에 GitHub 같은 호스팅 주소를 직접 쓰면 저장소 이전 때 import 경로도 바꿔야 합니다. 글쓴이는 자체 도메인과 Go 메타 태그를 사용해 경로를 고정하고, 뒤에서 연결할 Git 호스팅 서비스를 바꾸는 방법을 소개합니다.
LuaRocks.org가 LuaJIT 바이트코드를 일반 Lua 소스처럼 불러오는 취약점으로 원격 코드 실행 공격을 받았습니다. 운영자는 서버를 교체하고 자격 증명을 폐기했으며, 기존 패키지 변조 흔적은 찾지 못했다고 밝혔습니다. 이용자는 API 키를 재발급하고 비밀번호와 2단계 인증을 다시 설정해야 합니다.
개발자가 직접 쓰거나 자주 복사하고, 웃거나 놀랐던 열 가지 코드와 짧은 스크립트를 돌아봅니다. Hello World를 처음 입력한 순간부터 6502 자기 수정 코드, CSS만으로 만든 시까지, 코드가 컴퓨터의 가능성을 보여준 경험을 엮습니다.
Vim의 영구 실행 취소(Persistent Undo)는 파일을 닫거나 컴퓨터를 재시작한 뒤에도 실행 취소 기록을 보존합니다. 글은 NeoVim과의 호환성 문제를 계기로 소프트웨어가 사용자 작업물을 안전하게 다뤄야 한다는 원칙을 짚으며, 댓글에서는 실제 데이터 손실 여부와 설정 차이를 두고 반론이 나옵니다.
Guix Cookbook의 Debian 이미지 변환 방식 대신, Guix 시스템 이미지를 직접 만들어 Linode에 올리는 절차를 설명합니다. 가상 디스크와 부팅 설정, 파일 시스템 확장, 네트워크·SSH 구성을 맞추고 `guix deploy`로 운영체제를 관리합니다.
Valve가 Steam Remote Play 베타에 저지연 비디오 코덱 Pyrowave를 추가했습니다. 다른 스트리밍 코덱보다 대역폭을 5~10배 쓰는 대신, Vulkan 기반으로 HDR과 YUV 4:4:4를 지원하며 기가비트급 LAN 환경을 겨냥합니다.
‘검증하지 말고 파싱하라’는 원칙을 Rust의 타입으로 설명합니다. 비어 있지 않은 컬렉션, 절대 경로, 0이 아닌 정수처럼 조건을 타입에 담으면 이후 코드에서 같은 검사를 되풀이하지 않아도 됩니다.
이 글은 블로그·문서·홍보 페이지에 프레임워크와 대규모 도구 체인을 얹기보다 HTML과 CSS의 기본 기능부터 쓰자고 주장합니다. 시맨틱 태그, 메타데이터, 리소스 힌트, 반응형 이미지 등 브라우저가 이미 제공하는 기능을 사례로 들며, 필요한 만큼만 도구를 더하자고 권합니다.
태그드 템플릿 리터럴의 보간 문법 `${{ url }}`이 Mustache 템플릿의 `{{ url }}`처럼 보이는 점을 활용한 아이디어를 소개합니다. Helicone SDK는 태그 함수로 프롬프트의 변수 이름과 값을 기록해 관측 도구에서 분석할 수 있게 합니다.
if 조건문은 조건을 검사하는 데 쓰고, 상태를 바꾸는 호출은 먼저 별도 문장으로 실행하자는 제안입니다. 동작과 검사 과정을 분리하면 반환값의 뜻이 분명해지고, 짧게 훑어볼 때도 중요한 호출을 놓치기 어렵습니다.
Valve 서명 커널만 부팅하는 Steam Link에서 기존 커널에 kexec 기능을 모듈로 추가해 NixOS 커널로 넘기는 방법을 설명합니다. 오래된 ARM 커널을 최신 GCC로 빌드하고 NixOS 이미지를 2.3GB에서 1.2GB로 줄인 과정과 디버깅 방법도 공개합니다.
Go 동시성의 주요 개념을 실행 가능한 예제로 정리한 미니북입니다. 고루틴과 채널부터 동기화, 테스트, 스케줄링, 진단 도구까지 빠르게 훑으며, 데이터 경쟁과 경쟁 조건의 차이도 설명합니다.
Stack Overflow의 도움으로 힘든 시기를 버틴 한 개발자의 이야기를 통해, 온라인 공동체가 답변뿐 아니라 사람 사이의 연결과 소속감을 준다고 말합니다. LLM이 답을 대신하더라도 사람의 관심과 도움까지 대신하지는 못한다는 문제를 제기합니다.