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

bgl gwyng
@bgl@hackers.pub · 83 following · 95 followers
슈티를 함께 만들 팀을 만들고 있습니다. 관심 있으신 분, 또는 잘 모르겠지만 이야기를 나눠보고 싶은 분도 bgl@gwyng.com으로 편하게 연락주세요.
GitHub
- @bglgwyng
shootee
- www.shootee.io
좀더 부연설명을 하자면, 앱 실행시에 API 서버에 네트워크 요청을 보내는건 괜찮다. 하지만 그 요청에 대한 응답을 기다리도록 하면 안된다. API 서버에 장애가 났을때도 앱이 켜지긴 해야하니까 말이다. 그럼 이때, 요청을 보내는 것과 응답을 기다리는걸 구분을 해야하는데, 이건 평범하게 이펙트를 분리하는걸론 달성 못할것이다. 우리가 effectful하다고 하는 것도 결국 함수에 대한 설명으로, 함수는 인자를 주는것과 결과를 받는것이 결합되어 있다. 이 둘을 송신과 수신으로 분리해놓은 세션 타입을 사용해야 내가 원하는 바를 정확히 기술할수 있을거 같다.
오늘 @xiniha 님 소환해서 배운 것:
- SolidStart 기본적인 사용법
- SolidStart 위에서 GraphQL 질의해서 결과 갖다 쓰는 법
- GraphQL + Relay에서 커넥션에 추가 필드 끼워넣는 법
- SolidStart에서 shadcn/ui…가 아니라 solid-ui 쓰는 법
그리고 배운 건 아니고 그냥 @xiniha 님이 다 해주신 것:
- Lingui를 이용한 국제화 세팅
- Deno를 쓰기 때문에 생기는 온갖 트러블들 해결
이제 이 새로운 스택으로 Hackers' Pub을 재구현하기만 하면 된다…! 다행히 도메인 모델은 분리되어 있어서, UI 위주로 재작성하면 될 것 같다.
ActivityPub을 만지던 진짜 이유를 언급하자면, 내년 출시를 목표로 ActivityPub 기반의 OTX라는걸 만들려고 합니다.
자세한 설명은 어려우니 간단하게만 말씀 드리면, 각국의 정보기관에서도 사용하는 정보공유 개념입니다.
많은 응원 바랍니다.
디자인은 @druidesseIOION de druidesse 님이 도와주시고 계십니다.
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 #Solid, #SolidStart, #Pothos, #GraphQL, and #Relay. In a world dominated by Next.js and React, this feels refreshingly different. And yes, we're sticking with #Deno 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.
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 →@bglbgl gwyng 그들은 함수형 언어의 "유저"가 아니라 "매니아"였군요 ㅋㅋㅋ 저는 "매니아"에서 빼주세요. 그냥 저는 "유저" 그것도 아니면 "장기 모범수" 정도인 것 같습니다.
@jhhuhJi-Haeng Huh '나는 ^매니아^까지는 아니다'라는 함의를 숨겨놓은 단어 선택이었는데 바로 들통나버렸군요ㅋㅋ
평소에 함수형 언어 매니아들이 주장하는만큼 이펙트를 엄격하게 구분하는게 중요하다곤 생각안했는데, local first 앱을 만들다가 네트워크 요청을 포함한 IO와 그렇지 않은 IO를 구분해야하는 이유를 찾았다. 앱의 초기화 로직에 네트워크 요청이 숨어있으면 API 서버 장애시 앱이 아예 안켜지는 문제가 있다. 방금 이거랑 관련된 버그 찾느라 시간을 많이 썼다.
@bglbgl gwyng 사이드 이펙트에 자비를 베풀면 안 됩니다.
평소에 함수형 언어 매니아들이 주장하는만큼 이펙트를 엄격하게 구분하는게 중요하다곤 생각안했는데, local first 앱을 만들다가 네트워크 요청을 포함한 IO와 그렇지 않은 IO를 구분해야하는 이유를 찾았다. 앱의 초기화 로직에 네트워크 요청이 숨어있으면 API 서버 장애시 앱이 아예 안켜지는 문제가 있다. 방금 이거랑 관련된 버그 찾느라 시간을 많이 썼다.
오늘 點心은 풀 잉글리시 브렉퍼스트! @jihyeokJihyeok Seo 님,
@kodingwarriorJaeyeol Lee (a.k.a. kodingwarrior)
님과 함께 Ruby's Cafe에서.
@bglbgl gwyng 네, 저도 처음에 그래서 잘 안 쓰다가 해법을 찾았습니다. ㅋㅋㅋ
@hongminhee洪 民憙 (Hong Minhee) 와... 이거 커서 쪽에서 고쳐야할 버그라고 생각했는데 LLM 시대엔 생각을 좀 달리해야겠군요. 여전히 좀 어이없네요ㅋㅋ
Hackers' Pub에 초대 링크 공유 기능을 구현했습니다. 아직 머지는 안 했고요. 심심하신 분들은 한 번씩 살펴보시고 딴지 걸어주시면 감사하겠습니다.
요즘에는 커밋 메시지 작성하기 귀찮을 때 LLM을 많이 쓴다. Warp나 Claude Code에서 아래와 같은 프롬프르트를 주로 쓰는 편:
Please make a commit for the currently staged changes with an appropriate commit message. The first line of the commit message should be short and concise.
@hongminhee洪 民憙 (Hong Minhee) staged되지 않은 변경도 커밋 메시지에 포함되버려서 안쓰고있는데, 그걸 프롬프팅으로 해결할수가 있군요?
다들 그렇듯 나도 나이먹으면서 점점 관심없는 주제로 별로 안친한 사람들과 스몰토크하는 것에 익숙해졌는데, 여전히 사주팔자/점술 이런 얘기가 나오면 도저히 뭐라고 맞장구를 쳐야할지 모르겠다. 이야기하는 그룹에 그런거 좋아하는 사람이 여러명 있을땐 그들끼린 너무 즐겁게 그 주제로 꺄르르르호호호 하는데, 주제가 좋고 싫고를 떠나서 진짜 한마디도 할 마디도 거들수가 없더라. 그나마 비꼬지 않고 닥치고 있는게 철든 결과물인듯하다.
tauri를 좀 써보니 진짜 약간의 레이어만 있으면 바로 웹서비스로도 만들 수 있을 것 같은데... 그 약간이 문제겠지...
@perlmint 웹서비스로도 만든다는게 어떤 의미인가요? 앱/웹 두벌을 공짜로 얻는건 말씀하시는건가요?
React만 쓰다가 solidjs를 시도 해봤는데, 홍보하고 있는 장점을 전혀 못 느끼고 있다. 물론 solidjs자체의 문제는 아닌 것 같고, 같이 쓰는 라이브러리의 문제인 것 같다. 일단 Router의 Context Provider와 Route 정의 트리의 시작이 분리가 안되어있고, 부분 경로 별로 레이아웃을 가지는 형태로 작성이 어려운 것 같다. 그리고 A 요소도 어째 동작을 안하게 되었는데 무엇이 문제인지 모르겠다. 디자인 작성이 싫어서 SUID - MUI (react material design)의 solidjs포트 - 를 썼는데 어째서인지 안쓰는 모듈까지 잔뜩 로드하느라 첫 렌더가 너무 느리다.
#Mitra v4.4.0
https://codeberg.org/silverpill/mitra/releases/tag/v4.4.0
https://codeberg.org/silverpill/mitra-web/releases/tag/v4.4.0
- Verifying RFC-9421 HTTP message signatures on incoming requests.
- If the default post visibility is "followers", reposts will be followers-only too.
- Edits and deletions are synced in private conversations.
빨리 생활을 정상화시킨 다음 스위치2랑 젤다 왕눈을 사서 다시 비정상화시키고 싶다.
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
- Go to your Railway dashboard
- Select your Hollo project and service
- In the deployments tab, click the three-dot menu and select Redeploy
Docker Deployment
- Pull the latest image:
docker pull ghcr.io/fedify-dev/hollo:latest
- Stop your current container
- Start with the new image using your existing configuration
Manual Installation
- Pull the latest code:
git pull
- Install dependencies:
pnpm install
- Restart the service:
pnpm run prod
Important Upgrade Notes
Environment Variables: Update your configuration if you're using deprecated variables:
- Replace
ASSET_URL_BASE
withSTORAGE_URL_BASE
- Replace
FS_ASSET_PATH
withFS_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.
이번 오픈 소스 컨트리뷰션 아카데미 참여형 프로그램을 통해 Fedify도 적어도 메인테이너 한 사람 더 만드는 게 목표.
Quarkdown - 현대적인 Markdown 기반 조판 시스템
------------------------------
- 기존 Markdown 문법을 확장해 * 책, 논문, 슬라이드, 프레젠테이션* 등 다양한 형식의 문서를 손쉽게 제작할 수 있는 * 현대적 타이포그래피 시스템*
- *함수 지원, 변수 사용, 조건문/반복문, 표준 라이브러리* 등 고급 기능을 마크다운에 직접 내장하여, 기존 Markdown이나 LaTeX보다 * 확장성과 자동화*에…
------------------------------
https://news.hada.io/topic?id=21267&utm_source=googlechat&utm_medium=bot&utm_campaign=1834
@bglbgl gwyng
@hongminhee洪 民憙 (Hong Minhee) ㅋㅋㅋㅋㅋㅋ 이렇게 될까봐 안하고 있어요
@joonnotnotJoon
@hongminhee洪 民憙 (Hong Minhee) 개의 신이 될 기회를 놓치지 마시길...
@joonnotnotJoon 누구라도 환영입니다! ㅎㅎㅎ 모두 데려와 주세요.
슈티를 페디버스에 연동하기 전에 UI 만드는 중인데 사실상 인스타 클론코딩이라서 좀 현타가 오고있다ㅋㅋ
유려한 애니메이션과 화면 전환을 갖춘 앱을 만들려면 실행중에 요소의 크기를 측정하는 등의 동작이 필수란걸 점점 깨닫고 있다. 또는, 정적으로 레이아웃 정보를 미리 알수있는 방법이 있다면 더 좋겠다만.
시스템과 설계에 대한 짧은 생각들을 정리해 내 행동강령으로 삼기로 했다. https://github.com/notJoon/menifesto
타협하는 마음으로 매번 민주당을 찍는다. 나는 좌파고 애국심도 없는 반면 민주당은 애국보수이기 때문에 정치적으로 맞지 않는다. 국민의힘을 비롯한 일부 정치 세력과 일부 종교 세력은 “보수”가 아니라 “반인륜적 기회주의 세력”에 불과하기 때문에 애초에 고려 대상이 아니다.
반인륜적 기회주의 세력이 충분히 정리되고, 민주당이 정통보수로 자리잡고, 언론이 제대로 작동하기 시작하면(현재의 언론은 기회주의 세력의 일부이거나 극도로 무능하다), 그러면 드디어 안심하고 내가 실제로 지지하는 진보 계열 정당을 찍을 수 있을 것 같다.
이재명은 성남시장 시절부터 존경하던 정치인이자 행정가다. 기회주의자들의 이재명 악마화는 전혀 믿지 않는다. 그가 공약을 지키기 위해 최선의 노력을 할거라고 믿는다. 다만 그는 보수주의자이고 애국자라서 나랑 맞지 않을 뿐이다. 모든 공약에 반대하는 건 아니다. 예를 들어 보편기본소득 관련 정책은 적극 지지한다.
권영국의 공약은 나랑 잘 맞는 편인데(어떤 정치성향 테스트에 의하면 88% 일치) 이걸 그대로 믿는건 아니다. 원래 지지율이 낮을수록 강하고 선명한 메시지를 낼 수 있는거니까. 게다가 권영국이 지금 당장 당선된다 하더라도 그의 공약이 그대로 실행될 가능성이 매우 낮다. 한국은 아직 그렇게 좋은 나라가 아니다.
부디 이재명 정부가 성공하길 진심으로 바란다. 그 덕에 다음 대선 혹은 다다음 대선에서는 꼭 진보정당을 뽑고 싶다.
이재명이 과반을 넘긴 점, 이준석이 선거비 보전을 한 푼도 받지 못하게 된 점은 아주 기쁘다. 다만 권영국의 지지율이 더 높지 않은 게 아쉽고 미안하다.
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…
@hongminhee洪 民憙 (Hong Minhee) 그때 얘기를 해보니 걔는 자기가 지난 1년간 리눅스란 운영체제를 썼다는걸 인식하지 못하고 있는거 같았습니다ㅋㅋ
@bglbgl gwyng 컴알못에서 컴잘알로 거듭나 있었나요? ㅋㅋㅋㅋ
@hongminhee洪 民憙 (Hong Minhee) 전혀요ㅋㅋㅋㅋ 힘들면 다시 나한테 연락을 하지 왜 그걸 붙잡고 1년동안 고생하고 있냐고 물었습니다ㅋㅋ
대학생때 친구(컴알못)가 노트북 견적 짜달라고 한적이 있는데, 성능 상관없고 최대한 싸게만 해달라고 했다. 그래서 운영체제 미포함 기기에 우분투 깔아서 30만원으로 맞춰줬다. 우분투를 영업하려는 의도는 전혀 없었고 싸게 해달라는 요구를 최대한 맞춘 결과였다. 걔가 그때 형편이 안 좋아서 한푼이라도 아끼는게 중요했고, 나는 나름 목적을 달성했다는 것에 뿌듯해했다. 리브레 오피스 깔아주면서 한글, 엑셀 대신에 이거 쓰면 된다고 설명했던 기억이 난다.
그리고 이 일을 까맣게 잊고 살다가 1년후 쯤에 그 친구를 다시 만났는데, 보자마자 반응이
High Performance Networking in Google Chrome
https://www.igvita.com/posa/high-performance-networking-in-google-chrome/
읽어보면 좋은 내용이군. 타고타고 여기까지 왔는데, 여기는 오픈소스 프로젝트를 실제로 까보면서 케이스스터디하는 내용이라 재밌는 내용이 많음
Gleam 다 괜찮은데 타입클래스 추가할 계획 없다고 해서 그게 좀 베팅에 망설이게 하는 것 같다.
@hongminhee洪 民憙 (Hong Minhee) 타입클래스 안 넣을때 대안이 뭐가 있을까요? 서브타이핑 있는 언어면 (한계는 있지만) 어느정도 비빌수 있겠고, 그게 아니면 ad hoc polymorphism 포기하고 그냥 무식하게 짜기 말고 또 있나요?
Gleam 다 괜찮은데 타입클래스 추가할 계획 없다고 해서 그게 좀 베팅에 망설이게 하는 것 같다.
아침에 @devuntfinn 님이 pino에서 LogTape로 옮기려는데 아쉬운 점들이 있다고 해서 해당 부분들을 개선했다.
예전에 게임 회사에서 상점 시스템(게임 머니로 아이템 구입/선물을 처리하는거)을 개발하는 팀에서 일한적이 있다. 그때도 퇴사하기 직전에 취약점을 발견했었는데, 다행히 외부인은 쓸수없고 직원만 쓸수있는 취약점이긴 했다. 상점 시스템이 게임 머니를 관리하는 시스템과, 실제로 아이템을 인벤토리에 넣는 시스템이 분리가 되있어서 생긴 문제였는데, 가령 잡템을 100원에 구입하는척하며 실제론 인벤토리에 전설의 무기가 들어가게끔 할수 있었다. 그러니까 MSA인데 각 서비스가 서로를 100% 신뢰하고 있어서 생긴 문제? 어떤 직원이 마음먹고 그런 짓을 했다면 본격적으로 abnormarly detection을 하지 않는이상 적발하기가 매우 어려웠을 것이다.
공인인증서의 생체인증 기능 말인데요, 이거 개인키를 기기가 아닌 서버에 두고 서명하는 건가요?
@hongminhee洪 民憙 (Hong Minhee) 예전에 잠깐 일했던 핀테크(라기에도 민망한) 회사에서, PG랑 VAN 사이에서 뭔가 하는 모듈을 만들고 그걸로 돈을 벌었거든요. 근데 그 모듈이 보안에도 도움되는게 없고, 또 신용에도 도움이 되는게 없어서 존재 이유가 의문이었습니다. 그러다 퇴사하기 직전엔 거기 취약점까지 있어서 순수하게 악영향만 있는 프로그램이란걸 깨달았습니다.
삼쩜삼 수수료 왤케 비싸졌냐. 삼십삼으로 개명해야할듯.
가끔 【此日彼日】을 【치일피일】 等으로 잘못 쓰는 境遇가 있습니다만, 【此日彼日】은 漢文으로 「이 날 저 날」이라는 뜻이고, 【於此彼】와 같은 漢字를 쓴다는 것을 記憶하시면 헷갈릴 일이 없을 것입니다.
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.
정의로 이동(Ctrl + F12) 특:
GPL은 외부 릴리즈시 추가로 작성하거나 고친 소스 코드의 동일 조건 공개를 강제하는 특성으로 인해, 초기에 사회주의-공산주의라는 오해를 많이 받기는 했었음. 네가 썼다면, 네가 작성한 코드도 공개하라는 공유주의 라이센스니까.
그러나 그러한 공개 강제는 GPL을 일종의 플랫폼으로 만드는 효과 - GPL을 쓰면 GPL이고 아니면 처음부터 아니어야 함 - 가 있어서, 리눅스가 BSD를 제치고, 윈도와 유닉스를 넘어 인터넷과 세계의 커널이 되는 결정적 요인이 됩니다. 그리고 수많은 기업들이 이를 기반으로 자라나죠.
GPL은 자본주의 사회에서도 매우 훌륭하게 기능하고 있습니다. 이제 와서 GPL이 공산주의라고 하는 사람은 거의 없죠.
잘 모르는데 불안정한 라이브러리를 쓸때의 디버깅은, 코드의 일부를 disable하고 버그가 재현되는지 보고 맞으면 범위를 좁히고 이런식으로 무지성 이진탐색을 수행하는 식으로 하게된다. 전혀 모르는 라이브러리에 대해서도 쓸수있는게 장점이긴한데, 반대로 이런건 하고나서 배우는게 진짜 1도 없다.
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에서 그게 보이게 됩니다. 서로 팔로도 할 수 있고요.
@meWoojin Kim 좋은글 감사합니다! 디아블로같은 게임을 하다보면 약간 자폐적으로 숫자에 집착하게 되는거 같습니다. 어느 수준을 넘어가면 사실 무의미한데도 말이죠. 비슷한 즐거움(?)을 추구하는 것으로 자동차나 컴퓨터 조립이 있네요. 여기서도 실제로 체감할 기회가 있을지도 모르는 기계들의 수치를 비교하며 시간을 보내게 만들죠. 주로 남자들이 많이 빠진다는 공통점이 있는데, 왜 그런진 어렴풋이 알거같습니다.
오늘 오후에 시간을 내 이 주제로 아무도 안 읽을 긴 텍스트를 만들어보자.