기술 뉴스
나의 취미 중 하나는 기술 뉴스1를 (나의 연구 분야와 관련이 없더라도) 꾸준히 구독하고 읽는 것이다. 기술 뉴스를 읽다 보면 기술 분야에서 얕지만, 넓은 지식을 얻을 수 있고, 가끔은 연구 아이디어를 얻기도 한다. 또, 몇 논쟁적인 글에서 오가는 여러 코멘트를 읽다 보면, 기술 정보에 대한 비판적이고 분석적인 시각을 기르는 데도 도움이 되는 것 같다.
그렇다면 어떻게 기술 뉴스를 구독하고 읽을 것인가? 지금, 이 순간에도 전 세계에서는 수많은 기술 뉴스가 끊임없이 생성되고 있다. 자칫 잘못하면 수많은 뉴스를 읽다 시간을 허비하거나, 어떤 뉴스를 읽을지를 고민하다 읽기를 포기할 수도 있다. 나의 업무와 연구에 방해가 되지 않는 선에서 꾸준히 기술 뉴스를 읽는 나름의 방법을 만들었고 이를 통해 꾸준히 기술 뉴스를 구독하고 읽고 있다.
뉴스 전달 방법
새로운 뉴스가 있다는 것을 어떻게 알아차릴 것인가? 이 문제는 컴퓨팅 시스템에서 I/O 메커니즘이 해결하려는 문제와 유사하다. 컴퓨팅 시스템의 I/O 메커니즘은 대략 두 가지 분류로 나뉜다. 호스트가 이벤트를 확인하는 폴링(polling) 방식과 디바이스가 이벤트를 알려주는 인터럽트(interrupt) 방식이다. 각 방식은 여러 장단점이 공존하여 상황에 따라 선택적으로 혹은 조합하여 활용된다.
폴링 방식은 호스트가 주기적으로 디바이스의 이벤트를 확인하고 처리하는 방식이다. 이 방식은 호스트가 이벤트를 처리할 준비가 되어 있을 때 여러 이벤트를 동시에 처리할 수 있다. 이를 통해 이벤트당 처리 오버헤드를 줄여 높은 대역폭으로 이벤트를 소화한다. 기술 뉴스 전달 방법에서는 RSS(Rich Site Summary) 리더가 이에 해당한다. RSS 리더를 활용하면 RSS 피드를 제공하는 여러 웹사이트를 구독할 수 있고, 한 곳에서 한 번에 읽을 수 있다. 내가 뉴스를 읽고 싶을 때 RSS 리더를 실행(폴링)하면 된다. 예전에는 RSS 리더를 활용하여 뉴스를 구독하고 읽기도 하였다.
하지만, RSS 리더는 폴링 방식의 단점을 똑같이 가지고 있다. 폴링 방식은 리소스 효율성 측면에서 비효율적일 수 있다. 새로운 이벤트(뉴스)가 없음에도 호스트(사람)는 계속 디바이스(RSS 리더)를 확인하게 되고, 이는 필요 없는 에너지 낭비로 이어진다. 또한, 사람은 컴퓨터와 달리 폴링을 해야 하는 것 자체를 망각하기도 한다. RSS 리더를 오랜만에 실행하게 되면, 수백 개의 뉴스가 쌓여 있어 읽기를 포기하게 된다. 정말 읽어야 하는 뉴스를 읽지 못하게 되는 것이다.
인터럽트 방식은 디바이스가 호스트에서 처리하던 작업을 잠시 정지시키고 이벤트를 처리하게끔 하는 방식이다. 특별한 경우를 제외하고는 호스트가 이벤트를 놓치지 않고 처리하게 하는 대신, 호스트가 맥락을 전환해야 하므로 높은 오버헤드가 발생한다. 뉴스 전달 방법에서는 알림(notification)이 이에 해당한다. 새로운 뉴스가 생성될 때마다 알림 메시지를 바로 전달하는 방식이다. 모든 뉴스를 적어도 헤드라인은 놓치지 않고 바로 읽을 수 있다는 장점이 있지만, 컴퓨터와 마찬가지로 빈번한 알림은 다른 중요 작업에 큰 방해가 되어 전반적인 효율성 저하로 이어진다.
그렇다면 어떤 방식을 선택할 것인가? 내가 선택한 방식은 인터럽트 코얼레싱 (interrupt coalescing)이다. 새로운 이벤트가 발생할 때마다 즉시 호스트에 알려주는 것이 아닌, 일정 주기마다 그 주기 동안 도착한 여러 이벤트를 한 번에 호스트에 알려주는 기법이다. 이를 통해 인터럽트의 수를 낮추어 호스트의 부담을 줄이고 여러 이벤트를 한 번에 처리하고, 폴링을 까먹는 실수를 방지할 수 있다. 이 방식에서 영감을 얻어 기술 뉴스 파이프라인을 만들었다. 하루를 주기로 구독하는 RSS 피드와 게시판의 최신 글을 확인하고 이를 하나의 리스트로 정리하여 메일로 전달하는 방식이다. 나는 매일 아침 이렇게 전달된 뉴스 메일을 확인하고, 중요하거나 재미있어 보이는 뉴스를 읽는다. 그 이후, 본 업무 때는 뉴스를 거의 보지 않는다. 이 방식을 통해 본 업무에 (과한 폴링 혹은 인터럽트로 인한) 지장을 주지 않으면서도 뉴스 읽기를 꾸준히 할 수 있게 되었다.
인터럽트 코얼레싱에는 한 가지 단점이 있다. 순수 인터럽트 방식에 비해 대기 시간으로 인하여 즉시성이 떨어진다는 점이다. 마찬가지로, 내 뉴스 파이프라인에서는 뉴스가 최대 하루 늦게 전달된다. 하지만, 이는 큰 문제가 되지 않는다. 나는 속보 경쟁을 해야 하는 위치에 있지 않다. 기술 뉴스를 하루 늦게 보는 것은 조금도 문제가 되지 않으며, 오히려 하루 동안 여러 코멘트가 쌓여 뉴스를 더 풍성하게 한다.
나는 이 파이프라인을 위해 (개인적인 만족 및 커스터마이징의 이유로) 직접 프로그램을 만들었다. 직접 프로그램을 만들기 전에는 Mailbrew는 서비스를 이용했다. Mailbrew 또한 만족도가 나쁘지 않았으니, 혹 관심 있는 사람은 한번 사용해 보면 좋겠다.
어떤 뉴스를 구독할 것인가?
이 방식을 이용해 내가 구독하는 몇 기술 뉴스를 몇 가지 소개해 본다.
- (부분 유료) LWN.net: https://lwn.net
- 리눅스와 자유소프트웨어 개발 커뮤니티에 관련된 뉴스 사이트이다. 길고 분석적인 아티클이 자주 올라오며, 코멘트는 가끔 거칠지만, 인사이트가 있을 때가 종종 있다.
- 유료 글들이 존재하며 일정 기간 후에 무료로 공개된다. 나는 유료로 구독한다.
- (부분 유료) Phoronix: https://www.phoronix.com
- 소프트웨어(주로 오픈소스) 및 하드웨어 관련 단신 위주의 뉴스와 가끔은 하드웨어 벤치마크 리뷰가 올라온다. 새로운 하드웨어 정보를 나름 빠르게 받아 볼 수 있다.
- 모든 글을 유료로 열람할 수 있지만, 유료 구독을 하면 광고를 제거하고 여러 페이지에 나눠진 글을 한 번에 볼 수 있다. 나는 유료로 구독한다.
- Chips and Cheese: https://chipsandcheese.com
- 상당히 분석적인 최신 하드웨어 정보가 올라온다.
- The Register의 일부 토픽: https://www.theregister.com
- 테크 뉴스 사이트이다. 가볍게 읽기에 좋다.
- Serve The Home: https://www.servethehome.com
- 서버 하드웨어 관련 블로그이다. NIC 관련 뉴스를 다루는 것이 흥미롭고, mini PC 정보도 나름 재미있다.
- (유료) The New York Times 기술 섹션: https://www.nytimes.com/international/section/technology
- 디테일한 기술 정보보다는 산업적 측면 등 외적인 흐름을 파악하기 위해 종종 읽는다.
- 학교 구독을 통해 읽는다.
- Communications of the ACM. System 섹션: https://cacm.acm.org
- 가끔 재밌어 보이는 것이 있으면 읽는다.
- Hacker News. 100 포인트 이상: https://news.ycombinator.com
- 기술 뉴스 위주의 큐레이션 사이트. 올라오는 아티클도 읽을만하지만 코멘트에서 더 많은 인사이트를 얻는다.
- (한국어) 기글 하드웨어 주간 뉴스: https://gigglehd.com/gg/index.php?mid=ggnews&category=14160
- 매주 국내 시각에서 하드웨어 뉴스를 전달한다. 삼성/하이닉스 등의 국내 뉴스는 해외 매체에서 보기 어려운데, 여기에 잘 정리되어 전달된다.
- (한국어) 긱뉴스 위클리: https://news.hada.io/weekly
- Hacker News의 국내판. 매주, 주로 소프트웨어 뉴스를 큐레이션하여 전달한다. 소프트웨어에 대한 국내 시각을 파악하기 위해 코멘트 위주로 읽는다.
앞으로의 과제
현재 뉴스 파이프라인 소비에만 초점이 맞춰져 있다. 조금 더 생산적인 뉴스 활용을 위해, 짧게라도 내 생각을 글로 정리하는 시간을 가지면 좋을 것 같다. 특히, 비판적인 비평을 글로 정리함으로 기술에 대한 이해도를 높이고 비판적 사고 능력을 기를 수 있을 것 같다.
-
구체적으로 말하면, 논문을 제외한 기술적 뉴스, 블로그 아티클, 기고문 등 ↩︎