Yoonho Hwang
@youknow04
Followers
719
Following
7K
Media
103
Statuses
3K
programmer, trader, daddy, scientist, geek & nerd
Joined December 2009
이걸 컴공학생 90% 가 못한다고? 싶어서 트롤링인줄 알았는데 진지하네;;.얼마전에 한국쪽 CS 교수님이랑도 얘기하다가, 학생들이 숙제는 잘 해오는데(LLM. ?) 시험을 못봐서 고민이라고 하시던게 생각났다. 한국은 괜찮을까?.
i have a very simple question i ask during phone screens: print each level of a tree on a separate line. 90% of CS grad candidates just can't do it. someone needs to investigate these universities.
10
243
538
결국 엄청 똑똑한 친구들이 모여서 인간들을 플랫폼에 더 잡아두는거 연구하며 광고수익의 재료로 사용한다는 점에서 영화 매트릭스가 생각난다. 그걸 위한 숏폼 컨텐츠 같은것들이 다른 모든 컨텐츠(영화, 책등 부터 오프라인 PC방까지) 시장을 죽이고 있다는 점에서 디스토피아 느낌도 남.
최근에 트위터에 인도 학력고사 최고득점자들의 커리어를 소개하는 타래들이 있었는데, 그 중 IMO 수상자들도 제법 있었지만 결국은 CS 박사하고 빅테크에서 import torch 하는 사람들이 상당수라서 두가지 생각을 함. 첫째로, 명문대 커리어 바라보고 올림피아드 준비하는건 인도도 마찬가지구나.
0
216
227
비슷한 이유로 우리는 작년부터 면접에 LLM 을 쓰고 있다. 피차간에 시간소모가 너무 많은 코딩 면접보다는,.회사가 하는 일이랑 대충 비슷한 코딩을 LLM한테 시킨다음에.지원자에게 그 코드의 리뷰를 맡기는 식. 이러면 너무 쉬운코딩은 LLM이 대충 이미 해줘서, 면접시간에 굳이 스크래치부터.
AI가 모든 코드를 짜 주는 시대가 되고 있기 따문에, 소프트웨어 엔지니어는 더더욱 기본 공부에 충실해야 한다. AI에게 지시하기 위한 스펙을 구체적으로 작성하고, 지시를 정확히 따라 코드를 작성했는지 확인 할 줄 알아야하기 때문이다.
2
99
210
"코드를 방어적으로 작성" 은 조금만 어긋나면 부채처럼 쌓이는 문제가 있는데, 난 학생때는 몰랐다. 간단한 예로 None 이 아니어야 하는 코드에 방어적으로 None 핸들링을 해두면 나중에 코드를 볼때 None 일수도 있을것 같은 영역이 번진다. 차라리 그자리에서 터트리는게 장기적으론 생산적임.
GN⁺: 대규모 기존 코드베이스에서 엔지니어들이 저지르는 실수 .- 대규모 코드베이스에서 작업하는 것은 소프트웨어 엔지니어에게 가장 어려운 일 중 하나임. 개인 프로젝트나 오픈 소스 프로젝트로는 이러한 경험을 얻기 어려움 . - 수백만 줄의 코드, 100-1000명의 . .
0
96
177
행렬곱체인 최적화는 다이나믹프로그래밍으로 잘 풀 수 있는 문제지만,.체인 말고 그냥 for루프를 행렬곱 라이브러리로 변환만 할 수 있어도 속도가 많이 빨라진다. 인류가 극단적으로 최적화한 구현체이고, n이 커지면 이론적으로도 실질적으로도 행렬곱을 O(n^3) 구현체보다 빠르게 할 수 있기 때문.
소개팅남에게 서버터진 이야기나 행렬 곱셈으로 최적화 문제 해결한 이야기 한 시간 넘게 듣고 커피챗 온 건지 헷갈렸다는 지인에게 다음엔 라이브 서비스 장애 대응 및 부검, 후속 액션아이템 수행 이야기 너는 두 시간 해보라고 조언했다. 이거 구린라이튼가요?.
0
53
101
python 에선 json 속도가 이슈라면 일단 orjson 을 끼얹어보면 좋다. orjson 은 rust 로 구현돼서 엄청 빠르고, 혹시 python 에서만 쓴다면 더 빠르게 바이트 상태로 쓸 수도 있다. 여러 언어 쓰는 큰 프로젝트에선 바꾸는게 쉽지 않으니, 일단 가성비로 json 상태에서 속도 날먹부터 해보면 좋음.
MessagePack - JSON과 비슷하지만 작고 빠른 이진 직렬화 포맷 .- 효율적인 Binary Serialization 포맷 .- JSON처럼 여러 언어 간 데이터 교환 가능 .- 작은 정수는 단일 바이트로 인코딩, 짧은 문자열은 문자열 자체에 추가 바이트가 하나만 더 필요 .- 50개 이상. .
3
29
91
공감되는 글이다. LLM 한테 생산성 부스트를 받으려면 코드베이스가 클린해야함. Clean Code 책에서, 1번 write 한 코드를 n번 read 하게되면 readability 가 높은 클린코드가 생산성을 올린다는 얘기가 인상적이었는데,.이젠 인간뿐 아니라 LLM 까지 read 하기에 클린 write 가 더더 중요함.
GN⁺: AI가 기술 부채를 더 비싸게 만드는 이유 .- AI가 코드 작성과 정리에 도움을 주기 때문에 **기술 부채(tech debt)** 가 덜 중요해질 것이라는 믿음이 있음 .- 하지만 실제로는 AI가 기술 부채의 **비용을 더 크게** 만들고 있음 .- **낮은 부채**의 코드베이스. .
2
37
88
우리 초창기 파운더's 코드에 심각한 문제가 있었는데, 주요 데이터에 DB를 안썼던거다. 흐름은 대충 이런데. 1. 극초기에 DB셋업하기 귀찮으니 일단 파일에 json으로 대충 씀. 2. 파일 blocking I/O 때문에 성능이슈 발생함. 근데 생각해보니 로거는 이미 제대로 세팅해놨고, 효율적인 async file.
센세의 반어적 개그를 진실로 믿는 분이 없기를 진심으로 바랍니다. 직접 해본 적은 없고 당해본 적(외주로 인계받은 코드ㅠ)은 있는데, 파편화 된 데이터들 수집해서 모아오는 작업하다가 코딩 그만하고 싶었어요ㅋㅋㅋ.
1
40
85
현실이 자유도 높은 RPG 게임이라 생각하면 재밌는 편이기도 하고,.외국애들도 고학력자들은 발전하는거 좋아라 하는 애들 많더라. 한국의 문제는 발전해야"만" 하는듯한 분위기라는게 좀 더 정확할것 같다. 일상에서 너무 사적인 질문까지 하며 발전에 관심 없는 사람을 후드려 팸.
한국인 특징.자꾸 지금상태에서 발전하려고함;;.사실 외국나와서 보니까 대부분의 사람들은 발전하는데에 크게 관심이 없음;; .무슨 경험이나 공부, 도전 뒤에 발전을 하면 하는거고 안하면 어쩔수없는건데 자꾸 기를쓰고 발전을할라고함;; 자기맘대로 되는게아닌데. .
0
52
66
이게 올해 2월이네 LLM 쪽 발전 진짜 빠르다. 자꾸 코드생성 생략하는 laziness 이슈 있어도 어쩔 수 없이 쓰던 GPT-4 는 이젠 안쓰고있고,.오픈모델중 코딩쪽은 최고던 deepseek-coder-33b 는 훨씬 작고 좋은 모델들이 나오고,.MLX 는 놀라운 속도로 발전해서 mac에선 llama.cpp 보다도 빨라졌다.
LLM 찍먹은 이제 그만하고, 로컬에서 사용할건 deepseek-coder-33b 로 정했다. 정하고 나니 이제 속도가 아쉬워서 apple silicon 전용 라이브러리인 MLX 를 써서라도 가속하려 했는데, 같은 quantization 에서도 MLX 쪽이 더 느리다?.MLX 아직 너무 방금 만들어져서 그런가 봄.
1
22
73
비슷한 이유로 우린 릴리즈하다 사고치면 출근하는날 점심메뉴는 소고기다. 빠른 릴리즈가 가져다주는 개발속도 향상이 커서 약간 위험할 정도로 공격적으로 릴리즈하고 싶은데, 이게 양날검이라 조심도 해야하는데, 사고 쳤다고 문책 당하면 결국 빠른 릴리즈를 못하게 됨. 근데 사고 쳤을때.
이전 회사 퇴사 사유중 하나. 옆 조직이었는데 장애 한 번 냈다고 SRE팀 폭파시킴 .비용 최적화 때문에 인프라 변경 플랜을 진행중이었는데 맨 마지막으로 미룬 무서운 변경을 위에서 강압적으로 밀러붙여서 충분한 테스트 없이 진행했다가 터짐. 그거 실시간으로 보고 질려서 퇴사.작업이 바텀업으로.
1
32
70
미국은 경찰력을 너무 남용하는 업장에 대해서 시에서 폐쇄조치 까지도 할 수 있던데, 우리나라는 공공자원의 효율적 분배를 위한 대응 메뉴얼이 부실한것 같다. 윗분들이."아무튼 너가 시끄럽지 않게 처리해. 난 책임 없는거다?" 로 굴리니까, 목소리 큰 이용자만 이득보는 구도가 됨.
무인점포 2시간마다 순찰 요구, 경찰 "우리가 경비원이냐".점주들은 사소한 분쟁부터 절도까지 모두 경찰에 신고하고 있습니다. 이 때문에 경찰 내부에선 "점주가 부담해야 할 매장 경비·관리 책임을 경찰이 떠안고 있다"는 불만 섞인 목소리가 커지고 있는데요. "1천 원짜리
1
82
52
모두가 cursor 를 쓰는것도 아니고, 아무래도 개발환경은 각자 취향이 있는거니까. 혼자 LLM 덕질 한다는 느낌으로 구석에서 메타데이터 쌓고 있었다. 근데 CTO 님이 이거 보시더니 좋다고 .cursorrules 로 레포에도 써버리자고 하심 ㅋㅋㅋ.와 신난다~.
이건 진짜 고민만 하는것 같아서 일단 지르려고 첫삽 떠버렸다. 메타데이터에 대한 고민 같은건 때려치고,.그냥 작업하다 코드베이스 전반에 대해 LLM 에게 전달할만한 암묵적 지식이 생각나면 계속 쌓는다는 느낌으로. 크리스마스 이브니까 작은 스노우볼이라도 굴려보자? ㅋㅋㅋ.
1
7
53
rust 쓰는 입장에서 혹하긴 한데 이게 될까 싶다. 차라리 rs->c 라면 몰라도, c->rs 는 더 자유로운 언어를 더 제한된(더많은 정보에 기반한) 언어로 바꾸는 작업이 될 수 밖에 없는데, 정보가 없는 상태에서 어떻게 제한하려는거지?. 사실 잘 안될것 같은데 DARPA엔 외계인 있을 수도 있으니까 혹시?.
미국의 DARPA에서 모든 C,C++코드를 자동으로 Rust로 변환하는 TRACTOR(Translating All C into Rust) 프로젝트의 출범을 예고했습니다. 이제 정말 Rust붐이 오려나 봅니다. 첫째 지난 백악관 발표와 달리 C,C++의 대체 언어로서 java, c#이 아닌 Rust를 콕 짚어 이야기 하고 있으며 둘째,단순 권유가
3
11
47
알고리즘 시험 문제에서 이러면 진짜 환장한다. 점수는 받고 싶어서 어떻게든 상상력을 발휘해서 써놓은 알고리즘은 채점하려면 조교가 대뇌로 따라가며 디버깅 해야함. 그렇다고 일반적인 방식이 아닌걸 다 틀렸다고 할 순 없고,.진짜 이상하지만 아무튼 맞게 푸는 학생들도 가끔 있음 ㅎㅎ.
개인적으로 대학교에서 “공부하지 않아서 모르겠음”을 적으면 ���본점수를 주고 아무말을 적은 사람들에게 0점이 주어질 수 있는 가능성을 줘야 한다고 생각한다. 1. 대학원생들이 이게 왜 0점이 아닌지 이유를 지어내는데 들어가는 자원 절약.2. 최소한 자기가 모른다는 것을 인정할 있는 열린 사고.
4
13
33
조회수 높은 유튭의 철학과 교수님이,.LLM 도 결국 universial gate 인 XOR 만으로 구현 가능한 계산기라 인간과 다르다시던게 생각난다. 왜 하필 NAND/NOR 가 아니라 XOR 이라고 틀렸을까, 발표자료에 XOR 그리며 왜 몰랐을까, 저정도 이해를 얼마나 큰 담론까지 확장하는 사람인가가 상상돼서 후략.
현대의 인문학자도 연구분야에 대한 심취가 좀 도를 넘어서버리면(. ) “이 세상 모든 이야기에, 내 전공분야 관련된 이야기를 얹을 수 있는” 상태에 도달하게 된다. 그게 참 놀라운 일이면서도 경계해야 하는 상태인게, 정말 건조하게 제3자가 볼 때는, 정말 그런 몰맥락 깔때기 논법이 없기 때문. .
1
17
32
eventual consistency 만 만족하도록 제약을 풀어보면 생각보다 성능을 올릴 여지가 많긴 하다. 많은 코드들이 결국은 state 에다 event 마다 diff 를 가하는거니까, diff 좀 병렬로 끼얹어도 대부분은 상관 없다는 느낌으로다가.
@if1live 대용량 결제/거래시스템은 거의 모든게 eventual consistency 의 힘이라고 보시면 됩니다.
1
6
32
아이들이 소소한 위험을 감수하며 주변환경과 상호작용하고, 거기서 소소한 성취를 반복할 수 있는 기회를 줘야 하는데. 안전을 우선한다며 기회를 박탈하고, 정작 보호해줘야 하는 디지털 세상에선 오히려 방치하는 현대 육아와도 관련이 있는것 같다. 세계적으로도 최근 청소년 자살률이 늘었음. .
제가 한국 사회를 트레드밀에 자주 비유하는데요. 지난 십년간 트레드밀 속도도 빨라졌지만 트레드밀에 오르는 시기도 눈에띄게 앞당겨졌습니다. 숫자로 두배라고 하지만 인구 감소를 생각하면 두배 이상입니다. 상담교사 인력 확충 뿐 아니라, 초등학교때부터 스스로의 감정을 읽고 명명하는 교육,
1
31
30
작년 이맘때 LLM 덕질 하면서 느낀게, deepseek 엄청 좋은데 이상하게 서구권 모델보다 저평가를 받는거였다. 예를들어 듣보잡 취급 한다거나 LLM 관련 툴들에서 deepseek 모델 지원을 안해준다거나. 근데 이번에 R1 관련 사람들 평가 보니까 1년새 인식이 많이 바뀐것 같다. ㅎㅎ.
M3MAX 의 120G 메모리는 컨슈머 스케일을 훌쩍 넘기는 LLM 도 찍먹 할 수 있어서 좋다. 짬짬이 gpt4, mixtral, miqu, deepseek-coder-33b, wizard-coder-33b, codellama-70b 를 테스트 해봤는데,.github copilot (혹은 GPT4)이 게을러서 못하는 업무에는 deepseek-coder-33b 을 사용할것 같다.
1
5
29
학부때 동아리에서 물리엔진 만들다가, 지형 A,B에 서로 다른 경사가 있을때 A->B 용 rotation matrix 를 정의하는게 쉽지 않다는걸 깨달았다. 근데 한 후배가 조금 고민하더니 게임은 탑뷰에서의 정면방향 일관성이 목표니까 자기가 해결할 수 있을것 같다며 cross product 를 활용하는 솔루션을.
the trick i’m using to get some decent looking balancing is to model the upper and lower spine separately. my thinking is that the lower spine is where all the balance happens (since it’s entirely manipulated by the abdomen muscles), and the upper spine we kind of use to try to
0
12
25
Bloom 필터가 뭘까 궁금해서 LLM 한테 물어봤는데 재밌는 알고리즘이네. 신규 원소 추가시 n개의 hash 알고리즘을 사용해서 n개의 bit 를 1로 바꾸고,.어떤 원소를 동일하게 n개로 hash 했을때 n 개의 bit가 모두 1일때만 존재할 수 있는것으로 판별함. 캐시(SRAM) 생각하면 엄청 효율적일것 같다.
GN⁺: Bloom 필터로 10배 빨라진 SQLite .- SQLite는 디스크에 B-트리 구조로 저장되는 행 기반 저장소로, VDBE라는 가상 머신을 사용하여 쿼리를 실행함. 플랫폼에 구애받지 않고 단일 스레드로 거의 모든 환경에서 실행 가능함 .- 일반적인 용도의 데이터베이스이지만. .
0
2
25
좀 다른경우긴 한데, 타입힌트 없이 구현했던 방대한 python 코드를 pyright(strict)로 통과시키는 수정을 지금도 달고 있는데 비슷한 접근을 하고 있다. "조금씩 점진적으로"가 핵심인것 같아서 요 부분을 CI에서 강제했는데,.1. 블랙리스트 파일을 만들고 현재의 모든 py코드를 추가함. 2.
디자인 시스템을 도입하는건 생각보다 쉽지 않은 일이다. 시스템이 있으면 모든 직군에게 이득이 되지만 대부분 실패한다. 실패하는 케이스들에 대해서 이야기를 들어보면 대부분 개발자 비협조, 조직 우선순위 낮음, 리더쉽 부재 등등이 있다. 나는 개인적으로 다음과 같이 접근하면 어떨까 한다.
1
7
24