Fun Fact : 베트남어 로케일 코드는 vi (엄밀하게는 vi-VN) 인데, .vi TLD는 미국 버지니아 쪽이다

Jaeyeol Lee
@kodingwarrior@hackers.pub · 561 following · 418 followers
Neovim Super villain. 풀스택 엔지니어 내지는 프로덕트 엔지니어라고 스스로를 소개하지만 사실상 잡부를 담당하는 사람. CLI 도구를 만드는 것에 관심이 많습니다.
Hackers' Pub에서는 자발적으로 바이럴을 담당하고 있는 사람. Hackers' Pub의 무궁무진한 발전 가능성을 믿습니다.
그 외에도 개발자 커뮤니티 생태계에 다양한 시도들을 합니다. 지금은 https://vim.kr / https://fedidev.kr 디스코드 운영 중
Blog
- kodingwarrior.github.io
mastodon
- @kodingwarrior@silicon.moe
Github
- @malkoG
클플 일부장애인가? 미디엄도 방금 클플오류 뜨면서 안들어가졌었는데
@robin_makirobin 앤스로픽도 그래서 안되던데, 클플 쪽 문제인가봐요
정치적인 컨텐츠에 대한 생각

Jaeyeol Lee @kodingwarrior@hackers.pub
이 글은 사회생활에서 금기시되는 정치 이야기가 우리의 삶과 얼마나 밀접하게 연결되어 있는지를 고찰합니다. 저자는 정치적인 것이 단순히 정부나 정책에만 국한된 것이 아니라, 사람이 개입하는 모든 영역에 존재한다고 주장합니다. 다양성을 존중하는 문화를 만드는 것조차 정치적 행위로 볼 수 있으며, 정치 혐오가 만연한 사회일수록 정치에 대한 관심이 더욱 필요하다고 강조합니다. 특히, 무심코 사용하는 표현이나 접하는 콘텐츠가 특정 정치적 의도를 담고 있을 수 있음을 경계하며, 정치적 프레임에 갇히지 않기 위해서라도 사회와 정치에 대한 꾸준한 관심이 중요하다고 역설합니다. 이 글은 정치적 무관심이 오히려 위험할 수 있음을 시사하며, 독자들에게 비판적 사고와 균형 잡힌 시각을 갖도록 촉구합니다.
Read more →function은 우리말로는 함수나 기능으로 번역된다. 우리말 함수와 기능은 조금 다른 뜻을 가지고 있는데, 영어권에서는 function을 만나면 함수나 기능의 의미가 아닌, 둘을 아우르는 의미로 받아들이는 게 아닐까란 생각이 들어 추측을 해봤다.
function의 어원은 라틴어 functio 로, performance, execution 이란 뜻에서 왔다고 한다. 어원으로 추측해보 면 "실행, 수행할 수 있는 것"을 말한다고 보여진다. 수학이나 프로그램에서 만나는 함수는, 입력이 있고, 그 입력에 대응하는 정해진 출력이 있는, 입 출력을 매핑하는 것으로 설명하곤 한다. 이 뜻이 맞지 않다기 보다, 어원에서 말하는 실행이 살짝 가려져 있는 뜻이 아닌가 싶다. 함수의 중요한 특징은 실행, 즉 적용에 있는데, 이 적용을 위한 데이터에 더 촛점을 맞춘 설명처럼 느껴진다.
혼자 생각으론 "실행(혹은 적용apply)하면 무언가가 바뀌게 하는 것"으로 인식하면 함수나 기능에 모두 function을 쓰는 게 무리가 없다. 수학, 프로그래밍에서는 매핑이라는 설계를 통해 무언가를 바꾸고 있는 것으로, 매핑은 function 작동 방식의 일례일 뿐이다.
어찌보면, 애초에 상자 안에 들어 있는 수 같은 말로 번역될 수 없는 뜻이다.
2025-09-03 오늘의 #cosmoslide 작업한 내용 메모
https://github.com/cosmoslide/cosmoslide/pull/13
- 이전 버전까지는 Cosmoslide 의 모든 계정은 public이고 팔로우 버튼을 누르면 바로 팔로우가 되는 로직으로 구현이 되어 있었음.
- 즉, Follow 액티비티를 받으면 액티비티를 보낸 액터의 inbox에다가 바로 Accept(Follow) 액티비티를 보내는 구성
- 이번에 작업한 내용은 각각의 계정을 private으로 변환할 수 있고, private 계정에 팔로우 버튼을 눌렀을때 바로 팔로우가 되는게 아니라 팔로우 요청으로 처리되도록 하는 작업이었음
- 즉, Follow 액티비티를 받으면, manuallyAcceptsFollowers 옵션이 false인 경우에만 Accept(Follow) 액티비티를 보냄
- 팔로우 요청 관리하는 화면 바이브코딩으로 적당히 빠르게 만들고..... 팔로우 요청을 수락하거나, 팔로우 요청을 거절하는 액션 자체는 서버 측 비즈니스 로직에서 처리한다기 보다는 가능하면 Federation에서 처리하도록 했음.
- 즉, 팔로우 요청 수락버튼을 누르면 Accept(Follow) 액티비티가 전송되고, 팔로우 요청 거절 버튼을 누르면 Reject(Follow) 액티비티가 전송되는 방식
로컬 환경에 있는 서로 다른 두 액터끼리는 잘 되는걸 확인했는데, 서로 다른 서버의 액터끼리 잘 되는지는 좀 더 테스트가 필요함.
이번 주말까지는 게시글 작성하고 원격 서버 타임라인에 노출되는 것까지 어떻게 되긴 할 듯.
@kodingwarriorJaeyeol Lee https://traits-ts.org/ PHP trait 같은 녀석이 있네요 오호...
@ysh염산하 그...그냥... 더럽게 코드 짤게요....
https://www.typescriptlang.org/docs/handbook/mixins.html
Typescript에 Mixin 기능은 있는데, 정작 내가 원하는 형태로 지원하는 기능이 아니다. 내가 원하는건 그냥 dart 마냥 클래스의 메서드를 확장하는 것 그 이상 그 이하도 아닌데.... 흑흑...
Dart의 경우
mixin Dog {
void walk() { ... }
}
mixin Fish {
void swim() { ... }
}
mixin Bird {
void fly() { ... }
}
class Animal with Dog, Fish, Bird {
...
}
main() {
final animal = Animal();
animal.fly();
animal.swim();
animal.walk();
}
이런 느낌의 코드를 짜는게 가능하다.
Typescript도 유틸리티성 함수를 묶어서 mixin 문법처럼 매끄럽게 클래스에 포함시킬 수 있는 뭔가가 있었으면 좋겠다.
지난 몇 달간 htmx로 웹 앱을 만들면서 느낀 점은, 골디락스 존의 하위 50% 애플리케이션에만 htmx가 적합하다는 것이다. 클라이언트 상태를 조금이라도 다뤄야 하는 순간이 오면 불행이 시작된다. 하이퍼미디어 시스템의 철학에 동의하는데, 그 구현은 아일랜드 아키텍처의 접근법이 더 나을 수도 있겠다는 생각이 든다. https://deno.com/blog/intro-to-islands
1시간 만에 완판! 걱정마세요 아직 대기 신청이 남아있습니다!
안녕하세요! 반갑습니다! @realfishbread최윤희
✨ Hackers' Public 첫 오프라인 모임! ✨
Hackers' Pub 사용자들의 자발적인 모임, Hackers' Public이 📅 9월 14일(일) 오후 3시 ~ 6시 열립니다.
이번 모임에서는 많은 분들이 흥미로워할 두 가지 발표가 준비되어 있습니다:
- 🎨 Code As a Canvas: 코드에서 예술작품이 되기까지
- ✍️ 폰트는 어떻게 만들어지는가 – Neo둥근모 개발 후일담
또한 자유롭게 교류할 수 있는 네트워킹 시간도 마련되어 있으니 많은 관심 부탁드립니다 🙌
현재는 2차 모집 단계이며, 👉 신청은 포스터의 QR코드 또는 http://public.hackers.pub 에서 가능합니다. (두 경로 모두 동일한 이벤트 페이지로 연결됩니다)
2차 모집 기간은 9월 7일까지이며, 완판이 되었더라도 참가자 신청 대기하신 분 중에서 두분 정도 선정할 예정입니다!
Finally solved the #Degoogling debate. Anyone who finds fault with this list = Skill issue.
@jcha0713joohoon 안녕하세요! 반갑습니다! #자기소개 에 올라와있는 분들 팔로하셔도 좋고, 자기소개도 해주시면 땡큐입니다<
Jaeyeol Lee shared the below article:
Fediverse Auxiliary Service Providers(FASP)の詳細解説
のえる @noellabo@hackers.pub
この記事では、Fediverseの課題を解決し、機能拡張を目指す新しいアーキテクチャ、Fediverse Auxiliary Service Providers(FASP)について解説します。FASPは、分散型ネットワークにおける検索・発見の限界や、セキュリティ・モデレーションの課題に対処するために開発されており、アカウント検索、コンテンツ検索、スパム検出などの機能を提供します。Mastodon gGmbHが主導し、NGI Searchプログラムからの資金提供を受けて開発が進められています。2025年にかけて基本仕様の公開、実装、テストが行われ、最終的にはFediverseエコシステム全体への拡大を目指しています。FASPは、Fediverseの可能性を大きく拡張する重要なプロジェクトであり、今後の進展が期待されます。
Read more →Here is a first proof-of-concept demonstration of an actual outcome for the erdosproblems/OEIS linkage project. There are a number of Erdos problems relating to irrationality of specific series. I asked an AI to compute several of these series to several decimal places (https://chatgpt.com/share/68b7160a-3d4c-800e-a834-415ee9aac2a8), then entered in these decimal strings into the OEIS search bar. I found several hits, which I then uploaded to the project https://github.com/teorth/erdosproblems/commit/89c3a9c977fd40de74c0ea18d30ff258af053ff3%E2%80%9C .
In particular, I linked Erdos problem 259 https://www.erdosproblems.com/259 to OEIS A371134 https://oeis.org/A371134. In the latter page, there was a reference to a solution to the problem by Chen and Ruzsa https://doi.org/10.1023/A:1004742930674 that was not known to the erdosproblems.com site. So now we can mark that problem as solved!
I think this type of semi-automated literature search could be a good use case for AI tooling, since the (potentially unreliable) output of such AI tools is only used to locate more reliable human-generated resources, rather than being directly incorporated into the final product.
I’d love to work together with my PSF Board buddy @jezdezJannis Leidel
I’d also be glad to collaborate again with @simonSimon Willison the author of Django and someone who brings a balanced perspective on AI.
The choice is yours, but I truly valued the time I spent with them.
I hope to see people on the PSF Board who are dedicated to the community and who connect many others together.
Please consider supporting them in the upcoming PSF Board election.
#PSF #Pyton
책읽는 코지마 계정을 부활시킬 때가 온 것 같아 @reading_kojima책읽는 코지마
우부콘 코리아 2025에서 **"연합우주(Fediverse)란 무엇인가"**를 주제로 소개하는 세션을 가졌었는데, 그 때 쓰던 발표자료 한번 만들어놓으니까 "연합우주는 이런겁니다" 하고 던져주기 좋은 듯.....
발표자료는 여깄다네요... https://slides.kodingwarrior.dev/fediverse-onboarding-ubucon2025.pdf
Congrats on 50 million Fediverse Users! Special thanks to fediverse.hanbitgaram.com for creating 39.4 million users and 4.3 billion statuses over night!
저번주는 상당히 멘헤라 상태였지만 다시 정신 차림
@joonnotnotJoon 이젠 제가 멘헤라 상태인데 바톤터치네요
@2chanhaeng이찬행
@kodingwarriorJaeyeol Lee I got the stickers for this at PyCon Korea! They currently adorn my kid's laptop
PyCon 코리아에서 스티커를 받았어요! 현재 제 아이의 노트북을 장식하고 있습니다
@mike_edwards
@2chanhaeng이찬행 That's cool!!
진짜 디자인 하고싶은대로 다 하고 있는데, 누군가가 보다 못해서 "차라리 내가 하고 만다" 하고 자원을 해주지 않을까(?)
@kodingwarriorJaeyeol Lee 요런 디자인은 어떠세용
이세계 여행하는 꿈을 꿨더니 머리가 아프다
중력가속도 상수 다르고 (건물 4층에서 뛰어내려도 타박상 없음), 산소 밀도 다르고, 스팀펑크? 디젤펑크? 같은 느낌이 드는 이상한 공간이었어...
이세계 여행하는 꿈을 꿨더니 머리가 아프다
@kodingwarriorJaeyeol Lee 요런 디자인은 어떠세용
@2chanhaeng이찬행 선생님.......... 진짜 2회차 모집할때 꼭 모시겠습니다 와...
Zed Industries가 코드 에디터와 코딩 에이전트 사이의 통신을 표준화하기 위해 Agent Client Protocol (ACP)이라는 걸 소개했다. 잘 돼서 Neovim의 AI 통합 생태계가 더욱 풍성해지면 좋겠다. https://agentclientprotocol.com/overview/introduction
하이랄은 이제 누가 지키나...
@akastoot악하 순간 하이텔로 봤네;
게임 스샷 찍으면 자동으로 포스트 발행해서 무슨겜 플레이 타래 쓰기 쉬운 거 어디 없나. 하루 지나면 뭐했는지 기억이 안나서
@z9mb1wwj 닌텐도스위치가 그런 기능 제공했던 것 같기도 한데 아리까리하네요
Hackers' Public 명찰 디자인 Canva로 짜고 있는데 진짜 재밌다
진짜 디자인 하고싶은대로 다 하고 있는데, 누군가가 보다 못해서 "차라리 내가 하고 만다" 하고 자원을 해주지 않을까(?)
Hackers' Public 명찰 디자인 Canva로 짜고 있는데 진짜 재밌다
- 마틴 파울러는 LLM이 소프트웨어 개발에 미치는 영향을 논의하며, 자동완성을 넘어선 다양한 사용 워크플로우를 놓치고 있다고 지적
- 프로그래밍 역할의 미래에 대한 질문들은 여전히 정답이 없음
- AI가 과거 기술 발전과 같은 버블 상태임을 확인
- LLM을 신뢰성을 위해 여러 번 질의해야 하는 "환각 엔진"으로 강조
- 특히 AI 에이전트가 개인 데이터와 신뢰할 수 없는 콘텐츠에 접근할 때의 보안 위험을 경고
Some thoughts on LLMs and Software Development
https://martinfowler.com/articles/202508-ai-thoughts.html
#Optique 0.3.0 is out with dependent options and flexible parser composition, shaped by feedback from @z9mb1wwj's work migrating
@fedifyFedify: ActivityPub server framework CLI from Cliffy to Optique.
@2chanhaeng이찬행 일단 저는 갑니다!
@kodingwarriorJaeyeol Lee
@z9mb1wwj 오시나요?
@hongminhee洪 民憙 (Hong Minhee) 전 5시에 선약이 있어서 일찍 일어나면 한 3시까지만 있을지두요
@kodingwarriorJaeyeol Lee 죠죠, 메이드 인 헤븐!
토요일
- 일본 노래만 부르는 오타쿠팟이 있어서 신나게 놀려고 합니다,,,
일요일
- (Cosmoslide) Follow 기능 전면적으로 개편하고, 게시글이 전파가 잘되는지 파악해보기
- Hackers' Public 2차 모집 준비
이게 뭐게요
이것은 실화입니다.
연합우주에도 오하아사가 있다니
Hackers Pub 서울 밋업 "초대장 전용"만 남았는데 이건 일반 사용자는 고르면 안 되는 거겠죠?
@yg1ee밀 네. 2차 모집은 9월 1일에 열겁니다. 오전 11시~12시 사이에 ..
Pin 기능이 생기면 고정할거
Hi there 👋
I’m Jaeyeol, a software engineer who loves Neovim and Zed. I see myself as a pragmatic builder — I focus on creating software that I’d genuinely want to use, made for people rather than for technology’s sake. Beyond coding, I also experiment actively within developer communities, often initiating gatherings and exploring new ways for people to connect and share.
One of my current personal projects happens to be in the fediverse space:
cosmoslide — a slideshare-like service for sharing presentations across the fediverse.
It’s built with NestJS (@
fedify/nestjs) for the backend, Next.js for the frontend (most of it is vibe-coded, so I’ll probably rewrite it later 😅)
The project is still in development, with an expected first release between late September and mid October. It started as a personal experiment, but I’m excited to see how it may contribute to the broader fediverse ecosystem.
I enjoy meeting others who are curious about new ideas, whether in technology or in community.
vim-jp에서 주관하는 올해 vimconf는 11월 2일(일)에 열린다고 한다..... https://vimconf.org/2025/ja/
11월 1일에 OSSCA 일정이 있어서 그냥 포기해야......
@kodingwarriorJaeyeol Lee 에고 괜찮으신가요...ㅠ
@2chanhaeng이찬행 아직은 좀 괜찮은데, 내일 어떨지 모르겠어요
오늘은 여기까지만 하고 쉬어야지.. 컨디션이 너무 안 좋음
코로나 증상 아슬아슬한데, 증상이 나타나는게 지금이라서 진짜 다행이다...
이유 : 9월 14일 이후부터 계속 주말마다 일정이 있음... 9월 말에는 일본 가야 함..
코로나 증상 아슬아슬한데, 증상이 나타나는게 지금이라서 진짜 다행이다...
We're excited to announce the release of BotKit 0.3.0! This release marks a significant milestone as #BotKit now supports #Node.js alongside #Deno, making it accessible to a wider audience. The minimum required Node.js version is 22.0.0. This dual-runtime support means you can now choose your preferred #JavaScript runtime while building #ActivityPub #bots with the same powerful BotKit APIs.
One of the most requested features has landed: poll support! You can now create interactive polls in your #bot messages, allowing followers to vote on questions with single or multiple-choice options. Polls are represented as ActivityPub Question
objects with proper expiration times, and your bot can react to votes through the new onVote
event handler. This feature enhances engagement possibilities and brings BotKit to feature parity with major #fediverse platforms like Mastodon and Misskey.
// Create a poll with multiple choices
await session.publish(text`What's your favorite programming language?`, {
class: Question,
poll: {
multiple: true, // Allow multiple selections
options: ["JavaScript", "TypeScript", "Python", "Rust"],
endTime: Temporal.Now.instant().add({ hours: 24 }),
},
});
// Handle votes
bot.onVote = async (session, vote) => {
console.log(`${vote.actor} voted for "${vote.option}"`);
};
The web frontend has been enhanced with a new followers page, thanks to the contribution from Hyeonseo Kim (@gaebalgom개발곰)! The
/followers
route now displays a paginated list of your bot's followers, and the follower count on the main profile page is now clickable, providing better visibility into your bot's audience. This improvement makes the web interface more complete and user-friendly.
For developers looking for alternative storage backends, we've introduced the SqliteRepository
through the new @fedify/botkit-sqlite
package. This provides a production-ready SQLite-based storage solution with ACID compliance, write-ahead logging (WAL) for optimal performance, and proper indexing. Additionally, the new @fedify/botkit/repository
module offers MemoryCachedRepository
for adding an in-memory cache layer on top of any repository implementation, improving read performance for frequently accessed data.
This release also includes an important security update: we've upgraded to #Fedify 1.8.8, ensuring your bots stay secure and compatible with the latest ActivityPub standards. The repository pattern has been expanded with new interfaces and types like RepositoryGetMessagesOptions
, RepositoryGetFollowersOptions
, and proper support for polls storage through the KvStoreRepositoryPrefixes.polls
option, providing more flexibility for custom implementations.
GPT-5가 어려운 문제에 있어서는 오히려 Claude Opus 4.1보다 낫다기에 한 번 써보고 있는데, Claude Code로는 당연하게도 GPT-5 모델을 못 쓰니 대신 Crush를 써보고 있다. 일단 첫인상으로는 MCP 외에도 LSP를 지원하는 게 마음에 든다. 바로 deno lsp
를 연결해서 써보고 있다.
[🍏매장 이용안내]
최근 튜사 방문객 급증으로 Wi-fi가 끈기는 현상이 자주발생돼 공유기를 추가하였습니다.
Wi-fi 연결 목록 추가, Wi-fi명, 비밀번호가 변경 되었습니다.
방문하실 때 참고해주세요. 기존Wi-fi는 연결이 안됩니다.
비밀번호는 매장에 업데이트 해놨습니다.
🍏 tusa앨런튜링
→ 컴퓨터과학의 선구자, 암호해독의 전설.
“AI는 사람을 흉내 내는 걸로 시작한다.” — 지능과 논리가 흐르는 곳.
🍏tusa리누스토발즈
→ 리눅스 커널의 창시자, 오픈소스의 상징.
“코드는 공유되기 위해 태어났다.” — 리누스다운 개방형 개발존.
🍏tusa스티브워즈니악
→ 애플 1호기를 손수 만든 하드웨어 천재.
“개발은 Garage에서 시작된다.” — 납땜 냄새가 날 것 같은 공간.
🍏 tusa제임스고슬링
→ 자바(Java)의 창시자, 객체지향의 아버지.
“한 번 작성, 어디서나 실행.” — 안정성과 몰입을 위한 고슬링존.
[홍보글]👍
튜사에서 ASUS 제품을 경험해보실 수 있습니다. ASUS ProArt 모니터, AUS ROG 키보드까지 노트북, 마우스만 가지고 오시면 최적의 작업공간이 탄생됩니다! 그외 다양한 키보드와 모니터암까지 셋팅해놨으니 놀러오세요!
ASUS ROG 키보드 공동구매 진행중!
(튜사만 진행하는 최저가!)