cho.sh
2,244 notes
Liked on XI made a mistake. When Jack and I decided to organize this $100K Hackathon, my biggest concern was cheating. Unlike a regular hackathon, everyone participates from home. And because the winner is whoever makes the most PROFIT (not revenue), there are so many ways to manipulate the numbers. So I added a $99 entry fee. One thing I’ve learned from building businesses is that people tend to be more committed when they pay for something. I thought it would filter out spam, attract serious builders, and make the competition fairer for everyone. But I completely missed the other side. 3 years ago, I was a living with my apps. Today, I’m financially free. My life changed so much that somewhere along the way, I lost perspective on what $99 means to someone else. For someone in India, someone struggling to pay their bills, or someone trying to make their first dollar online, $99 can be a lot of money. And those are exactly the people I want to help! I’ve spent years sharing what I’ve learned, reviewing random people’s landing pages, and organizing free meetups around the world. Not because there’s money to make, but because I genuinely love seeing people build things and succeed. And somehow, I was so focused on keeping cheaters out that I didn’t realize I was also keeping genuine builders out. That’s my mistake. So I’ve decided to make the $100K Hackathon completely FREE :) Everyone who already paid got a full refund. I’m still worried about cheating. That problem hasn’t disappeared, and Jack and I will have to figure out better ways to verify profits and keep the leaderboard fair. But that’s our problem to solve. Thank you to everyone who shared their thoughts. Sometimes you need people to remind you of things you’ve forgotten. I genuinely hope this hackathon changes someone’s life. ❤️Liked on XIt’s time to bring back Cafe CursorPosted on Xyo @pendev i can't live share edit a .pen file? it's the most needed featurePosted on XI'm coining a word "Agentsplaining" Agents condescendingly assuming the user don't know fuck and repeating the obviousReplied on X@jayhxmo @raycast Hard to explain. It's the small detailsPosted on X@raycast iOS keyboard is insanely good. Might resub Raycast pro just cuz of thisReplied on X@ishuagra02 I saw a theory that F5.2 is a post train of 5.1, but O5.5 is a distillation of F5.5(unreleased new pretrain) and thats why O5.5 > F5.2Liked on X@anaclumos don't know what is actually improved 👀Posted on Xam i the only one underimpressed with 5.2 fableReplied on X@bvvst great minds think alike https://t.co/YRFWhb1mcOLiked on XClaude Fable 5.2 is out and it's the perfect time to run this god-level prompt on your codebase: "I want you to audit our codebase, is anything here unnecessary, overly complicated in our current setup, or based on weak assumptions? Challenge them. - What can be deleted entirely? - What can be simplified now that unnecessary pieces are gone? Then make the changes. Prefer deleting over simplifying, simplifying over optimizing, and optimizing over automating. This product is being used by thousands of customers, do not cut any corners." This prompt is one I run often and leads to the best results.Replied on X@akshayadinesh19 @bot can we please BYOM for botsLiked on XTo be fair, the Chinese models have a much lower refusal rateLiked on XF*CK IT, im creating a library of AI slop indicators. my feed is full of taste larpers. stay tuned https://t.co/5Muv8nQRm3Liked on XJENSEN! THATS NOT WHAT WE MEANT BY CHINESE MODELS!!!!!!!Liked on Xmy parents had to declare bankruptcy when I was a kid, so they had every reason to pressure me towards a more stable career path instead, they were so patient with me, even as i failed startup after startup for years so getting to tell my mom that everything turned out okay was a really special moment :) for those who can't read Korean, her first message roughly translates to: "Really!!! Congratulations my son. So much :') Thank you God!" i know I've been posting about my exit for like a week now, but it really is a big deal for me and my family! i'll share more about how this all happened and some tactical advice later this week, but for now i'm just riding out all the emotions to quote my mom, thank you God!!!!Liked on X@thefarmers_Dog it stands for Egg GzampleLiked on X🦍 Introducing Memorilla: memory as a modality for LLMs Memorilla turns everything a frozen LLM needs to remember into just 16 memory embeddings ⚡ It uses up to 4,212× fewer tokens and is 27× faster than full context inference while more accurate 🎯 Pushes the Pareto frontier over RAG and agentic memory in personalization, long-document and knowledge QA A thread 🧵:Liked on XThere's a huge product opportunity downstream of Tailscale etc too. At @tldraw we've started designing for "high trust networks" and it's been a beautiful thing. 1. Features that would be a nightmare on the internet are okay on my computer and mostly okay on private networks. Websites that execute user-generated scripts, control production systems, allow for users to send desktop notifications, spend tokens, or directly prompt my agent. Crazy stuff that would only make sense if everyone was in a committed polycule. 2. When everyone on the server can be trusted to have _external_ reasons for good behavior (eg keeping their job, or maintaining friends, family, church, mafia org), the software can be designed in a default social way. Most apps default to isolation, low horizontal visibility, highly restricted collaboration. Makes sense if the social contracts are inside of the app, but if you can trust that they live outside of the app then you can get wild. Example being small group chat names as an emergent comedy phenomenon because anyone in the group can change the name. 3. This can work for commercial products, too, not just internal stuff. Security matters more than ever but the way we've seen that manifest is that more companies are more confident in their own solutions than anything we could provide, to the point where owning data and access is a better value proposition than having it managed. Always has been true for big companies but now even small companies can get a good secure network set up pretty easily, and the hooks we need to build are easy enough. tldraw offline got us started down this road (and shout out to @pendev for first introducing me to the idea of desktop + mcp). We've been bringing that product to private networks and it's been exciting to see how much we can get away with. Keep an eye outReplied on X@saradu birds eye viewLiked on XApplications close in 2 days!! If you have a cool bio idea, and $5-10k will go a long way for you, please apply!!! https://t.co/NCvmrNC53cLiked on XWe've been early adopters of Rust since 2018 and a lot of our infra, voice tech, and even some of the current client is already Rust, the holy grail was getting the whole client there. That means Electron goes away, and so does React Native, mobile keeps native UI but shares app code with desktop via Rust. We hope to get it into testing with users soon™. (And it's not Tauri, it's GPUI, so good guess everyone.) Alright, back to staring at the WoW Forever login screen.Reposted on XOh boy. https://t.co/X7SSskGuGvLiked on XRIP .si domain squatters
디지털 브레인과 개발에 대한 질문 편지 (24誠鉉 2월)

디지털 브레인과 개발에 대한 질문 편지 (24誠鉉 2월)

Warning

Over a year old. May be outdated

에 받은 유승현 님의 편지 속 질의응답들이다.

프로그래밍 언어 및 프레임워크 학습에 관하여

저는 특정 언어나, 프레임워크를 배우려고 할 때, 공식 홈페이지의 문서를 보며 학습하는게 가장 좋다는 것을 알지만, 결국 강의나 블로그에 의존하게 되는 것 같습니다. 혹시 성현님께서는 새로운 언어나 프레임워크를 배워야 하는 상황에서 어떠한 방식으로 습득해나가시는 지 궁금합니다.

"공식 문서를 보며 학습하는게 가장 좋다…"는 것은 사실 우리가 직접 겪으며 배운 것이 아닌, 그렇게 대답해야 한다고 학습된 내용입니다. 저는 개인적으로 공식 문서를 보는 것이 최고의 방법이 아니라고 생각합니다. 오히려 공식 문서는 최후의 보루에 가깝습니다. 가장 최신의 정보를 담고 있지만, 가장 불친절한 정보입니다. 이제 막 프로그래밍을 배우고 계신다면 굳이 공식 문서에 집착하지 않으셨으면 좋겠습니다. 정보를 얻는 출처가 어디든, 자신이 무언가를 배우고만 있다면, 그리고 남에게 그것을 설명해줄 수 있다면 그것이 최고의 방법입니다. 저 또한 개발을 시작한지 첫 5년 이상 공식 문서보다는 유료 강의들에 집중하며 학습했습니다. 무료 강의/블로그보다 더 체계적이며 질문이 생겼을 때 질문이 가능하기 때문입니다. 한 가지 차이가 있다면, 저는 클론코딩보다 클놈코딩을 추천드립니다.

  • 클론코딩: 강의를 베껴가며 제품을 따라 만든다. 끝. (예시: AirBnB 클론코딩)
  • 클놈코딩: 강의를 우선 따라가며 클론코딩을 완수한 뒤, 거기에서 배운 점으로 나만의 제품을 출시해본다 (예시: AirBnB 클론코딩 후 우리 동네 노래방 예약 서비스 제작해보기)

물론 요즘 제 경우에는, 말씀드리기 조심스럽습니다만, 몇 년에 걸쳐 여러 프레임워크를 다뤄본 적이 있기에, 불친절한 공식 문서의 내용도 어느 정도 빠르게 파악이 가능한 편입니다. 또한 되게 성질이 급해서 (…) 일단 공식 문서를 이해하면 별도의 강의나 블로그를 보지 않고 바로 개발에 뛰어드는 편입니다. 마지막으로 저는 영어를 읽는데 있어 불편함이 없는데, 때문에 모르는 것을 그때 그때 검색을 해도 데이터를 충분히 얻을 수 있어 점점 커리큘럼이 있는 강의나 블로그 글들에 의존을 덜 하게 되는 것 같습니다.

아이디어를 구현하는 과정

이나 과 같은 아이디어를 서비스로 구현하실 때, 아이디어 기획부터 디자인, 구현까지 정해져 있는 일련의 과정을 거쳐서 만들고 계신지 궁금합니다.

아직은 기획은 따로 하지 않습니다. 만들면서 그때그때 필요한 것을 찾아서 추가합니다 (물론 저도 이 작업 패턴 때문에 제 발에 걸려서 넘어진 적이 많습니다 😅) 기획은 옵시디언에 생각나는 것들을 막 끄적이는 단계이고, 또 디자인은 대부분 디자인 시스템에 위탁합니다 (iOS 앱의 경우 Apple Human Interface Guideline, 웹의 경우 shadcn/ui). 디자인을 위탁했기 때문에 기획과 개발에만 집중하고, 이에 이들은 거의 동시에 병렬로 진행됩니다.

또 MVP를 최대한 빠르게 구현해보려고 합니다. 이에 저는 항상 다음 사진을 보여드립니다.

85ACA7

가장 하단의 1번 스테이지를 만드는 것이 중요합니다. 하지만 대부분의 사람들은 첫 줄, 아니면 두번째 줄처럼 제품을 제작하고 싶어합니다. 특히 자신들이 애자일하다고 믿는 사람들이 두번째 줄처럼 제품을 제작합니다. 실질적으로는 맨땅에서 자전거 만들고, 다시 맨땅에서 오토바이 만들고, 다시 맨땅에서 자동차 만들고... 하는 식으로 체력만 잡아먹는 개발 방법입니다. 진짜 "애자일"한 것은 마지막 줄입니다. 못생기고 조악한데 돌아가는 제품을 빠르게 만들어야 합니다.

일단 돌아가는 MVP가 있으면, 그 위에 새로운 것을 추가하는 것은 굉장히 재밌습니다. 이 재미는 직접 느껴본 사람이 아니면 설명하지 못합니다.

사이드 프로젝트에 있어서 가장 귀중한 자원은 시간도 자원도 노력도 아닌 흥미입니다. 흥미가 떨어지기 전에 못생긴 MVP를 완성해야 합니다.

물론 경험이 없는 상황이라면 빠르게 구현하는게 어렵다고 생각하실 수 있습니다. 하지만 다시 강조드리지만 ① 못생긴 ② MVP 입니다. 예를 들어 Flutter 커뮤니티 앱을 만들고 계신다면 탭 내비게이션이 있고, 내 정보와 피드는 JSON에서 대충 정보 읽어오고, 화면에 렌더링만 잘 되는 것까지 만들면 그것이 MVP입니다. 디자인은 안드로이드/iOS 기본 디자인을 쓰는 정도면 충분합니다.

오픈소스에 기여하는 방법

깃허브 오픈소스 레포지토리에 기여를 하시는 모습이 멋있다고 생각합니다. 보통 어떻게 기여를 하시게 되는지 궁금합니다. 오픈소스를 사용하다가 보완할 부분이 눈에 보이시는 것인지... 아니면 사용 중 발생한 오류나 안되는 부분을 직접 고치시면서 기여하시는 건지 궁금합니다.

주로 뭔가가 작동 안 되거나 보완할 부분이 눈에 보이면서 시작합니다. 한참을 토끼굴을 따라 내려가다보면 깃허브 코드와 디스커션을 직접 보면서 문제를 해결하려고 시도하는게 있는데 그때 가끔 "뭐야 얘네 이거 잘못 구현했네?" 같은 순간이 옵니다. 간단한 수정이라면 패치 후 PR을 드리고, 복잡한 구현이라면 이슈만 주로 남깁니다. 또는 제가 무언가를 구현하고 싶은데, 한참을 조사하다가 그게 결국 오픈소스의 문제였음을 알게 되었을 때, 제가 원하는 기능을 구현해서 PR을 넣는 경우도 있습니다.

디지털브레인에 관하여

저는 미흡하지만 옵시디언에 제텔카스텐 방식을 적용하여 수동으로 링크를 연결하여 작성중에 있습니다. 혹시 성현님께서는 어떻게 지식을 축적하고 계신지 궁금합니다. 작성하신 글을 통해서 수동으로 연결하지 않고 봇과 알고리즘을 통한 자동 연결 방식을 추구하신다고는 이해했습니다.

…하긴 했는데 그게 생각보다 제대로 된 구현체가 없었습니다. 저도 그냥 옵시디언에서 수동 연결하고 있습니다. 결국 중요한 것은 무엇이든 기록하는 습관인 것 같습니다. 결국 자신이 쓴 글은 자신이 기억하기 때문에 무엇이든 기록하면 지식이 되는 듯 합니다.

그와 별개로, 옵시디언이든 로그섹이든 노션이든 뭐든 너무 불편하다는 생각을 많이 합니다. 그래서 직접 공사 규모가 너~무 커서 그냥 무기한 미루는 중입니다.

프로그래밍을 잘하는 방법

너무 막연한 질문이라 죄송힙니다. 저는 비전공자로서 기초가 부족하다고 생각이 들어 컴퓨터구조와 운영체제 책을 통해 배우고 있습니다. 이를 통해 제가 부족한 부분을 보완하면 조금 더 나아질 것이라 기대하고 있습니다. 성현님께서 생각하기에 프로그래밍을 잘하는 방법은 무엇이라 생각하시나요?

하루키의 "직업으로서의 소설가"에는 다음 구절이 있습니다.

좀 더 쓰고 싶더라도 20매 정도에서 딱 멈추고, 오늘은 뭔가 좀 잘 안된다 싶어도 어떻든 노력해서 20매까지는 씁니다. 왜냐하면 장기적인 일을 할 때는 규칙성이 중요한 의미를 갖기 때문입니다.

쓸 수 있을 때는 그 기세를 몰아 많이 써버린다, 써지지 않을 때는 쉰다,라는 것으로는 규칙성이 생기지 않습니다.

본질적으로 개발자, 특히 제품 중심 개발자는 소설가와 크게 다르지 않다고 생각합니다. 꾸준히 하는 것이 가장 중요합니다.

근데 꾸준히 할 때 중요한 점이 있습니다. 현대인들은 너무 삐까뻔쩍한 것들에 눈이 높아져 있다는 점입니다. 프로그래밍은 굉장히 느리고 고된 과정입니다. 인터넷에는 번쩍이는 것들이 수많이 있는데, 자신이 만든 제품은 너무 볼품없고 시간만 무한정 들어가는 순간들이 분명 찾아오실 것입니다.

그 과정을 잘 견뎌내는 것이 중요합니다. 그렇게 푹 고아내야 자신만의 창의와 개성이 서서히 우러나옵니다.

결국 다른 사람 관심 끄고 나만의 창의성과 개성의 성장에만 집중하는 것.

그리고 아주 천천히, 꾸준히, 멈추지 않고 나의 무능력함을 참아내는 것이 중요합니다...

저는 이를 너무 힘들고 고통스럽게 깨달았습니다.

마치며

괜시리 현학적인체 잘난체한 것 같아서 좀 죄송스럽습니다. 한줄로 쿨하게 깔끔하게 설명드리고도 싶지만, 그게 오히려 거짓말만 드리는 것 같아 이렇게 진솔하게 적어보니, 이에 너른 이해 부탁 드립니다.

무엇보다 저는 승현님의 에 큰 응원을 보내고 싶습니다. 제게 이렇게 이메일을 보내는 결정을 내려주신 점에 감사드립니다. 저 또한 귀한 손님을 맞는다는 기분으로 이렇게 길게 글을 써 보았습니다.

Backlinks2