GN⁺: 3년간의 iMessage에서 자동 생성된 책 시리즈
(benkettle.xyz)iMessage 대화를 물리적 책으로 만들기 가능한가?
- iMessage 대화 내역을 기억하는 것이 어렵고, 때때로 과거의 메시지를 검색하여 정보를 찾아보고 싶은 욕구가 있음.
- iMessage는 검색 기능은 개선되었지만, 과거 메시지를 둘러보기에는 불편함이 있어, 특정 날짜로 바로 가는 기능이 없음.
- 이러한 불편함을 해결하고자, 가장 큰 대화를 물리적인 책 형태로 만드는 아이디어를 생각해냄.
아이폰에서 메시지 추출하기
- 아이폰에서 메시지를 추출하기 위해, Mac에 백업한 후
sms.db
파일을 찾아 SQLite 데이터베이스로 변환하는 과정이 필요함. - iPhone Wiki의 도움을 받아 백업 폴더에서
sms.db
파일을 찾아내고,sqlite3
명령어를 사용하여 데이터베이스의 테이블을 확인함.
SQL을 이용한 텍스트 메시지 쿼리
- 데이터베이스 스키마를 이해하고 SQL 조인을 사용하여 실제 대화를 추출하는 과정을 거침.
- 일부 메시지는
message.text
가 아닌message.attributedData
에 이진 데이터로 저장되어 있어, 이를 해석하기 위한 추가 작업이 필요함. -
imessage-database
라이브러리를 사용하여 iMessage 데이터베이스를 읽고 Rust 데이터 구조로 출력하는 기능을 활용함.
LaTeX 문서 생성
- LaTeX를 사용하여 텍스트 메시지를 아름다운 문서로 변환하는 과정을 설명함.
- 메시지를 LaTeX 코드로 변환하고, 유니코드를 지원하지 않는 LaTeX의 한계를 XeLaTeX을 사용하여 해결함.
- Google의 Noto Emoji 폰트를 사용하여 흑백 이모지를 문서에 삽입함.
인쇄 주문
- 실제 책으로 인쇄하기 위해 Barnes & Noble Press를 이용하여 저렴한 비용으로 책을 인쇄함.
- LaTeX에서 생성된 PDF로부터 커버 디자인을 만들고, 인쇄 주문을 완료함.
- 몇 주의 기다림 끝에 실제 책을 손에 들고, 이를 통해 과거 대화를 쉽게 돌아볼 수 있게 됨.
직접 만들어보기
- 소스 코드는 아직 완성되지 않았지만, GitHub에서 제공되므로 관심이 있다면 직접 시도해볼 수 있음.
GN⁺의 의견
- 이 프로젝트는 개인의 디지털 기록을 물리적 형태로 보존하고자 하는 현대적인 욕구를 반영함. 과거의 대화를 책으로 만들어 보관하는 것은 디지털 시대에 새로운 형태의 추억 저장 방식을 제시함.
- LaTeX를 사용하여 문서를 생성하는 과정은 프로그래밍과 문서 작성이 결합된 예로, 기술적인 문서 작성에 관심이 있는 초급 소프트웨어 엔지니어에게 유용한 사례가 될 수 있음.
- 이 기사는 개인 데이터의 백업과 변환 과정을 다루고 있어, 데이터 관리와 보안에 대한 중요성을 상기시킴. 사용자는 자신의 데이터를 안전하게 다루는 방법에 대해 더욱 주의를 기울여야 함.
- 비슷한 기능을 제공하는 다른 프로젝트로는 Chatbooks나 Blurb가 있으며, 이들은 사용자의 사진이나 소셜 미디어 게시물을 책으로 만드는 서비스를 제공함.
- 이 기술을 도입할 때 고려해야 할 사항으로는 개인 정보 보호, 데이터 변환의 정확성, 인쇄 비용 등이 있으며, 이를 통해 디지털 데이터를 물리적 형태로 영구 보존하는 장점과 함께, 데이터 손실 위험을 줄일 수 있는 실질적인 이점이 있음.
Hacker News 의견
-
개인 통신 기록의 중요성을 강조하며, 이를 서비스로 제공하는 것이 멋질 것이라는 의견.
"개인적인 서신 기록을 더 많이 보존해야 한다는 의견에 동의함. 이를 서비스로 제공하는 것도 흥미로울 것."
-
누군가 자신의 라이브러리를 실제로 사용하는 것을 보고 기뻐하는 개발자의 반응.
"내 라이브러리를 실제로 사용하는 사례를 보고 매우 기쁨."
-
제2차 세계대전 당시 조부모 간의 편지와 일기를 잘 보존한 이야기와, 후손들이 같은 기쁨을 누리지 못할 것이라는 우려.
"조부모님의 편지와 일기를 잘 보존한 이야기와, 후손들이 같은 경험을 하지 못할 것에 대한 우려."
-
개인 메시지의 전체 기록을 출판사에 보내는 것에 대한 불안감을 표현하는 의견.
"개인 메시지의 전체 기록을 출판사에 보내는 아이디어에 대한 불안감."
-
영국인을 위해 WhatsApp 메시지를 출력하는 프로젝트에 대한 흥미와, 이를 위해 Rust를 배워야 한다는 자조적인 반응.
"WhatsApp 메시지를 출력하는 프로젝트에 대한 흥미와 Rust 학습에 대한 자조적인 반응."
-
개인 대화 기록을 보존하는 것에 대한 부정적인 시각을 나타내며, 개인 메시지는 일시적이어야 한다는 의견.
"개인 대화 기록을 보존하는 것에 대한 부정적인 시각과 메시지의 일시성에 대한 의견."
-
맥에서 iMessage를 내보낼 수 있는 파이썬 스크립트에 대한 정보 제공.
"맥 사용자를 위한 iMessage 내보내기 파이썬 스크립트 정보."
-
채팅 기록을 시각화하고 주제별로 클러스터링하는 것이 흥미롭다는 의견과, 이를 물리적 형태로 인쇄할 때 검색 가능성을 제공할 수 있는 아이디어.
"채팅 기록의 시각화와 주제별 클러스터링에 대한 흥미로운 아이디어와 물리적 형태의 검색 가능성에 대한 제안."
-
디지털 정보가 사라질 경우, 인쇄된 책이 21세기 생활을 연구하는 유일한 자료가 될 수 있다는 생각.
"디지털 정보의 소멸 가능성과 인쇄된 책의 역사적 가치에 대한 생각."
-
블로그를 TTS 모드로 듣는 것에 대한 경험과, 특정 섹션을 건너뛸 수 없어 웃음을 자아낸 경험담.
"TTS 모드로 블로그를 듣는 경험과 특정 섹션을 건너뛰기 어려워 웃음이 나온 경험담."