Actor의 uri 도메인과 웹핑거 핸들 도메인을 다르게 설정할 수 있는가?? (실행시켜본 건 아니고 코드만 봤을때) 마스토돈 - 일단 uri 도메인으로 웹핑거 쿼리를 때린 후 uri가 일치하면 된다 (그래서 여러 서버들이 uri 도메인을 같이 쓰는건 어려울듯...) 미스키 - 무조건 uri 도메인으로 넣어버리는 듯 하다...

洪 民憙 (Hong Minhee)
@hongminhee@hackers.pub · 876 following · 620 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)」に。
Website
- hongminhee.org
GitHub
- @dahlia
Hollo
- @hongminhee@hollo.social
DEV
- @hongminhee
velog
- @hongminhee
Qiita
- @hongminhee
Zenn
- @hongminhee
Matrix
- @hongminhee:matrix.org
X
- @hongminhee
洪 民憙 (Hong Minhee) shared the below article:
자기소개

루 @roo_37@hackers.pub
연합우주에 첫 발을 내딛는 루/Roo입니다. SI 1년차 풀스택 웹 개발자로서 웹 개발 전반과 UI/UX, 접근성을 학습하며, DB와 데이터 엔지니어링에도 관심을 두고 있습니다. AI Vibe Coding, 설명 가능한 AI, AI 윤리와 같은 주제에도 흥미를 느끼며, Technical Writing, 번역, 다국어 처리에도 참여합니다. 취미로는 마작(작혼, 일번가, 천봉), 야구(삼성라이온즈), 닌텐도(피크민, 포켓몬), 만화/애니메이션 감상, 언어 공부(듀오링고 1880일), 별 보기, 풍경 사진 촬영, 동물 사랑 등이 있습니다. MBTI는 INFJ-T이며, 불안장애 및 우울증 치료 중입니다. 개발 이야기 외에 다양한 취미와 일상 이야기는 트위터(@Roo_star_)에서 만나볼 수 있습니다.
Read more →洪 民憙 (Hong Minhee) shared the below article:
헬: 하스켈 방언 기반의 셸 스크립팅 언어

박준규 @curry@hackers.pub
Chris Done이 개인적인 셸 스크립팅 용도로 만든 하스켈 방언 기반의 셸 스크립팅 언어인 헬(Hell)을 소개합니다. 저자는 bash의 난해한 문법과 서브 프로세스 의존성 등의 단점을 극복하고자 헬을 개발하게 되었습니다. 헬은 모듈, 패키지 시스템, 추상화 기능 없이 매우 기본적인 기능만을 제공하며, 하스켈의 장점(탄탄한 개념, 동시성, 가비지 컬렉션, 정적 타입 등)을 활용합니다. 헬은 기존 하스켈의 직관을 재사용하고, 안정성과 단순성을 추구하여 자동화 스크립팅에 적합하도록 설계되었습니다. 헬은 냉정하게 완결된 소프트웨어를 지향하며, 스크립팅의 한계를 명확히 정의하여 불필요한 기능 확장을 방지합니다. 릴리스 페이지에서 정적 링크된 리눅스 바이너리를 다운로드할 수 있으며, 구현에 대한 자세한 내용은 소개 슬라이드를 참고할 수 있습니다.
Read more →파서가 얼추 돌아가기 시작했다. 이제 최적화해야지
Macintosh HD ← もはや"Macintosh"でもなければハードディスクドライブでもない
벌써 이번주 일요일이 해커스펍 오프라인 모임이라니... 시간 진짜 빠르다.....
오이카페 이슈 트래커에 ActivityPub 관련해서 기여할 수 있는 이슈를 몇 가지 등록했습니다!
We're excited to share an update on #Fedify's development! While we're actively working on Fedify 1.9 in the main
branch, we've also begun preparations for Fedify 2.0 in the next
branch.
Before you get too excited about revolutionary new features, we want to set clear expectations: Fedify 2.0 will primarily focus on cleaning up technical debt that we couldn't address due to backward compatibility constraints. This means removing deprecated APIs and making breaking changes that will ultimately result in a cleaner, more maintainable codebase. Think of it as a major housekeeping release—necessary work that will make Fedify better in the long run.
Some of the planned improvements include adding readonly
modifiers throughout our types and interfaces to better enforce our immutability-by-default principle, implementing our own RFC 6570 URI Template library for symmetric expansion and pattern matching, and various CLI tool migrations to our new Optique framework for better cross-runtime support. While the majority of changes will be about refinement rather than revolution, these updates will strengthen Fedify's foundation and improve interoperability across the #fediverse. You can track all planned changes in detail by checking out the Fedify 2.0 milestone on our GitHub repository.
오라일리 ActivityPub 책이 1회독 했을때는 '음, 이런게 있구나' 하고 넘겼던 것 같은데, 한달 뒤에 cosmoslide 한 사이클 돌게 하고 난 뒤에 읽으면 '아, 이게 이거구나' 할만한 포인트가 많을 것 같다.
(Octopus merge) Git에서 parent commit이 세 개 이상인 merge
저는 한번도 써본적 없어서, 활용하는 사람이 있는지 궁금하네요
We all dodged a bullet (npm attack) https://xeiaso.net/notes/2025/we-dodged-a-bullet/
지금 리눅스 진영에서 컨테이너/네임스페이스의 입지가 어떻게 될까요? 사실 요즘 서비스 배포할때는 죄다 컨테이너 쓰잖아요? 근데 또 컨테이너로 할수 있는 것중 상당수는 그냥 기존 권한 관리로도 가능하단 말이죠? 근데 컨테이너를 쓸땐 기존 권한 관리를 그냥 없는셈 치고 접근하게 되는데 이게 정말로 다들 동의하는 방식인지가 궁금합니다.
@cheeaunChee Aun 🤔 fyi we are looking at building a new emoji picker for Mastodon, and
@chaosexanimaecho ✨ will try it make it reusable by others as a react component. We brainstormed a lot about it and plan to use some nice tricks (like using indexeddb) to reduce the amount of loaded data, while supporting multiple languages for example
@renchapRenaud Chaput
@chaosexanimaecho ✨ I'm still a huge proponent of using native OS emoji pickers 😬
I respect all the hard work, but this is an issue for *every* web site and browser/standards folks seem like not prioritizing this with <input type="emoji"> or some JS method to invoke OS emoji pickers 🤷♂️
pnpm 쪽에서 왠지 구현을 할 것 같은 인상의 트윗을 https://x.com/ZoltanKochan/status/1965410213160518067
컴파일러 책 얇은 거 하나 읽고 있는데 문맥자유문법(CFG)이 나와서 오랜만이야 친구 하면서 보는 중...언어학 덕질했던 사람으로선 이걸 보니 하나 떠오르는 게 하나 있는데, 1957년 Syntactic Structures에서 촘스키는 이 CFG를 갖고 닝겐의 자연어가 지니는 통사적 성질(의미 아님)을 마르코프 과정을 통해서 설명하기엔 한계가 있음을 지적하며 변형문법(Transformational Grammar)를 제안한 게 생각난다. 즉, 닝겐 자연어의 통사 정보를 설명할 문법을 제안한 것(다시 한 번 말하지만 의미가 아님). 물론 이후엔 훨씬 더 발전하고 추상화됐고, PCFG라 하여 CFG에 확률을 넣은 CFG 확장판도 있다[1]. 참고로 오토마타 이론에서 나오는 촘스키-슈첸버거 위계나 촘스키 정규형할 때 얘기하는 그 촘스키 맞다.
개인적으로 촘스키의 저 시절 연구들이 되게 재밌다고 생각하는데 (물론 훑어만 봤지만...) 이후엔 사실상 오토마타 이론쪽으론 손 뗀 것 같아서 좀 아쉽기도 함...여튼 컴파일러 책 보다가 갑자기 생각나서 씀. 그나저나 도대체 난 언제 쯔음 나만의 프로그래밍 언어를 만들 수 있을까?
정규언어에서 은닉 마르코프 모형으로 확장시키는 거랑 똑같다. ↩︎
(개인적 감상)음, kotlin 의 구조적 동시성 구문은 kotlinx (언어 내장이 아니라) 에 속해 있기 때문인가 왜케 코드가 눈에 안들어오냐. 직관적으로 읽히지 않네... scope 를 관리하는 부분은 swift 가 좀 나아보인다.
비동기 프로그래밍:
async
,Promise
, ...: X- AI 에이전트 갈구고 딴짓하기: O
@saram사람 안녕하세요! 반갑습니다!
이제 타입 검사기 짜는 데에는 익숙해지고 있는데 검수 이후에 타입 정보를 어떻게 코드 생성 과정에서 유용화하는지 모르겠다
모든 노드에 고유 식별자를 부여하고 외부에 거대한 해시맵 Expr → Type을 만드는 수밖에 없나?
이제 타입 검사기 짜는 데에는 익숙해지고 있는데 검수 이후에 타입 정보를 어떻게 코드 생성 과정에서 유용화하는지 모르겠다
Typescript Backend Meetup이라고 타입스크립트 백엔드 개발하는 사람들 모임이 있는데, 많은 비중의 사람들이 NestJS 쓰는 듯?
여기서 Fedify 언급하면서 "연합우주란 세계가 있다 츄라이 츄라이", "NestJS는 아니지만, 개발자를 위한 소셜 서비스 해커스펍이 있다"하고 약파는 내용의 발표를 해보면 어떨까.. 싶다.....
Optique를 사용해보고 싶어서 만들어봤어요: https://github.com/jcha0713/togl
외계 생명체에게 메시지를 보낼 때 유용할지도 모릅니다.
트잇타 사담계도 터지고, 뭔 별의별 되도않는 싸불이 너무 당연하다는듯이 일어나버리니까 이렇게 된 이상 연합우주로 트친들을 전부 데려와야겠다는 사명감이 생겼다(?)
AWS CDK는 C#을 포함한 여러 프로그래밍 언어를 지원하는데, CDK를 AWS 없이도 테스트해볼 수 있는 환경을 조성하기 위해 Localstack을 이용할 수 있습니다. 이번 .NET 10에 도입되는 FBA를 사용하여 CDK 로컬 환경을 구축하고 실험해볼 수 있는 예제를 만들어봤습니다. :-D
https://forum.dotnetdev.kr/t/aws-cdk-localstack-net-10-fba-aws/13725
https://contribute-suggestion.vercel.app/
대강 배포는 했어요
프론트 버그가 많아서 고쳐야 하지만 일단 올리긴 올림
깃헙 토큰은 각자 받아서 사용해야 됩니당
security/urgent fix로 마킹된 경우를 제외한 최신 의존성을 인스톨 시 제외해주는 옵션을 패키지 매니저들이 implement 해야 할 듯 (구현은 누가)
We've implemented the node:http client and server APIs in Cloudflare Workers, allowing developers to migrate existing Node.js applications with minimal code changes. This post explains how we built a bridge between the Workers serverless environment and Node.js's traditional HTTP model, complete with examples for running frameworks like Express.js at the edge. https://blog.cloudflare.com/bringing-node-js-http-servers-to-cloudflare-workers/
클로드 코드 맥스를 끊었는데 머릿속에서 스쳐지나가는 사이드 플젝 아이디어들을 하루만에 프로토타입으로 만들 수 있어서 좋은 것 같다... 클로드 데스크톱 + 클로드 코드 조합으로 데톱이 기획하고 코드가 개발하는 느낌으로 쓰는 중
이런 거 만드는 중 클로드 코드 쪼아가면서 프로토타입은 만들었고 버그랑 ui 좀 뜯어 고쳐야 함 이름도 생각이 안 나서 대충 적어놨는데 이름 추천해주실 분...
요즘 여러 supply chain attack과 'AI로 필요한 거 만들어 쓰면 되지 않냐' 라는 생각에 의존성을 줄여야 한다는 생각이 빠르게 퍼지고 있는 것 같은데, 나는 조금 재고의 여지가 있다고 생각하는 편 (하지만 언제나 zero-deps lib이 있다면 그걸 먼저 고르긴 하지) https://x.com/jaeholee_dev/status/1965254296037196080
이미 지원할 곳들을 조금 선정하긴 했지만, 여전히 프론트엔드 개발자로 일할 수 있는 곳들을 찾고 있습니다. 기존에 고장나있었던 cv를 조금 고쳐놨습니다 (원래 read cv 산이었던 것을 백업받아 홈페이지에 합체...)
아니 이렇게 귀여울 줄 몰랐는데... 두 벌 주문한 내가 승자군!
식탁보 3.0을 준비하면서, 이번에 매우 흥미로운 기능을 하나 추가하게 되었습니다. Claude Desktop에서 MCP 서버로 식탁보를 등록하면, 원하는 금융 기관이나 공공기관에 샌드박스로서 접속할 수 있게 연결시켜주는 기능입니다.
현재는 카탈로그에 있는 사이트를 찾아주어 들어가는 정도이지만, 좀 더 강화하여 주요 기관들의 거래 및 업무 처리 URL들을 데이터베이스화하거나 Claude의 자체 검색 기능으로 찾은 웹 사이트 주소를 바로 전달하는 것도 기술적으로 가능하게 구현해둔 상태입니다. (이 때 해당 웹 사이트에서 쓰는 플러그인 정보가 있다면 샌드박스 내에 매칭해서 자동 설치도 해줍니다.)
차근차근 준비해나가고 있으며, 이번 추석 연휴 기간 중에 마무리 짓는 것을 목표로 진행 중이니 많은 관심과 성원 부탁드립니다! 😉
디스코드 봇을 24시간 돌리기 위해 라즈베리파이를 당근에서 데려왔어요 진작 살걸!!
요즘 약간 AI 코딩 에이전트 도입 엔지니어처럼 일하고 있다. 코딩 경험이 없는 사람이 스스로 프로토타입을 만들 수 있도록
- React 기반 프로토타이핑
- Ren'Py 기반 프로토타이핑 을 ChatGPT Codex와 만들어갈 수 있도록 안내하고 셋업하고 트러블슈팅함….
그런데 본인은 엔지니어 직군이 아님…. 정말 기묘하게 일하고 있는 것 같다….
요즘 약간 AI 코딩 에이전트 도입 엔지니어처럼 일하고 있다. 코딩 경험이 없는 사람이 스스로 프로토타입을 만들 수 있도록
- React 기반 프로토타이핑
- Ren'Py 기반 프로토타이핑 을 ChatGPT Codex와 만들어갈 수 있도록 안내하고 셋업하고 트러블슈팅함….
대학원 다닐 때 CS 수업들 중에 재밌어 보이는 걸 몇 개 청강했었는데 그 중 하나가 DB 수업이었고 되게 재밌게 들었었음...이후에 SQL 덕질(=공부)하다가 하면 할수록 RDB를 다시 좀 제대로 훑어봐야겠다란 생각이 들어서 이리저리 찾다가 발견한 책. 괜찮은 책인 것처럼 보였는데 절판이어서 못 구하다가 어떻게 중고로 구했다. 서문 보니깐 SQL 쿼리들을 어떻게 쓰는가에 대해선 책이 많지만 정작 RDB가 무엇이고 이걸 어떻게 사용하는가를 쉽게 요약해서 정리한 책이 없어서 작가가 책을 썼다고 하는데, 잘 산 것 같음...이거 보고 나면 다른 유명한 SQL 튜닝 책들 봐야지.
수많은 논의 및 고민 끝에 대기자 명단에 등록되신 5명 중 2명을 선정했고 그 외의 분들에게는 환불조치를 했습니다. 다음 회차에는 선착순 신청 비중을 조금 더 줄이고, 공평성을 위해 랜덤 선정에 당첨될 확률을 늘리는 방향으로 개선을 해보겠습니다. _ _)
"Parse, don't validate" rule applied to command-line applications makes sense because the input is external to the system.
You don't allow external input wandering around in the system unchecked.
https://hackers.pub/@hongminhee/2025/stop-writing-cli-validation-parse-it-right-the-first-time
Stop writing CLI validation. Parse it right the first time.
This post introduces Optique, a new library created to address the pervasive problem of repetitive and often messy validation code in CLI tools. The author was motivated by the observation that nearly every CLI tool reinvents the wheel with similar validation patterns for dependent options, mutually exclusive options, and environment-specific requirements. Optique leverages parser combinators and TypeScript's type inference to ensure that CLI arguments are parsed directly into valid configurations, eliminating the need for manual validation. By describing the desired CLI configuration with Optique, TypeScript automatically infers the types and constraints, catching potential bugs at compile time. The author shares their experience of deleting large chunks of validation code and simplifying refactoring tasks. Optique aims to provide a more robust and maintainable approach to CLI argument parsing, potentially saving developers from writing the same validation logic repeatedly.
hackers.pub · Hackers' Pub
Link author: 洪 民憙 (Hong Minhee)@hongminhee@hackers.pub
最近 한창 開發中인 Fedify 基盤 ActivityPub 서비스 2個:
- Kosmo:
@robin_makirobin 님이 만들고 계시는 次世代 ActivityPub 基盤 SNS
- Cosmoslide:
@kodingwarriorJaeyeol Lee (a.k.a. kodingwarrior)
님이 만들고 계시는 ActivityPub 基盤 슬라이드 共有 서비스
完全 期待中!!
안녕하세요, 백엔드 경력직 프로그래머 뽑고 있습니다. 로그를 모니터링하고 저장하는 시스템을 개발하는 포지션입니다. 기존 오픈소스 솔루션을 사용하긴 하지만 단순히 구축하고 운영하는 것은 아닙니다. 운영도 하지만 개발이 주된 업무 입니다. (오픈소스 솔루션 운영 포지션으로 착각하고 지원하시는 분들이 계셔서 사족을 넣었습니다) https://careers.linecorp.com/ko/jobs/2845/
주로 사용하는 형상관리도구인 퍼포스 CLI에 이런 기능이 있어 삽질을 크게 줄이고 있어요. p4 set 해보면 각각의 설정이 기본값인지 로컬 설정파일인지 서버측 설정인지 의도적으로 설정하지 않은 건지 표시해줍니다.
https://hackers.pub/@bgl/01992444-6229-7509-b23a-aed615f96d23
.NET을 Windows 전용 툴체인 언저리로 생각하고 계신 분이 있다면 이 발표 영상을 꼭 보여주세요 😉
요즘 #cosmoslide (https://github.com/cosmoslide/cosmoslide) 개발하면서 들고 있는 생각....
대부분의 액티비티펍 소프트웨어 인스턴스는 멀쩡하게 365일 24시간 동일한 위치에서 운영이 되고 있다고 가정이 된다. 내가 글을 올리면, 나를 팔로우 중인 모든 사람들의 inbox에 내가 글을 올렸다(Create(Note)
)는 Activity가 전달이 되는데, 각자가 운영되고 있는 서버 인스턴스가 멀쩡히 살아있다면.... 딱히 문제가 되지는 않는다.
문제는, 게시글을 작성하는 시점에 팔로워 중 누군가의 인스턴스가 죽어있을때도 있다는 점이다. 그런 경우를 대비해서 exponential backoff를 쓰든 아무튼 fallback 알고리즘이 동작하긴 하는데, 서버가 살아나면 당연히 전달이야 잘 되긴 한다. 그런데, Activity 전달이 실패하는 일이 잦으면 어떤 액티비티펍 소프트웨어를 쓰던간에 retry를 하기 위해서 계속해서 Queue에 쌓이고, 최종적으로는 Queue에 쌓인 것 때문에 적지 않은 오버헤드가 있을 것 같은데 모더레이터의 입장에선 어느 정도까지 감안할 수 있는가? 라는 생각이 문득 들었다.
사실 내가 왜 이런 글을 쓰고 있냐면, 위에서도 언급했다시피, 로컬호스트에서 실제로 서비스를 (맥북이 켜져있을때만) 서빙하고 있고 그걸 Tailscale로 연결해서 터널링을 하고 있다. 즉, 맥북을 켜놓고 있으면 Create(Note)
Activity가 정상적으로 잘 전달되고, 맥북이 꺼져있으면 Activity 전달이 안되고 있다. 실제로, 이런 맥락에서 지금 테스트 중인 두 개의 인스턴스가 있다. 이런 실험적인 시도를 하면서 이래도 되는게 맞나 싶은 생각도 들고는 있다. 맥북을 켜놓으면, retry되고 있는 것도 다 consume되긴 하겠지만.... 찝찝하긴 찝찝하다.
개발하는 입장이라고 선해를 할 수는 있어도, 비뚤어진 관점에서 해석하면 누군가는 어뷰징의 관점으로 해석할 수 있는 가능성이 적지는 않다고 생각하고 있다. 이런 경우엔 모더레이터되는 분들한테, 내가 이런 tailscale 도메인으로 서빙하고 있다고 통지라도 하는게 나으려나... 아니면, 내가 구매해놓은 도메인을 tailscale 도메인으로 CNAME 걸어놓고 "이런 도메인으로 서비스 걸어놓을 예정이니까 이 도메인만은 제발 차단하지 말아주십쇼 헤헤" 라고 해야하나... 아예 서버를 만드는거다보니까 이런 고려사항이 생기는 것 같다.
근데, 한 편으로는 이런 생각이 든다. 물리적인 서버의 위치를 옮길 가능성이 많은 환경(예를 들면, 전시 상황)이면 어떡하지? ActivityPub이 사실은 분산된 웹 환경을 위해 나온 프로토콜이긴 하지만, 분산된 웹 환경이라는게 물리적으로 각자 다른 위치에 오랫동안 배치가 되어 있는 서버 뿐만이 아니라 위치가 자주 바뀔 수 있는 서버도 연합의 대상으로 포함이 될 수 있다면? 어떤 공상과학 영화(ex. 터미네이터4)들을 보면, 저항군이 독자적인 라디오 기지국 같은거 만들고 위치도 매번 다른 곳으로 옮기고 주파수를 매번 다르게 설정하면서 소식전달하는 모습을 볼 수 있는데, 액티비티펍도 어떻게 보면 그걸 고려한 설계도 포함될 수 있지 않나... 그런 생각도 든다..
N줄 요약
- 연합우주 소프트웨어 개밥먹기하면서 개발중
- 로컬호스트에서 돌리고 있고, tailscale로 터널링 중이며 몇몇 인스턴스 계정에 팔로워로 들어가있음.
- 몇몇 인스턴스에서는 아마 위의 사유로 계속 retry 되고 있는 Activity가 있을 것인데, 해당 인스턴스 모더레이터분들 괜찮으신지?
요즘 #cosmoslide (https://github.com/cosmoslide/cosmoslide) 개발하면서 들고 있는 생각....
대부분의 액티비티펍 소프트웨어 인스턴스는 멀쩡하게 365일 24시간 동일한 위치에서 운영이 되고 있다고 가정이 된다. 내가 글을 올리면, 나를 팔로우 중인 모든 사람들의 inbox에 내가 글을 올렸다(Create(Note)
)는 Activity가 전달이 되는데, 각자가 운영되고 있는 서버 인스턴스가 멀쩡히 살아있다면.... 딱히 문제가 되지는 않는다.
문제는, 게시글을 작성하는 시점에 팔로워 중 누군가의 인스턴스가 죽어있을때도 있다는 점이다. 그런 경우를 대비해서 exponential backoff를 쓰든 아무튼 fallback 알고리즘이 동작하긴 하는데, 서버가 살아나면 당연히 전달이야 잘 되긴 한다. 그런데, Activity 전달이 실패하는 일이 잦으면 어떤 액티비티펍 소프트웨어를 쓰던간에 retry를 하기 위해서 계속해서 Queue에 쌓이고, 최종적으로는 Queue에 쌓인 것 때문에 적지 않은 오버헤드가 있을 것 같은데 모더레이터의 입장에선 어느 정도까지 감안할 수 있는가? 라는 생각이 문득 들었다.
사실 내가 왜 이런 글을 쓰고 있냐면, 위에서도 언급했다시피, 로컬호스트에서 실제로 서비스를 (맥북이 켜져있을때만) 서빙하고 있고 그걸 Tailscale로 연결해서 터널링을 하고 있다. 즉, 맥북을 켜놓고 있으면 Create(Note)
Activity가 정상적으로 잘 전달되고, 맥북이 꺼져있으면 Activity 전달이 안되고 있다. 실제로, 이런 맥락에서 지금 테스트 중인 두 개의 인스턴스가 있다. 이런 실험적인 시도를 하면서 이래도 되는게 맞나 싶은 생각도 들고는 있다. 맥북을 켜놓으면, retry되고 있는 것도 다 consume되긴 하겠지만.... 찝찝하긴 찝찝하다.
개발하는 입장이라고 선해를 할 수는 있어도, 비뚤어진 관점에서 해석하면 누군가는 어뷰징의 관점으로 해석할 수 있는 가능성이 적지는 않다고 생각하고 있다. 이런 경우엔 모더레이터되는 분들한테, 내가 이런 tailscale 도메인으로 서빙하고 있다고 통지라도 하는게 나으려나... 아니면, 내가 구매해놓은 도메인을 tailscale 도메인으로 CNAME 걸어놓고 "이런 도메인으로 서비스 걸어놓을 예정이니까 이 도메인만은 제발 차단하지 말아주십쇼 헤헤" 라고 해야하나... 아예 서버를 만드는거다보니까 이런 고려사항이 생기는 것 같다.
근데, 한 편으로는 이런 생각이 든다. 물리적인 서버의 위치를 옮길 가능성이 많은 환경(예를 들면, 전시 상황)이면 어떡하지? ActivityPub이 사실은 분산된 웹 환경을 위해 나온 프로토콜이긴 하지만, 분산된 웹 환경이라는게 물리적으로 각자 다른 위치에 오랫동안 배치가 되어 있는 서버 뿐만이 아니라 위치가 자주 바뀔 수 있는 서버도 연합의 대상으로 포함이 될 수 있다면? 어떤 공상과학 영화(ex. 터미네이터4)들을 보면, 저항군이 독자적인 라디오 기지국 같은거 만들고 위치도 매번 다른 곳으로 옮기고 주파수를 매번 다르게 설정하면서 소식전달하는 모습을 볼 수 있는데, 액티비티펍도 어떻게 보면 그걸 고려한 설계도 포함될 수 있지 않나... 그런 생각도 든다..
시대 배경이 2008년 ~ 2010년인 작품을 보면서 보면서 가장 보기 괴로운 점은 시대 고증과 묘사가 훌륭해서 사람들이 쓰는 노트북 속 인터넷 익스플로러 8이나 9 정도의 UI가 생생하게 그려진 점이다.