Lobsters · 최신 글

전체 출처

PS5의 RTMP 스트림을 가로채기

Lobsters

PS5 방송 기능은 Twitch나 YouTube로만 송출하지만, DNS 응답을 바꾸면 스트림을 로컬 Mac으로 보낼 수 있습니다. 글쓴이는 dnsmasq와 nginx-rtmp를 구성해 PS5의 1080p60 영상을 받아 mpv로 재생하고 Discord에서 공유합니다.

약국 십자 전광판으로 릭롤하기

Lobsters

프랑스 약국의 LED 십자 전광판을 개조해 영상을 재생한 프로젝트입니다. 영상을 초당 10프레임으로 추출하고 24×24 단색 이미지로 변환한 뒤 C++ 라이브러리로 전광판에 출력합니다.

AI를 넣지 않는 것도 이제 기능입니다

Lobsters

LibreOffice는 사용자 통제, 문서 데이터 보호, 제공업체 독립성, ODF 호환성 등을 충족하는 AI 통합이 아직 없다고 밝혔습니다. 요건을 만족하는 방안이 나올 때까지 기본 설치에는 AI를 넣지 않고, 원하는 사용자는 확장 기능으로 이용하도록 합니다.

전문가의 별표 주의사항

Lobsters

초보자에게 답할 때 드물거나 고급인 선택지까지 덧붙이면, 정작 질문의 초점이 흐려질 수 있습니다. 초보자의 배경과 목적을 먼저 확인하고, 이해하기 쉬운 말로 필요한 답에 집중하라고 조언합니다.

전문성의 착각

Lobsters

AI 전문가의 지식이 다른 분야의 재난 예측까지 뒷받침하지는 않는다고 주장합니다. 방사선과 의사에 관한 제프리 힌턴의 과거 예측과 RAND의 AI 위험 분석을 들어, 실제 위험 경로를 판단하려면 해당 분야 전문가를 살펴야 한다고 말합니다.

p5.js로 GPU 프로그래밍 가르치기 — 컴퓨트 셰이더까지

Lobsters

p5.js의 셰이더 시스템 p5.strands가 컴퓨트 셰이더까지 확장됩니다. 익숙한 JavaScript 문법으로 픽셀 필터와 정점 변형부터 GPU 병렬 연산까지 단계적으로 익히며, 글에서는 WebGPU로 보이드(boids) 1만 개를 실행한 사례도 소개합니다.

Go 코드를 GitHub에 종속시키지 마세요

Lobsters

Go 패키지 경로에 GitHub 같은 호스팅 주소를 직접 쓰면 저장소 이전 때 import 경로도 바꿔야 합니다. 글쓴이는 자체 도메인과 Go 메타 태그를 사용해 경로를 고정하고, 뒤에서 연결할 Git 호스팅 서비스를 바꾸는 방법을 소개합니다.

LuaRocks 보안 사고: LuaJIT 바이트코드로 서버 원격 코드 실행

Lobsters

LuaRocks.org가 LuaJIT 바이트코드를 일반 Lua 소스처럼 불러오는 취약점으로 원격 코드 실행 공격을 받았습니다. 운영자는 서버를 교체하고 자격 증명을 폐기했으며, 기존 패키지 변조 흔적은 찾지 못했다고 밝혔습니다. 이용자는 API 키를 재발급하고 비밀번호와 2단계 인증을 다시 설정해야 합니다.

내 세상을 바꾼 열 줄의 코드

Lobsters

개발자가 직접 쓰거나 자주 복사하고, 웃거나 놀랐던 열 가지 코드와 짧은 스크립트를 돌아봅니다. Hello World를 처음 입력한 순간부터 6502 자기 수정 코드, CSS만으로 만든 시까지, 코드가 컴퓨터의 가능성을 보여준 경험을 엮습니다.

“사용자를 돌볼 책임이라는 개념이 없었습니다”

Lobsters

Vim의 영구 실행 취소(Persistent Undo)는 파일을 닫거나 컴퓨터를 재시작한 뒤에도 실행 취소 기록을 보존합니다. 글은 NeoVim과의 호환성 문제를 계기로 소프트웨어가 사용자 작업물을 안전하게 다뤄야 한다는 원칙을 짚으며, 댓글에서는 실제 데이터 손실 여부와 설정 차이를 두고 반론이 나옵니다.

Linode에 Guix 이미지 배포하기

Lobsters

Guix Cookbook의 Debian 이미지 변환 방식 대신, Guix 시스템 이미지를 직접 만들어 Linode에 올리는 절차를 설명합니다. 가상 디스크와 부팅 설정, 파일 시스템 확장, 네트워크·SSH 구성을 맞추고 `guix deploy`로 운영체제를 관리합니다.

Valve, 저지연 스트리밍용 Pyrowave 코덱 베타 공개

Lobsters

Valve가 Steam Remote Play 베타에 저지연 비디오 코덱 Pyrowave를 추가했습니다. 다른 스트리밍 코덱보다 대역폭을 5~10배 쓰는 대신, Vulkan 기반으로 HDR과 YUV 4:4:4를 지원하며 기가비트급 LAN 환경을 겨냥합니다.

Rust로 살펴보는 ‘검증하지 말고 파싱하라’

Lobsters

‘검증하지 말고 파싱하라’는 원칙을 Rust의 타입으로 설명합니다. 비어 있지 않은 컬렉션, 절대 경로, 0이 아닌 정수처럼 조건을 타입에 담으면 이후 코드에서 같은 검사를 되풀이하지 않아도 됩니다.

이것이 현대적인 웹사이트입니다

Lobsters

이 글은 블로그·문서·홍보 페이지에 프레임워크와 대규모 도구 체인을 얹기보다 HTML과 CSS의 기본 기능부터 쓰자고 주장합니다. 시맨틱 태그, 메타데이터, 리소스 힌트, 반응형 이미지 등 브라우저가 이미 제공하는 기능을 사례로 들며, 필요한 만큼만 도구를 더하자고 권합니다.

JavaScript 말장난: 태그드 템플릿 리터럴

Lobsters

태그드 템플릿 리터럴의 보간 문법 `${{ url }}`이 Mustache 템플릿의 `{{ url }}`처럼 보이는 점을 활용한 아이디어를 소개합니다. Helicone SDK는 태그 함수로 프롬프트의 변수 이름과 값을 기록해 관측 도구에서 분석할 수 있게 합니다.

if 조건문에는 부작용을 넣지 마세요

Lobsters

if 조건문은 조건을 검사하는 데 쓰고, 상태를 바꾸는 호출은 먼저 별도 문장으로 실행하자는 제안입니다. 동작과 검사 과정을 분리하면 반환값의 뜻이 분명해지고, 짧게 훑어볼 때도 중요한 호출을 놓치기 어렵습니다.

Steam Link에 NixOS 올리기

Lobsters

Valve 서명 커널만 부팅하는 Steam Link에서 기존 커널에 kexec 기능을 모듈로 추가해 NixOS 커널로 넘기는 방법을 설명합니다. 오래된 ARM 커널을 최신 GCC로 빌드하고 NixOS 이미지를 2.3GB에서 1.2GB로 줄인 과정과 디버깅 방법도 공개합니다.

Go 동시성 한눈에 정리하기

Lobsters

Go 동시성의 주요 개념을 실행 가능한 예제로 정리한 미니북입니다. 고루틴과 채널부터 동기화, 테스트, 스케줄링, 진단 도구까지 빠르게 훑으며, 데이터 경쟁과 경쟁 조건의 차이도 설명합니다.

서로 돕기를 멈추면 우리는 어떤 존재가 될까요?

Lobsters

Stack Overflow의 도움으로 힘든 시기를 버틴 한 개발자의 이야기를 통해, 온라인 공동체가 답변뿐 아니라 사람 사이의 연결과 소속감을 준다고 말합니다. LLM이 답을 대신하더라도 사람의 관심과 도움까지 대신하지는 못한다는 문제를 제기합니다.