bgl gwyng

@bgl@hackers.pub · 87 following · 107 followers

슈티를 함께 만들 팀을 만들고 있습니다. 관심 있으신 분, 또는 잘 모르겠지만 이야기를 나눠보고 싶은 분도 bgl@gwyng.com으로 편하게 연락주세요.

GitHub
@bglgwyng
shootee
www.shootee.io

윤슬, 볕뉘
들어 보셨나요?
윤슬은, 찰랑이는 물(바다)에 햇빛이나 달빛이 비치면서 부서지는 모습을 말하며,
볕뉘는, 나뭇가지 사이로 (작은 틈으로) 들어오는 햇빛이라 합니다.

윤슬은 노래 가사로 들어 알고 있었는데, 볕뉘는 처음 들어 봤습니다.
잘 안쓰이는 이쁜 말들이 사라지는 걸 아쉬워하는 사람들이 있어, 살다 보면 한 번쯤은 어디선가 들어 보는데, 볕뉘는 전혀 들어 보지 못했습니다.

4

bgl gwyng shared the below article:

자기소개애

Eunsoo Eun @maxwell@hackers.pub

다양한 분야를 섭렵하며 '잡부'로 불리는 대학교 3학년 학생의 자기소개입니다. 커널 소스 분석, 리버싱 문제 풀이, AI 라이브러리 기여 등 폭넓은 활동을 하고 있으며, 러스트를 좋아하고 Haskell 학습을 희망하지만 게으름으로 미루고 있다는 솔직함이 돋보입니다. 대학원 진학을 꿈꾸지만 잦은 결석이 고민인 이 학생은, 다재다능함과 솔직한 매력으로 앞으로 어떤 활약을 보여줄지 기대감을 자아냅니다.

Read more →
15

컴퓨터공학과 문화연구를 공부하고 있는 자유전공학부 학부생입니다! 아직 컴공 전공 수업을 듣지 못했지만, 2학기부터 수강하고 본격적으로 공부하기 시작할 예정입니다. 빅테크 기업의 인클로저와 자본 축적, 그로 인해 일어나는 노동착취를 비판적으로 바라보고, 그에 대항하는 정치적 실천으로서 기술의 가능성을 상상하고 있습니다. 일상과 정치 얘기는 @cosmic_elevator슥뽕귀신 , 독서 기록은 @exproot지수루트 에서 보실 수 있어요!

9

를 해볼까요.

  • @ranolpRanol☆P 와 동일인입니다...만 해당 계정은 근시일 내에 살릴 계획이 없습니다.
  • @ranolp 계정은 프로그래밍 언어론/해커스펍 사용기 위주 계정입니다.
  • 다시 말하자면 그 외 일상적인 내용은 트위터에서 이야기한다는 뜻입니다...
  • TypeScript와 얼추 호환되면서 제정신인 타입 추론 규칙을 가진 언어를 만들려고 타입 이론을 공부하고 있습니다.
    • 좀 많이 전에는 Bidirectional Typing (J. Dunfield, N. Krishnaswami)을 읽었었고,
    • 독일에 있는 튀빙겐 대학 내에서 연구하는 대수적 효과 언어 Effekt도 간단히 살펴보았었습니다.
    • 최근에는 힌들리-밀너-다마스 타입 추론 위에 얹은 부타입 확장을 살펴보고 있습니다.
      • 캠브릿지 대학 연구인 MLsub (S. Dolan and A. Mycroft)...
      • 을 단순화한 Simple-sub (L. Parreaux)을 시작으로 MLstruct, Ultimate Conditional Syntax 등 홍콩대 연구를 많이 보고 있습니다
      • MLscript가 정말 흥미로운 언어에요 ReScript but more Kotlin처럼 생겼음
  • 올해 들어서 An Infinitely Large Napkin으로 군론과 군의 작용, 위상수학과 대수 위상(호모토피만), 그리고 범주론을 배웠습니다.
  • 형식적 증명 보조기에도 관심이 많습니다.
    • Software Foundation을 통해 Coq (현 Rocq)를 약간 배웠습니다.
    • Lean 4도 약간 맛보기를 했습니다.
    • 의존 타입/마틴 뢰프 타입(MLTT)/호모토피 타입(HoTT) 등을 배워 간단한 증명 보조기도 만들어보고 싶네요.
      • 아마 An Infinitely Large Napkin 스터디가 끝나면 HoTT 스터디를 하지 않을까 싶네요.

16
0
0

저도

  • 가장 최근에는 TypeScript로 웹, 게임 백엔드 개발을 했습니다
  • 제 손으로 뭔가를 만드는 게 재밌어서 프로그래밍을 골랐습니다.
  • 요새는 코딩 잘 안 하구 풀-타임 백수로 지내고 있습니다.
  • 가장 긴 경력은 육군 통신 장교입니다
  • 서울 거주 중이고, 내년에 토론토로 떠나볼 예정입니다
  • 취미로 기타 연주하고 책 읽고 노래 듣고 키보드 설계합니다
  • 터보-씨로 시작해서 "자바 두 명 타요" 소리 들으면서 자라서 괜히 자바를 멀리했습니다
    • 그래서 아직도 자바를 잘 몰라요
  • macOS에서 Emacs + org 잘 쓰고 있습니다
  • Elixir, Haskell, Rust 좋아하는데 잘 모릅니다
  • 일본어, 영어, 에스페란토 공부하는데 잘 못합니다
  • 한국어 개잘합니다 원어민급임
9

흐름에 탑승해봅니다.

  • Hackers' Pub 개발에 조금은 기여를 했습니다. 아마도 앞으로도...
  • VisualBasic으로 프로그래밍을 시작해서 지금은 SoftwareEngineer 로 벌어먹고 살고 있습니다.
  • iOS 앱, 웹, Office문서의 HTML변환기, 모바일 게임, HTML5 게임, HFT 등 코드를 작성했다 말고는 공통점을 모르겠는 커리어를 쌓아(?)왔어요.
  • Emacs사용자였으나 이제는 그냥 VS Code를 쓰고 있어요.
  • 요즘 쓰는 언어는 Rust, Typescript, Power shell, C++, Python 정도인 것 같네요. 마지막 2개는 별로 쓰고 싶지는 않은데 어쩔 수 없이...
  • 한동안은 HomeAssistant에 zigbee 장치 세팅하느라 quirks 코드를 좀 작성 했지만 이제는 일단 다 돌아가서 손 놨네요. 정리해서 이것도 기여 해야하는데...
  • 요즘에는 macOS에서 실행되는 RDP서버 와 캘린더 일정 생성을 위한 크롤링 시스템(예전에 만든 같은 목적의 프로젝트에서 유지보수를 고려해서 새로 개발) 같은 것을 만들고 있어요
  • 맥미니 한대 들여서 로컬 LLM도 조금 건드려보다 말았네요.

잘부탁드립니다

12
2

bgl gwyng shared the below article:

Django 5.2에서 선언적 테이블 파티셔닝 사용해본 케이스 공유

도둑맞은사슴 @thiefbird@hackers.pub

이 글은 Django ORM을 사용하여 PostgreSQL의 선언적 파티셔닝을 구현하는 과정을 소개한다. 대용량 데이터 처리의 필요성에 따라 테이블 파티셔닝을 도입하려 했으나, Django가 PostgreSQL의 선언적 파티셔닝을 직접 지원하지 않는 문제에 직면했다. 초기에는 raw SQL과 `RunSQL`을 사용하여 파티셔닝을 구현하려 했지만, 최신 Django 버전의 복합 PK 지원을 활용하여 ORM 수준에서 파티셔닝을 관리하는 방법으로 전환했다. PostgreSQL 파티셔닝의 제약 사항인 파티션 키를 primary key에 포함해야 한다는 점을 고려하여 모델을 설계하고, `managed=True` 상태로 ORM 모델을 관리하면서도 PostgreSQL의 내장 스케줄러를 활용한 쿼리가 가능하도록 구현했다. 이 접근 방식은 여전히 마이그레이션 파일에 SQL문을 추가해야 하지만, ORM의 이점을 최대한 활용할 수 있다는 장점이 있다. 향후 data retention 정책 관리 등 개선의 여지가 있지만, 현재로서는 만족스러운 해결책이다.

Read more →
4

수학 전공자로서, 한때는 프로그래머에게 수학이 왜 필요한지, 얼마나 중요한지 같은걸 열심히 설파하려던 적이 있었는데요, 그 흔적이 이런 영상들인데 https://youtu.be/ND2gJVxZUaM?si=RsvrjsgYWeFCJMUT 지금 와서는 (수학을 제가 다 까먹었기도 했고) 그런 실용적인 목적보다는, 그냥 ‘재밌으니까’ 다들 공부했으면 좋겠다는 생각입니다. 이는 수학 뿐만 아니라 뭐든지, 뭘 알아야한다/알아야하냐 같은 얘기보다 ‘재밌으니까’가 먼저 오는 환경을 생각합니다. 너무 이상적이긴 하지만요.

8
0
0

새로 오신 분들도 많이 계시니, 한 번 해 볼까요? 저부터 해보겠습니다.

  • Hackers' Pub을 만들고 운영하고 있습니다. (Hackers' Pub은 저희 집 홈 서버에서 돌아가고 있습니다… 😂)
  • 연합우주(fediverse)와 ActivityPub에 관심이 많고, 또 관련된 소프트웨어(@fedifyFedify: an ActivityPub server framework, @holloHollo :hollo:, @botkitBotKit by Fedify :botkit:, Hackers' Pub…)를 만듭니다.
  • 좋아하는 언어는 Haskell인데 자주 쓰는 언어는 TypeScript입니다. 예전에는 Python을 좋아하고 자주 썼습니다.
  • 함수형 프로그래밍을 좋아합니다만, 좋아하는 만큼 잘 다루는지는 잘 모르겠습니다.
  • 옛날에는 덕 타이핑 언어를 좋아했는데, 나이가 들고 협업을 많이 하게 되면서 정적 타이핑 언어를 선호하게 되었습니다. 그래도 여전히 덕 타이핑 언어가 제공하는 특별한 생산성이 있다고 생각합니다.
  • 자유 소프트웨어와 오픈 소스를 좋아합니다. GPL을 좋아하지만, 트랜스젠더 배제적인 행보를 보인 적 있는 자유 소프트웨어 재단이나 여러 성추행 전적이 있는 Richard Stallman은 좋아하지 않습니다.
  • 소프트웨어 문서화에도 관심이 많습니다. 문서화가 소프트웨어 개발의 중요한 부분이라고 생각합니다. 문서화 도구들에도 관심이 많습니다.
  • 원래는 백엔드 개발자였는데 바로 전 직장이 블록체인 회사여서 백엔드 개발에서 손을 놓은 지 좀 되니까 이제는 잘 모르게 됐습니다. 재활이 필요합니다.
  • 현재는 일 안 하고 쉬고 있습니다.
  • 30대 후반, 기혼, 자녀는 없습니다. 서울에서 살고 있습니다.

아무쪼록 잘 부탁드립니다.

17
0
0

아, 이렇게 된 이상 저도 해야겠어요. WWDC 기다리는 중인데, 자기소개 글이라도 작성하기 딱 좋은 시기긴 하네요

  • 일단 저는 해커스펍을 만드는 사람은 아닌데, 명목상으로는 1호 가입자(?)이구요. 해커스펍 서비스 자체가 너무 좋아서 이 사람 저 사람 찔러보면서 "츄라이 츄라이"하는 사람을 담당하고 있어요.
  • 한국어권 Vim 사용자 모임 vim.kr, 그리고 한국 연합우주 개발자 모임 디스코드를 운영하고 있습니다. 커뮤니티가 일단은 굴러가게는 하는 재능(?)이 있습니다.
  • 좋아하는 언어는...... python인데, 밥벌이 시작을 Ruby로 해서 Ruby로 여전히 밥벌이하고 있습니다. 동적 타이핑 언어로 휘리릭 타이핑하고 프로토타입을 즉석에서 보고 가설검증할 수 있는 것에 매력을 느낍니다.
  • 함수형 언어.. Elixir, Clojure, Haskell, Elm 등등 관심을 가져왔고 여러차례 찍어먹어보긴 했는데, 현업으로 쓰게 될 일은 없어서 피상적인 지식만 알고 있습니다.
  • 주력 분야.... 이젠 모르겠습니다... 짬처리를 전문으로 해와서 그런가... 백엔드도 하고, 프론트도 하고, 모바일 앱도 만들고 잡다하게 해왔는데... 밥벌이를 안정적으로 하려면 프론트엔드를 주력으로 가는게 맞겠다 싶긴 합니다.
  • 이미 느끼셨겠지만, 주로 쓰는 에디터는 입니다. Neovim으로 서버개발도 하고, 프론트엔드 개발도 하고, 플러터 앱 개발도 합니다. 이미 Neovim을 열심히 쓰는 사람이기 때문에, 자진해서 Neovim 전도사 역할을 할 때가 많고, Neovim 전도하는걸로 발표도 여러차례 했습니다. 발표자료가 궁금하다구요? 여기를 참고해보시면 될 것 같아요.
  • 30대 중반... 미혼.... 서울에서 살고 있구요. 정체성은 아마 시스헤테로남성..?

아무튼.... 잘 부탁드릴게요.....

12

@kodingwarriorJaeyeol Lee 님에게 들킨 김에 써보는

  • 퍼리입니다. 언젠간 해커스 펍을 털로 뒤덮으려는 아름다운 마음을 품고 있습니다.
  • 재작년 부터 web3 쪽으로 전향했고 주로 코어 쪽을 건들고 있습니다. 하지만 여전히 블록체인은 잘 모릅니다.
  • 언어 만드는걸 좋아하고 관련 프로젝트들에 기여를 하고 있습니다
  • 좋아하는 언어는 러스트와 OCaml인데 안 쓴지 오래되서 조만간 까먹을거 같네요
  • 파서나 상태머신, 정적분석을 좋아합니다. - 관련해서 요즘은 개발하고 있는 언어에 린터를 만들고 있습니다
  • 활자 중독입니다. 해커스펍은 읽을게 많아 좋네요. 책은 주로 철학이나 건축 쪽을 읽고 있습니다.
  • 의외로 백엔드나 프론트엔드를 해본적이 없어서 항상 애매한 포지션에 있는 것 같습니다.
  • 밴드활동도 하고 있습니다. 원래 대충 모여서 술마시는 것에 의의를 뒀었는데 올해는 공연 뛸 일이 많아졌네요.
  • 20대 중반이고 서울에서 거주 중입니다

여러모로 잘 부탁드립니다. 추가로 깃헙 프로필은 https://github.com/notJoon입니다.

낫준 배상

9
1
0

bgl gwyng shared the below article:

ChatGPT로 연구를 진행한 경험

제이미 @theeluwin@hackers.pub

ChatGPT Plus와 Pro를 6개월간 사용하며 연구에 활용한 경험을 공유합니다. 저자는 이 기간 동안 논문 발표 및 제출에 ChatGPT를 적극적으로 활용했습니다. ChatGPT의 Deep Research 기능은 논문 검색 시 유용하지만, 최신 고품질 논문 서베이에는 한계가 있었습니다. 이론적 증명에서는 그럴듯하지만 틀린 결과를 제시하는 경우가 많아 주의가 필요합니다. 모델 설명과 실험 분석에서는 ChatGPT의 도움 정도가 미미했지만, 번역 기능은 거의 완벽에 가까운 성능을 보여줬습니다. 결론적으로, ChatGPT는 브레인스토밍과 번역에 유용한 도구이지만, 연구의 핵심 방향은 직접 이끌어야 합니다. ChatGPT와 수식 레벨의 구체적인 디스커션은 연구 가능성을 확장하는 데 도움이 될 수 있습니다. 다만, ChatGPT의 지식에 의존하는 것은 위험하며, 디스커션에 필요한 모든 지식을 context 안에 담아두는 것이 중요합니다. ChatGPT가 지식을 틀리게 변형하여 적용하는 것을 인지하지 못할 경우 사용을 자제해야 합니다.

Read more →
8
0
1

Hackers Pub은 개발자를 위한 블로깅 플랫폼이면서 SNS기능이 탑재된 흥미로운 서비스이지만, ActivityPub 프로토콜을 지원하여 Mastodon/Misskey/Thread 등의 SNS를 구독할 수 있는 연합우주 소프트웨어이기도 합니다.

연합우주 소프트웨어가 정확히 어떤 것인지 간단하게나마 파악할 수 있게 슬라이드로 정리해봤습니다. (해커스펍에 오지 않은 분들에게만 미공개)

기술적으로 어떤 물건인지 궁금하시다면 @hongminhee洪 民憙 (Hong Minhee) 님이 쓰신 글도 한번 읽어보시는 것도 좋습니다.

막상 들어왔는데 어떤 계정을 팔로할지 모르겠다구요? 이 글도 참고할만할지도 모르겠네요.

해커스펍 온보딩 시각화자료도 준비해볼까 생각중이긴 한데, 뭐 암튼 적응에 도움되기를 바랍니다.

4
1
1

저는 매일 arXiv에서 사전에 지정한 몇몇 키워드로 검색한 논문들을 LLM으로 요약 한 뒤 이메일로 받아보고 있습니다. 단순한 방식이지만, 그리고 요약이 크게 도움이 되지는 않지만, 적어도 ‘매일 오늘 최신 논문을 확인해야한다’는 사실 자체를 자동화 하는데에 의의를 두고 있습니다. 오픈소스로 공개해두긴 했지만 서버 세팅이 귀찮으신 분들에겐 제가 1년에 1만원으로 구독 서비스를 운영중입니다 (구독 문의는 수동으로...) https://github.com/theeluwin/daily-paper-summary-digest

5

"팡션 쓰지 마세요"

  1. 팡션을 써야할 이유도 모르고 쓸 줄도 모르지만 왠지 쓰는 게 멋있어 보여 자신이 찾는게 무엇인지도 모른채 인터넷을 헤매이며 시간만 보내고 있다거나,
  2. 결국 어렵게 찾아낸 팡션 보다 더 좋은 팡션이 있을지 모른다는 두려움에 빠져 매일 새로운 팡션 상세를 뒤지며 오늘도 시작을 미루고,
  3. 이에 더해 위의 과정을 통해 얻게 된 나의 피상적이지만 방대한 지식에 왠지 모를 뿌듯함을 느끼며 이 모든 것을 합리화하고 있다면,

팡션 그냥 안쓰는게 제일 좋다고 생각한다. 물론 모두 다 합리적인 선택만 하고 살면 세상이 재미가 없으니 각자 알아서 자기 시간/리소스 걸고 빼팅하는 것에는 무한한 존경과 존중을 보낸다.

4

이메일 주소가 깔끔한 사람을 보면 좋은 느낌이 듭니다.
자기 이름을 영어로 혹은 짧고 읽기 쉬운 닉네임으로 만든 이메일들.

가장 인상적이었던 이메일은 r@google.com 이었습니다.
UTF-8과 GO 언어를 만든 롭 파이크.
그가 구글에 들어갈 때 선택한 이메일.
한 글자 이메일 주소라니. 센스 터지는 군.

한편으로 한글 이름을 영어로 rlawogh(김재호) 하거나,
숫자가 들어간 이메일을(rlawogh777) 보면 좋은 느낌이 들지 않습니다.

깔끔한 이메일을 보면 이 사람은 신중하고 좋은 결정을 하는 사람이라는 생각이 듭니다.
이런 생각은 편견일 수 있다는 걸 알면서도... 이 편견에서 빠져나오기가 힘드네요.😁

4

bgl gwyng shared the below article:

“조용한 연합우주” 문제를 해결하는 두 가지 접근법: 대화 백필링 메커니즘

洪 民憙 (Hong Minhee) @hongminhee@hackers.pub

이 글은 연합우주(fediverse)에서 발생하는 "조용한 연합우주" 문제, 즉 대화의 일부만 보이는 현상의 원인과 해결책을 탐구합니다. ActivityPub 프로토콜의 분산 특성으로 인해 대화가 여러 서버에 분산되어 저장되면서 발생하는 이 문제를 해결하기 위해, 답글 트리 크롤링과 컨텍스트 소유자 기반 방식이라는 두 가지 주요 접근법을 제시합니다. 답글 트리 크롤링은 모든 답글을 순차적으로 가져오는 방식이지만 네트워크 취약성과 작업량 증가의 단점이 있고, 컨텍스트 소유자 방식은 대화의 원 작성자가 대화 내용을 관리하는 중앙화된 접근법이지만 컨텍스트 소유자에 대한 의존성이 높다는 단점이 있습니다. 또한, 모더레이션 패러다임의 충돌과 상위 전파 누락 문제와 같은 논쟁점을 지적하며, 주기적 크롤링, 사용자 트리거, 멘션 기반 백필과 같은 추가적인 백필 메커니즘을 소개합니다. 마지막으로, FEP 수렴 논의와 구현체 간 협력 현황을 통해 향후 개발 방향으로 하이브리드 접근법의 표준화를 제시하며, 다중 전략 구현, 리소스 관리, 모니터링 및 로깅의 모범 사례 가이드라인을 제시합니다. 이 글은 연합우주가 더욱 풍부하고 연결된 소셜 네트워크로 발전하기 위한 노력과 사용자 경험 개선의 중요성을 강조합니다.

Read more →
7
0
0

오늘 @xiniha 님 소환해서 배운 것:

  • SolidStart 기본적인 사용법
  • SolidStart 위에서 GraphQL 질의해서 결과 갖다 쓰는 법
  • GraphQL + Relay에서 커넥션에 추가 필드 끼워넣는 법
  • SolidStart에서 shadcn/ui…가 아니라 solid-ui 쓰는 법

그리고 배운 건 아니고 그냥 @xiniha 님이 다 해주신 것:

  • Lingui를 이용한 국제화 세팅
  • Deno를 쓰기 때문에 생기는 온갖 트러블들 해결

이제 이 새로운 스택으로 Hackers' Pub을 재구현하기만 하면 된다…! 다행히 도메인 모델은 분리되어 있어서, UI 위주로 재작성하면 될 것 같다.

4
4

We're migrating Hackers' Pub to a pretty unconventional tech stack, and I'm honestly excited about it!

Thanks to my friend @xiniha, we're diving into , , , , and . In a world dominated by Next.js and React, this feels refreshingly different. And yes, we're sticking with instead of Node.js too.

Some might call it contrarian, but I like to think of it as exploring what's possible beyond the mainstream. Sometimes the road less traveled leads to interesting places.

7

bgl gwyng shared the below article:

스마트폰 카메라 사용이 불가능한 환경에서 TOTP QR코드 옮기기

변규홍 / combacsa @combacsa@hackers.pub

이 글은 2차 인증 시 QR 코드 스캔이 불가능한 환경에서 TOTP를 등록하는 방법을 소개합니다. 카메라를 사용할 수 없고, 파일 반출이 금지된 Windows 환경에서 Python과 QR 코드 리더 패키지(qreader)를 사용하여 QR 코드를 해독합니다. 해독된 비밀 키를 KeePassXC에 등록하여 TOTP를 생성하고, 이를 통해 2차 인증을 완료합니다. 이후 Google Authenticator 앱에도 동일한 비밀 키를 등록하여 편의성을 높입니다. 마지막으로, 더 간편한 방법(PyOTP 사용)이 있었을지에 대한 질문을 던지며 마무리합니다. 이 글은 제한된 환경에서 TOTP 등록 문제를 해결하는 실질적인 방법을 제시하고, 독자에게 추가적인 탐구의 여지를 남깁니다.

Read more →
6

평소에 함수형 언어 매니아들이 주장하는만큼 이펙트를 엄격하게 구분하는게 중요하다곤 생각안했는데, local first 앱을 만들다가 네트워크 요청을 포함한 IO와 그렇지 않은 IO를 구분해야하는 이유를 찾았다. 앱의 초기화 로직에 네트워크 요청이 숨어있으면 API 서버 장애시 앱이 아예 안켜지는 문제가 있다. 방금 이거랑 관련된 버그 찾느라 시간을 많이 썼다.

2
4

React만 쓰다가 solidjs를 시도 해봤는데, 홍보하고 있는 장점을 전혀 못 느끼고 있다. 물론 solidjs자체의 문제는 아닌 것 같고, 같이 쓰는 라이브러리의 문제인 것 같다. 일단 Router의 Context Provider와 Route 정의 트리의 시작이 분리가 안되어있고, 부분 경로 별로 레이아웃을 가지는 형태로 작성이 어려운 것 같다. 그리고 A 요소도 어째 동작을 안하게 되었는데 무엇이 문제인지 모르겠다. 디자인 작성이 싫어서 SUID - MUI (react material design)의 solidjs포트 - 를 썼는데 어째서인지 안쓰는 모듈까지 잔뜩 로드하느라 첫 렌더가 너무 느리다.

4
0

We're excited to announce Hollo 0.6.0, a significant release that brings enhanced security, better user experience, and important infrastructure improvements to your single-user microblogging setup.

Enhanced OAuth Security with Modern Standards

This release prioritizes security with comprehensive OAuth 2.0 improvements that align with current best practices. We've implemented several critical RFC standards that significantly strengthen the authorization process:

OAuth 2.0 Authorization Code Flow with Access Grants — We've overhauled the OAuth implementation to properly separate authorization codes from access token issuance, providing better security isolation throughout the authentication process.

RFC 7636 PKCE (Proof Key for Code Exchange) Support — Hollo now supports PKCE with the S256 code challenge method, which prevents authorization code interception attacks. This is particularly important for public clients and follows the latest OAuth 2.0 security recommendations outlined in RFC 9700 (OAuth 2.0 Security Current Best Practices).

RFC 8414 OAuth Authorization Server Metadata — We've added support for OAuth Authorization Server metadata endpoints, allowing clients to automatically discover Hollo's OAuth capabilities and configuration. This makes integration smoother and helps clients adapt to your server's specific OAuth setup.

Enhanced Profile Scope Support — The new /oauth/userinfo endpoint and expanded profile scope support provide applications with standardized ways to access user profile information, improving compatibility with a wider range of OAuth-compliant applications.

These OAuth improvements not only make Hollo more secure but also position it at the forefront of federated social media security standards. We encourage other fediverse projects to adopt these same standards to ensure the entire ecosystem benefits from these security enhancements.

Special thanks to Emelia Smith (@thisismissemEmelia 👸🏻) for spearheading these critical OAuth security improvements and ensuring Hollo stays ahead of the curve on authentication best practices.

Revamped Media Storage Configuration

We've significantly improved how Hollo handles media storage configuration, making it more flexible and future-ready:

New Environment Variables — The storage system now uses STORAGE_URL_BASE (replacing the deprecated ASSET_URL_BASE) and FS_STORAGE_PATH for local filesystem storage (replacing FS_ASSET_PATH). These changes provide clearer naming and better organization.

Improved Security Requirements — The SECRET_KEY environment variable now requires a minimum of 44 characters, ensuring sufficient entropy for cryptographic operations. You'll need to update your configuration if your current secret key is shorter.

Network Binding Control — The new BIND environment variable lets you specify exactly which network interface Hollo should listen on, giving you more control over your server's network configuration.

Thanks to Emelia Smith (@thisismissemEmelia 👸🏻) for leading these infrastructure improvements.

Better User Experience

Customizable Profile Themes — You can now personalize your profile page with different theme colors. Choose from the full range of Pico CSS color options to make your profile uniquely yours.

Enhanced Administration Dashboard — The dashboard now displays the current Hollo version at the bottom, making it easier to track which version you're running. You can also sign out directly from the dashboard for better session management.

Improved Post Presentation — Shared posts on profile pages now have better visual separation from original content, and the sharing timestamp is clearly displayed. This makes it much easier to distinguish between your original thoughts and content you've shared from others.

Better Image Accessibility — Alt text for images is now displayed within expandable details sections, improving accessibility while keeping the interface clean.

Syntax Highlighting — Code blocks in Markdown posts now feature beautiful syntax highlighting powered by Shiki, supporting a comprehensive range of programming languages. This makes technical discussions much more readable.

Enhanced Character Limit — The maximum post length has been increased from 4,096 to 10,000 characters, giving you more space to express your thoughts in detail.

Thanks to RangHo Lee (@rangho_220우주스타 아이도루 랭호 🌠) for the version display feature and Okuto Oyama (@yamanoku) for the image accessibility improvements.

Privacy and Content Improvements

EXIF Metadata Removal — Hollo now automatically strips EXIF metadata from uploaded images before storing them, protecting your privacy by removing potentially sensitive location and device information.

Public API Endpoints — Following Mastodon's approach, certain API endpoints are now publicly accessible without authentication, making Hollo more compatible with various client applications and improving the overall federation experience.

Thanks to NTSK (@ntekNTSK) for the privacy-focused EXIF metadata stripping implementation.

Technical Foundation

Node.js 24+ Requirement — This release requires Node.js 24.0.0 or later. We've also upgraded to Fedify 1.5.3 and @fedify/postgres 0.3.0 for improved performance and compatibility.

Test Coverage & Quality Assurance — The codebase now includes comprehensive testing infrastructure and test coverage. We're committed to expanding this coverage and integrating testing more deeply into our development and release workflows. This also provides an excellent opportunity for first-time contributors to get involved by writing tests.

Cross-Origin Request Support — OAuth and well-known endpoints now properly support cross-origin requests, aligning with Mastodon's behavior and improving client compatibility.

Cleaner Token Endpoint — The scope parameter is now properly optional for the OAuth token endpoint, clarifying that it only affects client credentials flows (not authorization code flows, where it was already ignored).

Looking Forward

This release represents a major step forward in making Hollo not just a great single-user microblogging platform, but also a leader in federated social media security standards. The OAuth improvements we've implemented should serve as a model for other fediverse projects.

We're particularly excited about the OAuth security enhancements, which demonstrate our commitment to staying ahead of security best practices. As the federated web continues to evolve, we believe these standards will become increasingly important for maintaining user trust and ensuring secure interactions across the fediverse.

Upgrading

Upgrading to Hollo 0.6.0 is straightforward, but there are a few important considerations:

Railway Deployment

  1. Go to your Railway dashboard
  2. Select your Hollo project and service
  3. In the deployments tab, click the three-dot menu and select Redeploy

Docker Deployment

  1. Pull the latest image: docker pull ghcr.io/fedify-dev/hollo:latest
  2. Stop your current container
  3. Start with the new image using your existing configuration

Manual Installation

  1. Pull the latest code: git pull
  2. Install dependencies: pnpm install
  3. Restart the service: pnpm run prod

Important Upgrade Notes

Environment Variables: Update your configuration if you're using deprecated variables:

  • Replace ASSET_URL_BASE with STORAGE_URL_BASE
  • Replace FS_ASSET_PATH with FS_STORAGE_PATH
  • Ensure your SECRET_KEY is at least 44 characters long

Session Reset: Due to the OAuth security improvements, existing user sessions may be invalidated during the upgrade. You'll likely need to log in again through your client apps (like Phanpy, Moshidon, etc.) after upgrading. This is a one-time inconvenience that ensures you benefit from the enhanced security features.

Thank you to everyone who contributed to this release, and to the community for your continued support. Hollo 0.6.0 brings significant improvements to security, usability, and the overall experience of running your own corner of the fediverse.

1
2
1
2

Quarkdown - 현대적인 Markdown 기반 조판 시스템
------------------------------
- 기존
Markdown 문법을 확장해 * 책, 논문, 슬라이드, 프레젠테이션* 등 다양한 형식의 문서를 손쉽게 제작할 수 있는 * 현대적 타이포그래피 시스템*
- *함수 지원, 변수 사용, 조건문/반복문, 표준 라이브러리* 등 고급 기능을 마크다운에 직접 내장하여, 기존 Markdown이나 LaTeX보다 * 확장성과 자동화*에…
------------------------------
https://news.hada.io/topic?id=21267&utm_source=googlechat&utm_medium=bot&utm_campaign=1834

0

타협하는 마음으로 매번 민주당을 찍는다. 나는 좌파고 애국심도 없는 반면 민주당은 애국보수이기 때문에 정치적으로 맞지 않는다. 국민의힘을 비롯한 일부 정치 세력과 일부 종교 세력은 “보수”가 아니라 “반인륜적 기회주의 세력”에 불과하기 때문에 애초에 고려 대상이 아니다.

반인륜적 기회주의 세력이 충분히 정리되고, 민주당이 정통보수로 자리잡고, 언론이 제대로 작동하기 시작하면(현재의 언론은 기회주의 세력의 일부이거나 극도로 무능하다), 그러면 드디어 안심하고 내가 실제로 지지하는 진보 계열 정당을 찍을 수 있을 것 같다.

이재명은 성남시장 시절부터 존경하던 정치인이자 행정가다. 기회주의자들의 이재명 악마화는 전혀 믿지 않는다. 그가 공약을 지키기 위해 최선의 노력을 할거라고 믿는다. 다만 그는 보수주의자이고 애국자라서 나랑 맞지 않을 뿐이다. 모든 공약에 반대하는 건 아니다. 예를 들어 보편기본소득 관련 정책은 적극 지지한다.

권영국의 공약은 나랑 잘 맞는 편인데(어떤 정치성향 테스트에 의하면 88% 일치) 이걸 그대로 믿는건 아니다. 원래 지지율이 낮을수록 강하고 선명한 메시지를 낼 수 있는거니까. 게다가 권영국이 지금 당장 당선된다 하더라도 그의 공약이 그대로 실행될 가능성이 매우 낮다. 한국은 아직 그렇게 좋은 나라가 아니다.

부디 이재명 정부가 성공하길 진심으로 바란다. 그 덕에 다음 대선 혹은 다다음 대선에서는 꼭 진보정당을 뽑고 싶다.

이재명이 과반을 넘긴 점, 이준석이 선거비 보전을 한 푼도 받지 못하게 된 점은 아주 기쁘다. 다만 권영국의 지지율이 더 높지 않은 게 아쉽고 미안하다.

14
0
0

Right now, South Korea is counting votes for the presidential election. Amid this, it has been revealed that men in their 20s and 30s overwhelmingly support Lee Jun-seok—an anti-feminist and effectively fascist candidate. I feel not only ashamed of my country's men of my generation but also deeply concerned. I believe there is a very high chance that South Korea could become a fascist country in 10 to 20 years. As a socialist and leftist, I feel powerless…

3
6
16
1
0
2
3
3

가끔 【此日彼日(차일피일)】을 【치일피일】 ()으로 잘못 쓰는 境遇(경우)가 있습니다만, 【此日彼日(차일피일)】은 漢文(한문)으로 「이 날 저 날」이라는 뜻이고, 【於此彼(어차피)】와 같은 漢字(한자)를 쓴다는 것을 記憶(기억)하시면 헷갈릴 일이 없을 것입니다.

2

By the way, I've added syntax highlighting to the Hollo development version. Here's an example:

def main():
    print("Hello, world!")

It's powered by Shiki, which supports hundreds of programming languages! This feature will be shipped with Hollo 0.6.0, the next minor release.

6

GPL은 외부 릴리즈시 추가로 작성하거나 고친 소스 코드의 동일 조건 공개를 강제하는 특성으로 인해, 초기에 사회주의-공산주의라는 오해를 많이 받기는 했었음. 네가 썼다면, 네가 작성한 코드도 공개하라는 공유주의 라이센스니까.

그러나 그러한 공개 강제는 GPL을 일종의 플랫폼으로 만드는 효과 - GPL을 쓰면 GPL이고 아니면 처음부터 아니어야 함 - 가 있어서, 리눅스가 BSD를 제치고, 윈도와 유닉스를 넘어 인터넷과 세계의 커널이 되는 결정적 요인이 됩니다. 그리고 수많은 기업들이 이를 기반으로 자라나죠.

GPL은 자본주의 사회에서도 매우 훌륭하게 기능하고 있습니다. 이제 와서 GPL이 공산주의라고 하는 사람은 거의 없죠.

4

Hackers' Pub을 사용하면서 연합우주(fediverse) 뿐만 아니라 Bluesky 사람들과도 교류하고 싶으신 분들은 Bridgy Fed라는 서비스를 사용해 보시면 좋을 것 같습니다. Hackers' Pub 계정 생성 후 2주가 지난 분들만 사용 가능하긴 한데요.[1]

@bsky.brid.gyBridgy Fed for Bluesky 계정을 팔로하시면 Bluesky 쪽에 일종의 미러링 계정이 생성되게 됩니다. 성공적으로 Bluesky 미러가 생기면 @bsky.brid.gyBridgy Fed for Bluesky 계정이 맞팔을 해 올 겁니다.

예를 들어 제 @hongminhee洪 民憙 (Hong Minhee) 계정으로 @bsky.brid.gyBridgy Fed for Bluesky 계정을 팔로하면, Bluesky 쪽에 @hongminhee.hackers.pub.ap.brid.gy라는 계정이 생기는 식입니다. 그러면 Bluesky 쪽 사람들이 해당 계정을 멘션하거나, 댓글을 달거나, 인용을 하면 Hackers' Pub에서 그게 보이게 됩니다. 서로 팔로도 할 수 있고요.


  1. Bridgy Fed 쪽의 스팸 대책 정책이라고 합니다. ↩︎

3

If you're interested in building your own server but don't know where to start, I recommend checking out 's Creating your own federated microblog. It provides a comprehensive, step-by-step guide that walks you through building a fully functional federated application. Perfect for developers who want to dive into the !

0
3
0

@bglbgl gwyng 저도 VS Code로 갈아타게 된 계기가 LSP의 보급으로 대부분의 언어에서 고품질의 자동 완성 및 리팩터가 제공되면서 생각이 바뀐 거였습니다. 아무리 글자 조작을 신속 효율적으로 한다고 해도 LSP의 기능이 주는 생산성을 따라가지 못하더라고요. 그리고 Vim이 제공하는 많은 이점을 이제 주요 IDE에서 Vim 호환 확장을 통해 누릴 수 있게 되었기도 하고요.

3
2

Node.js 개발자라면 꼭 읽어봤으면 하는 아티클 2선

일반적인 Node.js 애플리케이션을 개발할 때 프레임워크와 무관하게 함께 일하는 동료들에게 필수적으로 추천하고 싶은 아티클이 있다.

빠르고 유지보수 가능한 데이터베이스 패턴들

https://sophiebits.com/2020/01/01/fast-maintainable-db-patterns

특정 프레임워크나 ORM에 의존하지 않고도 N+1 Query, 캐싱 같은 일반적인 문제를 해결하며 유지보수 가능한 형태로 코딩하는 방법을 제시한다. DataLoader로 모든 문제가 해결된다고 생각할 수도 있지만, 근본적인 문제 해결 과정을 직접 고민해보는 것만으로도 엔지니어링 역량 향상에 큰 도움이 된다.

Next.js에서 보안을 고려하는 방법

https://nextjs.org/blog/security-nextjs-server-components-actions

React 관련 내용이 포함되어 있지만, 그 부분을 제외하고 읽어도 충분히 가치가 있다. 데이터를 클라이언트에 전달할 때 마스킹하거나 접근 권한을 검사하는 방법을 구체적으로 알려준다. 핵심은 별도의 플러그인이나 외부 시스템 없이도 간단하면서 효과적인 권한 검사 시스템을 구축할 수 있다는 점이다.

마무리

위 아티클들을 추천하는 이유는 간단하다. 특정 프레임워크에 결속되지 않으면서도 독립적이고 지역적으로 백엔드 애플리케이션에서 볼 수 있는 일반적인 문제를 해결할 수 있는 방법들을 제시하기 때문이다. 이런 접근법은 전체 코드베이스의 안전성과 성능을 크게 향상시키며, 결국 더 많은 개발자들이 행복하게 일할 수 있는 환경을 만들어준다고 생각한다.

대부분 프레임워크에 의존적이거나 플러그인에 의존해 전체 코드베이스를 올바르게 수정하기 어려워지는 모습을 여러번 보았다. 개인적으로 엔지니어링 문화에서 크게 해결하고 싶은 부분이다. JavaScript 뿐만 아니라 가능하면 언어나 런타임에 있는 근원적 요소만을 통해 문제를 해결하는게 건강하게 문제를 해결할 수 있는 방법이라고 본다.

6