리눅스에서 파일의 리비전을 정확하게 구할 방법이 없는거 같다. 혹시 있나요? mtime과 달리 변경될때마다 1씩 증가하는 믿을수있는 값을 원하는데, 알려진 파일시스템 중에서 이 기능을 바로 제공하는게 없어 보인다. 이런게 되면 incremental build를 정확하게 구현할수 있을텐데, 지금은 비슷한 경우에 해시 아니면 mtime 쓰는걸까.
bgl gwyng
@bgl@hackers.pub · 99 following · 124 followers
GitHub
- @bglgwyng
사이드 프로젝트에 LLM이 쉬운 문제는 다 해치워주는 바람에 이제 머리 아픈 문제밖에 안남아서 그래서 오히려 진도가 안나가고 있다;; 아직 아무도 이 현상에 이름을 붙이지 않았다면 미리 'bgl의 역설'이란 명칭을 선점하고 싶다.
Hollo is one of the coolest self-hosting options for federated microblogging. If I was self-hosting, I’d be spoiled for choice.
우리 가족은 20년 넘게 KT써왔는데, 2달전에 SKT로 옮기자마자 이 사단이 났다;;
@bglbgl gwyng "타입은 코드가 스스로를 변호(하는 수단이다)" 라는 표현이 너무 좋습니다. Nix의 타이핑이 매우 약하다는 건 주지의 사실입니다만 그 실사용에 있어서 메타 프로그래밍이라고 칭할 것은 IFD 밖에 떠오르지 않습니다. 혹시 그 이외에 어떤 방식을 "meta-programming in nix"라고 부를 수 있을까요?
@jhhuhJi-Haeng Huh shell 스크립트에 string interpolation하는 것이 있고요. 메타프로그래밍이라고 뭉뚱그려 말해도되는진 모르겠는데, NixOS Module 시스템처럼 Nix 안에서 DSL을 만들어서 사용하는 경우까지 생각하며 썼습니다.
bgl gwyng shared the below article:
LogTape 0.10.0 Released
洪 民憙 (Hong Minhee) @hongminhee@hackers.pub
LogTape 0.10.0 is now available, bringing enhancements to security, flexibility, and usability for this zero-dependency JavaScript logging library. A key addition is the @logtape/redaction package, which helps protect sensitive information using pattern-based and field-based redaction techniques. This package includes built-in patterns for common sensitive data types like credit card numbers and JWTs. The update also introduces improvements to timestamp formatting, allowing users to omit timestamps from formatted messages, and a lazy file sink option to improve resource utilization. Additionally, the configure() function now detects and prevents duplicate logger configurations. Thanks to external contributions, LogTape 0.10.0 offers more control over log output and improved resource management. Upgrade to this version to leverage these new features and improvements, enhancing your logging capabilities.
Read more →안녕하세요, 여러분.
해커스펍에 들어온 시점 전후로 건강에 문제가 생겨 이제야 hello world 메시지를 남기네요. 초대해주신
@hongminhee洪 民憙 (Hong Minhee) 님 고맙습니다.
애호하고 선호하는 프로그래밍 언어는 Python이고 Back-end 직군이 본진이지만, 그때 그때 엔지니어링에 필요한 직군에서 필요한 도구를 써서 개발해요. 현재는(2025년 5월 기준) 프리랜서로 일하고 있습니다.
개발 외엔 글쓰기, 글짓기를 좋아해서 글로 먹고 살 방법도 모색하고 있어요.
잘 부탁드리며, 또 뵈어요.
최근에 마주친 문제/주제들이 우연히 다들 '양방향' 이란 개념과 관련이 있다. 아래는 거기 관련된 러프/나이브한 생각들이다.
세션 타입
이건 노골적인 예시인데, 말그대로 서버/클라가 양방향으로 통신하는걸 기술하게 해준다.
Propagator
대부분의 프로그래밍 언어에서 x = 3 + 2과 같은 우변을 계산해서 좌변의 기호에 할당하는 기능을 제공한다.
그런데 3 = x + 2 라고 썼을때 x = 1을 해주는 언어는 거~의 없다. 이런 기능이 왜 필요하냐는 의문이 들 수 있지만, 이런 방식을 간접적으로 다들 매일 쓰고 있다. 예컨데 패키지 버전 관리를 생각해보자.
foo: >= 2.0.0
bar: =< 3.1.0
이런 식의 설정 파일을 만지작 거릴텐데, 사실 foo >= 2.0.0, bar =< 3.1.0, ... 같은 부등식을 기술하고 있는 셈이다. 여기서 bar가 foo를 의존성으로 가지면 문제가 좀더 복잡해진다. 패키지 매니저는 조건을 만족하는 foo, bar의 값을 알아서 계산해준다.
요지는, 구체적인 값 대신에 조건을 나열하는 방식은 이미 다들 쓰고 있다는 얘기다. 그리고 패키지 매니징이 아닌 다른 문제에서도 이 방식이 좋은 경우는 흔하지만, 조건을 풀어서 값을 구하는 부분을 짜는게 까다로워서 도입하기 쉽지 않다.
여기서 양방향과 관련된 부분은 좌변과 우변의 정보 교환이다. x = 3 + 2는 x <= 3 + 2로, 우변의 정보가 일방적으로 좌변으로 간다고 볼수 있다. 반면 3 = x + 2는 좌변의 정보가 우변으로 가야한다.
x + 1 = y - 3란 예시를 보자. 이 식만 가지고는 x, y의 값을 구할 수 없다. 하지만 x = 3이란 정보가 들어오면 y = 4란걸 알 수 있고, 반대로 y = 5란 정보가 들어오면 x = 1인걸 알 수 있다. 이런 양방향 정보교환을 기술할수 있게 해주는것이 Propagator 패턴이다. Propagator 자체도 세션 타입과 뭔가 관련이 있을거 같은데, 뭐 찾아보면 오히려 서로 관련 없는게 없으니 일단 패쓰.
프로그래밍에서의 타입
모든 프로그래밍 언어는 메타프로그래밍이 가능하고, 대부분의 프로그래밍 언어는 메타프로그래밍을 할 자격이 없다. 나는 그중에서도 특히 자격이 없는 언어인 Nix로 메타프로그래밍을 하는 상황에 쳐해있다. Nix의 특성상 나뿐 아니라 다른 많은 Nix 유저들이 자연스레 이 토끼굴에 빠진다.
Nix의 에러메시지는 읽기가 참 힘든데, 기능이 매우 부족한 언어에다가 여러 개념을 새로 구현해서 얹어놔가지고, 긴 스택트레이스 중에 내가 관심있는 부분은 끝의 일부인데 거기까지의 흐름을 따라가려면 앞의 상관없는 코드도 대충은 이해해야한다. 이게 양방향 정보 교환이 잘 안되고 있는 부분이다.
알다시피 함수 자체는 단방향 정보이다. 스택트레이스는 함수를 통한 단방향 정보의 전달 과정을 보여준다. 그리고 개발자는 그걸 반대로 뒤집은 형태를 분석해야 하는 상황에 놓인다. 이게 개발자 <=> 코드 의 양방향 정보교환의 수단이 제공되지 않아서 생기는 문제다.
개발자 <=> 코드의 양방향 정보코드의 대표적인 수단은 타입이다. 타입은 코드가 스스로를 변호하고, 개발자의 잘못된 변경으로부터 방어하도록 해준다. 대부분의 언어가 메타프로그래밍을 할 자격이 없다는 얘기가, 코드 생성이라는 개발자 -> 코드의 단방향 정보전달만 기술하고 반대로 코드 -> 개발자 방향의 정보를 모조리 잃어버리는 형태로 이루어지기 때문이다.
그런데 타입안전한 메타프로그래밍은 그자체로 어려운 문제이고 아직은 연구주제에 가깝다고 알고있다. 혹시 그냥 개발자에게 뭔가 알려줄수있는 방법 자체를 primitive로 가질 순 없나? 그게 결국 타입이랑 똑같은 것일까? 여기에 TypeScript에서의(역시!) 무근본한 트릭이 소개되어있는데, 약간 관련있을지도 모른다.
@perlmint 그럼 GraphQL을 쓴다는 사실은 어떻게 아신거죠?
@perlmint 아항. apollo state를 보고 GraphQL 엔드포인트 찾아봄 -> 못찾음 -> apollo state 사용 이런 흐름이었나 보군요.
크롤링 하는 대상이 graphql을 쓰는데, API엔드 포인트를 못 찾겠어서 이전에 이걸 파싱하려고 SSR된 HTML에 포함된 Apollo state를 뽑아서 파싱했다. 좋은 방법 없나...?
@perlmint 그럼 GraphQL을 쓴다는 사실은 어떻게 아신거죠?
LogTape에 민감한 데이터를 편집하는 @logtape/redaction 패키지를 추가하는 작업중… 원래 해야 하는 다른 작업이 하기 싫어서 하는 회피성 작업이긴 하다. 🙄
@arkjunJuntai Park
@hongminhee洪 民憙 (Hong Minhee) 저는 인프라 작업할때 약간 전능한? 느낌도 들어서 재밌기도 한데, 트러블슈팅할때 다른 작업에 비해 유독 힘드네요
@bglbgl gwyng
@hongminhee洪 民憙 (Hong Minhee)
@arkjunJuntai Park "전능한 느낌"이라고 하니까 Bastard Operator From Hell이 생각나요 ㅎ
좀 다르지만 연관있을 거 같은 느낌이 오랫동안 종이와 펜으로만 일하다 보면 거대한 실험장비를 눈앞에 마주하게 됐을 때 가슴이 두근거리면서 저걸 몰아 볼 수만 있으면 얼마나 좋을까 하는 생각이 들어요. 육중한 무언가를 직접 "operation"하고 싶다는 본능적 욕망이 깊이 자리잡고 있나 봅니다.
길에서 우연히 보게 된 중장비에 마음이 뺏겨 장래희망이 덤프트럭 운전기사가 된 전국의 미취학 아동들에게 "너도? 사실은 나도.."라고 말해주고 싶어요.
‘그냥 tryAny 쓰면 예외는 다 잡을 수 있는 거 아닌가? 왜 ResourceT를 써야 하지?’라고 생각했는데 찾아보니 tryAny로는 비동기 예외를 잡을 수 없다고 한다.
writeGreetingSafeAttempt :: IO ()
writeGreetingSafeAttempt = do
dir <- getDataDir
h <- IO.openFile (dir </> "greeting.txt") WriteMode
_ <- tryAny do
IO.hPutStrLn h "hello"
IO.hPutStrLn h "world"
IO.hClose h
⚠️긴급⚠️ 정신건강 위기를 겪고 있는 잇창명을 도와주세요. (구체적인 자살 언급 있음 주의) eatchangmyeong.notion.site/1f7f07f5faae...
⚠️긴급⚠️ 정신건강 위기를 겪고 있는 잇창명을 도와주...
더 많은 교육을 받은 노동자가 더 높은 임금을 받아야 하나? 교육을 통해 개인의 생산성이 향상되므로 그렇다는 것이 기능론적 인적자본론의 입장이다. 교육에 드는 비용은 개인의 신체에 자본으로 축적된다. 실무를 통해 얻어지는 능력(직무능력)뿐 아니라, 새로운 지식을 빨리 습득할 수 있는 능력(훈련적합성) 자체가 교육을 통해 길러진다. 교육은 개인의 인지능력, 직무능력, 협업능력을 향상시킨다. 인적자본론에 따르면 소득 불평등이 커지는 이유는 교육에 따른 노동자의 생산성 격차가 커지기 때문이다. 해결법은 교육팽창을 통해 생산성이 낮은 노동자의 생산성을 높이는 것이다.
bgl gwyng shared the below article:
Why LogTape Should Be Your Go-To Logging Library for JavaScript/TypeScript
洪 民憙 (Hong Minhee) @hongminhee@hackers.pub
LogTape is a modern JavaScript and TypeScript logging library distinguished by its simplicity, flexibility, and broad runtime compatibility. One of its key advantages is its zero-dependency footprint, which reduces bundle size and enhances stability, making it ideal for both applications and libraries. LogTape supports multiple JavaScript runtimes, including Node.js, Deno, Bun, web browsers, and edge functions, ensuring consistent logging across different environments. Its hierarchical category system allows for fine-grained control and targeted filtering of logs, while structured logging enables improved searchability and data analysis. The library also offers simple extension mechanisms for creating custom sinks and filters with minimal boilerplate. Designed with library authors in mind, LogTape allows libraries to provide logging output without imposing specific configurations on users. With features like explicit and implicit contexts, LogTape facilitates richer logging by adding consistent properties across multiple log messages, making it easier to trace requests through a system. This post highlights LogTape's unique combination of features that address real-world development challenges, making it a valuable tool for any JavaScript or TypeScript project.
Read more →정기적으로 하는 미니 컨퍼런스 같은게 있으면 좋겠다. 돌아가면서 각자 최근에 발견/발명한걸 부담없이(뭐 공들여 ppt만들고 이러지 말고) 발표하고 치킨 먹고 헤어지는?
"[토스] 25년도 1학기 Frontend Platform Assistant 모집
실력 있는 토스의 시니어 개발자들과 프론트엔드 개발환경의 미래를 그려가며 성장해 보세요! 전담 멘토와 직접 소통하며, 기술 문제에 대해 생각하는 방식을 배울 수 있어요. 다음 프로젝트 중 하나에 2달동안 참여하게 돼요.
- 토스 앱의 모바일 서비스를 만드는 개발 서버
- 오래된 브라우저를 지원하는 Polyfill 서버
- Node.js 라이브러리를 간편하게 빌드하는 CLI
- LLM을 활용한 자동 문서화 및 수정 워크플로우
- LLM을 활용한 자동 디자인 워크플로우
- 토스 사내 애플리케이션 성능 최적화
- JavaScript 빌드 결과물 크기 분석 및 모니터링 도구"
3개의 명령어로 윤년 여부를 확인하기 | GeekNews
https://news.hada.io/topic?id=20945
재미는 있는데...
항상 느끼는 거지만 알고리즘을 극단적으로 최적화 하는 사람들은 상당히 변태같음 ㅋㅋ
@hollo 아 어찌저찌 고쳤습니다ㅎㅎ
"나는 예전에는 글을 많이 쓰곤 했다. 아이디어가 떠오르면 적어두고, 시간을 들여 신중히 다듬어서 하나의 작품으로 만든 다음, 완성되면 세상에 공유했다. (...) 하지만 이제는 아이디어가 떠올랐을 때 엉성한 단어 몇 개만 프롬프트에 밀어 넣으면 즉시 완성된 생각이 얻어진다. AI가 아이디어를 너무나 쉽게 구체화할 수 있기 때문에, 아무리 발전된 아이디어라도 내 생각을 공유하고 싶은 마음이 덜 든다." 요즘 내가 글을 안(못) 쓰는 이유와 일맥상통. https://dcurt.is/thinking
앱개발해야하는데 아이폰 터치가 고장나서 아무것도 못한다. 억까가 끝이 없구나.
@bglbgl gwyng 그저 상상의 영역이었기 때문에, 사실 어떻게 구현할 수 있을지에 대해서는 잘 생각하지 못했던 것 같아요.
@hongminhee洪 民憙 (Hong Minhee) 아 오버스펙이란 얘기가 당연히 아니고, 오히려 흥미로운 주제같다는 얘기였습니다.
@bglbgl gwyng 오, 이거 이름은 들어 본 적 있는데, 그런 기능이였군요?
@hongminhee洪 民憙 (Hong Minhee) 블로그 글 쓰신걸 읽다가 요런 아이디어를 봣는데.
좀더 나아가자면, 모듈 인터페이스는 구현체의 다양한 관점의 효과성이나 효율성, 기능성 등에 대해서도 매개변수를 선언할 수 있고, 임포트 시에는 특정 매개변수를 기준으로 선호하는 구현체가 적절히 선택되도록 할 수 있을지도 모른다.
이걸 모듈 레벨의 파이널 인코딩이라고 해야하나, 이 부분을 어떻게든 좀더 잘 만들려고 욕심내다보면 엄청 어려운 문제가 되는거 같아요.
Deno 2.3.3 is out 🎊
⭐ deno serve any directory
⭐ fetch over Unix sockets
⭐ new OTel events: boot_failure and uncaught_exception
⭐ dark mode on HTML coverage report
프론트엔드 개발을 한 6년정도 하면서 생긴 아직 풀리지 않은 의문으로, 템플릿과 공식 문서에선 그렇게 세련되고 예쁜 컴포넌트들이 왜 import해서 내 프로젝트에서 쓰면 개촌스럽고 못생겨지냐는 것이 있다.
@bglbgl gwyng 오, 이거 이름은 들어 본 적 있는데, 그런 기능이였군요?
@hongminhee洪 民憙 (Hong Minhee) 저도 한번 써보고싶은데 다른데서 쓰는걸 아직 못봐서 겁나서 못쓰고 있네요
@hongminhee洪 民憙 (Hong Minhee) 놀랍지않게도?! 하스켈에도 Backpack이라는 유사한 기능이 있습니다. 근데 누가 이걸로 논문쓰고 졸업한다음 도망간게 아닌가 싶은, 관리가 잘 안되고 있는 기능입니다.
안녕하세요? Hackers' Pub에 첫 게시글을 올립니다. 간략한 소개를 위한 사이트를 만들었습니다. 잘 부탁드립니다!
이걸 보니 조만간 Zed를 써봐야겠다는 생각이 든다 https://zed.dev/blog/vim-2025
Kotlin으로 iOS 앱 만들어보았다 가능할지도
If a module defines a custom exception type and throws that exception within the module, it absolutely must export that exception type as well. I'd think this is basic, but it seems a surprising number of packages declare exception types without exporting them.
I wonder how many regular (non- software developers) are even aware of MSDN.
I suspect almost none of them.
@reiver@reiver ⊼ (Charles)
Your reply makes me realize that we need a new property in ActivityPub, like isNotSerious or isJoke that I can mark on posts.
By the way, in case you didn't notice, the previous sentence is not serious.
bgl gwyng shared the below article:
Dokimon: Quest
정진명의 굳이 써서 남기는 생각 @jm@guji.jjme.me
서지정보
게임명: Dokimon: Quest
개발사: Yanako RPGs
배급사: Yanako RPGs
출시일: 2024년 11월 22일
장르: RPG, 포켓몬-like
생각
『Dokimon: Quest』는 3D화 이전의 레트로 포켓몬, 그러니까 3세대까지의 포켓몬스터 게임 시리즈와 같은 형식으로 만들어진 생명체 수집 RPG 게임입니다.
실제로 게임을 해 보면 레트로한 느낌과 새로운 느낌이 꽤 섞여 있는데, 그래픽 측면에서는 꽤나 레트로하고, 문장의 길이나 스토리는 꽤 그 시절 것보다 복잡하며, 편의성면에서는 나은 지점이 있고, 몬스터는 제 취향은 아닙니다. 맵 타일들에서는 묘한 자포네스크함을 느낍니다.(개발사인 Yanako RPGs는 도쿄 소재라고 합니다) 저는 이 모든 것들이 조합되어 이것저것 미묘하다고 느끼고 있습니다.
개인적인 흥미는 이 개발사는 게임메이커 기반으로 이러한 포켓몬스터같은 게임을 만드는 툴인 『MonMae』를 판매하고 있고, 이 게임은 해당 툴로 개발된 데모 프로젝트 성격이라는 점입니다. 저는 항상 제가 만들고 싶은 스토리 있는 JRPG를 쉽게 만들 수 있는 방법을 찾아 헤메는 편인데, 여기에도 그럴 가능성이 있을까? 해서 찾아보게 된 것도 조금은 이 게임을 하게 된 이유입니다.
다른 건 모르겠는데, 식당처럼 생긴 상점에 들어가서 상점 NPC에게 말을 거니까 "주문은 테이블에 있는 QR 코드로 해 주세요"라는 응대를 받고, 실제로 테이블에 말을 거니까 상점 메뉴가 열리는 건 정말 충격적인 경험이었습니다. 정말 무서운 세상입니다.
요즘은 내가 코드를 짤 일은 없고, 개발계획도 AI가 짜고, 개발을 실제로 하는것도 AI가 한다. AI가 좀 핀트 어긋난 것 같으면 내가 잠깐 수정해주는 정도? 누가 보면 바이브 코딩이지만, 엄밀하게는 "바이브 코딩"은 아니다.
요즘 애용하고 있는 워크플로우는 이렇다.
- Gemini 웹 대화창 띄워서 "~~한 요구사항이 있어. 시니어 개발자로서 어떻게 작업을 이어나갈지 계획을 알려줘" 하고 마스터 플랜을 뽑는다
- Gemini에서 응답이 오면, "AI 한테 그걸 시킬건데, AI가 이해할 수 있게 스텝 바이 스텝으로 XML 포맷으로 지시사항을 알려줘. 각각의 지시사항은 하나하나 검토하기 편하게, 여러개로 분리된 파일이었으면 좋겠어" 라고 프롬프트를 순차적으로 뽑아낸다
- 검토할 거 검토해보고, 적당히 괜찮겠다 싶으면, 프롬프트를 Aider든 뭐든 AI에다가 복붙하면 끝.
- 최종 결과는 Repomix 돌려서 Gemini 웹 대화창에 올리고, 1~3을 반복
중소규모 플젝은 이게 잘 먹히고, 3주에 걸쳐서 할 것 같았던 작업을 3일컷으로 끝냈다.
@hongminhee洪 民憙 (Hong Minhee) 누군가 해놓은 걸 이어서 하는 게 아니라 아예 바닥부터 다 맘대로 할 수 있어서 (?) 그런 자유도 때문에 더 재밌게 한 것 같습니다. 😂
@arkjunJuntai Park
@hongminhee洪 民憙 (Hong Minhee) 저는 인프라 작업할때 약간 전능한? 느낌도 들어서 재밌기도 한데, 트러블슈팅할때 다른 작업에 비해 유독 힘드네요
@bglbgl gwyng 인류 지성사에 무언가 큰 브레이크스루를 내는 사람들의 공통점 중에 그런 기질적인 편향 집착이 있는 거 같아요. 뛰어난 사고 능력 자체도 역할을 했겠지만 그건 어쩌면 저런 기질적 위험성을 안고도 일정 나이 이상까지 (직업적으로나 생물학적으로) 생존할 수 있게 해서 그 결과를 세상에 내놓게 하는 보조적인 수단 아닌가 하는 생각도 듭니다. 아직 설득할 근거는 부족한데 본인은 밑도 끝도 없이 확신을 갖고 적어도 10년 이상을 밀어 부쳐야만 그 결과가 나오는 것들이 있잖아요.
그럼 이게 개체 단위에서 경쟁력있는 학습 모델인가 하면 당연히 그렇지 않다고 생각합니다. 하지만 인류 전체를 하나의 앙상블 학습 기계로 생각한다면 꽤나 괜찮게 작동하는 방식이라고 생각합니다. 이름을 붙여보자면 불나방떼 학습법 ?!
@jhhuhJi-Haeng Huh 불나방떼 학습법이라고 하니 일종의 생물학적 Bitter Lesson같네요. 과거 문명 발전에 정체가 생겼을때 그냥 애를 많이 낳아서 돌파해온 셈인가요ㅋㅋ
Ji-Haeng Huh replied to the below article:
데이터 효율성으로 본 AI와 인간의 비교
bgl gwyng @bgl@hackers.pub
이 글은 AI와 인간의 능력 비교에서 데이터 효율성의 중요성을 강조하며 시작합니다. 현재 AI는 인간에 비해 데이터 효율성이 떨어지지만, 일단 학습된 능력은 복제 가능하다는 점을 지적하며 콜센터 직원과 같은 직업군에 대한 위협은 여전하다고 설명합니다. 데이터 효율성이 중요한 경영인과 연구자는 AI를 유용한 도구로 활용할 수 있지만, 인간의 데이터 효율성이 정말 높은지에 대한 의문을 제기합니다. Yann Lecun의 주장을 인용하여 인간이 받아들이는 데이터 양이 AI 학습에 쓰이는 양보다 적지 않음을 언급하며, 인간은 데이터를 있는 그대로 학습하지 않고 편향에 기반하여 학습한다는 흥미로운 주장을 제시합니다. 마지막으로, AI에게 인간처럼 무모한 결론을 내리도록 가르치는 것이 옳은지에 대한 질문을 던지며, 압도적인 양의 데이터를 통해 더 많은 진실을 알아낼 수 있는지에 대한 고민으로 마무리합니다. 이 글은 AI 개발 방향에 대한 새로운 시각을 제시하며 독자에게 깊은 생각거리를 제공합니다.
Read more →
@bglbgl gwyng 인류 지성사에 무언가 큰 브레이크스루를 내는 사람들의 공통점 중에 그런 기질적인 편향 집착이 있는 거 같아요. 뛰어난 사고 능력 자체도 역할을 했겠지만 그건 어쩌면 저런 기질적 위험성을 안고도 일정 나이 이상까지 (직업적으로나 생물학적으로) 생존할 수 있게 해서 그 결과를 세상에 내놓게 하는 보조적인 수단 아닌가 하는 생각도 듭니다. 아직 설득할 근거는 부족한데 본인은 밑도 끝도 없이 확신을 갖고 적어도 10년 이상을 밀어 부쳐야만 그 결과가 나오는 것들이 있잖아요.
그럼 이게 개체 단위에서 경쟁력있는 학습 모델인가 하면 당연히 그렇지 않다고 생각합니다. 하지만 인류 전체를 하나의 앙상블 학습 기계로 생각한다면 꽤나 괜찮게 작동하는 방식이라고 생각합니다. 이름을 붙여보자면 불나방떼 학습법 ?!
다음주 수요일부터 OSS 컨트리뷰션 아카데미 멘티 모집을 하는군아.... 연합우주 쪽 사람이라면 Fedify 지원합시다
러스트 10주년 행사 가는 중
단문으로 짧게 쓰려했는데 분량 조절에 실패해서 그냥 메모리 덤프를 해봤다. 머리에 별로 든게 없어서 한 페이지면 충분했다.
데이터 효율성으로 본 AI와 인간의 비교
bgl gwyng @bgl@hackers.pub
이 글은 AI와 인간의 능력 비교에서 데이터 효율성의 중요성을 강조하며 시작합니다. 현재 AI는 인간에 비해 데이터 효율성이 떨어지지만, 일단 학습된 능력은 복제 가능하다는 점을 지적하며 콜센터 직원과 같은 직업군에 대한 위협은 여전하다고 설명합니다. 데이터 효율성이 중요한 경영인과 연구자는 AI를 유용한 도구로 활용할 수 있지만, 인간의 데이터 효율성이 정말 높은지에 대한 의문을 제기합니다. Yann Lecun의 주장을 인용하여 인간이 받아들이는 데이터 양이 AI 학습에 쓰이는 양보다 적지 않음을 언급하며, 인간은 데이터를 있는 그대로 학습하지 않고 편향에 기반하여 학습한다는 흥미로운 주장을 제시합니다. 마지막으로, AI에게 인간처럼 무모한 결론을 내리도록 가르치는 것이 옳은지에 대한 질문을 던지며, 압도적인 양의 데이터를 통해 더 많은 진실을 알아낼 수 있는지에 대한 고민으로 마무리합니다. 이 글은 AI 개발 방향에 대한 새로운 시각을 제시하며 독자에게 깊은 생각거리를 제공합니다.
Read more →24日(土) FediDev KR 스프린트 모임에 오시는 분들께는, 귀여운 Fedify 로고 스티커를 나눠 드리겠습니다.
https://hackers.pub/@hongminhee/0196b961-2b85-7b25-b6cf-9900405d52eb
구글이 AlphaEvolve란걸 내놨는데, AI로 새로운 알고리즘을 찾아내서 구글 인프라에 적용시켰다고 한다.
논문을 보니 Gemini 2.0 기반으로 했다는데, 몇번 채팅으로 시험해봤을때 인상적이지 않았던 2.0으로도 이런 결과를 낼수 있다는게 놀랍다. 새로 나온 훨씬 똑똑한 2.5로 하면 어떤 결과가 나올까?
AI의 재귀적 자기 개선이 먼 미래의 일이었던 과거에는, 이런식의 자기 개선 시작되면 그땐 정말로 게임오버일거라고 생각했었다. 아마 나말고도 많은 사람이 그랬을 것이다. 근데 막상 자기 개선이 시작되고나니 이 속도를 어떻게 평가해야할지 모르겠다. 사실 구글이 AI를 통해 인프라를 개선한게 이번이 처음은 아니고 한 3년전부터 있던일이다. 지금 이게 얼마나 빠른거야?
@hongminhee洪 民憙 (Hong Minhee)
Thanks! I've used Lambda / DynamoDB / serverless for many years (and written a few things about them), so that part is easy for me. But the ActivityPub side is where I need to learn. Do you have a preferred “introduction to ActivityPub” tutorial that you recommend? I'm most interested at the moment in the architecture and what the interface requirements are. By default I'll just start with reading the W3C specs.
@mikebrobertsMike Roberts While the W3C specs exist as a reference, I wouldn't recommend starting there—they're underspecified and don't provide enough practical guidance for implementation.
Instead, I'd suggest these more practical resources:
-
Fedify's Creating your own federated microblog tutorial:
- Provides a hands-on, step-by-step implementation
- Covers both the theory and practice in an accessible way
- Shows how to handle common ActivityPub patterns
-
For a better conceptual overview:
- Sebastian Jambor's excellent Understanding ActivityPub series
- Darius Kazemi's A highly opinionated guide to learning about ActivityPub
-
The SocialHub forum has many discussions about implementation practices and challenges faced by developers.
-
The FEP (Fediverse Enhancement Proposals) process documents community-developed extensions and conventions that go beyond the official spec.
The biggest challenge with ActivityPub isn't understanding the core concepts, but navigating all the de facto standards and practices that have evolved beyond the specs. Starting with practical tutorials rather than specs will give you a much clearer path forward.
낮에 피쳐 쫙쫙 찍어내고 일이 잘되야 남은 체력으로 자기전에 사이드 작업을 하는데, 낮에 트러블슈팅으로 시간 다 날리고나면 자기전에 코드를 보는거조차 싫어진다. 이거 때문에 reactive joinable table 진도가 2주째 안나가고 있다.
Haskell is used by startups and large corporations, because it’s one of the best and easiest programming languages for high-performance multi-core processors with convenience and efficiency.
진짜? easiest라고? https://discourse.haskell.org/t/emphasize-why-haskell-on-haskell-org-landing-page/12036
@lionhairdino kmett도 돈받고 산업용(?) 코드를 짤때면 지루하고 밋밋한 하스켈 코드를 짠다고 합니다. 그런 코드를 상상해보면 다른 언어들보다 유별나게 어려운 부분이 많진 않지요.









