asciinema 3.0 and Tailscale work kinda incredibly well together.
> ssh
> tmux
> asciinema stream -l $(tailscale ip -4):8022
> start slow command
> detach
Then load frood:8022 on my phone and keep an eye on the slow command while watching TV ✨
@hongminhee@hackers.pub · 937 following · 651 followers
Hi, I'm who's behind Fedify, Hollo, BotKit, and this website, Hackers' Pub! My main account is at
@hongminhee洪 民憙 (Hong Minhee)
.
Fedify, Hollo, BotKit, 그리고 보고 계신 이 사이트 Hackers' Pub을 만들고 있습니다. 제 메인 계정은:
@hongminhee洪 民憙 (Hong Minhee)
.
Fedify、Hollo、BotKit、そしてこのサイト、Hackers' Pubを作っています。私のメインアカウントは「
@hongminhee洪 民憙 (Hong Minhee)
」に。
asciinema 3.0 and Tailscale work kinda incredibly well together.
> ssh
> tmux
> asciinema stream -l $(tailscale ip -4):8022
> start slow command
> detach
Then load frood:8022 on my phone and keep an eye on the slow command while watching TV ✨
Git: Introduce Rust and announce that it will become mandatorty
L: https://lore.kernel.org/git/20250904-b4-pks-rust-breaking-change-v1-0-3af1d25e0be9@pks.im/
C: https://news.ycombinator.com/item?id=45312696
posted on 2025.09.20 at 08:17:33 (c=0, p=8)
와, 윈도우즈 지원 계획이 없다던 zellij를 어떤 지인분이 포크 떠서 윈도우즈 지원하는 버전으로 만드셨다...... https://github.com/KudoLayton/zellij
최근 며칠간 WAH라는 이름의 WebAssembly 인터프리터를 만들고 있다. ~와! 샌즈!~
WAH의 특징이라면 C로 작성되어 있는데 헤더 하나로 구성되어 있다는 점과, 거의 대부분의 코드를 Gemini가 짰다는 것 정도일까? (Claude Code도 좀 사용했지만 코드 생성은 Gemini가 다 했다.) Gemini가 디버깅을 시키면 답답한 게 사실이라서 최대한 프롬프트에 정보를 많이 넣고 few-shot으로 생성하게 하는 걸 목표로 했는데 생각보다 잘 되었다. 예를 들어서 한 프롬프트는 다음과 같았다. 저 문장 하나 하나가 시행착오의 결과이다.
@wah.h 에 if~else~end 명령을 구현하고, 대응되는 test_*.c 파일들이 모두 성공하도록 (또는, 해당 테스트에서 잘못된 점이 있을 경우 그 원인을) 고쳐줘. 아직 loop 관련된 코드는 처리할 필요 없고 테스트 중에 그걸 테스트하는 게 있다면 주석 처리해(지우지는 마). 컴파일과 실행은 &&로 한 번에 하도록 해. 정확한 구현 방법은 이래야 해: if~else~end에서 마지막 end는 사라지고, if는 else 직후 명령으로 이동하는 conditional jump로 재활용하며, else는 unconditional jump로 바뀌어(즉 실행기 입장에서 br과 else의 동작은 똑같아야 해! else를 아예 없애고 br로 대체할지 말지는 알아서 정해). 그러니까, if A B C else D E F end G 같은 명령이 있다면 preparsing 이후에는 if <offset to D> A B B C else <offset to G> D E F G 형태가 되어야 한다는 뜻이야. WebAssembly 명세에 따르면 if 문에는 block type이 따르는데, 이 타입을 사용해서 validation을 진행하는 것도 정확히 구현해야 해(block type이 function type (T1..Tn)->(U1..Um)이면 현재 스택에 T1..Tn 타입이 들어 있고 end 이후에는 U1..Um 타입이 들어 있어야 하고, 일반 타입 T가 들어 있다면 ()->(T)와 동일하게 취급함). block type은 validation 이후 preparsing 과정에서 사라져서 런타임에는 반영되지 않도록 해.
솔직히 너무 많이 요구하는 거 아닌가, 안되면 validation 부분을 어떻게 뺄지 고민하고 있었는데 시도 세 번만에 800줄짜리 diff가 떡하니 나오고 일단 보기에는 틀린 부분이 없어서 놀랐다. 물론 삽질도 많이 했는데 가장 많이 한 삽질은 테스트를 작성할 때 수동으로 WebAssembly 바이너리를 짜면서 바이트 숫자를 잘못 세어서 오류가 나는 거랑, 분명 WebAssembly opcode를 사용해야 하는데 자기 마음대로 코드를 정해 버린다거나 하는... 그런 우스운 상황이었다.
우습기도 하고 놀랍기도 하지만 이 코드를 내가 직접 짜지 않는 이유는 귀찮아서...라기보다는 내가 이걸로 하고 싶은 일이 따로 있고 WebAssembly 인터프리터를 만드는 게 주 목표는 아니기 때문이다. (원래 하고 싶은 일은 나중에 언급할 듯.) WebAssembly 구현이라고 하면 기술적으로 복잡해 보이지만, 내 용도에서 유래하는 몇 가지 조건(대표적으로 결정론적인 동작)을 제약으로 걸면 기술적으로 복잡하다기보다는 그냥 노가다에 가까워지기 때문에 끌리지 않는 것도 있긴 하다. 이전의 Angel이 과연 얼마까지 바이브 코딩으로 할 수 있는지를 테스트하는 목표였다면, 이번에는 정말로 목표를 달성하는 수단으로 기능할지 실험해 볼 작정이다.
Thinking about building “#Fedify Studio” (tentative name)—a web-based #ActivityPub debugging & development toolkit, like a supercharged version of ActivityPub.Academy and fedify inbox command. Imagine having a proper UI for testing activities, inspecting actors, debugging federation issues… Would this be useful for other ActivityPub developers out there?
effect-ts 를 사용해보면서 느낀 장점 중 하나는... (단점이 아직 좀 더 많습니다... 3.x 인데도 코어 라이브러리 호출에 예외가 터지는 경험을 함.) async 에 대한 확인 작업이다. 이게 비동기인지 아닌지 걱정하지 않고 코드를 쓰게 된다.
내가 접근 가능한 언어 중 lua 나 ruby 또는 go 를 제대로 쓴적이 없어서 색다른 경험이긴 해. function color 구분하지 않고 호출하는 장점이 이런 느낌이구나.
예를 들면;
const rotationUnit = unit || (yield* getCurrentLogRotationUnit());
물론 상위 함수가 effect 를 위해 제너레이터로 감싸져 있긴 하지만 이 부분은 여러 번 보고 쓰다 보니 익숙해 지더라. callback 함수 강제로 써야하던가 반대로 더이상 안쓰게 되던 경험과 비슷비슷함.
그리고 예외 처리 안하고 모두 값으로 wrapping 하는 것은 여러모로 바람직하다. 다른 플랫폼 기능 안쓰더라도 부분부분 option 이나 result 같은 것만 써도 더 나은 코드를 작성하는데 도움이 된다. 4.0 에는 좀 더 경량화 된다고 하니 업데이트 안되는 패키지 - eg. neverthrow 등 - 쓰는 것보다 그냥 effect-ts 의 에러 관리 기능만 적용해도 좋겠다.
throw 는 아무리 봐도 모던 goto 여...
C++에서 UB는 하드웨어 수준에서는 UB가 아니라고 생각했던 얼마 전에 나어게 경종을 올렸던 글. "Pointers are complicated" 시리즈. 주로 Rust에 관한 글이지만 abstract machine, memory model의 개념은 C++에도 있으며 하드웨어와는 확연히 다르다. 특히 포인터가 얼마나 까다로운 개념인지, 컴파일러가 어떠한 가정하에서 최적화를 수행하는지 다시금 익혔다.
연구자로서, 또한 한 명의 개발자로서 현 세대에 항상 궁금한 것은 AI가 얼마나 도움이 되느냐이다.
Haskell, OCaml은 말할 것도 없고, JavaScript, Python도 AI와 써 본 경험으로는 그들이 큰 도움이 되느냐는 질문에 자신있게 "그렇다"고 하기 힘든 경험만 해봤기 때문이다.
내가 코드의 형식에 대한 집착이 너무 심한 것이 원인일 수는 있겠으나... AI가 준 결과를 여기 바꾸고 저기 바꾸다보면 결국 내가 쓴 처음부터 코드가 된다.
얼핏 드는 생각으로는 거의 "타입도 없고 문서화도 잘 안되어 있는 환경에서는 사람들이 기능을 이해하기 어려우니 AI를 쓰겠다..."싶다가도, "그러면 내가 잘 아는 분야에 대해서 왜 AI를 써야하지?"하는 생각도 떨치기 힘든 상황이 자주 찾아온다.
결과적으로 나는 AI를 사용하려는 시도를 (적어도 일시적으로는) 멈추었다.
요즘 바이브 코딩이 유행이라길래 (그리고
@hongminhee@hackers.pub洪 民憙 (Hong Minhee) 님 글 보고 넘 좋아서 배워야 할 것 같아서) 일단은 학생은 제미나이 유료 플랜이 공짜길래, 제미나이 CLI로 코딩해보고 있습니다... 신기하네요
자기소개: 바이브코딩 116일차... 여전히 아는 건 없고 어떻게 동작하는지 모르겠지만 어쨌든 굴러가니 된 게 아닐까??의 마인드를 갖고 있는 삐비에요. 이번에
@kodingwarriorJaeyeol Lee 님이 추천해주신 #100일챌린지(오츠카 아미 저)를 읽고 감명을 많이 받았어요. 삐비도 해보고 싶다는 마음으로 해커스펍에 가입하게 되었습니당! 여태 바이브 코딩을 가챠 돌리는 느낌으로 해왔더니 한계가 많이 보이더라구영... 진심 어디서부터 시작해야할지 막막하지만, 100일동안 어떻게든 열심히 해보겠습니다...!!!!!!!!!!!
매일 최소 한 시간씩~! 바이브코딩 위주(할 줄 아는 게 이것뿐이라!)에 공부를 곁들이는 식으로~! 100일 챌린지 시작해보겠습니다!
問題としてソフトウェアがAGPLだと感染する (個人的にはプラグインが拡張するソフトウェアのコードを含まない限りコピーレフトの制約に縛られることを望んでいない)のでどうしようってなる
この場合はプラグインAPIの概念をコアに分離してKagura (Mastodon API, Admin UI等)自体をそれのプラグインとして実装するのが妥当なんだろうけど悩む
ただその場合はコアにapkit.serverを実装しないと結局ライセンスに縛られかねない (Mastodon APIの実装側をAGPLにする方針の場合)
이제 자신이 보여주고 싶지 않은 추천사를 가리는 기능도 추가되었습니다. 메인 페이지에서 링크 타고가시면 사용 가능해요. 많은 이용 부탁드립니다.
https://referral.akaiaoon.dev/ 이 링크에서 사용 가능하고, 내가 받은 추천사는 https://referral.akaiaoon.dev/u/:username 으로 볼 수 있습니다. 아래 말코링님의 추천사 리스트를 참조해 주세요.
이제 초기 C# 개발은 Cursor, Amazon Kiro, Windsurf, 혹은 VS Code에서 손쉽게 시작할 수 있습니다.
저는 .NET 10 출시 시점에 맞추어 File-based App 템플릿 팩을 준비했습니다. 곧 업데이트를 통해, 템플릿 내에 바이브코딩(Vibe-coding) 지시 파일도 포함될 예정입니다.
템플릿 중에는 .NET Aspire는 물론, C# AWS CDK 템플릿도 있습니다. :-D
이제 전통적인 .NET 개발 방식과는 전혀 다른 경험을 열어줄 수 있다고 확신합니다.
최근에 잔뜩 오라클 클라우드를 욕하고 다니긴 했지만 계속 고민해봤는데 비용문제가 제일 커서 쓰는게 맞을 거 같다... 뭔가 오라클라우드의 단점을 쿠버네티스로 상쇄할 수 있을 거 같음 (자체 오토스케일링 등을 안 쓰고 쿠버네티스로 하기 등등)
We’re in the discovery phase to #FreeJavaScript from Oracle: depositions, surveys, evidence, expert testimony. Costly, but vital to protect "JavaScript" for all.
Help us put forward the strongest case possible👇
코딩? 코딩이 뭐지? ㅇㅅㅇ….??
모바일에서 키보드 위에 툴바 떠있게 하는게 이렇게 어렵다고..?
초대장이 세개있는데 누굴 주지
메타가 실시간 AI 시연하는데 한국식 고기 양념 만드는 법 알려달래서 AI가 배 갈아 넣으라고 하니 잘못된 줄 알고 청중들은 비웃고 시연자도 쨌다고 함ㅋㅋ;;;
대충 세어 봤는데, 오늘 가입하신분만 20명 정도 되시는 듯. 완전 짱이다
카톡 인앱 브라우저나 네이버 앱은 Notification이 없어서 에러 나더라... 인앱 브라우저 너무 싫어
초대장을 한번 털어내야 하는데 딱히 풀만한 곳이 없다
안녕하세요 처음 가입했습니다
요즘 일본어 공부할 때 사전형 단어 같은 거 학습할 땐 파파고에다가 단일 단어 위주로 해서 바로바로 그냥 한국어 입력해서 번역된 거로 배우고 (예문이랑 같이 떠서 좋음), 맥락이라든가 뉘앙스 혹은 collocation이 어떻게 이루어지는지 알고싶을 때(소위 말하는 '어감')는 LLM이 출력해준 걸로 배운다. 어릴 때 영어 배울 땐 후자에 대한 학습을 명시적으로 받지 않아서 직접 원서 읽거나 드라마나 영화 보면서 자연스럽게 체득하거나, SKELL 같은 collocation/thesaurus 사전을 활용한다든가, 원어민들한테 하나하나 물어보면서 깨부하면서 배웠는데 LLM이 그 역할을 완벽히까지는 아니더라도 어느 정도는 하는 것 같아서 좀 편함...
그나저나 나 지금까지 파파고 규칙기반+인공신경망 조합으로 학습된 건 줄 알았는데 (연식이 좀 된 플랫폼이니깐) 문서 보니깐 인공신경망만 썼나보네...정확히 무슨 모델을 썼는지는 안 나와있는데 인코더 디코더랑 병렬코퍼스가 언급되어 있는 걸 보니 seq2seq 같은 거 쓰는 걸까 싶다.
Hello, World!
[요즘IT] Context7 MCP로 AI를 똑똑하게 만드는 방법 https://yozm.wishket.com/magazine/detail/3223
우와 패스키 지원되는구나
오늘의 의사결정 방법
혁신적인 프레임워크(Solid)로 도전하는 혁신적인 서비스 해커스펍(?)
HelloWorld
@hongminhee洪 民憙 (Hong Minhee) 님의 추천으로 클로드 코드를 쓰고나서 결국 커서 구독을 해지했다. 깃헙 코파일럿의 에이전트보다도 커서의 에이전트가 플래닝을 못한다는건 알고 있었는데, 클로드 코드는 그것보다 몇단계는 더 잘한다는 느낌이다. 그렇다보니 점점 탭 컴플리션을 안쓰게 되어서, 코드로 충분하다는 생각.
이제 자바 메인을 이렇게 써도 된다니 놀랍군요
void main() {
var name = IO.readln("What is your name? ");
IO.println("Hello, " + name);
}
하스켈은 이렇게 씁니다! 참 쉽죠!
main = do
putStrLn "What is your name?"
name <- getLine
putStrLn ("Hello, " ++ name)
Public static void main(String[] args)는 죽었다
------------------------------
- 이제 Java의 첫 번째 프로그램은 더 이상 *public static void main(String[] args)* 로 시작하지 않고, 단순화된 *void main()* 문법으로 작성 가능해짐
- 새로운 문법에서는 *IO.readln* 과 *IO.println* 같은 간단한 호출만으로 입출력을 처리할 수 있어 코드가 훨씬 직관적으로 바뀜
- 기존의 *new Sc…
------------------------------
https://news.hada.io/topic?id=23138&utm_source=googlechat&utm_medium=bot&utm_campaign=1834
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ대유쾌마운틴이다이글지금도맨위에있네
절 팔로우하시면 코딩뉴비의 신선함을 맛볼 수 있음. 훈수의맛tv
슬슬 Neovim을 파볼까? 그 전에도 vim을 잠깐 잠깐씩 썼긴 했지만..그와는 별개로 예나 지금이나 그 터미널 화면 갬성이 너무 설레게 하고 좋다. 여튼 Neovim 입문서나 영상 추천 받습니다!!
어제 듀오콘 다 봤는데 뭔가 쓰고 싶은 말이 많다
원래도 좋아하는 앱인데 듀오콘 보고 더 좋아졌어...
주말에 각 잡고 길게 써봐야지...라고 생각했는데 요즘 it에 먼저 올라왔네 이런
그래도 해당 글은 저랑 중점이 다른 것 같으니 제 글은 주말에 한 번 써보겠습니다
https://yozm.wishket.com/magazine/detail/3351/
First-version of My ActivityPub Implemention
洪 民憙 (Hong Minhee) shared the below article:
01010011 @01010011@hackers.pub
이 글은 개인 정보 보호가 강화되는 시대에 모바일 어트리뷰션 획득 방식이 어떻게 변화하고 있는지 설명합니다. 과거에는 IDFA, GAID와 같은 광고 식별자를 통해 정확한 측정이 가능했지만, 이제는 Apple의 SKAdNetwork(SKAN)와 Google의 Privacy Sandbox와 같은 개인 정보 보호 프레임워크를 통해 확률론적으로 어트리뷰션을 획득해야 합니다. SKAN은 Apple이 데이터 측정의 심판 역할을 하며 제한된 정보(Conversion Value)만 제공하는 반면, Privacy Sandbox는 광고 생태계 참여자들이 자체적인 프라이버시 보호 솔루션을 구축할 수 있도록 빌딩 블록을 제공합니다. 특히 Privacy Sandbox는 사용자 디바이스 안에서 Ad Network 정보와 매칭되는 어트리뷰션을 생성하고, Attribution Reporting API(ARA)를 통해 익명화된 리포트를 수집합니다. Ad Tech 기업들은 암호화된 리포트를 받아 클라우드 보안 환경(TEE)에 Aggregation Service를 구축하고 운영하여 데이터를 처리해야 합니다. 이 글을 통해 독자는 개인 정보 보호 시대에 모바일 어트리뷰션을 어떻게 획득하고 활용할 수 있는지에 대한 인사이트를 얻을 수 있습니다.
Read more →파도타기 하다보면 팔로우할만한 사람들이 이렇게나 많은데...!! 라는 심정으로 트위터에 연합우주 계정 정리하는 타래 적고 있음 https://x.com/kodingwarrior/status/1965606406507430247
꾸준함이 변화를 만들어낸다...!!!
#해커스펍지식인: 안드로이드 연합우주 앱 중에 해커스펍을 지원하는 것이 있나요?
django 쪽 코어 개발자들 생각보다 연합우주에 많은 듯.
관심 있는 분야의 논문을 열어봤는데 187페이지야.........
https://duocon.duolingo.com/
오늘 새벽 1시(한국 시간 기준)에 진행된 듀오콘 링크입니다~
언어 학습뿐만 아니라 듀오링고 앱 개발 관련된 내용도 있어서 한번씩 보셔도 좋을 것 같습니다🦉