개도 '부바'는 둥글고 '키키'는 뾰족하다고 느끼는 듯합니다
개 70마리를 대상으로 한 실험에서 개들은 '부바'를 들을 때 둥근 도형을 더 오래 바라보고, '키키'를 들을 때 뾰족한 도형을 바라보거나 탐색했습니다. 결과는 소리와 모양을 연결하는 경향이 개에게도 있을 가능성을 보여주지만, 연구진은 추가 검증이 필요하다고 밝혔습니다.
개발 도구와 언어, 웹 기술과 오픈소스 프로젝트의 변화를 다룹니다.
개 70마리를 대상으로 한 실험에서 개들은 '부바'를 들을 때 둥근 도형을 더 오래 바라보고, '키키'를 들을 때 뾰족한 도형을 바라보거나 탐색했습니다. 결과는 소리와 모양을 연결하는 경향이 개에게도 있을 가능성을 보여주지만, 연구진은 추가 검증이 필요하다고 밝혔습니다.
Teal은 배열, 맵, 레코드, 인터페이스, 유니온 타입, 제네릭을 타입 주석으로 표현하는 Lua 방언입니다. 컴파일러 tl이 .tl 파일을 .lua 파일로 변환하며, Lua의 간결함과 이식성, 임베딩 특성을 유지하는 데 초점을 둡니다.
Valen의 대여 검사기는 함수 본문을 뒤에서 앞으로 훑으며 참조의 사용, 선언, 변경을 추적합니다. 글은 이 방식이 마지막 사용 지점을 찾고 반복문을 처리하는 데 편리하다고 설명하지만, 반복문 처리에는 별도 규칙이 필요하며 검사기의 기능도 아직 완성되지 않았습니다.
Furifont는 글꼴의 합자(ligature)를 활용해 일본어 한자 위에 후리가나를 표시합니다. 웹사이트에 글꼴을 설치하거나 북마클릿·사용자 스크립트로 적용할 수 있지만, 한자 읽기는 문맥에 따라 달라져 잘못 표시될 수 있습니다.
V8의 Error.prepareStackTrace와 프로토타입 변환을 조합해 괄호 없이 임의의 JavaScript 함수를 만들고 실행하는 방법을 설명합니다. 이 기법은 Error 객체와 배열의 문자열 변환, 단항 + 연산자의 암묵적 형 변환을 차례로 이용합니다.
Gleam 컴파일러가 case 패턴의 누락과 도달 불가능한 분기를 찾는 과정을 설명합니다. 패턴 매칭 연구를 바탕으로 결정 트리와 누락 패턴 진단을 만들고, 문자열 접두사와 비트 배열, 타입 좁히기까지 처리하는 방식을 코드와 함께 살펴봅니다.
조지아어와 영어, 독일어의 관사와 문법적 성을 비교해 언어마다 정보를 표현하는 방식과 부담이 다르다고 설명합니다. 이를 타입 추론과 정적·동적 타입에 비유하고, 언어 간 번역에서 원문에 없는 성별이나 관사를 AI가 추론해야 한다고 짚습니다.
C23을 적용한 C 프로젝트에서 [[maybe_unused]], 빈 초기화자 {}, 고정 기반 열거형을 쓰는 관례를 소개합니다. 반환값을 명시적으로 무시하고, union 초기화와 비트 플래그 열거형에서 생길 수 있는 혼란을 줄이는 방법입니다.
C의 널 종료 문자열은 길이를 구할 때 데이터를 순회해야 하고, 부분 문자열을 따로 쓰려면 복사가 필요합니다. 글쓴이는 포인터와 길이를 담는 읽기 전용 `str_view`, 데이터를 소유하는 `str_owned`를 제안하고 슬라이스, 검색, 비교, 분할 함수를 구현합니다.
스택 기반 언어 Factor 0.102가 1,068개 커밋을 포함해 출시됐습니다. ARM64 네이티브 지원과 Linux용 GTK4 기본 백엔드, RISC-V 포트가 추가됐으며 컴파일러와 VM, 라이브러리의 기능과 안정성도 폭넓게 개선됐습니다.
튀르키예 중부 사무하에서 히타이트어와 후르리어 설형문자 점토판 131점과 파편이 추가로 발견됐습니다. 왕실의 질병과 장례 의식, 군대의 지원 요청, 종교 의례를 기록한 문서로, 21세기 들어 발견된 히타이트어 문서고 가운데 가장 큰 규모라고 합니다.
Intel 문서에 실렸지만 실제 CPU에서는 실행되지 않는 FMA 명령어 vfmaddrnd231pd를 추적합니다. 작성자는 문서의 설명과 실험 결과를 대조해 명령어가 CPU에 구현되지 않았을 가능성을 제기합니다.
GCC, Clang, glibc, musl이 C 및 POSIX 표준과 다르게 동작하는 사례를 정리합니다. 컴파일러 확장과 미지원 pragma, 라이브러리의 오류 처리 및 헤더 정의 차이가 표준에 맞춘 코드의 이식성을 떨어뜨릴 수 있다고 설명합니다.
저자는 OpenBSD, C, httpd, SQLite를 조합해 상용 웹 서비스를 만들고 CGI 방식으로 운영합니다. 단일 바이너리와 적은 의존성, 간단한 배포가 장점이지만 프로세스 생성 비용과 C의 메모리 안전성, 직접 구현해야 할 기능을 두고 논쟁이 이어집니다.
저자는 직접 만든 조지아어 과제로 OpenAI와 Anthropic의 모델 8종을 비교합니다. GPT-6 Astra가 평균 0.90으로 가장 높았지만, 조지아어를 영어로 번역하는 능력과 조지아어 문장을 정확히 만들어내는 능력 사이에는 큰 차이가 나타났습니다.
아레나 할당자(arena allocator)는 비슷한 수명을 가진 데이터를 큰 메모리 블록에 모아 관리하고, 사용이 끝나면 한꺼번에 비우는 방식입니다. 글은 C로 간단한 아레나를 구현하고 문자열 복사에 적용해, 개별 메모리 해제 부담을 줄이는 방법을 설명합니다.
Valen은 참조가 가리키는 데이터의 경로를 컴파일러가 추적해 해제 뒤 사용(use-after-free)을 막는 대여 검사 방식을 제안합니다. Rust의 ‘공유 또는 변경’ 규칙 대신 무효화 여부를 검사해 같은 객체를 가리키는 여러 참조의 읽기와 쓰기를 허용하며, Rust 상호운용과 참조 카운팅 지원도 내다봅니다.
Rust의 슈퍼트레이트를 확인하는 두 방식, 모듈식 증명과 외부 증명을 비교합니다. 외부 증명은 호출자가 슈퍼트레이트까지 확인하게 하지만 unsafe 트레이트에서는 잘못된 구현을 호출자가 신뢰해야 하는 모순이 생기므로, 글은 모듈식 증명이 필요하다고 주장합니다.
Zig로 작성한 JavaScript 엔진 Kiesel이 Zig 0.17로 업데이트되고 0.4.0을 출시했습니다. 명령행 인자·환경 변수 API, Iterator 헬퍼, SerenityOS 포트와 인라인 캐시 개선을 담았으며, 인라인 캐시 변경은 마이크로벤치마크에서 20~30% 속도 향상을 보였습니다.
strtod 계열 함수의 오류 보고 방식은 표준 C와 POSIX에서 다릅니다. 오버플로·언더플로에는 math_errhandling과 구현별 제약이 따르고, 숫자 변환에 실패했는지는 errno가 아니라 endptr로 확인해야 합니다.