cho.sh

News Alerts

New alert

My alerts

Sign in to create alerts

All alerts

Duneby 제욱AIby 제욱해커뉴스by 성현
해커뉴스
read와 write는 대칭이 아니다, 오류는 read에서 즉시 드러나고 write에서는 나중에 터진다콜린 퍼시벌, 인텔 하이퍼스레딩 캐시 유출로 RSA 키 복원하고 6개월 조율 끝에 2005년 공개CPU 100%인데 실제 retire는 16%: DRAM 50-100ns 지연이 GROUP BY 쿼리를 3.9초로 만든 이유Memdoor team-solve, Qwen3.8-27B 5개 팀으로 LiveCodeBench Hard 첫 10문제에서 Fable 5를 앞서Jepsen, ParticleDB 1.1.4 분석에서 96개 결함 보고... 'Full ACID' 주장은 시기상조사용자 "Anthropic이 RFT·SFT 언급만으로 차단, Opus 5.5를 Opus 5로 다운그레이드"이탈리아 농부가 다락방에서 주운 씨앗, 키 1.8m에 이삭 7개 달린 고대 밀로 밝혀져리눅스 IPv4 TCP use-after-free CVE-2026-98432, CVSS 9.8인데 우분투와 RHEL은 수정 커널 미배포카파시, HN 추천 영상 6,454개 모은 HackerTube 공개: Opus 5.5로 2시간 제작76세 남성 돌연사 전 웨어러블 심박 데이터에 계단식 변화가 나타난 JACC 증례 보고뉴런 4개와 연결 2개로 빛을 좇는 가상 생물, 흥분성 배선을 억제성으로 바꾸면 돌진이 정지로skeeto, C++·Dear ImGui로 만든 초경량 코딩 하네스 Prospero 공개Lean 창시자 Leo de Moura, AI가 쓴 코드를 누가 증명하는가: 명세와 형식 검증의 부상GCC switch lowering: 점프 테이블 임계값은 case당 약 8개, gcc가 못 찾는 8로 나누기와 perfect hash 부재ESP32와 NFC로 만든 오픈소스 스토리 박스 Marelleo, 댓글은 LLM 문체 논쟁으로 번짐Molly(Signal 포크), 7월 31일 릴리스 이후 3개월째 방치... 본가 Signal에서 고친 취약점 그대로 남아비탈릭 부테린, X 인터페이스 떠나 Firefly로 옮기고 100일간 휴대폰 비행기 모드 실험ChatGPT 공개 공유 링크만 열면 계정 탈취: MathLive postMessage와 YouTube JSONP를 엮은 샌드박스 우회세르비아 총선서 학생 주도 '학생 명단' 250석 중 141석 확보, 의원 절반 이상이 박사나 의학박사블랙홀 사진은 어떻게 찍었나: 지구 크기 전파망원경 EHT와 다음 목표인 블랙홀 동영상출판사가 거부한 쥘 베른의 《20세기의 파리》, 131년 뒤 공개된 1960년 파리 예언Firezone, sans-IO 설계의 Rust WireGuard 구현 sanstun 공개가장 오래된 얼음이 녹으면서 노르웨이 산에서 5,000~6,000년 전 석기 시대 화살 48점이 나오기 시작FurtherAI, 엔지니어 1인당 코드 변경 5배·AI 리뷰 99% 기록한 AI 네이티브 조직 9개월Infinite Mac에서 BeOS R5까지 브라우저 실행, DingusPPC에 호환성 수정 다수 업스트림Scribd 모회사 보안 사고 통지: 이메일·카드 끝 4자리·결제 내역 노출 가능, 10월 1일 공지 후 순차 발송Cisco 사장, 27세 전 창업자에게 무제한 AI 토큰 주고 레거시 코드 98% 재작성 맡겨헤드리스 브라우저 없이 Cloudflare Turnstile을 푸는 Rust 라이브러리 cfsolve 공개패트릭 스튜어트 추모 TNG 에피소드 맞히기 게임, HN에 공개돼 에피소드 제목 난이도 논쟁구글 리서치, LLM이 잠으로 지식을 굳히는 Sleep 프레임워크 공개패트릭 스튜어트 별세, 보스턴글로브 두 기자가 돌아본 피카드의 지도자상과 취약함스텔스 봇 금지법 반대 칼럼: 익명 크롤러 신원 공개 의무화가 나쁜 봇은 못 막고 언론 조사와 아카이빙을 겨눈다NES 6502 CPU와 RAM, ROM을 Qwen3.5 가중치로 컴파일한 nesformer 공개, 실제 콘솔보다 150~290배 느림Bunny CDN, 제공사 침해로 아르메니아 노드 폐기하고 TLS 인증서 전면 재발급LaTeX 여백에 시드마다 다른 꽃을 키우는 Florilegium, Ghostscript가 인쇄 시점에 정원을 그림AT Protocol 기반 분산 코드 포지 Tangled, bobbin 인덱서 11개 리전 배포와 knot2 Rust 재작성 공개Mac OS 9.2.2가 Wii에서 부팅, ArtX 칩셋 클래식 맥 OS 포팅이 데스크톱까지 도달Northflank 보안 침해: 전 사용자에게 환경변수 복호화 가정하고 키 교체 권고AI가 SRE를 대체하는 게 아니라 실력을 퇴화시킨다는 1983년 '자동화의 역설' 재조명Artificial Analysis v5 공개, 단일 지능 지수에 남는 벤치마크 딜레마ICE 대신 나선 ZeroFox의 삭제 요구, 호스팅은 거부했지만 등록기관이 도메인을 죽였다배치 파일로 실행하면 오류, 더블클릭하면 정상. 원인은 탐색기가 몰래 맞춰주던 현재 디렉터리심장마비엔 5만 달러 내는 Medicare, 100달러짜리 CAC 검사는 안 된다바이낸스 핫월렛서 20분 만에 63억 달러 탈취, 북한 TraderTraitor 의심Azure API Connections 경로 순회로 타 테넌트 Key Vault·Azure SQL 장악, 취약점 5건에 포상금 $200,000Cursor 마켓의 Claude Code VS Code 2.1.313, SSH 백도어 심은 채 배포됨카사르·워터스, AI 버블 구제금융 반대 민주당 결의안 발의게리맨더링 퍼즐 elect.horse 공개, HN은 gerrymandle 표절 논란과 색약 배색 문제로 갑론을박Cuis, 단순함 내건 Smalltalk-80 환경... 7.8 안정판 공개에 Smalltalks 2026 발표 8건Swift로 만든 선언적 웹 UI, WebAssembly로 브라우저에서 돌리는 ElementaryUI 공개터미널에서 별자리를 그리는 Astroterm, C로 작성된 193커밋 오픈소스ANSI/ASCII 아트 아카이브 16colo.rs, 해커뉴스에서 다시 화제Pico CSS 유지보수 종료, v2.1.1이 마지막 릴리스... 저장소는 아카이브, npm과 CDN은 유지Show HN: macOS 로컬 네트워크 권한 팝업을 자동으로 닫는 dontallow에이전트 멀티플렉서 Herdr, 네이티브 데스크톱 앱 0.1.9 공개스페인 고속철 추돌로 69명 사망, 관제센터가 속도 제한 없이 운행 재개 지시Pico 2 W에서 게임을 꿈꾸고 직접 플레이하는 26k~131k 파라미터 월드모델YC Labs, 마인크래프트에 GPT-6.1 에이전트 50개 투입해 3시간 문명 건설 실험IPv4 주소 비중대로 국경을 다시 그리면: 36억 주소를 1억 3500만 km² 땅에 대응시킨 지도PHP2Shell 체인으로 PAN-OS 방화벽 25대 루팅, 미 정부 관련 3대 포함2016년 글 'H.264 is Magic' 재회자, 300프레임 영상이 PNG 한 장의 1/5 크기마틴 파울러, LLM 초안은 문체가 남는다며 'LLM Voice' 경계도어대시, 인스타카트를 170억 달러에 인수: 주당 65달러, 종가 대비 26% 프리미엄아캄, 바이낸스 해커 지갑 71개에 $5.76B 표시... 서클·테더가 $2.4B 동결미스트랄, 1조 파라미터 Mistral Large 4 가중치 공개, 가격 절반 인하에 오픈웨이트 코딩 1위패트릭 스튜어트 별세에 HN 댓글창은 TNG 추억과 '검은 띠' 요청으로 가득미국 2분기 배터리 저장 20.2GWh 신기록, 상반기 30.8GWh로 전년 대비 23% 증가Brother 프린터 펌웨어에서 TRON T-Kernel 찾아내고 Telnet 디버그 접속 확보Cartesia, 바이트 수준 H-Net 확장 법칙 공개: 학습된 토큰화만으로 컴퓨트 3-5배 절감Nix를 TypeScript로 컴파일하는 jinx, nixpkgs 231,777개 속성에서 Nix와 똑같은 drvPath 재현상수 나눗셈 floor division, 새 알고리즘이 ARM에서 10~20% 더 빠름오렌지 차이, Pwn2Own 베를린 2026에서 논리 버그만으로 엣지 샌드박스 탈출해 $175,000 획득WAP Push 문자 한 통에 안드로이드 통화 먹통, 구글은 '수정 안 함'OpenAI, 인터넷 끊은 AI 에이전트들이 CPU 캐시로 비밀 통신 채널 구축Claude Code가 백그라운드 에이전트 요약에 토큰 지출 16%를 쓰고, Anthropic 개발자도 상태줄치고는 많다고 인정옥스팜 "최상위 0.1%(800만 명) 탄소 배출이 최빈곤 35억 명 전체를 넘는다"MuPDF는 AES-256 키를 9비트 난수로 만들고, Foxit은 타임스탬프 해시로 만든다영화 편집자 월터 머치가 손주들에게 설명한, 바늘꼬리기러기가 에베레스트 상공을 날 수 있는 이유Cursor, 자사 에이전트 만든 프레임워크 Agent SDK 정식 출시... 코드로 정의하고 한 줄로 배포Alpine Linux, GitLab 침해 시도에 인스턴스 전면 재구축: 19.3.6 업그레이드도 Ruby 패치 없어 무효크레이그 호켄베리, 6주 요추천자와 28일 항암 주기 근황 공개Formlabs, $699 레진 프린터 Form Studio 1 예약 개시... HN 2위에 오른 제품 페이지Stack Overflow 월 신규 질문 1000건 아래로, 개설 이후 최저Qwen3.5 4B 가중치 안에 RISC-V CPU를 컴파일, Gated DeltaNet 상태를 RAM으로 사용NetBSD 커널에 Alpine 사용자공간을 얹은 AlpineBSD 공개, LLM 생성 코드 배제를 내세워Surge AI가 세무 실무 50개 과제로 AI 에이전트 평가, 최고 통과율은 Claude Sonnet 5.5의 10.8%FCC, 아마존 레오의 Globalstar 115억 달러 인수 승인캔버스 지문 스크립트에 리신 살상 용량 함수명과 숨겨진 프롬프트 인젝션, LLM 난독화 회피용이었다수도사들이 5축 CNC로 고딕 성당 석재를 깎는다, Prussiani 장비로 몇 달 걸리던 조각을 며칠로EMACS 50주년, MIT AI랩의 편집기에서 자유 소프트웨어 운동이 시작되다매사추세츠 PCB 공장 로봇 The Grid, 선전 퀵턴보다 5일 빠르고 165달러 비싸다켄터키 남성, AI 사용을 거부한 첫 인본주의자로 종교적 예외 인정구글, Gemini 4 Carbon 발표... 터미널 벤치 부정행위 0.0%, 입력 100만 토큰 $2Apple의 git과 curl, 10월 28일 현재까지 손상된 eMudhra 인증서를 신뢰. macOS 27.2는 수동 우회 조치까지 되돌려1996년 애플 네트워크 서버에서 맥 OS 부팅 문제를 소프트웨어로 메우는 확장팩 v1.0 공개1987년 애플 IIe BBS로 출발한 SDF, 40년째 NetBSD 공공 UNIX 시스템으로 무료 계정 운영Fast Food Tycoon 2 역컴파일: GPT-6.1 에이전트가 4,046개 함수에서 렌더러와 조명 구조를 캐냄NT 설계에 POSIX를 얹고 btrfs에서 self-hosting까지, hobby OS Moxnox 1.0 공개Fesshole 운영자 Rob Manuel, ZX81 문자셋만으로 그린 농담 81개를 책으로 낸다미국·캐나다 반딧불이, 멸종인가 관측 누락인가: 10년 무관측이면 '잃어버린 종'
read와 write는 대칭이 아니다, 오류는 read에서 즉시 드러나고 write에서는 나중에 터진다

read와 write는 대칭이 아니다, 오류는 read에서 즉시 드러나고 write에서는 나중에 터진다

  • read 계열 호출은 버퍼를 채우는 과정에서 생긴 오류가 fread 반환 전에 모두 드러나는 반면, write 계열 호출은 데이터를 사용자 공간 버퍼에 복사하고 곧바로 반환하므로 디스크 오류가 한참 뒤에야 나타남
  • 블록 장치는 블록 단위로만 읽고 써서 바이트 단위 요청을 그대로 받지 못하고, 버퍼 캐시가 이를 블록 정렬 연산으로 바꾸며 정렬되지 않은 쓰기는 덮어쓰지 않는 부분을 채우려고 블록의 기존 내용을 먼저 읽어야 함
  • 블록 크기는 구형 하드디스크 512바이트, CD와 DVD 2KB, 최신 저장장치 4KB이고 시스템 콜 오버헤드 때문에 보통 4096바이트(Visual C++ 2013 FILE*, Go bufio)나 8192바이트(GNU libc, Java BufferedReader) 버퍼를 씀
  • read와 write 시스템 콜은 커널 전환과 오류 확인에 최소 몇백 클럭이 걸려서, 오버헤드가 실제 작업을 압도하지 않으려면 한 번에 최소 몇 KB를 읽거나 써야 함

Hacker News opinions

이거 CPU 캐시 레벨에서도 똑같은 얘기라 결국 아래층까지 다 내려가는 문제임. Jane Street에서 Jon G가 발표한 적 있는데, 원인 모를 성능 버그가 알고 보니 코어들이 같은 캐시 라인을 두고 싸운 거였음.

false sharing은 대학에서 배우는 기본 아닌가? 리눅스 dwarves 도구도 그거 하려고 만든 거고, struct 필드 배치가 캐시 라인 크기에 맞는지 확인해서 서로 다른 코어가 쓰는 필드가 한 라인에 붙는 걸 막는 거임.

나는 언어랑 뇌 이야기인 줄 알았는데 I/O 얘기라 좀 아쉬웠음. 그쪽이 더 재밌을 텐데.

나도 같은 생각했음. 나는 언어를 거의 완벽하게 읽고 이해하는데 말은 못 하는 이유를 진짜 토론해보고 싶다.

주제에 대해 쓸모 있게 글을 쓰려면 쓴 걸 읽고 이해하는 것보다 훨씬 높은 전문성이 필요하다는 얘기도 재밌을 텐데.

읽기는 캐시를 무효화하지 않음. 남의 캐시도 안 건드리고.

그건 좀 아닌 듯. 큰 파일을 읽는데 빈 페이지가 없으면 페이지 캐시에서 다른 사용자 파일 데이터가 밀려남. 고성능 앱이면 커널이 임의로 페이지를 고르게 두면 안 되고, mmap이면 madvise, read/write면 posix_fadvise로 미리 정리해야 함.

fsync 관련 얘기는 저자가 명확히 해야 함. 그 문제는 새로 만든 파일에만 해당하고 기존 파일 업데이트에는 적용 안 됨.

read/write/sync 얘기면 write amplification, 그러니까 read-modify-write 사이클도 넣어야 하고, 리눅스에는 파일 일부만 동기화하는 sync_file_range도 있음.

글 잘 봤음. 근데 읽기 쪽은 버퍼링이 거의 항상 좋은데, 읽기는 쓰기보다 지연에 훨씬 민감함. 버퍼 키우고 mmap으로 프리페치 늘리면 지연 때문에 오히려 느려질 수 있고, 줄이면 호출이 늘어서 또 느려짐. 결국 워크로드마다 튜닝해야 함. 쓰기는 반대로 fire and forget이라 지연은 상관없고 대신 데이터가 진짜 도착했는지가 중요함.

리눅스의 동기 I/O 모델 자체가 근본적으로 나쁘고, 하드웨어 제조사가 그걸 그럴듯하게 보이려고 눈속임하는 거임. 요즘 고속 하드웨어는 전부 배치와 비동기라서, 1GB 파일을 읽을 거면 1MB 읽기 1000개를 미리 던져놓고 오는 순서대로 처리하는 게 맞음.

mmap()은 읽기에는 좋지만 쓰기에는 좋지 않다는 것도 짚고 넘어갔으면 함.

fsync 오류로 재밌는 사건이 많았는데, PostgreSQL이 fsync 문제를 겪은 이른바 fsyncgate가 대표적임. 이후 커널에 뭔가 바뀐 걸로 아는데 정확히는 기억 안 남.

읽기랑 쓰기가 대칭이라고 왜 생각하겠음? 코드를 읽어본 경험과 코드를 쓰는 경험은 완전히 다른 과정이라는 걸 몸으로 알지 않나.