read: fail

우주 방사선에 의한 알람 지연

작가의 알람이 예정된 시간보다 12분 늦게 울렸습니다. 이유를 조사한 결과, 우주 방사선이 알람 시간의 11번째 비트를 뒤집어 약 17분 지연시켰을 가능성이 높다는 가설을 세웠습니다. 이로 인해 중요한 교훈을 얻었는데, 바로 여분의 알람을 설정하는 것이 중요하다는 것입니다.

CentOS Stream ISA 최적화 패키지, 인텔 제온 에메랄드 래피즈에서 뛰어난 성능 발휘

CentOS ISA SIG가 x86-64-v3 대상으로 ISA 최적화 빌드를 실험 중입니다. 이 최적화는 AVX/AVX2, BMI2, FMA, MOVBE 같은 새로운 명령어 지원을 요구합니다. 인텔 제온 플래티넘 8592+ 에메랄드 래피즈 서버에서 기본 ISA 패키지 대비 x86-64-v3 최적화 패키지의 성능 이점을 보여주는 벤치마크 결과가 공개되었습니다.

xz 오픈 소스 공격 타임라인

2021년 말, 'Jia Tan'이라는 이름을 사용하는 공격자가 xz 압축 라이브러리에 무해한 패치를 기여하기 시작해 결국 커밋 권한과 관리자 권한을 얻었습니다. 이후 2년 동안, Jia Tan은 OpenSSH sshd의 많은 Linux 시스템에서 의존하는 핵심 구성 요소인 liblzma에 미묘한 백도어를 조심스럽게 삽입했습니다. 2024년 3월 29일에 공개된 이 공격은 널리 사용되는 오픈 소스 소프트웨어에 대한 중대한 공급망 공격으로 기록되었습니다. 이 타임라인은 복잡하고 장기간에 걸친 공급망 공격에 대한 포괄적인 개요를 제공하며, 오픈 소스 소프트웨어 개발 및 배포에서 보안 관행과 경계의 필요성을 강조합니다.

에드 캣머의 삼자음 Esolang

C++ 기여자이자 열정적인 펠 러너였던 에드 캣머가 2023년 새해 전날 갑작스럽게 세상을 떠났습니다. 그의 기념식 후, 한 작가는 에드가 이전에 알려지지 않았던 esolangs.org 위키에서 활동한 적이 있다는 것을 발견했습니다. 에드가 개발한 삼자음 esolang, Triliteral은 아랍어와 히브리어의 삼자음 뿌리 체계에서 영감을 받았으며, 독특한 특징으로 gematria를 사용해 숫자를 인코딩하고 다양한 스크립트(라틴, 아랍, 히브리)로 언어를 인코딩할 수 있습니다.

일부 쿼리 최적화를 위한 스니프 테스트

이 문서는 몇 가지 일반적인 데이터베이스가 특정 쿼리 최적화에서 어떻게 수행하는지를 테스트하기 위해 만들어진 비현실적인 벤치마크에 대해 설명합니다. DuckDBCockroachDBEXISTS 서브쿼리를 세미조인으로 변환하는 최적화를 수행했으며, CockroachDB는 기본 키 컬럼에 대한 쿼리에서 DISTINCT를 제거할 수 있었습니다. 그러나 모든 데이터베이스가 공통 서브표현식 제거를 완전히 최적화하지는 못했습니다. 이는 종합적인 평가가 아니라 재미있는 실험입니다.

책 리뷰: 'Tidy First?' by Kent Beck

Kent Beck의 'Tidy First?'는 코드를 리팩토링하기 전에 할 수 있는 작고 논란의 여지가 없는 개선사항들, 즉 'tidyings'을 소개합니다. 하지만, 리뷰어는 책이 필요 이상의 세부사항을 다루면서도 중요한 정보는 빠뜨린다고 지적합니다. 또한, 제안된 'tidyings' 목록이 복잡한 리팩토링 도전을 해결하기에는 한정적이라고 느낍니다. 실용적인 팁과 고급 리팩토링 개념을 효과적으로 연결하지 못한다고 평가하며, 저자의 Substack을 구독하는 것이 더 가치 있을 수 있다고 조언합니다.

LiveView와 Svelte의 완벽한 조화

LiveView는 서버가 페이지를 렌더링하면서 상태를 유지하는 독특한 웹 애플리케이션 구축 방식을 제공합니다. LiveView와 Svelte를 결합하면, 프론트엔드와 백엔드 사이의 명확한 경계를 만들고, 복잡성 없이 풍부한 클라이언트 측 경험을 약속합니다. 이 접근 방식은 전통적인 SPA 아키텍처에 비해 풀스택 애플리케이션을 구축하는 데 있어 높은 생산성과 간소화된 방법을 제시합니다.

분산 파일 시스템 설계 선택 조사

분산 파일 시스템 설계에서 경로-아이노드 변환, 아이노드-데이터 변환, 그리고 중복성 및 조정에 대한 핵심 결정들을 살펴봅니다. 이 설계는 낮은 지연 시간, 쉬운 관리, 확장성을 제공하며, 일부 고급 기능을 희생하면서도 홈 디렉토리와 같은 워크로드에 적합합니다.

삼성을 해킹한 것 같아요?

작성자는 Zoomeye에서 무작위 서버를 탐색하던 중 삼성에 속한 취약한 Jenkins 서버를 발견했습니다. 이 서버를 통해 삼성의 GitHub Enterprise 인스턴스에 접근, 삼성의 클라우드 관련 저장소들에 대한 접근 권한을 얻었습니다. 저장소에는 다양한 삼성 클라우드 서비스를 위한 Ansible 모듈, 삼성의 AWS 인프라를 위한 Terraform 구성, 내부 도구의 소스 코드가 포함되어 있었습니다. 작성자는 더 민감한 데이터에는 접근하지 못했지만, 삼성의 백엔드 인프라와 기술 스택에 대한 독특한 통찰력을 얻었습니다. 삼성에 이 문제를 보고한 후, 삼성은 이 문제의 심각성을 '높음'으로 인정하고 보상금을 지급했습니다. 작성자는 이 사건에 대한 보다 심층적인 글을 발행할 계획입니다. 삼성의 클라우드 관련 저장소 접근기술 스택 통찰력이 흥미로운 주제입니다.

QR 코드에서 10이 64보다 낫다

QR 코드에서 데이터를 저장할 때, 10진수를 사용하는 것이 base64보다 훨씬 효율적입니다. 10진수 인코딩은 QR 코드가 더 많은 데이터를 저장하거나 스캔하기 쉽게 만들어줍니다. 예를 들어, 228자의 base64 인코딩 URL을 353자의 10진수 인코딩 URL로 바꿔도 더 작은 QR 코드에 들어갈 수 있어요!

비가 올 때만 Wi-Fi가 작동한다

어느 날, 저자의 아버지는 집 인터넷이 비가 올 때만 작동한다고 주장했습니다. 이는 마법 같은 생각처럼 들렸지만, 저자가 조사한 결과 이웃집 나무가 자라면서 Wi-Fi 신호를 가로막고 있었고, 비가 와서 나무 가지가 무거워져 비켜갈 때만 신호가 통과할 수 있었다는 사실을 발견했습니다. 802.11n 기술로 Wi-Fi 하드웨어를 업그레이드한 후, 비가 오지 않아도 인터넷이 안정적으로 작동하게 되었습니다. 이 이야기는 예상치 못한 주제에 대한 진지한 에세이를 발행하는 '4월 바보 클럽'의 일환입니다.

Intelli Python, AI 모델 협업을 그래프로 조율하는 방법

Intelli는 챗봇과 AI 에이전트 워크플로우를 생성할 수 있는 도구로, OpenAI, Gemini, Mistral과 같은 다양한 AI 모델과 데이터를 연결하는 통합 접근 계층을 제공합니다. pip을 통해 쉽게 설치할 수 있으며, 코드 변경 없이 여러 챗봇 제공업체 간 전환, 다양한 AI 모델을 활용한 작업 흐름 생성, 문서와의 챗봇 연결, 이미지 생성 등 다양한 기능을 지원합니다.

파이썬 리스트가 이상하게 곱해지는 이유: CPython 소스 코드 탐색

파이썬에서 [[]] * 4[[], [], [], []]를 생성하는 특이한 동작은 객체 참조 방식을 이해하면 설명됩니다. 모든 것이 객체이며 참조를 통해 접근되며, 리스트와 같은 시퀀스 타입에 * 연산자를 사용하면 원본 리스트의 참조를 복사하여 새 리스트를 생성합니다. 이는 CPython에서 리스트 내부의 객체 참조를 배열로 저장하고, * 연산자가 이 참조들을 복사함으로써 같은 객체를 가리키는 반복 요소들이 생기는 결과를 초래합니다.

슈퍼 닌텐도의 심장

슈퍼 닌텐도는 오디오 처리 장치(APU)CPU 및 그림 처리 장치(PPU)를 위한 두 가지 주요 클록 생성기를 갖추고 있습니다. 이 시스템은 게임 카트리지에 자체 강화 칩을 포함할 수 있게 하여, 예를 들어 StarFox의 SuperFX 칩 같은 독특한 기능을 가능하게 합니다. 슈퍼 닌텐도의 복잡한 클록 분배 시스템은 게임 경험을 풍부하게 만드는 중요한 역할을 합니다.

iBook G4에 SSD를 업그레이드했어요

작가는 올해의 #MARCHintosh 이벤트를 위해 iBook G4의 30GB 하드 드라이브를 256GB SSD로 교체하기로 결정했습니다. 이전에 G4 Cube의 하드 드라이브를 업그레이드한 것이 두 번째였죠. 업그레이드 과정에서 몇 가지 도전이 있었지만, 결과적으로 성능이 크게 향상되었어요. 흥미롭게도, 작가는 공식적으로 지원되지 않음에도 불구하고 iBook이 macOS 9를 부팅하려고 시도할 계획입니다.

LLaMA, 이제 CPU에서 더 빨라졌어요

LLaMA 프로젝트가 ARMv8.2+, Intel, AVX512 하드웨어에서 특히 라즈베리 파이 5인텔 앨더레이크에서 최대 10배, 5배까지 속도 향상을 보였어요. 이는 새로운 행렬 곱셈 커널 작업과 코어 최적화 덕분이에요. 이제 Mozilla AI Discord에서 커뮤니티와 소통할 수 있어요!

파이썬에서 빠르고 간결한 확률 필터

확률 필터는 데이터베이스를 직접 쿼리하는 것보다 더 작고 빠르며, 때때로 거짓 양성을 반환할 수 있지만, 집합 내 요소의 존재 여부를 신속하게 확인할 수 있습니다. 블룸 필터가 가장 잘 알려져 있지만, 이진 퓨즈 필터와 같은 더 작고 빠른 새로운 대안이 있습니다. pyxorfilter 모듈은 이를 구현하며, 특히 대규모 불변 집합에 적합한 Fuse8Fuse16을 제공합니다.

JavaScript에 '시그널' 추가 제안

새로운 '시그널' API 제안은 JavaScript에서 동적이고 반응적인 데이터를 모델링하는 방법을 제시합니다. 이는 '상태' 또는 '계산된' 값으로 구성되며, 의존성 변경 시 자동으로 재평가됩니다. 효율적인 캐싱메모이제이션을 통해 불필요한 재평가를 방지하며, 현재 TC39 프로세스의 초기 단계에 있습니다. 이 제안은 JavaScript 애플리케이션에서 반응적 데이터를 표준적이고 효율적으로 모델링하는 방법을 제공하는 것을 목표로 합니다.

이 TypeScript 타입이 내 꿈을 사로잡았다

Salto 엔지니어링 팀에 합류한 저자가 TypeScript를 배우면서 OneOf 타입을 발견했습니다. 이 타입은 상호 배타적인 속성을 표현하는데, AllowOnly, PickOmit, 인덱스 시그니처, 맵드 타입, 인덱스 접근 타입, 조건부 타입, 분배 조건부 타입 등 다양한 TypeScript 타입 기능을 탐구하며 이해를 깊게 했습니다.

Managarm: 2023년 말 업데이트

Managarm 프로젝트는 /sys/proc의 대폭 개선, netlink 지원 추가, WebKitGTK 및 Sway 추가 등을 포함한 주요 기능 업데이트를 발표했습니다. 또한, USB와 PCI 장치를 위한 sysfs 지원 구현, x86 아키텍처로 mlibc 포팅, 그리고 NETLINK_ROUTE 소켓 지원 등 새로운 커널, POSIX, 서버 기능이 추가되었습니다. 이외에도 Mesa 그래픽 라이브러리, WebKitGTK, Discord 웹 클라이언트, Sway Wayland 윈도우 매니저 등 다양한 포트와 업데이트가 이루어졌습니다. 프로젝트는 앞으로 xbps 패키지 매니저 포팅 완료, 더 많은 하드웨어 드라이버 추가, 자체 호스팅 기능 작업 등을 목표로 하고 있으며, 파일 시스템 드라이버, 디버깅 도구 개발, 실제 하드웨어 테스트 등 다양한 분야에서 기여자를 모집 중입니다.