요즘 트위터에 하스켈 관련 계정들보면 Go를 가장 싫어하는 언어로 꼽는 경우를 자주 본다. C/C++/Java 등은 역사적인 맥락을 고려해 예우해주고, Python/JS 등등의 이상한 기능은 뭘 몰라서 잘못 만들었다고 이해해주는 반면, Go는 하스켈러들이 중요하게 여기는 가치들을 일부러 다 무시하고 만들기 때문에 괘씸가중치 x10 정도를 적용받는 듯하다.
Perlmint
@perlmint@hackers.pub · 68 following · 55 followers
크로스 플랫폼 빌드 고치는 노동자
사담/잡담은 @meperlmint 에서
Github
- @perlmint
Bluesky
- bsky.perlmint.dev
I think the @fedifyFedify: an ActivityPub server framework project has now reached full maturity. What this means is that all the low-hanging fruit has been addressed, and only the difficult problems remain. 😂
...?? 오늘따라 Claude가 말을 징그럽게 안듣는 것 같은데... 하지 말라고 명시한 일 자꾸 하고, 정지명령도 안먹고
Rust 1.88.0 has been released! ✨🎊 🦀
This release brings you let chains, naked functions, automatic Cargo cache cleaning, Cell::update, proc_macro span locations, various as_chunks methods on slices, and more!
Check out the blog post and release notes for all the details: https://blog.rust-lang.org/2025/06/26/Rust-1.88.0/
[ 特許侵害で。東京地方裁判所「Pixel 7」販売禁止命令 – Jetstream ]
https://jetstream.blog/archives/200731
미국 구글이 한국 팬택의 LTE 기술 특허를 침해한 소송에서, 도쿄 법원이 팬택의 주장을 인정하고 일본 국내에서 구글 픽셀 7의 판매를 금지하는 판결을 내렸습니다.
@perlmint 어디겠습니까... (뜨끔)
@bglbgl gwyng 윽... 미안하다 인간이 잘 못 했다...!
Claude야. 오류나면 일단 주석 쳐서 지워버리고, 상수 그냥 다시 정의하는건 어디서 배워왔니
gemini-cli 이것저것 만져보는 중인데, gemini-2.5-pro
의 코드 수정능력이 생각보다 괜찮아서 좀 더 써볼 것 같다. VSCode 의 Gemini Code Assist 보다는 만족감이 더 높다. 다만 이미지 분석 용도는 아닌 것 같고. 코딩 용도로 쓰면 괜찮을 것 같다.
사용자의 실수였다고 한다. (미안해요. 구글.)
gemini-cli 이것저것 만져보는 중인데, gemini-2.5-pro
의 코드 수정능력이 생각보다 괜찮아서 좀 더 써볼 것 같다. VSCode 의 Gemini Code Assist 보다는 만족감이 더 높다. 다만 이미지 분석 용도는 아닌 것 같고. 코딩 용도로 쓰면 괜찮을 것 같다.
유닛 테스트를 짜기 위해서 유닛 테스트 인프라를 만들어야한다... 일단 손수 테스트하고 후속작업으로 하자...
오픈소스 프로젝트에 여러분의 gemini cli(등등)의 무료 사용량을 기여하세요
오픈소스 소프트웨어라는 소프트웨어 개발 방법은 그동안 대성공을 거두어 오고 있습니다. 여기에는 여러 요인이 있지만, 중요한 요인 중 하나는 이것입니다. 상업 소프트웨어든 오픈소스 소프트웨어든 공평하게 프로그래머의 시간을 들인 만큼 개발된다는 것이지요. 능력 있는 소프트웨어 개발자가 시간을 기여하면 오픈소스 소프트웨어는 상업 소프트웨어만큼이나 빠르게 성장할 수 있었습니다.
하지만 AI 프로그래밍의 시대가 빠르게 다가오고 있습니다. 앞으로 소프트웨어 개발은 프로그래머의 시간만으로 개발되지 않습니다. 상업소프트웨어는 AI 프로그래밍을 적극적으로 사용하여 이전과 다른 생산성으로 개발되기 시작할 것입니다. 상업 소프트웨어와 달리 오픈소스 소프트웨어는 언제나 그럴 수는 없습니다. 프로젝트의 성장과 유지를 위해 훌륭한 프로그래머들의 시간을 들이는 것을 넘어서, 훌륭한 프로그래머들이 시간에 더해 비용까지 들여야 한다면요.
상업 소프트웨어와 오픈소스 소프트웨어 사이의 불균등한 생산성의 시대가 코앞까지 다가오고 있습니다.
새로운 기여자 확보의 문제
문제는 여기서 그치지 않습니다. 오픈소스 프로젝트는 새 기여자를 얻기 더 힘들어져가고 있습니다. 왜냐하면 이제 'good first issue'라는 것은 의미가 없기 때문입니다. 그 정도로 쉬운 일은 새로운 기여자 대신 로봇이 해결할 가능성이 높고, 그 로봇은 새로운 기여자의 로봇일 수도 있습니다. 결국 AI 프로그래밍으로 기여하는 새 기여자는 이 프로젝트에 대해 거의 배우지 못하게 됩니다.
전통적인 오픈소스 생태계에서 'good first issue'는 단순히 쉬운 문제를 해결하는 것이 아니었습니다. 새로운 기여자가 프로젝트의 코드베이스를 이해하고, 개발 프로세스를 익히며, 커뮤니티와 소통하는 법을 배우는 학습 과정이었습니다. 하지만 AI가 이런 단순한 작업들을 대신 처리하게 되면, 새로운 기여자들은 진입 기회를 잃게 됩니다.
AI 프로그래밍의 현재 위치
AI 프로그래밍은 완벽하지 않습니다. 숙련된 전문가가 숙련된 도메인에서 작업하는 것만큼 잘하지는 못합니다. 하지만 비숙련된 프로그래머가 처음 보는 프로젝트에서 작업하는 것보다는 잘할 때가 많습니다.
그러나 많은 오픈소스 소프트웨어는 바로 이런 비숙련 기여가 성장의 한 축을 차지합니다. 처음 프로젝트에 참여하는 개발자들의 작은 기여들이 모여 거대한 프로젝트가 됩니다. 그리고 이런 비숙련 기여의 일부는 손쉽게 AI가 대체할 수 있는 기여입니다.
다행히도 지금은 AI 프로그래밍의 초창기입니다. Gemini CLI가 무료 사용량을 제공하듯이, 앞으로 여러 회사들이 비슷한 기회를 제공할 것입니다. Claude, ChatGPT, Copilot 등 다양한 AI 도구들이 개인 사용자에게 무료 크레딧을 제공하고 있습니다.
이것은 오픈소스 프로젝트에 기여할 새로운 기회로 삼을 수 있을까요?
주의: 이 글은 아무 프로젝트에나 방문해서 AI로 적당한 코드를 생성한 다음 패치를 보내라는 뜻이 아닙니다.
AI 프로그래밍은 (아직은) 마법이 아닙니다. "이 프로젝트를 겁나 멋지게 만들 기능을 추가해주세요"라고 한다고 해서 그런 패치가 나오는 식으로는 동작하지 않습니다.
이상적인 경우: AI 친화적 프로젝트
가장 좋은 방법은 프로젝트가 AI 친화적으로 준비되는 것입니다. 바로 작업할 수 있을 만큼 잘 정의된 이슈들이 있는 프로젝트라면, "nnn 번 이슈에 대해 작업해 주세요"라는 요청만으로도 누구나 기여할 수 있을 것입니다.
하지만 (적어도 아직은) 그런 프로젝트가 많지는 않을 것입니다.
현실적인 접근: AI가 잘하는 일들에 집중
대신 AI는 인간과 비대칭적으로 잘하는 기능이 있습니다.
이를테면 이슈에 minimal reproducible case가 보고되어 있지만 아직 구체적으로 발생하는 원인이 밝혀져 있지 않은 경우를 생각해봅시다. 버그를 고치는 사람이 해야하는 지루한 작업 가운데 하나는, 이 문제를 어떻게 수정할지를 생각하기에 앞서 이 문제가 어디서 발생하는지 찾는 것입니다. 디버거를 써야 할 수도 있고, 코드에 많은 trace log를 남겨야 할 수도 있습니다.
하지만 AI 코딩 에이전트는 테스트가 재현 가능하기만 하다면, 문제를 발생시키는 정확한 줄을 찾아내는 데 탁월합니다. 지치지 않고 정석적인 지루한 방법으로 꾸준히 로그를 추가하고 테스트를 다시 실행하면서 문제를 찾아내거든요.
어쩌면 문제의 원인이 아주 단순해서, 문제를 바로 수정할 수 있을지도 모릅니다! 그렇다면 패치를 제출해도 좋겠지요. 하지만 바로 수정하기까지는 어렵더라도 괜찮습니다. 버그 리포트와 실제 코드의 문제를 매핑하는 것은 그 자체로 지루하고 시간이 걸리는 일입니다. 이것을 대신하는 것으로도 큰 작업을 대신하는 것입니다.
주의: 모든 프로젝트가 AI 기여를 환영할 리는 없습니다. 충분히 유용하게 다듬어지지 못한 유형의 AI 기여는 스팸처럼 느껴질 가능성이 있음을 유의해야 합니다.
미래
사실 누구나 자기 라이브러리를 뚝딱 만들어낼 수 있게 되었다는 점에서 오픈소스 프로젝트에 참여하는 사람들의 동기와 기여 방식 자체가 크게 뒤바뀔 가능성이 높습니다.
AI 프로그래밍을 누구나 거의 무료로 사용할 수 있는 시대가 올까요? 아마 어느 정도의 사용량까지는 그럴 것입니다. 그것이 얼마나 많은 양일지에 따라서 오픈소스 프로젝트의 미래는 크게 바뀌겠지요.
만일 정말로 AI 프로그래밍을 누구나 무제한적으로 사용할 수 있다면, 대규모가 아닌 대부분의 오픈소스 프로젝트에는 더이상 협력이 필요하지 않을 것입니다. 진정으로 '어떻게'보다 '무엇을'이 더 중요한 시대가 온다면, 프로젝트의 목표를 확고하게 가진 사람이 극한의 완성도까지 프로젝트를 밀어붙이는 편이 훨씬 좋은 결과를 만들겠지요.
그런 시대가 올지 오지 않을지 모르겠습니다. 하지만 그 전까지는, AI 프로그래밍이 누구에게나 주어지는 기회이지만 프로젝트를 단숨에 완성할만큼 주어지지는 않는 시대가 유지되는 동안에는, 다음 세대의 오픈소스 기여의 방법은 AI 프로그래밍 사용량을 기여하는 것이 하나의 큰 축이 될 것입니다.
새롭게 다시 태어난, 또 만들어버린 boilerplate. 이제는 진짜 monolithic 하고 Pocket Galaxy라는 이름에 걸맞는 boilerplate입니다.
Django + Vue(Vuetify) 조합이구요, nginx가 이것저것을 다 처리합니다.
백엔드는 /api
에서 서빙하고, 기타 기본적인 static 캐싱이나 로깅 등 전부 기초적인건 제공합니다.
간단한 웹사이트 하나 만들겠다는게 어쩌다 여기까지 왔는지.... 암튼 이제는 진짜 최소한의 웹사이트 만들때 뚝딱 하면 만들수 있을것 같습니다 제발...
내부용 툴 만들때 애용해보세요.
오늘 만난 분에게 유튜브 출연 제의를 하다 알게 되었는데, 생각보다 부모님도 프로그래머인 경우가 – 그리고 아직도 2대에 걸쳐 현업인 경우도 이제는 꽤 많을 것 같다. 그래서 혹시 동반 출연 가능하실지 여쭤봤는데 과연… 관심있는 분들의 DM 기다립니다 ㅋㅋ
Perlmint shared the below article:
불경하다! 어딜 데이터베이스를 깔려고 하느냐? ESENT (ESE) DB 활용기
고남현 @gnh1201@hackers.pub
이 글에서는 외부 개발 도구 사용이 제한된 환경에서 데이터베이스를 활용해야 하는 상황에 대한 해결책을 제시합니다. 필자는 Windows 운영체제에 기본 탑재된 ESENT (ESE) 데이터베이스를 활용하여 칼럼, 스키마, CRUD(생성, 읽기, 수정, 삭제) 기능을 추상화하는 API를 직접 구현했습니다. 이를 통해 개발자는 상용 데이터베이스 없이도 어플리케이션 개발에 필요한 데이터베이스 기능을 사용할 수 있게 되었습니다. 제시된 C# 코드 예제를 통해 ESENT 데이터베이스를 초기화하고, 데이터를 삽입하고, 조회하는 방법을 보여주며, 이를 통해 개발 생산성을 향상시킬 수 있음을 강조합니다.
Read more →[단독] 카드번호·현관 비밀번호 줄줄…파파존스 무슨 일
https://mnews.sbs.co.kr/news/endPage.do?newsId=N1008152918&plink=ORI&cooper=NAVER&plink=ORI&cooper=NAVER
자신의 이름과 전화번호, 배달 주소가 적혀 있었는데, 9자리 숫자로 이뤄진 주문번호를 임의로 바꿔 입력했더니 다른 사람의 주문 정보가 고스란히 나왔습니다.
취재진이 제보자와 함께 직접 확인해 본 결과, 주문자가 결제한 카드번호와 유효 기간, 심지어 공동 현관 비밀번호까지 마음만 먹으면 알 수 있는 상태였습니다.
...이거 예전에 KT 놈들 짓이랑 비슷하네 ㅋ
짜증 이빠이 난 개발자에게 스미싱을 한 죄,
데이터베이스 속 쓰레기로 돌려받아랏!
“이미 잘 짠 것 같은데?” 같은 소리까지 나왔다. 쓸데 없는 것은 매번 잘 검색하면서 왜 틀린건 검색을 안해... 심지어 외부 코드도 아니잖아!
국내에서 판매하는 가정용 8포트 유선 공유기가 ipTime뿐이라, openwrt 올리고 싶다는 마음으로 디버그 콘솔까지 열어보고, 결국 납땜해서 시리얼 콘솔 연결해야 되나본데? 하고는, 그냥 돈으로 해결하자(?)라면서 OpenWrt One 과 USB전원 공급으로 충분히 돌아가는 스위치를 사는걸로 끝내버렸는데...
잘 모르는 것에 열심히 하기 어렵겠다 싶어서 포기한 삽질...
국내에서 판매하는 가정용 8포트 유선 공유기가 ipTime뿐이라, openwrt 올리고 싶다는 마음으로 디버그 콘솔까지 열어보고, 결국 납땜해서 시리얼 콘솔 연결해야 되나본데? 하고는, 그냥 돈으로 해결하자(?)라면서 OpenWrt One 과 USB전원 공급으로 충분히 돌아가는 스위치를 사는걸로 끝내버렸는데...
게다가 이거 유저 root임
https://github.com/tylzars/iptime-debug
저도 얘 보고 알았음요 v15.xx 대상이라 지금 최신 펌웨어인 15.10.0에서 작동하니까
관심있는 사람들은 업데이트 서버 막고 CSRF 차단 비활성화 및 원격지원 켜두고 즐기십쇼
마크다운의 특별한 렌더링 없이 봐도 의미론적인 정보를 유지하는 특성을 좋아하기는 하는데, 자동 줄내림을 해주는 편집환경(예: 웹)에서는 줄내림을 줄내림으로 처리하지 않는 동작이 불편하다. 자꾸 까먹고 렌더링 안되는 줄내림을 쓰고는 "아, 맞다" 하게 된다.
진지하게 고민한 것은 아니고, 코드 편집기류에서는 문제 없이 쓰는 것 같은데, 왜 Hackers' Pub이나 Hollo에서는 실수하나 싶어서 잠깐 생각해본 것입니다.
@perlmint 자동 줄내림이라는 게 워드랩 말씀이신가요?
@hongminhee洪 民憙 (Hong Minhee) 워드랩이 아니라 라인래핑이 맞을 것 같네요. 긴 한줄의 문자열을 오버플로우시 스크롤 대신 줄내림 해서 보여주는 것이요.
마크다운의 특별한 렌더링 없이 봐도 의미론적인 정보를 유지하는 특성을 좋아하기는 하는데, 자동 줄내림을 해주는 편집환경(예: 웹)에서는 줄내림을 줄내림으로 처리하지 않는 동작이 불편하다. 자꾸 까먹고 렌더링 안되는 줄내림을 쓰고는 "아, 맞다" 하게 된다.
LogTape 1.0.0 출시 발표
LogTape 1.0.0이 출시되었습니다. 이 로깅 라이브러리는 현대적인 JavaScript 생태계를 위해 설계되었으며, 의존성이 없고 Node.js, Deno, Bun, 브라우저, 엣지 함수 등 다양한 런타임을 지원합니다. LogTape는 라이브러리 우선 설계를 통해 라이브러리 작성자가 사용자에게 부담을 주지 않고 로깅 기능을 추가할 수 있도록 합니다. 이번 릴리스에서는 고성능 로깅 인프라를 위한 비동기 싱크 옵션, AWS CloudWatch Logs 및 Windows Event Log와의 통합, 그리고 개발 경험을 향상시키는 예쁜 콘솔 로깅 기능이 추가되었습니다. 또한, 기존 Winston 및 Pino 로깅 시스템과의 원활한 통합을 위한 어댑터 패키지를 제공하여 LogTape를 사용하는 라이브러리를 쉽게 통합할 수 있도록 지원합니다. LogTape 1.0.0은 안정성과 성숙도를 제공하며, 다양한 로깅 요구 사항을 충족시키는 포괄적인 패키지 생태계를 구축했습니다.
hackers.pub · Hackers' Pub
Link author: 洪 民憙 (Hong Minhee)@hongminhee@hackers.pub
코드에디터의 탐색기 동작을 이렇게 개선하면 좋겠다.
지금 큰 프로젝트에서 이파일 저파일 돌아다니다보면 너무 많은 디렉토리들이 expand되어서 필요한 디렉토리를 찾는게 어려워진다. 이때 expand되어 있는 디렉토리중에, 직접 탐색기안에서 찾아서 들어간 경우가 있고, Go to Definition나 방금 닫은 창 다시 열기 등의 간접적인 방법으로 expand된 경우가 있다. 후자의 간접적인 방식으로 열린 파일이 닫혔을때 이로 인해 열린 디렉토리 중 전자의 방식으로 열리지 않은 것을 자동으로 닫아줬으면 좋겠다. 일종의 가비지 컬렉트?
...인데 https://github.com/microsoft/vscode/issues/150869 똑같은 제안이 있었는데 업보트가 부족해서 나가리됐구나ㅠ
오라클 클라우드 MFA 리셋...
"Github를 공격 인프라로 악용하는 Kimsuky의 최신 국내 공격 사례 분석" published by ENKI. #Kimsuky, #XenoRAT, #DPRK, #CTI https://www.enki.co.kr/media-center/blog/dissecting-kimsuky-s-attacks-on-south-korea-in-depth-analysis-of-github-based-malicious-infrastructure
해커스펍.... 모임.... 아마 가능할 수도 있을 것 같습니다.... 이제 장소와 시간만 구하면 된다.....
로그인은 되어있는데 비밀번호를 못 바꾸는 상태...
어우... 찾았다;
와 신난다... 비밀번호 안치고 MFA로 로그인하다보니까 비밀번호 까먹었다... 왜 비밀번호를 주기적으로 바꾸라고 해서...
로그인은 되어있는데 비밀번호를 못 바꾸는 상태...
와 신난다... 비밀번호 안치고 MFA로 로그인하다보니까 비밀번호 까먹었다... 왜 비밀번호를 주기적으로 바꾸라고 해서...
와 이 도메인을 진짜 왜 아직 아무도 안 샀지??
tauri는 (아마도) 알아서 BE가 의존하고 있는 로컬의 crate의 소스를 watch해서 자동 리빌드를 해주는데, 하위의 모든 파일을 대상으로 하는지, a/b/src-tauri가 a를 의존하면 a/b/src에 있는 FE쪽 코드 변경에도 BE를 리빌드 해버린다. 제외 하는 방법이 이런 경우에는 안먹히는건지, 쓸모 없는 리빌드가 발생한다.
Hackers' Pub에 로그인한 상태에서의 타임라인 구성을 조금 바꿔봤습니다. 기존의 “연합우주” 탭을 “피드”라고 수정했고, “연합우주” 탭과 “Hackers' Pub” 탭은 기본적으로 로그아웃했을 때의 “연합우주” 및 “Hackers' Pub” 탭과 동일한 타임라인이 표시되게 했습니다. 아직 팔로를 많이 하지 않은 분들에게는 “연합우주” 및 “Hackers' Pub” 타입라인이 새로운 콘텐츠를 발견하기 좋은 공간이 될 겁니다.
rust로 재구현 하면 보통 성능 향상이 있거나, 없더라도 벤치마크의 표준편차가 줄어드는 결과가 자주 보이는 것 같다.
bzip2 crate switches from C to 100% rust https://lobste.rs/s/g3wtej #rust
https://trifectatech.org/blog/bzip2-crate-switches-from-c-to-rust/
@perlmint 프롬프트를 어떻게 주었나요? 시스템프롬프트 보다는 인스턴트로 주면 좀 더 낫고, 그래도 안되면 스텝을 쪼개서 여러 파일로 나누어 두고 하나씩 시키면 됩니다
@youknowone 인스턴트로 줬는데 그러네요. 또 큰 일 시켜 볼 일 생기면 파일 통하는 식으로 해봐야겠네요
mmap을 백엔드로 Vec 같은 인터페이스를 쓸수 있는 프로젝트, memvec 입니다. AI의 힘으로 문서를 보충하여 0.2.0 을 릴리즈했습니다. https://crates.io/crates/memvec
와 이건 신기록이다. Claude가 상관 없는 코드를 통째로 1000줄 지움
포기하고 어디 다 하고나면 보자 상태가 되었다
로블록스는... 환상적인 75% 플랫폼 택스를 자랑하는... 정신나간 곳이라 그런진 몰라도 노동 관련해서도 온갖 정신나간 일들이 곁가지로 일어나는 곳이라 애들한테 무슨 일이 일어나는지 정신 빠짝 차리고 봐야 하는 곳인 편...
RE: https://bsky.app/profile/did:plc:a6qvfkbrohedqy3dt6k5mdv6/post/3lrro6f4coc2n
한 단계씩 진행해달라, 단계를 완료하면 피드백을 기다려라 는 아주 무시당하네 ㅠ...
개인 인스턴스로 돌아온 트잉여!