Profile img

초무

@2chanhaeng@hackers.pub · 75 following · 60 followers

4

Optique 0.6.0 is adding shell completion! We already support:

  • Bash
  • zsh
  • fish
  • PowerShell

This covers most users, but should we add more niche shells? Your input helps us prioritize!

5
1
0
0
1
1

지귀연 부장판사가 지난 2월 윤석열 전 대통령 쪽이 구속 취소를 청구한 당일 6년 동안 사용하던 휴대전화를 갑자기 교체한 것으로 드러났습니다. 또 지난 5월엔 더불어민주당이 ‘룸살롱 접대 의혹’을 제기하자 이틀 뒤 불과 3개월가량 쓴 휴대전화를 다시 바꾼 것으로 파악됐습니다.

지귀연, ‘윤석열 구속취소 당일’ 6년 쓰던 휴대폰 갑...

0
1
0
0

SC2TS: TypeScript로 포팅한 스타크래프트 2 리플레이 파서

SC2TS를 공개했습니다. 처음에는 Claude Code를 공부하기 위한 연습 프로젝트로 시작했던 작업이었습니다.

왜 TypeScript로 포팅했을까요?

여러 이유가 있었지만, 크게 다섯 가지 이유로 정리할 수 있습니다.

첫째, 충분히 흥미로운 프로젝트여야 했습니다. 끝까지 완성할 수 있는 동기부여가 필요했는데, 이 프로젝트는 그럴 만한 가치가 있다고 판단했습니다.

둘째, 이미 관련 경험이 있었습니다. 예전에 Blizzard의 공식 라이브러리인 s2protocol에 Pull Request를 보내본 적이 있어서, 프로젝트의 구조와 동작 방식에 어느 정도 익숙했습니다.

셋째, 선례가 있었습니다. 이미 Go 언어로 포팅된 버전이 존재했기 때문에, TypeScript로도 충분히 구현 가능하다는 확신이 있었습니다.

넷째, 적절한 난이도였습니다. 내부 구현을 세세하게 다 알고 있지는 않았지만, 충분히 복잡하면서도 AI의 도움을 받아 해결할 수 있는 수준이라고 판단했습니다.

다섯째, 그리고 가장 중요한 이유는 스타크래프트 2 관련 분석 사이트를 AI 기능과 함께 만들어보고 싶었는데, 기존 s2protocol이 더 이상 공식 지원을 받지 못하게 되었기 때문입니다. 이 문제를 해결하기 위해서는 직접 TypeScript 버전을 만드는 것이 최선의 선택이었습니다.


사실 이러나 저러나.. 중간에 잠깐 휴가도 있었어서 생각보다는 오래걸렸네요.

8
3
1
6
0
0
3

마인크래프트 내에 레드스톤으로 물리적으로 언어모델을 만든 사람이 나타남... 그러니까 간단한 디지털 회로도 아니거 언어모델을 만듬 ㅋㅋㅋ 외부 언어모델을 연결한것이 아닙니다;; 말그대로 트랜스포머를 구축해놨던데 세상은 넓고 천재는 많다... www.youtube.com/watch?v=VaeI...

I built ChatGPT with Minecraft...

1

아시안이라는 말도 짜증나는 데, 세상이 좁고 나뉘어 있던 고대에 터키 일부 지역을 가리키던 말을 거기서 동쪽 전부에 적용해 버렸다. 덕분에 세계인의 60%가 아시안이 되어 버리고 아마존 프라임은 나한테 인도 영화들을 주구장창 추천함

0
1

왜 나는 월드 와이드 웹을 무료로 세상에 내놓았는가
------------------------------
- *Tim Berners-Lee* 가 월드 와이드 웹을 만들고 이를 *무료로 공개* 한 이유를 설명
- 월드 와이드 웹은 *인터넷과 하이퍼텍스트* 를 결합한 단순한 아이디어에서 시작해 전 세계 창의성과 협업을 촉진할 수 있는 도구로 제안된 것
- 성공하려면 누구나 접근 가능해야 했기에, 1993년 *Cern이 지식재산을 공공…
------------------------------
https://news.hada.io/topic?id=23342&utm_source=googlechat&utm_medium=bot&utm_campaign=1834

0
1
1
1
2
0

Auth.js가 이제 Better Auth의 일부가 됨
------------------------------
- *Auth.js(이전 명칭: NextAuth.js)* 가 이제 *Better Auth 팀* 에 의해 유지 및 관리됨
- *Auth.js* 는 JavaScript 생태계에서 가장 널리 사용되는 *오픈 소스 인증 라이브러리* 로 많은 유명 웹사이트에서 활용됨
- 이전에는 직접 인증과 세션 관리를 구현하는 데 어려움이 있었으며, 모든 현장에서 동일한 …
------------------------------
https://news.hada.io/topic?id=23316&utm_source=googlechat&utm_medium=bot&utm_campaign=1834

0

macOS Tahoe에서 일렉트론 애플리케이션이 말도 안되게 느렸던 이유는 Liquid Glass 도입으로 시스템에 전반적 연산이 늘어난게 아니라 Electron이 AppKit의 private API를 잘못 쓰면서 WindowServer에서 GPU를 미친듯이 쓴 것이었다.

https://github.com/electron/electron/pull/48376

5
1
1

패스워드에 특수문자를 강제하면서, 쓸 수 없는 특수문자도 있음 (그래 참는다)

패스워드 입력에 가상키보드를 강제함 (힘들지만 참는다)

가상키보드에 있는 특수문자 중, 쓰면 안 되는 특수문자(*) 가 있음 <---- 이건 뭔 보법인가?

5
0
0
3
0
0

현실 지인들 해준 일본어 썰중에 아직도 웃긴거 학원을 다녔는데 강사님이 출석을 부르는데 ‘긴뫄뫄상~’해서 답이없으면 ‘갯새끼데스네 (결석이군요)’ 그럼 수강생들이 ‘소오데스네(그러네요)’ 이랬다는

0
3
0
1
0
0
0
0
0
0
4
2
0
13
1
1
2
0
0

최근 며칠간 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이 과연 얼마까지 바이브 코딩으로 할 수 있는지를 테스트하는 목표였다면, 이번에는 정말로 목표를 달성하는 수단으로 기능할지 실험해 볼 작정이다.

https://github.com/lifthrasiir/wah/ 정식으로 공개했다. 현재 4800여줄. WebAssembly 1.0 거의 완전 지원, 2.0은 SIMD를 포함해 8~90% 정도 지원하는 정도까지 왔다. 하지만 아직 API 문제를 완전히 풀진 못해서 모듈 링킹이 안 되는 치명적인 문제가 있다...

8
6

솔직히 요즘 아이폰도 RCS 지원 되고 웬만한 요금제로는 문자 무제한인데 이젠 슬슬 언럭키 SMS 아닌가

0