
Jihyeok Seo
@jihyeok@hackers.pub · 86 following · 49 followers
Website
- ji.hyeok.org
I wrote a post on my blog after a long time: Recent open source development updates.
oeee.cafe/collaborate 오이카페에 넷캔 기능이 추가되었습니다! 저주피 없는 오이깎이 넷캔을 2025년도에 느껴 보세요. 넷캔 세션을 시작한 다음, 공유 버튼으로 세션 링크를 함께 그리고 싶은 분에게 공유하면 됩니다.
오이카페 이슈 트래커에 ActivityPub 관련해서 기여할 수 있는 이슈를 몇 가지 등록했습니다!
다른 오픈소스도 기여하고 싶은데 뭐하지 ㅎ^ㅎ
진짜 예나 지금이나 마우스로 그림 기깔나게 잘 그리는 사람들은 뉴타입인 게 분명함
요즘 오에카키 같은 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으로 이름, 연락처, 주소지, 우편번호를 알려주시기 바랍니다!
감사합니다.
@silverpill
@hongminhee洪 民憙 (Hong Minhee) Thank you for the report! I’ll take a look at this!
@hongminhee洪 民憙 (Hong Minhee)
@silverpill It looks like I need an invite code to join mitra.social. Can you provide me one?
해커스펍에서 오이카페 링크 뜰 때마다 썸넬로 내 염버니 그림이 보여서 부끄러움... ㅋㅋㅋ
오이카페에 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..
@jihyeokJihyeok Seo I can't subscribe, the server responds with 500
"Something went wrong: Failed to parse object"
@silverpill
@hongminhee洪 民憙 (Hong Minhee) Thank you for the report! I’ll take a look at this!
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!
@jihyeokJihyeok Seo
@z9mb1wwj 버그…라기 보다는 최초 팔로 이전에 리모트에서 올린 게시물은 안 보이니까, 검색해서 가져왔어요.
@hongminhee洪 民憙 (Hong Minhee)
@z9mb1wwj 팔로우가 안 됐는데 글이 왜 보이나 했더니 ㅋㅋ
@jihyeokJihyeok Seo 팔로우를 받는데 시간이 걸리는 것 같네요. 기능 추가하느라 수고하셨어요!!!
@z9mb1 를 팔로우하면 타임라인에 수제 그림이 뜰 겁니다.
@z9mb1 테스트로 그림 두 개를 올렸는데 해당 핸들 계정에 안뜰 때는 어ㄸㅓㅎ게 하면 되나요
@z9mb1wwj 일단 팔로우를 하셔야 합니다!
오이카페에 ActivityPub 지원이 들어갔습니다. 이제 좋아하는 작가나 커뮤니티의 새 그림을 연합우주에서도 받아 보세요!
작가 프로필이나 커뮤니티 메인 페이지에서 ActivityPub 핸들을 확인할 수 있습니다.
인용된 그림은 ActivityPub 연동을 도와주신 @hongminhee洪 民憙 (Hong Minhee) 님이 오이카페 초창기에 그려 주신 고양이 그림입니다. 감사합니다!
I added ActivityPub support to Oeee Cafe, which is a safe-for-work Oekaki-style drawing board.
You can view the handles for artists or communities you like in the profile or the community main page. Subscribe and get new artwork right in your Fediverse timeline!
Special thanks to @hongminhee洪 民憙 (Hong Minhee) who helped me implement ActivityPub. Quoted is his drawing in the early days of Oeee Cafe.
오이카페에 ActivityPub 지원이 들어갔습니다. 이제 좋아하는 작가나 커뮤니티의 새 그림을 연합우주에서도 받아 보세요!
작가 프로필이나 커뮤니티 메인 페이지에서 ActivityPub 핸들을 확인할 수 있습니다.
인용된 그림은 ActivityPub 연동을 도와주신 @hongminhee洪 民憙 (Hong Minhee) 님이 오이카페 초창기에 그려 주신 고양이 그림입니다. 감사합니다!
Hackers' Pub은 현재 Fresh 프레임워크로 만들어져 있는데, Fresh 프레임워크의 한계를 벗어나기 위해 GraphQL + SolidStart 스택으로 넘어가는 작업(web-next)을 진행중입니다. 진행 상황을 관리하기 위해 에픽 이슈를 만들었습니다.
나도 오이카페(https://oeee.cafe)에 그림 올려봤다
oeee.cafe에 새로운 커뮤니티를 열었습니다.
@z9mb1wwj 오이카페 많관부 🥳🥳🥳
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 →Is htmx suitable for sns frontend, like mastodon/misskey?
(I won't a high functionality frontend, i want a simple frontend)
조만간 Hackers' Pub 티셔츠를 제작하려고 합니다. 가격이 얼마가 될 지는 모르겠는데 마플 기준으로는 1만원–2만원 사이 정도 될 것 같군요. 관심 있으신 분 계신가요?
@hongminhee洪 民憙 (Hong Minhee) 검정티 한 벌 수요조사 참여합니다 🙋
조만간 Hackers' Pub 티셔츠를 제작하려고 합니다. 가격이 얼마가 될 지는 모르겠는데 마플 기준으로는 1만원–2만원 사이 정도 될 것 같군요. 관심 있으신 분 계신가요?
어제 튜링의 사과에서 @hongminhee洪 民憙 (Hong Minhee) 님과 모각코 하며 건진 것:
- Zed 에디터
- Zed + Rust 디버거
- Zed + GitHub Copilot
제드만세
My GitHub Sponsors profile is live! You can sponsor me to support my open source work 💖 https://github.com/sponsors/limeburst
@satopianさとぴあ Hi. I wrote a PaintBBS NEO replay renderer in Rust. I thought you might be interested in it. Thank you!
@satopianさとぴあ こんにちは。Rustで PaintBBS NEO リプレイレンダラーを書きました。興味を持っていただけるかと思いお知らせします。ありがとうございます!
I just sponsored dahlia. Go sponsor your open source dependencies! https://github.com/sponsors/dahlia?o=sp&sc=t&sp=limeburst
@satopianさとぴあ Hi. I wrote a PaintBBS NEO replay renderer in Rust. I thought you might be interested in it. Thank you!
Fedify를 활용하여 제가 만드는 텍스트 전용 블로깅 플랫폼인 타이포 블루에 연합우주 기능을 구현했습니다. 많은 관심 부탁드립니다!
@jakelazaroff Hi. I'm currently building Oeee Cafe, which is an old-style Oekeki board. I'd like to add collaborative drawing features to this website, and in my research I stumbled upon your post and thoroughly enjoyed it. I'd like to use the code examples used in the post. However, the license for the code is hard to find. If you could tell me under what license I can use this code, I'd appreciate it! (BTW, Oeee Cafe is being built under AGPLv3)
スクラップ学園、ミャアちゃん。
20年前のタイムラプスが残っているのは #お絵かき掲示板 だから。
#吾妻ひでお
https://paintbbs.sakura.ne.jp/