1P by GN⁺ | ★ favorite | 댓글 1개
  • Software is Joy의 취지처럼, 지금까지 작업하며 가장 즐거웠던 사이드 프로젝트를 공유해 달라는 질문임

댓글과 토론

Lobste.rs 의견들
  • mw: AWS의 200여 개 서비스는 EC2, Lambda, S3, DynamoDB, KMS, IAM 등 핵심 10여 개 서비스 위에 만들어지지만, 그 아래에는 외부에 제공하지 않는 또 다른 기반 서비스들이 있음
    순환 의존성 없이 아무것에도 기대지 않도록 루트 키·인증서 관리, 배포 인프라 매핑용 설정 저장소, 신원 관리 등을 최소한의 의존성으로 직접 구현하는 중임. 대규모 확장 대신 단일 노드로 예상 부하를 모두 처리하도록 만드는 점도 재미있음

    • samcat116: 그 기반 서비스들이 구체적으로 무엇인지 궁금함
    • nick4: 프랑스 제과는 아직 초보지만 가토 바스크를 만드는 과정이 즐거웠음. 책의 조리법을 썼지만 https://www.seriouseats.com/gateau-basque-recipe-6823020 도 꽤 괜찮아 보임
  • theisaaczone: Minecraft 서버의 접속자 수를 조회해 JSON으로 반환하는 서버 목록 핑 웹 API를 Go로 만들었음. 기술적으로 복잡하거나 크진 않지만 매달 100만~200만 요청을 문제없이 처리하는 모습이 뿌듯함
    최근에는 표준 라이브러리 외의 모든 의존성을 제거하도록 다시 작성했으며, 이처럼 범위가 작은 프로젝트를 좋아함

    • dijit: Minecraft 상태를 Prometheus 수집 대상으로 내보내는 플러그인도 있음. 내 서버에서 쓰는 유일한 플러그인인데 상당히 유용함
  • miguno: 전통 로그라이크 가운데 Sil-Q를 가장 좋아함. Tolkien 세계관의 충실한 재현, 정교한 전투·은신, 30~60분의 짧고 강렬한 플레이가 특징이며, Middle-earth 제1시대의 던전 강도 게임 또는 “Angband: Black Ops”라고 표현할 만함
    올해 원 개발자 Quirk와 타일셋 작가 MicroChasm과 협력해 잠자던 프로젝트를 되살렸음. 코드 현대화, 3년간 알려진 버그 수정, Win/Mac/Linux 배포판 생성, 게임성과 사용성 개선, 설명서와 웹사이트 작업을 진행함
    첫 C 프로젝트였는데 최대 40년 된 Amiga, NeXT, SGI, DEC Alpha, RISC OS용 코드와 네 종류의 자체 그래픽 계층을 정리하는 과정은 Moria의 폐광을 헤매는 기분이었음. 테스트가 전혀 없던 코드베이스에 일부 테스트도 추가했으며 자세한 내용은 https://github.com/sil-quirk/sil-q/releases/tag/v1.5.1-beta1 에 있음
    틈새 장르의 작은 게임이지만 새 베타판은 900회 다운로드됐고, 금방 버려질 분위기 코딩 산출물이 넘치는 시기에 오랜 계보의 오픈소스 게임을 가꾸는 일이 위안이 됨

  • DustyFuzzy: 성인 콘텐츠를 보관하는 개인 사이트를 2021년부터 만들고 있음. URL 가져오기, 태그, 두 항목의 대결 결과를 이용한 Glicko-2 순위 산정 등을 구현했고 Python에서 .NET Core로 이전함
    파일이 7만 개에 가까워지면서 순진하게 작성한 O(n²) 코드를 최적화하는 재미도 생김

    • icefox: 장기간 사용해 본 .NET Core가 어땠는지 궁금함. C#/F#에는 좋은 기억이 있고 비 Windows 환경에서도 일관된 CLI 환경을 쉽게 만들 수 있을 듯하지만, Microsoft가 지난 5년 동안 방향과 도구를 여러 차례 바꾼 듯해 장기 전망에는 확신이 들지 않음
  • alterae: 목록에서 무작위 항목을 고르는 명령줄 도구를 만들었는데 놀랄 만큼 자주 사용함. 매뉴얼 페이지가 소스 코드보다 길며 작성 과정도 정말 즐거웠음

    • bitshift: 어떻게 활용하는지 궁금함. 큰 파일이나 목록을 표본 추출할 때 shuf -n을 자주 쓰며, 전체 요청 로그를 읽지 않고 요청자 구성을 대략 파악할 때 유용함
  • fazalmajid: 2004년부터 직접 만든 RSS 리더를 사용해 왔고, 올해 학습 삼아 Python 버전을 Rust로 손수 다시 작성함. Python의 느린 텍스트 처리로 생기던 SQLite 쓰기 잠금 경합이 사라져 성능이 크게 향상
    새 버전 https://github.com/fazalmajid/rTemboz 은 아직 기능이 완전히 같지는 않지만 기존에 없던 기능도 생겼음. lobste.rs를 읽고 대중문화 잡음을 걸러내는 등 가장 많이 쓰는 앱이며, Facebook·Google·Apple 대신 직접 피드 우선순위를 통제하는 것은 주권과 독립성을 지키는 일임

  • lcamtuf: 가장 즐거운 것은 소프트웨어가 아니라 컴퓨터에서 벗어나 손에 잡히는 물건을 만드는 일임. 전압계 시계패널 미터 계산기 같은 프로젝트가 예시임
    컴퓨터 보안을 15년 넘게 쓴 뒤 업무를 전혀 다루지 않는 블로그를 실험적으로 시작해 수학의 기초, 알고리즘 잡학, 전자공학을 씀. 업계 밖 독자를 모을 수 있는지 시험하려던 일이 LLM 시대의 추상 예술처럼 변했음

    • colindean: 밀가루·소금·효모·물로 빵을 구우며 기초 기술을 익히기 시작함. 재료 비율과 밀가루 종류, 허브와 향신료를 넣는 시점을 실험했으며 지금까지는 로즈메리와 마늘 소금 조합이 최고임
      Modernist Bread를 읽기보다 비밀을 직접 발견해 가는 중임. 소프트웨어 프로젝트를 2년간 미뤄 두고 집 두 채를 직접 75%가량 수리하면서 기술자에게 드문 실용 기술과, 연락을 받고 제시간에 오는 시공업자에 대한 새로운 존중도 얻음
  • op: https://oppi.li/art 의 모든 픽셀 아트는 Rust로 직접 만든 1비트 픽셀 아트 편집기에서 제작함. 설정과 스크립트용 Lisp를 내장했고 2D 래스터 알고리즘을 배우려고 오직 자신을 위해 만들었으며 공개하지 않았음
    마감이나 고정 목표 없이 작업하니 훨씬 재미있음

  • ombredog: Servo의 구조와 Rust 퍼징을 이해하는 데 집중하고 있음. macOS에서 dyld를 이용한 함수 포인터 바꿔치기 시연도 만들었고, 악성 함수가 패키징되는 방식과 런타임에서 찾는 법을 보여주는 개념 증명 코드를 공개할 예정임
    아직 초기 단계이고 Ladybird의 Fuzzilli 빌드처럼 준비된 퍼저에 자주 관심을 빼앗기지만 시스템 언어를 작성할 동기가 생겼음. Zig로 도구 다운로드용 CLI도 만들어 Codeberg의 noblenote에 올릴 계획임

  • luhker: 밴드 사이트에서 아무도 듣고 싶어 하지 않을 샘플을 재생하도록, 웹 컴포넌트 기반 샘플 패드·시퀀서·효과 체인을 필요 이상으로 정교하게 구현함. CSS는 조금 깨졌지만 선언형 효과 체인 마크업을 볼 수 있음: https://strahlenkeller.de/endlager/

  • zknd: Go 관용구를 유지하면서 프레임워크 수준의 생산성을 제공하려고 코드 생성 기반 프레임워크를 만들고 있음. 여러 발상이 일관된 소프트웨어로 맞물리는 모습이 만족스러움
    Rust로 전자책 리더 펌웨어도 개발 중임

  • krig: Gram을 폐기된 cocoa/objc 크레이트에서 objc2로 이전했음. 새 추상화의 사용 패턴을 파악하느라 문서를 많이 읽고 여러 번 실패해 수개월이 걸렸지만, 부수적으로 Mac과 Linux의 렌더링·텍스트 계층을 wgpu와 cosmic-text로 통합함
    관련 링크는 https://gram-editor.com, https://docs.rs/objc2/latest/objc2/, https://wgpu.rs/, https://github.com/pop-os/cosmic-text

  • z3bra: 가장 즐거웠던 프로젝트는 cyber hunt임. 현실에서는 만날 일 없는 문제를 이상한 제약 아래 풀면서 다양한 도구·설정·코드를 만드는 보물찾기형 도전
    5GiB의 Argon2id 해시 계산, Game Boy 게임 제작, relayd(8)만으로 보안 쿠키를 정적으로 처리하기, ssh(1)의 새로운 인증 방식을 이용한 VPN 프록시 등이 포함됨. 준비에 1년이 걸린 가장 큰 프로젝트이며 첫 장은 웹만으로 약 20분 안에 체험할 수 있고 이후 점점 어려워짐

  • jbert: 단순한 컴파일 대상을 만들려고 레지스터 머신을 작성하다가 Z80 에뮬레이터가 됐고, 다시 ZX Spectrum 에뮬레이터로 발전함. 검증 코드와 1980년대 게임 여러 개를 실행했으며 설계가 놀라울 만큼 단순하고 재미있었음: GitHub

  • marx314: Raspberry Pi 4 홈 서버에서 Pi-hole, Domoticz, Immich self hosted photo gallery, SmokePing, http2sonos, Mealie, WireGuard, Tor 등을 운영함
    오래된 웹 장치용 PHP/nginx 컨테이너, 날씨와 Airthings Wave 정보를 표시하는 Kindle, 조리법용 구형 iPad, 중요 알림용 SMS와 기타 알림용 Signal 스크립트도 있음. 회사 일이 정치적으로 변할 때 기술 문제와 다시 연결되는 명상 같은 작업임

    • tclancy: 비슷하게 운영 중인데 Domoticz를 선택한 이유가 궁금함. Home Assistant는 실제 코드를 쓰는 것도 아니면서 문서가 부족한 YAML 변수를 설정하고 저장 과정에서 형식이 망가지지 않길 바라야 해서 답답했음
  • aspizu: 가장 크고 인기 있는 프로젝트는 Rust로 작성해 Scratch 블록으로 컴파일하는 프로그래밍 언어임: https://github.com/aspizu/goboscript
    수년간 개발하고 유지보수했으며 Python에서 Rust로 이전함. 이를 통해 Scratch에서 물리 엔진과 광선 추적 같은 기술적으로 놀라운 프로젝트를 만들 수 있게 됨

  • jjude: 거의 모든 사이드 프로젝트는 재미있지만 핵심은 열정을 얼마나 오래 유지하느냐임. 대개 6개월 정도로 끝났고 가장 오래 이어진 것은 수익 없는 블로그 https://jjude.com 이며, 글을 쓰면서 많은 것을 배움
    올해는 AI로 만드는 법을 배우며 SophAI https://www.sophai.app/radars 를 개발함. 여러 분야의 자료를 연결하고 글로 종합하며, 작은 기능과 출처를 계속 다듬는 과정에서 AI 도구와 개발 방식을 익히고 호기심도 충족함

  • hwj: eZ430 Chronos 손목시계의 펌웨어를 어셈블리어로 작성했고, OCaml로 Forth 컴파일러를 개발 중임. 자체 프로그래밍 언어 설계는 현재 잠시 멈춘 상태임

  • einacio: 서버의 Postfix를 대체하려고 PHP로 SMTP 서버를 작성하는 중이며, 프로토콜이 접근하기 쉬워 즐겁게 작업하고 있음. 개발 과정을 방송하면서 Twitch도 배우고 있고 나중에는 봇도 만들 예정임

  • spc476: Lua와 LPeg로 수식을 파싱하고 Shunting Yard algorithm을 이용해 연산자 우선순위를 처리한 뒤 6809 8비트 CPU 코드를 생성함
    수식 양쪽이 리터럴이면 컴파일 중 계산하는 간단한 최적화도 적용했고, 수년간 재미있게 개발한 my own 6809 assembler도 사용함

  • heavyrain266: Odin 컴파일러처럼 많은 이가 의존하는 프로젝트에 기여하는 법을 배우고 있음. DirectX 기능과 Win32 io_uring 지원을 늘리는 작은 변경에서 시작해, 관리되지 않는 대상 플랫폼 두 개 제거와 OpenBSD의 LLVM 설치 탐색 개선처럼 화려하지 않은 작업으로 옮겨감
    향후 10년간 유지보수를 더 쉽게 만들고 싶음. 반면 지난 8년간 Rust 도구 체인에 의미 있게 기여하려 할 때마다 RFC, 분류 봇, 리뷰, 등급별 대상 플랫폼, 잦은 병합 충돌 같은 기업식 장벽에 부딪혔음

  • pcaisse: 단연 가장 만족스러운 프로젝트는 미국 언어 지도 https://languagemap.us/ 임. 데이터 정제, Bash 스크립트, 지도 외형 조정, 운영 자동화에 지나치게 많은 시간을 썼지만 결과에 매우 만족함
    유지보수가 전혀 필요 없고 AWS 비용도 월 1달러 미만임

  • LesleyLai: 가장 좋아하는 것은 언제나 현재 작업 중인 프로젝트이며, 지금은 Vulkan renderer임. 같은 코드베이스에서 새로운 그래픽 실험을 쉽게 시작할 수 있도록 모듈식 구조를 지향함

  • Jan200101: 유지보수가 중단된 h5ai를 대체하는 프로그램을 만들면서 FastCGI 구현법도 배움. 재미있고 고된 동시에 웹이 작동하는 방식을 깊이 이해하게 해준 작업임

  • mariusor: MPRIS 플레이어용 audio scrobbler user daemon을 C로 만들었음. 오랫동안 사용해 온 작은 프로젝트로, 재생 기록을 ListenBrainz·Last.fm·Libre.fm에 저장함

  • zanlib: Lisp를 다시 구현하는 일을 좋아해 JavaScript의 evalexpr, Elixir의 lispex, JS 풀스택 폼 기반 isolisp를 만들었음. 오후 한나절이면 가능한 단순한 작업이지만 성취감이 큼

  • shrike: 부실한 RSS 피드에 Open Graph 데이터, 추천·댓글 수, 잘린 글의 전체 내용을 추가하는 RSS 피드 보강기를 만들었고, 결과를 OPML로 FreshRSS에 가져옴
    또 하나는 클라이언트·서버 구조의 맞춤형 IRC 클라이언트임. 대부분의 처리는 단일 권위 서버가 담당하고 웹·TUI·SwiftUI 클라이언트가 여기에 연결됨

  • pepesza: Erlang으로 타원 곡선 암호 라이브러리를 처음부터 구현하는 일이 무척 재미있었음. 이어 KZG 커밋먼트까지 진행하자 복잡성이 급격히 커짐

  • banna: 장난감 명령어 집합 구조를 만들고 관련 글도 썼으며, 최신 작업은 branch에 있음. C 일부를 Zig로 다시 작성하고 가상 컴퓨터 내부의 데이터 이동을 시각화하는 방법을 고민 중임
    TISC로 기계적 미니멀리즘을 탐구함. 변경이 실제 기계에서 어떻게 구현될지 고려하고, 움직이는 부품이 너무 많거나 복잡성을 다른 추상 계층으로 미룬다면 포기함. 현재는 구현물보다 사고 실험에 가까운 점이 가장 재미있음

  • ramones: Rust로 작은 체스 엔진을 만들기 시작했는데 어느 방향으로 가도 배울 거리가 있다는 점이 좋았음. PGN·FEN 같은 명세, 체스 엔진 위키의 알고리즘, 비트 플래그를 비롯한 다양한 자료구조 등 선택지가 끝없이 많음

  • icefox: raylib으로 n체 물리 시뮬레이터를 만들다가 SDL3 GPU 라이브러리로 이전하는 과정이 무척 즐거웠음. 곧 물리보다 그래픽 엔진과 셰이더 실험이 중심이 됐지만 여전히 재미있었음
    우연히 Katalepsis 팬픽을 한 달간 쓰기도 했음. 배경과 인물 성장 같은 지루한 요소를 걱정하지 않고 세 인물과 나쁜 아이디어 하나만 방에 던져 넣으니 소설 쓰기가 다시 즐거워짐

  • kghose: https://github.com/kghose/moulick 작업이 가장 기억에 남음. 임베디드 프로그래밍의 제약과 손으로 잡을 수 있는 작은 장치가 실제로 작동하는 기쁨을 누렸음
    다음 꿈의 프로젝트는 임베디드 LLM 장치이며, 어린 시절 반려 로봇을 꿈꾸지 않은 사람이 얼마나 되겠냐는 생각임

  • brn: 가족과 지금도 매일 사용하는 https://bewcloud.comhttps://uruky.com 이 가장 만족스러움. Uruky는 비교적 최근 프로젝트이며, bewCloud의 Expenses는 2008년부터 만들고 공개해 온 지출 관리 앱 계열의 발전형

  • 3digitdev: 클립보드 내용을 받아 JSON 정리, JSON·TOML·YAML 변환, Slack·Discord에서 복사한 메시지의 시간 표시와 이모지 제거, Base64 변환 등을 수행하는 작은 CLI 변환 도구를 만들었음
    몇 년 전에 작성했는데 지금도 거의 매일 문제없이 작동해 쓸 때마다 기분이 좋음. Pokémon Sword/Shield에 빠졌을 때 만든 타입 상성·파티 구성 웹 앱도 계속 다시 찾게 되는 즐거운 프로젝트임

  • fbegyn: 하나를 고르긴 어렵지만 실제 문제를 해결하는 작업을 좋아함. 전구용 태양광 패널 거치대를 위한 3D 프린팅, 요리, 공간 부족으로 답답한 목공, 실제 사용자가 있는 유일한 소프트웨어인 tc_exporter 등이 있으며 목록은 계속 늘어남

  • motet-a: 음악가들이 리허설 녹음을 올리고 공유하는 웹 앱을 만들었음. 오디오 전용·비공개 전용 YouTube에 가까운 틈새 서비스이며 사용자는 수십 명 정도지만 꾸준히 증가하고 있음