read: fail

POSIX 쉘을 대상으로 하는 자가 컴파일 C 트랜스파일러의 설계

연구 논문에서는 POSIX 쉘을 유일한 신뢰할 수 있는 사전 빌드된 바이너리로 사용하여 재현 가능한 빌드 프로세스를 탐구합니다. pnut이라는 C에서 POSIX 쉘로의 트랜스파일러는 사람이 읽을 수 있는 쉘 코드를 생성하며, 이를 통해 GCC의 최신 버전까지 점차적으로 능력 있는 컴파일러를 만들 수 있는 빌드 체인의 기반이 됩니다.

젠투 패키지 테스팅의 독특한 세계

젠투는 소스-퍼스트 배포판으로, 사용자는 주로 소스 패키지를 사용합니다. 이 배포판은 설정, 컴파일, 테스트, 설치의 단계로 패키지를 빌드합니다. 테스트 단계는 실제 제품 환경과 가장 가까운 환경에서 이루어져, 실제 세계의 문제를 포착할 수 있는 중요한 장점이 있습니다.

직접 만든 GPT JS - TensorFlow.js를 이용한 Karpathy의 minGPT 재구현

이 프로젝트는 Karpathy의 minGPT 언어 모델을 TensorFlow.js로 간단히 재구현한 것입니다. 사용자가 직접 모델을 훈련시키고, 파라미터를 실험하며, GPU를 사용하여 브라우저에서 예측을 생성할 수 있는 웹 기반 플레이그라운드를 제공합니다.

홈 그리드 - Plan9 비디오 시리즈

Plan9 비디오 시리즈의 공유 기능에 대한 정보를 제공하는 문서입니다. 공유 정보를 가져오는 과정에서 오류가 발생했으니, 나중에 다시 확인해 보세요.

람다 계산법 0: 추상화, 축소, 치환 이해하기

이 글에서는 람다 계산법의 기본 용어와 개념을 설명합니다. 추상화, 적용, 커링, 축소치환 등의 과정을 통해 함수형 언어의 근간을 이루는 이론을 쉽게 풀어 설명하고 있습니다. 람다 계산법의 학습이 어려웠던 저자는 보다 많은 예제와 문제점을 다룰 예정입니다.

데이터셋, 옵저버블, 맵리브레 GL을 이용한 지역 선거 결과 시각화

사이먼 윌리슨과 알렉스 가르시아는 샌 마테오 카운티의 지역 선거 결과를 시각화하기 위해 데이터셋과 옵저버블, 맵리브레 GL을 사용했습니다. 이들은 선거 데이터를 분석하고, 지도상에서 투표 결과를 동적으로 보여주는 인터랙티브 시각화를 구현했습니다. 이 프로젝트는 향후 더 많은 오픈 오피스 아워를 계획하게 했습니다.

파이썬의 빈 공간 체크 방법

파이썬에서 리스트가 비어 있는지 확인하는 방법에 대한 논의가 있습니다. PEP-8에서 권장하는 if not mylist: 방식이 효율적이라고 합니다. 코드 품질 문제가 아니라면, 이 방식은 명확하고 효과적입니다. 변수명, 문서화, 타입 힌트를 잘 관리하면 더욱 명확해집니다.

지역 LLM 운영에 대해 지금까지 배운 모든 것

이 글에서는 라즈베리 파이에서 실행할 수 있을 정도로 접근성이 좋아진 대규모 언어 모델(LLM)에 대한 저자의 경험을 공유합니다. 저자는 llama.cpp 소프트웨어와 Hugging Face의 GGUF 모델을 사용했으며, Illume이라는 커맨드 라인 인터페이스를 직접 구축했습니다. 또한, LLM의 한계와 유용한 활용 사례도 소개합니다.

TigerBeetle의 안전성

TigerBeetle은 잠재적 섹터 오류, 디스크 손상 및 데이터 변조에 대처하고 복구할 수 있도록 설계되었습니다. 이 시스템은 직접 I/O엄격한 직렬화를 사용하며, 동기식 복제를 통해 높은 가용성과 내결함성을 제공합니다. 또한, TigerBeetle은 ACID 준수를 보장하며, io_uring 보안 문제에도 불구하고 신뢰할 수 있는 환경에서 안전하게 운영됩니다.

Nix를 사용하여 PDF 파서 퍼즈 테스트하기 (2부)

Nix퍼즈 테스트를 활용하여 PDF 파서의 버그를 찾고 수정하는 과정을 소개합니다. 700개의 문제가 있는 PDF를 자동으로 다운로드하고, honggfuzzASAN을 통해 메모리 오류를 즉시 감지하여 버퍼 오버플로 버그를 성공적으로 수정했습니다.

RISC-V 벡터 확장 개요

RISC-V 벡터 (RVV) 확장은 다른 SIMD 벡터 명령어 세트와 비교되며, 302개의 명령어와 4개의 고도로 설정 가능한 로드/스토어 작업을 추가합니다. RVV는 벡터 레지스터의 크기를 명시적으로 정의하지 않고, 이는 구현 매개변수로 남겨져 있습니다. 또한, RVV는 정수 및 부동 소수점 연산을 지원하고, 독특한 명령어 인코딩과 'stripmining' 개념을 도입합니다.

GenMC: 동시성 C 프로그램을 위한 모델 체킹

GenMC는 RC11, IMM, LKMM 메모리 모델을 사용하는 동시성 C/C++ 프로그램을 검증하기 위한 오픈 소스 모델 체커입니다. 이 도구는 상태 없는 모델 체킹 알고리즘을 기반으로 하며, 사운드(sound), 완전(complete), 최적(optimal)입니다. 또한, 잠금 인식(lock-aware) 및 배리어 인식(barrier-aware) 부분 순서 축소, 대칭 축소, 자동 스핀루프 경계 등의 최적화 기능을 포함하고 있습니다.

Algol 68 – 회고록

Algol 68은 1960년대 후반에 개발된 Algol 60의 후속 언어로, 프로시저 중심의 표현 지향적이고 블록 구조의 프로그래밍 언어입니다. 복잡하다는 평가를 받았지만 C언어보다는 작은 규모였으며, C 및 C++ 같은 후속 언어에 큰 영향을 미쳤습니다. 특히 사용자 정의 연산자와 데이터 타입, 다양한 제어 흐름을 지원하는 점이 특징입니다.

기계 학습이 잘못된 이야기를 할 때

이 기사는 사용자의 브라우저 탭에서 열린 웹사이트를 식별할 수 있는 기계 학습 보조 사이드 채널 공격에 대한 연구 프로젝트를 설명합니다. 연구는 시스템 인터럽트를 이용한 새로운 공격 방법을 발견하였고, 이는 기존의 CPU 캐시를 이용한 방법보다 효과적이었습니다. 이 연구는 기계 학습 기반 공격의 분석의 중요성을 강조하며, 저자에게 학문적 경로에 있어 중요한 전환점이 되었습니다.

BPF 명령어 세트 아키텍처, 이제 RFC 9669로 공식화

BPF(Berkeley Packet Filter) 명령어 세트 아키텍처가 RFC 9669로 공식 표준화되었습니다. 이는 표준화 과정이 중요한 이유를 보여주는 예로, 일부 벤더들은 표준화된 ISA 없이는 BPF 오프로딩 기능을 구현하는 데 주저합니다. 이제 개발자와 벤더들은 이를 기반으로 더욱 확실하게 구축할 수 있게 되었습니다.

자바스크립트 생태계 내 새로운 타입 언어 제안

자바스크립트와 별개로 Qwax라는 새로운 타입 언어를 만들자는 제안입니다. Qwax는 클래스, 함수, 타입 매개변수가 있는 간단한 객체-함수형 타입 시스템을 가지며, 자바스크립트로 직관적으로 변환됩니다. 이 언어는 자바스크립트 생태계에서 타입 안전성을 제공하면서도 복잡성은 줄일 수 있는 장점이 있습니다.

리눅스 파일, 하드 링크 및 소프트 링크에 대한 정신 모델

리눅스에서 파일은 데이터 블록과 'inode'라는 메타데이터 구조로 표현됩니다. 하드 링크는 파일명과 inode를 연결하며, 모든 하드 링크가 삭제될 때 해당 inode와 데이터 블록도 제거됩니다. 반면, 소프트 링크는 실제 파일을 가리키는 별도의 inode를 가지며, 대상 파일이 이동하거나 삭제되면 링크가 끊어집니다.

정기적인 재시작이 실제로 좋은 이유

Heroku의 24시간 컴퓨트 유닛('dynos') 제한은 종종 비판받지만, 이는 애플리케이션의 건강을 유지하는데 도움이 됩니다. 정기적인 재시작은 메모리 누수 문제를 해결하고, Twelve-Factor App 원칙에 따라 애플리케이션을 더 확장 가능하고 탄력적으로 설계할 수 있게 합니다.

공지: SQLite는 체크섬을 수행하지 않습니다

SQLite는 기본적으로 체크섬을 수행하지 않아 디스크 손상이나 데이터 변조를 감지할 수 없습니다. 이로 인해 작은 오류가 큰 데이터 문제로 이어질 수 있으며, 개발자는 데이터 무결성을 보장하기 위해 적절한 조치를 취해야 합니다.

Mergiraf: Git을 위한 구문 인식 병합 드라이버

Mergiraf는 Git을 위한 새로운 오픈 소스 프로젝트로, 구문 인식 병합 드라이버를 제공합니다. 이는 Git의 기본적인 줄 기반 병합이 독립적인 구문 요소에 대한 변경 사항을 처리할 때 어려움을 겪을 수 있기 때문입니다. Mergiraf는 사용성과 신뢰성에 중점을 두며, 새로운 기여자들을 위한 튜토리얼과 거버넌스 모델을 제공합니다.