Astroterm: 터미널에서 즐기는 천문관

Astroterm: A Planetarium for Your Terminal

github.com/da-luce ▲ 237 댓글 28 nvmdbljstm

요약

Astroterm은 별과 행성, 별자리의 위치를 문자로 그려 주는 터미널용 천문관 프로그램입니다.

GitHub 사용자 da-luce가 C로 만들어 MIT 라이선스로 공개한 프로젝트입니다. 날짜와 시간, 관측 위치를 지정하면 그때 그곳의 하늘을 터미널 창에 보여 줍니다.

왜 중요한가

  • 그래픽 환경 없이 문자만으로 그리기 때문에 프로그램이 가볍고 빠릅니다.
  • 실제 천문 자료로 계산하므로, 터미널 그래픽이 허용하는 범위에서 천체 위치를 정확하게 보여 줍니다.
  • 리눅스, 맥, 윈도용 실행 파일과 Homebrew 같은 패키지 관리자를 지원해 바로 써 볼 수 있습니다.

핵심 내용

  • 시각과 위치를 바꿔 가며 과거, 현재, 미래의 하늘을 볼 수 있고, 위치는 위경도나 도시 이름으로 정합니다.
  • 달의 위상을 실시간에 가깝게 보여 주고, 별자리 선과 방위 격자(방향을 읽는 눈금선)도 그립니다.
  • 별 자료는 Yale Bright Star Catalog에서, 행성 궤도 요소(궤도를 정하는 값)는 NASA JPL 자료에서 가져옵니다.
  • 유니코드 문자, 점자 문자, 색상 옵션을 켤 수 있습니다.
  • 등급(별의 밝기 단위) 기준을 옮겨 표시할 별의 수를 조절하며, 기본값은 5.0입니다.

HN 반응

  • 쓸모보다 만드는 재미로 볼 만하다는 호평이 많았지만, 터미널과 맞지 않는 주제이고 오리온자리조차 알아보기 어려워 Stellarium을 대신하기엔 부족하다는 반론도 나왔습니다.
  • 집에서 보이는 하늘을 화면 보호기로 띄워 쓴다는 경험담이 호응을 얻었고, 한 프레임만 출력하는 옵션이 없어 로그인 인사말로는 못 쓴다는 지적도 있었습니다.

댓글

28개 표시 · 전체 28개
  1. mr_big_bowls HN

    스크린세이버 아이디어가 꽤 괜찮네요. 지금 사는 곳의 하늘을 보여 주고 밝은 별이나 행성 몇 개에 이름표를 붙여 주는 거죠. 그러면 밖에 나갔을 때 실제로 찾아볼 거리가 생기잖아요.

  2. ricq HN

    점성술 CPU 스케줄러(Astrological CPU Scheduler)랑 같이 쓰면 딱이겠네요: https://github.com/zampierilucas/scx_horoscope

  3. isolli HN

    주제와는 아주, 아주 먼 얘기지만, 80년대에 나온 카시오의 코스모 페이즈(Cosmo Phase) 시계(CGW-50)가 생각났습니다 [0]

    별과 행성을 손끝에 두고 다닌다니...

    [0] https://www.casio.com/us/watches/50th/Heritage/1980s/

  4. nickdothutton HN

    솔직히 카시오는 가진 힘을 가장 덜 활용하는 브랜드 중 하나라고 생각해요. 쌓아 둔 호감이 정말 많은데 말이죠. 견학해 보고 싶은 몇 안 되는 회사 중 하나예요.

  5. skinfaxi HN

    와, 방금 이베이를 확인해 봤는데 TM-100이 몇천 달러에 팔리고 있네요.

  6. nvmdbljstm HN

    쓸모가 있든 없든, 창의력의 수준이 인상적이에요.

  7. esperent HN

    이런 프로젝트는 터미널 성능을 스트레스 테스트하는 데도 아주 좋다고 생각합니다.

  8. Yevini HN

    맞아요. 모든 프로젝트가 현실 세계의 문제를 풀어야 하는 건 아니죠.

  9. t1amat HN

    웃음이 났네요. 컴퓨터 앞에서 너무 오래 지내다 보면 현실 세계의 문제가 뭔지 잊어버리기 쉽죠.

  10. S0y HN

    이렇게 깔끔하고 읽기 좋은 README를 보니 참 신선하네요. 바이브 코더 여러분, 잘 적어 두세요.

  11. darkwater HN

    메모리 하나 저장 중...

    제안 잘 적어 뒀어요. 다음에는 README를 da-luce/astroterm README의 말투로 쓸게요.

  12. jihadjihad HN

    저는 CONTRIBUTING.md와 함께 프로젝트마다 WRITING.md도 넣어 두고 있습니다. 완벽하냐고요? 아니요. 하지만 README, PR 설명, 그 밖의 문서가 흔해 빠진 AI 쓰레기보다 훨씬 읽기 좋아지는 건 확실합니다. 이후 손보는 일이 대개 별로 힘들지 않을 정도로요.

  13. bikelang HN

    링크를 공유해 주실 수 있을까요? 내키지 않으시면 괜찮습니다. 제가 정말 애먹고 있는 부분이라, 다른 분들은 어떻게 풀고 있는지 보고 싶어서요.

  14. hnlmorg HN

    제가 보기엔 꽤 평범한데요. 구체적으로 어떤 점이 마음에 드셨어요?

    (README 쓰는 게 힘든 사람으로서 궁금해서요)

  15. dspillett HN

    원래 댓글 쓴 사람은 아니지만, 도움이 될 만한 생각이 있어서 적습니다. 이런 건 꽤 주관적이라 이게 좋은 예라는 데 동의하지 않는 분도, 제가 하려는 말에 동의하지 않는 분도 있을 테니 어느 정도 에누리해서 들어 주세요…

    README는 '꽤 평범한' 수준을 목표로 삼는 게 맞다고 생각합니다. 자세하면서도 간결한 적절한 균형, 전형적인 레시피 페이지처럼 불필요한 군말로 잔뜩 치장하지 않는 것, 그리고 '이게 무엇인가', '주요 기능', '구하는 법/설치법', '기능 상세 / 사용 예' 같은 단순한 구조가 좋습니다.

    물론 프로젝트의 규모와 범위가 커질수록 그 균형을 찾기는 어려워집니다. 모든 걸 README에 담지 말고 확장 문서로 빼내야 하니 무엇을 쳐낼지 신중하게 판단해야 하죠. 이 정도 크기라면 표현과 배치만 잘하면 전부 적정 균형에 가깝습니다. 더 큰 프로젝트라면 README는 무엇인지, 어떻게 구하는지, 다른 문서가 어디 있는지를 요약한 것이어야 합니다.

    이 README가 AI가 쓴 것이라 해도(그런 징후는 있지만, 사람이 오래전부터 해 온 것들이라 AI가 따라 하는 것일 뿐입니다) 그냥 던져 놓은 게 아니라 사람이 손을 본 것입니다.

    > README 쓰는 게 힘든 사람으로서

    그렇게까지 힘들다면 너무 깊이 고민하거나 지나치게 많은 세부 내용을 욱여넣으려는 건 아닐까요?

  16. hnlmorg HN

    그렇게까지 힘들다면 너무 깊이 고민하거나 지나치게 많은 세부 내용을 욱여넣으려는 건 아닐까요?

    솔직히 정반대 문제예요. 저는 꽤 복잡한 프로젝트를 유지보수하다 보니 대부분을 빼고 README 바깥의 문서로 링크를 거는 쪽인데, 프로젝트를 제대로 알리지 못한다는 소리를 자주 듣거든요.

    그래도 제가 너무 깊이 생각하고 있는 걸 수도 있다는 말씀은 맞네요.

  17. butlike HN

    현재 달의 위상을 ASCII로 보여 주는 phoon이 생각나네요

    https://www.acme.com/software/phoon/

    brew install phoon

  18. drob518 HN

    솔직히 말해야겠네요. 이 애플리케이션은 TUI와 어울리지 않는 것 같아요. 저는 TUI를 전반적으로 좋아하지만, 저라면 다른 방향으로 갔을 거예요.

  19. helterskelter2 HN

    '왜?' 프로젝트라기보다는 '안 될 건 뭐야?' 프로젝트처럼 보이는데요.

  20. jubalizer HN

    정말 멋지네요. Omarchy의 기본 스크린세이버로 설정해 봤어요. 우리 집에서 보이는 하늘을 그대로 따라가요. 끝내줘요!

  21. SwiftyBug HN

    멋지네요! 어떻게 하셨어요?

  22. nextliftoff HN

    잘 만드셨네요. 국제우주정거장(ISS)이나 Starlink 같은 다른 우주 물체도 보여 줄 계획이 있나요? 브라우저에서 위성을 추적하다가 겪은 일인데, CelesTrak의 TLE 파일에는 여섯 자리 카탈로그 번호를 가진 위성이 빠져 있어요. 최근 발사된 위성은 대부분 여기 해당해서 새 Starlink 위성이 아예 안 나오더라고요. 그쪽 CSV 파일에는 들어 있어요.

  23. jaekwon HN

    소셜 네트워크 버전으로 비슷한 콘셉트인 곳: gno.world

  24. aamargulies HN

    괜찮은 인자들이에요:

    astroterm -cub --city=Seattle -t 2 -l 2

  25. superkickstart HN

    터미널에서 동적 motd로 설정할 수 있을까요?

  26. dspillett HN

    그대로는 안 돼요. 옵션 목록을 보면 프레임 하나만 출력하고 종료하라고 시키는 방법이 없는 것 같거든요. 아마 추가하기 쉬운 옵션일 거예요.

  27. slybot HN

    ASCII로 그려 낸 화면이 꽤 괜찮네요.

    첫 문장을 읽고 나니, 일부 Rust 사람들이 "Rust로 작성", "안전" 같은 문구를 단 버전이 나올 거라는 기대에 군침을 멈추지 못하는 모습이 자꾸 떠올라요. ~

  28. dotancohen HN

    그렇지 않아요. 예시 이미지 하나에 카펠라, 리겔, 시리우스가 뚜렷이 표시돼 있긴 해요. 그런데도 북두칠성 다음으로 알아보기 쉬운 별자리일 오리온조차 찾을 수가 없어요.

    터미널용 Stellarium 대안이 있다면 정말 좋겠지만, 이건 아니에요.

Hacker News에서 보기 ↗