I wrote a post on my blog after a long time: Recent open source development updates.

Jihyeok Seo
@jihyeok@hackers.pub · 86 following · 49 followers
Website
- ji.hyeok.org
oeee.cafe/collaborate 오이카페에 넷캔 기능이 추가되었습니다! 저주피 없는 오이깎이 넷캔을 2025년도에 느껴 보세요. 넷캔 세션을 시작한 다음, 공유 버튼으로 세션 링크를 함께 그리고 싶은 분에게 공유하면 됩니다.
진짜 예나 지금이나 마우스로 그림 기깔나게 잘 그리는 사람들은 뉴타입인 게 분명함
요즘 오에카키 같은 2000년대 초반 인터넷 유물?같은 게 종종 머릿속에 떠오르는데 분명 내가 어릴 때여서 추억화된 것 때문인 걸 알고 있음에도 그 시절 인터넷 서브컬쳐들이 좀 그리울 때가 있다. 뭔가 그 특유의 투박한 디자인들이 자꾸 떠오름...
Every CLI tool has the same validation code hidden somewhere:
- “option A requires option B”
- “can't use X and Y together”
- “this only works in production mode”
I got tired of writing it. So I built something that makes it unnecessary.
https://hackers.pub/@hongminhee/2025/stop-writing-cli-validation-parse-it-right-the-first-time
맹자에 따르면 측은지심은 옥시토신에서 발하고 수오지심은 아드레날린에서 발하고 사양지심은 세로토닌에서 발하고 시비지심은 도파민에서 발하는 것이다.
음기는 염기성이고 양기는 산성인 것과 마찬가지로 자명하다. 아니라고? 태양은 수소이온 덩어리고 달 토양은 아폴로가 가져왔다.
뭐? 태양은 수용액이 아니라고? 그런건 모르겠고 아무튼 그렇다.
Hackers' Public 포스터 완성~ https://public.hackers.pub/
Fediverse Report – #131
The News
IFTAS founder Jaz-Michael King wrote an excellent blog post titled ‘There is One Fediverse. There are a Million Fediverses.’, that I think is worth reading. In it, King describes the fediverse as a large plurality of places, that can account for humanities wide-ranging diversity in cultures, languages and identities. King concludes: “I don’t want to grow “the fediverse”, because there is no single “the” fediverse. I want to help humanity step out of walled-in, private platforms and onto the open social web – a web where everyone can exercise their rights to free expression, free association, and just as importantly, the right to choose who they associate with.”
This dual mode of thinking, either the fediverse as a single place, or the fediverse as a large plurality of partially-connected places, popped up again this week related to Bluesky. Mississippi’s new Age Assurance Law puts stringent requirements on social media platforms to put in age verification checks. Bluesky has various concerns about this new law, decided they could not comply with it, and decided to block Mississippi IP addresses, effectively removing themselves from the state. This led to a whole set of discourse on the fediverse about the decentralised nature of Bluesky, considering they can just blacklist an entire state, in a way that impacts virtually all users on the network.
This supposed centralised nature of Bluesky is then put into contrast with the decentralised nature. However, the language of this conversation, and which fediverse is being discussed, matters here. Talking about Bluesky’s decision, Mastodon CEO Eugen Rochko says: “And this is why real decentralization matters. There is nobody that can decide for the fediverse to block Mississippi.” This response makes sense from a perspective of the fediverse as a single place: there is no owner of this singular fediverse which can make such decisions. But this ‘singular’ fediverse is only a conceptual thing: instead there are “10.000+ fediverse operators across the world get to make that decision for themselves.” as Rochko also says.
What stands out to me about the conversations on the fediverse is how much focus is placed on the singular fediverse, and how its decentralised nature can be a powerful tool for dealing with government overreach. In contrast, very limited attention is given to the very real problem that this means that there are a large number of server operators who do have to make the challenging decision for themselves: do they comply with Mississippi’s Age Assurance Law, block access to Mississippi IP addresses, or ignore it altogether? In the big picture, the singular fediverse’s decentralised nature looks like a great way of dealing with age verification laws. But once you zoom in further and see a million fediverses, the picture becomes a whole lot more complicated: it means that thousands of (volunteer) server administrators are making difficult decisions. They’ll all have to decide for themselves if and how they want to comply with this new law. The stakes are big: failure t comply can be fined up to $10,000 per violation.
While this singular fediverse can be a powerful framing tool, I think it’s worth paying attention to how King describes the value of a million fediverses. Viewing the fediverses as a large number of independent places, shows both the value in diversity that it allows, as well as the very real challenges that individual server operates face when it comes to complying with global regulations.
None of the large fediverse servers have so far complied, neither with the UK’s Online Safety Act, nor with this new Mississippi regulation. I am very much not a laywer, but neither laws have clear exceptions that would apply to Mastodon servers as far as I can tell. In that context, I find Rochko’s comment of “Technically, you’re probably also breaking laws in Afghanistan, Iran, North Korea and so on. The question is, do you care?” to be slightly concerning.
Bounce is a new tool that allows people to move their following graph across protocols. It is made by A New Social, the organisation behind the bridging software Bridgy Fed, and it is now available in beta. In it’s current version, it allows people to port their Bluesky social graph to their Mastodon or Pixelfed account. I’ll have more writing on Bounce out in the next few days, but for more coverage you can read Sarah Perez’s TechCrunch article about Bounce.
CrowdBucks is a new fediverse-native payment platform, that allows for crowdfunding, tipping and more. It is created by Charles Iliya Krempeaux (aka @reiver), who also organised the recent FediCon conference in Vancouver. Reiver explains that the “long-term vision that CrowdBucks is a part of is to create a payments layer for the Fediverse”. What stands out about CrowdBucks is that it does not require people to create a new account, instead they can sign in to CrowdBucks with their existing Mastodon account. Other software platforms are also planned to be supported later.
When you are logged in to CrowdBucks, you can set up your profile donation tiers, or goals. When you visit a link to a CrowdBucks profile page, you can again log in with your existing fediverse account and donate. Donations go through Stripe, and the team also expects other payment methods to be implemented later.
The platform is still in its early stages, with some notable missing features the ability to share content with your subscribers, or lock content behind donation tiers. CrowdBucks is open-source, and the code is available here. Payment systems on the fediverse have proven to be challenging, as last year’s Sub.club experiment indicates. CrowdBucks does have the outline of what a fediverse-native donation platform can look like however, and it’s exciting to see it develop.
The Fedilabs client now has meaningfully different versions between FDroid and Google Play’s Android, due to Google requiring them to remove various features, such as donation links and the ability to register an account. Various PeerTube videos also had to be removed from the client to exclude videos that explain how to download YouTube videos. This is one of the small news items that I think has fairly large implications down the line: Google’s Play Store and Apple’s App Store are major gatekeeping systems that the decentralisation of the fediverse has a difficulty in bypassing. As such, I expect censorship issues and governments trying to wrestle control over decentralised systems to focus on clients, much more than on servers.
Oni is a new single-user ActivityPub server, and what stands out about Oni is that it uses ActivityPub client-to-server part of the protocol. This part of the ActivityPub protocol determines how clients should communicate with servers using ActivityPub. Very few fediverse platforms use this part of the official protocol specification, and almost all platforms use another implementation, with the Mastodon API being the most popular. This is incidentally also a major contributing factor to Mastodon’s influence over the entire fediverse, as it effectively owns half of the protocol that most of the network runs on. Using ActivityPub Client-to-Server part of the protocol is challenging, as it is a chicken-and-egg problem: virtually no servers support it, but no client supports it either. In the case of Oni, that means that using Oni requires using a specific client to post to the server, Box. Box is another project by the same developer, and a basic fediverse client that focuses on supporting ActivityPub Client-to-Server.
In their latest monthly update, Mastodon mentioned that they are working on adding starter packs. Another initiative for starter packs is by fedidevs.com, which features already a collection of starter packs, in ActivityPub format. Developer Julian Fietkau says that these will likely be compatible with Mastodon in the future. One difference so far is that Mastodon plans on giving people control over being included in a starter pack, a feature that starter pack on fedidevs.com currently do not have.
In Other News
- WeDistribute is launching a weekly newsletter, Relay, with a roundup of links to all the news around the open social web.
- Event planning software Mobilizon has gotten new funding from NLnet, and they are looking for community input on improvements to the software.
- Oeee Cafe is an Oekari drawing board that has added support for ActivityPub. Oekari drawing boards are sites where people can draw with basic tools in their browser and share the images.
- A sneak peek at upcoming tool ActivityPub Fuzzer, which lets ActivityPub developers test compatibility against other fediverse platforms with simulated messages.
- A preview of what Mastodon’s upcoming quote posting feature will look like.
- NeoDB-You is a new Android app for culture review platform NeoDB.
- Mona, a iOS Mastodon client, has a variety of new features including automatic alt-text creation and additional translation options.
- Pachli, a Mastodon client for Android, now supports on-device translation, without using Google.
- IFTAS is holding a survey under fediverse moderators. as part of their yearly Needs Assessments Report.
The Links
- The Fireside Fedi interview streams talks with Robert W. Gehl, who recently published the book “Move Slowly and Build Bridges: Mastodon, the Fediverse, and the Struggle for Democratic Social Media”. I’ll do my own review of the book somewhere in the next few weeks as well.
- An overview of all the upcoming conferences for the open social web.
- WeDistribute’s Sean Tilley describes his experience with the recent FediCon conference, with some of his key takeaways from the event.
- Mastodon developer David Roetzel gave a talk at the FrOSCon conference, about what’s new with Mastodon and the wider fediverse, with a VOD available here. Mastodon head of communications Andy Piper gave a keynote at the conference, on the importance of open source for sovereinty.
- This week’s fediverse software updates (and the week before).
https://connectedplaces.online/reports/fediverse-report-131/
메론빵
빵집에서 더 이상 메론빵을 팔지 않는대요
Hackers' Pub 티셔츠를 제작 주문했습니다. 9월 3일(水)에 출고 예정이라고 합니다. 비용은 339,300원 들었는데, 총 17장 주문했으니 한 장에 2만원(배송료 미포함)이 되겠습니다.
@jihyeokJihyeok Seo
@kodingwarriorJaeyeol Lee
@z9mb1wwj
@w8385박근형
@2chanhaeng이찬행
@nebuletoHaze
@morealLee Dogeon
@yihyunjoon현준
@seha 아마 주문하신 대부분은 저랑 직접 만나서 전달 드릴 수 있을 것 같긴 한데, 배송이 필요하신 분은 제게 DM으로 이름, 연락처, 주소지, 우편번호를 알려주시기 바랍니다!
감사합니다.
해커스펍에서 오이카페 링크 뜰 때마다 썸넬로 내 염버니 그림이 보여서 부끄러움... ㅋㅋㅋ
오이카페에 ActivityPub 지원이 들어갔습니다. 이제 좋아하는 작가나 커뮤니티의 새 그림을 연합우주에서도 받아 보세요!
작가 프로필이나 커뮤니티 메인 페이지에서 ActivityPub 핸들을 확인할 수 있습니다.
인용된 그림은 ActivityPub 연동을 도와주신 @hongminhee洪 民憙 (Hong Minhee) 님이 오이카페 초창기에 그려 주신 고양이 그림입니다. 감사합니다!
As @hongminhee洪 民憙 (Hong Minhee) recently posted about
A new drawing community called https://oeee.cafe (@oeee_cafeお絵かき OEEEカフェ 🥒) made by
@jihyeokJihyeok Seo and others just implemented #ActivityPub and joined the #fediverse. It's exciting to see niche art focused software using these tools and techniques to share in our weird network we have here.
via https://hollo.social/@hongminhee/0198e1eb-67ba-76dc-a5a6-934c20bf968b
announcement post: https://hackers.pub/@jihyeok/0198e00f-04e9-77dd-abb8-b3d6a2b42808
@liaizonwakest ⁂
@hongminhee洪 民憙 (Hong Minhee)
@oeee_cafeお絵かき OEEEカフェ 🥒
@jihyeokJihyeok Seo
Nice! I've lined this #AGPL licensed project up to be included in the delightful fediverse experience curated list at..
https://delightful.coding.social/delightful-fediverse-experience
I found the codebase on github at..
Excited to share some great news from the #creative community! Oeee Cafe, a fantastic oekaki #drawing platform, just added #ActivityPub support today. This means all the amazing artwork being created there can now be shared and discovered across the #fediverse, which is such a wonderful step toward connecting creative communities.
Big shoutout to my friend @jihyeokJihyeok Seo for building this platform and bringing it to the fediverse. It's always inspiring to see developers creating spaces for artists and then opening them up to the broader federated community. If you're into digital art or just appreciate seeing creative work, definitely worth checking out what people are sharing from Oeee Cafe on your timeline now. You can find me there at @hongminhee洪兔 if you want to connect!
@hongminhee@hollo.social洪 民憙 (Hong Minhee)
@jihyeokJihyeok Seo @hongminhee@oeee.cafe洪兔 ow wow that amazing, I was just looking at a #oakaki platform that added #atproto support recently, it's interesting to see those nieche communities finding the power of decentralization!
As @hongminhee洪 民憙 (Hong Minhee) recently posted about
A new drawing community called https://oeee.cafe (@oeee_cafeお絵かき OEEEカフェ 🥒) made by
@jihyeokJihyeok Seo and others just implemented #ActivityPub and joined the #fediverse. It's exciting to see niche art focused software using these tools and techniques to share in our weird network we have here.
via https://hollo.social/@hongminhee/0198e1eb-67ba-76dc-a5a6-934c20bf968b
announcement post: https://hackers.pub/@jihyeok/0198e00f-04e9-77dd-abb8-b3d6a2b42808
Excited to share some great news from the #creative community! Oeee Cafe, a fantastic oekaki #drawing platform, just added #ActivityPub support today. This means all the amazing artwork being created there can now be shared and discovered across the #fediverse, which is such a wonderful step toward connecting creative communities.
Big shoutout to my friend @jihyeokJihyeok Seo for building this platform and bringing it to the fediverse. It's always inspiring to see developers creating spaces for artists and then opening them up to the broader federated community. If you're into digital art or just appreciate seeing creative work, definitely worth checking out what people are sharing from Oeee Cafe on your timeline now. You can find me there at @hongminhee洪兔 if you want to connect!
@z9mb1 를 팔로우하면 타임라인에 수제 그림이 뜰 겁니다.
Hackers' Pub은 현재 Fresh 프레임워크로 만들어져 있는데, Fresh 프레임워크의 한계를 벗어나기 위해 GraphQL + SolidStart 스택으로 넘어가는 작업(web-next)을 진행중입니다. 진행 상황을 관리하기 위해 에픽 이슈를 만들었습니다.
나도 오이카페(https://oeee.cafe)에 그림 올려봤다
oeee.cafe에 새로운 커뮤니티를 열었습니다.
Jihyeok Seo shared the below article:
Optique: 타입 안전한 CLI 파서 컴비네이터

洪 民憙 (Hong Minhee) @hongminhee@hackers.pub
이 글에서는 Haskell의 `optparse-applicative`와 TypeScript의 Zod에서 영감을 받아 제작된 새로운 CLI 파서 라이브러리인 Optique를 소개합니다. Optique는 파서 컴비네이터를 활용하여 CLI의 구조를 레고 블록처럼 조립할 수 있게 해줍니다. `option()`, `optional()`, `multiple()`, `or()`, `object()`, `constant()`, `command()`, `argument()` 등의 다양한 파서와 컴비네이터를 통해 복잡한 CLI 구조를 유연하게 정의할 수 있습니다. 특히, `or()`와 `object()` 컴비네이터를 사용하여 상호 배타적인 옵션이나 서브커맨드를 쉽게 구현하는 방법을 예제를 통해 설명합니다. Optique는 단순한 CLI 파서 역할에 집중하고 있어 모든 기능을 제공하지는 않지만, 복잡한 CLI 구조를 표현하는 데 유용하며, 소개 문서와 튜토리얼을 통해 더 자세한 내용을 확인할 수 있습니다.
Read more →조만간 Hackers' Pub 티셔츠를 제작하려고 합니다. 가격이 얼마가 될 지는 모르겠는데 마플 기준으로는 1만원–2만원 사이 정도 될 것 같군요. 관심 있으신 분 계신가요?
スクラップ学園、ミャアちゃん。
20年前のタイムラプスが残っているのは #お絵かき掲示板 だから。
#吾妻ひでお
https://paintbbs.sakura.ne.jp/
오늘 點心은 풀 잉글리시 브렉퍼스트! @jihyeokJihyeok Seo 님,
@kodingwarriorJaeyeol Lee (a.k.a. kodingwarrior)
님과 함께 Ruby's Cafe에서.
갑작스럽지만 @jihyeokJihyeok Seo 님과 저는 오늘 (선거일) 튜링의 사과(
@TuringAppleDev튜링의 사과)에서 모각코를 할 예정입니다. 심심하신 분들은 함께해요!
Good news! We've officially added #Cloudflare #Workers support to the #Fedify roadmap. We've created a detailed issue to track our implementation plan: https://github.com/fedify-dev/fedify/issues/233.
The effort will be tackled in phases, including compatibility assessment, core adaptations for Workers' environment, KV store and message queue implementations, and finally integration with Cloudflare's ecosystem. This will be a substantial project that we'll break down into several sub-issues.
If you're interested in contributing to any specific aspect of Workers support, please comment on the main issue to coordinate efforts.
🎉 #Cloudflare #Workers support is now complete! After implementing the test infrastructure, core module, examples, and comprehensive documentation, #Fedify can now run on Cloudflare Workers.
What's included:
@fedify/fedify/x/cfworkers
module withWorkersKvStore
andWorkersMessageQueue
- Complete documentation covering Workers-specific patterns and constraints
- Working example deployed to production
- Integration with Cloudflare KV and Queues
Try it now: Available in the development release v1.6.1-dev.876+7b07d213:
- JSR: https://jsr.io/@fedify/fedify@1.6.1-dev.876+7b07d213
- npm: https://www.npmjs.com/package/@fedify/fedify/v/1.6.1-dev.876
This will be included in the upcoming Fedify 1.6 stable release. Thank you to everyone who requested this feature and provided feedback throughout the implementation!
저는 오늘 @jihyeokJihyeok Seo 님과 함께 튜링의 사과(
@TuringAppleDev튜링의 사과)에 와서 모각코를 하고 있습니다. 함께 하실 분? 저희는 저녁까지 계속 있을 것 같습니다. 끝나고 저녁도 같이 드시면 좋고요.
Extra squirrels
Watching 1GBit/s+ of squirrels pictures leaving my server, surely just as the authors of activity pub intended
I've been thinking about client-server interactions in the #fediverse. #ActivityPub #C2S isn't widely used, and most clients rely on Mastodon-compatible APIs instead.
What if we created a new standardized API based on GraphQL + Relay for client-server communication, while keeping ActivityPub for server-to-server federation?
The Mastodon-compatible API lacks formal schema definitions for code generation and type checking, which hurts developer productivity. And ActivityPub C2S is honestly too cumbersome to use directly from client apps.
#GraphQL would give us type safety, efficient data fetching (only get what you need), and the ability to evolve the API without breaking clients. #Relay's features for pagination, caching, and optimistic updates seem perfect for social apps.
Would this be valuable to our community? What challenges do you see? How might we handle backward compatibility? And should this be formalized as an FEP?
Curious what others think about this approach.
Reasons farmers have given me for wanting to retire to The Simple Life (office work):
- number one reason, by a massive margin "my back is fucked"
- you can be inside out of the sun and in aircon. Not just at dinner time but *all the time*
- you can sit down and it's not a break, it counts as work
- very few things in an office can remove a finger
- dangerous work equipment such as firearms do not need to be stored on the same premises where your children live
- you're probably not going to do directly responsible for the welfare of thousands of animals
- if the business goes under, you are free to find a new job. Your family is not forced to live in the physical remains of the failed business
- even if the business you work for can't achieve its goals, there generally won't be a large scale animal euthanasia (or plant death) around your home
- you get paid every month, not once a year. Often your wage is set, or sometimes it's related to how much work you do. Your wage doesn't fluctuate wildly according to rainfall, demand, etc.
- office work involves other humans
- very few low paid office workers have to buy and mortgage their workspace in an increasingly abusive financial system which leads them into deeper and deeper debt in order to continue working the same... Desk
2025年 오픈소스 컨트리뷰션 아카데미 參與型 멘토團 募集 公告가 떴다. Fedify 프로젝트의 메인테이너로서 멘토團에 志願하고자 한다. 志願書가 .hwp 파일이기에 큰 맘 먹고 한컴오피스 한글 for Mac도 購入했다. (아무래도 앞으로 .hwp 파일 다룰 일이 많을 것 같다는 豫感이 들어서…)
본문에 “< center > 태그 안 된다는 얘길 듣고” 라고 썼는데 … 글에 적용되어버림…
RE: https://hackers.pub/@diarapin/019622df-6d0d-7651-a0a6-3fd0ad97fe25
@jihyeokJihyeok Seo 의 https://naru.pub/ 에 띄울 홈페이지 나두 만들어서 띄워보고 싶어서 후다닥 스케치해봄… 그러나… 지식이 관련 지식이 전무한 상황… 하지만 해보겠습니다……. (이미지, 텍스트 정렬 할 때
할 말 없으니까 그나마 기술적인 내용이 있는 거 갖고오기: React로 게임 프로토타이핑하기
레트로 웹 마니아 @limeburstJihyeok Seo 가 만든 호스팅 플랫폼 나루(https://naru.pub/)에 나도 2005년 감성의 홈페이지를 하나 깎아서 띄워볼까 함…(2005년인 이유: 내 html, css, js 지식이 20년 전에 멈춰있음)