Google Chrome PDF 뷰어를 Mozilla PDF.js로 교체하기

2024년 1월 5일

Google Chrome를 주로 사용하고 있는데 언제부터인지 브라우저 내 PDF 뷰어가 엄청 느려졌다. Mozilla의 pdf.js가 Chromium 확장을 제공하고 있어서 설치해봤는데 만족스럽다. Manifest V2로 작성된 확장이라서 크롬 웹 스토어에 있는 버전은 더이상 관리되지 않는 것 같다. 그래도 직접 빌드를 한 경우엔 아직까지도 문제 없이 설치할 수 있다.

$ git clone https://github.com/mozilla/pdf.js.git && cd pdf.js
$ npm install --global glup-cli
$ npm install
$ glup chromium

Google Chrome에서 chrome://extensions를 연 후 좌측 상단에 Load unpacked 버튼을 클릭, 그리고 pdf.js 폴더 내에 build/chromium을 선택하면 확장을 설치할 수 있다. Firefox에 내장되어 있는 pdf 뷰어와 동일하게 동작한다.

화성에서 본 지구

2023년 8월 21일

Earth from Mars – NASA: Climate Change: Vital Signs of the Planet을 번역했습니다.

이 사진은 NASA의 큐리오시티 로버가 화성의 표면에서 바라본 지구의 모습을 담고 있습니다. 화성의 밤하늘에서 어느 별보다도 밝게 빛나고 있습니다. 지구는 사진 가운데서 약간 좌측에 밝은 점이며 그 점 바로 아래에 있는 달도 보입니다. 2013년 8월 6일에 화성에 착륙한 큐리오시티는 그동안 화성에 보낸 탐사 차량 중 가장 크고 발전된 모델입니다. 주변의 지질 분석과 함께 미생물 생장에 적합한 환경을 갖고 있었는지 증거를 연구하고 있습니다.

연구원은 큐리오시티의 마스트 카메라(Mastcam) 좌측 카메라를 이용해 탐사 시작 529일, 일몰 80분 후 이 장면을 촬영했습니다. (지구 시간으로는 2014년 1월 31일). 이미지는 우주 방사선에 의한 현상을 제거하는 후처리 과정을 거쳤습니다. 사람이 화성에 서서 눈으로 직접 봤다면 지구와 달은 명확하게 분리되어 보이는 두 '별'로 보일 것입니다. 큐리오시티가 이 사진을 촬영했을 때 지구는 화성으로부터 9천 9백만 마일, 1억 6천만 킬로미터 떨어져 있었습니다.

이 사진은 "멀리서 본 지구" 사진 컬랙션에 추가되었습니다. 우리는 우주에서 어떤 공간에 살고 있는지에 대해 독특한 관점을 제공합니다.

크레딧: NASA Jet Propulsion Laboratory-Caltech/Malin Space Science Systems/Texas A&M University. 출처: NASA Jet Propulsion Laboratory.

Canon PowerShoot ELPH 300 HS 짧은 사용기

2023년 7월 11일

반복되는 바쁜 일상에서도 기분이 나는 날이면 언제든 꺼내서 쓸 카메라가 있었으면 했다. 물론 스마트폰으로도 쨍한 사진을 찍을 수 있지만 카메라로 남기고 싶은 날도 있는 법이니까. 이 작은 카메라는 가방에 넣었다가 잊어도 배터리가 닳는 일이 없다. 엄청난 기능이 있는 카메라는 아니지만 그렇다고 어디 하나 크게 모자라지도 않다.

  • Canon ELPH 300 HS (IXUS 220 HS)
  • 12.1 MP, 1/2.3인치 BSI-CMOS
  • 5x, f2.7-5.9, 24-120mm (35mm equiv.)
  • 141g, 92 x 56 x 20mm
  • Auto 100, 200, 400, 800, 1600, 3200
  • 최대 1/2000s

jpg로도 충분하지만 CHDK를 설치하면 raw로도 촬영 가능하다. 다만 작은 크기 탓인지 jpg는 보정이 엄청 적용되어 있는데 그래서 그런지 raw에서 왜곡이 많이 보이고 그 나름대로 또 즐거운 느낌이 난다. 굳이 이 작은 카메라에서 왜 raw가 필요한가 싶은데 또 이리 저리 슬라이더를 옮겨가며 보정하는 재미는 여전히 있다.

작은 카메라가 대부분 그렇듯 날씨가 쨍하게 맑은 날에는 풍경이 이쁘게 잘 담긴다.
조금이라도 어두운 환경에서는 너무나도 쉽게 흔들린다. 꼭 어디 올려두고 찍어야 함.
색이 중요한 사진은 생각처럼 잘 안담긴다.
렌즈 왜곡이 잔잔하게 보인다. 그냥 그런 재미.

Vim Remote 기능 활용하기

2023년 1월 18일

간단하게 vim 메모 스크립트를 만들고 있었다. 스크립트가 실행될 때 이미 메모가 열려 있는 상태라면 메모를 닫으려고 했다. 기존 스크립트는 프로세스를 확인해서 프로세스가 있으면 닫았는데 닫기 전에 몇 가지 명령을 먼저 실행하고 싶었다. 외부에서 현재 실행되고 있는 vim 버퍼에 명령어를 전달할 수 있을까?

vim remote에 그 답이 있었다.

vim을 실행할 때 먼저 --listen으로 pipe를 구독한다. 이 옵션을 추가하면 버퍼가 실행되는 동안에만 pipe 파일이 해당 경로에 생성된다.

$ nvim --listen ~/.cache/nvim/memo.pipe

그리고 해당 버퍼에 명령을 보내려면 --server로 해당 pip를 지정하고 --remote-send로 실행할 명령을 추가한다.

$ nvim --server ~/.cache/nvim/memo.pipe --remote-send 'ihello world<esc>:wqa<CR>'

원래 해결하려던 문제에 다음처럼 적용할 수 있다. 먼저 pipe 파일 존재 여부로 메모가 열려있는 상태를 확인한다. 열려있다면 저장하고 닫고 열려있지 않다면 실행한다.

if [[ -e ~/.cache/nvim/memo.pipe ]]; then
  nvim --server ~/.cache/nvim/memo.pipe --remote-send '<esc>:wqa<CR>'
else
  nvim --listen ~/.cache/nvim/memo.pipe -c Goyo -c startinsert &
fi

이런 스크립트는 터미널 자체에서 실행하면 큰 의미는 없지만 GUI 환경에서 단축키로 해당 스크립트를 활용하면 메모를 토글 버튼으로 열 수 있게 된다.

2022년 업데이트

2023년 1월 16일

회고라고 말하기엔 그냥 이렇게 살았더라 정도가 되는 것 같아서, 회고 대신 업데이트로 제목을 붙였다.

2022년은 생각보다 더 바빴다. 아무래도 변화가 많은 해가 될 예정이라서 굵직한 계획만 있었지 세세한 일은 여유를 갖기로 마음 먹었었다. 전반에 보냈던 시간을 지금 생각하면 후반은 얼마나 치열하고 정신 없었는지, 다음 학기가 시작된 지금도 차분한 마음 갖기가 쉽지 않다. 결과만 보면 모든 일을 잘 해냈지만 여전히 내 자신을 돌보는 것에 소홀했던 것 같다.

늘 여행으로 올 때마다 살고 싶은 동네라고 노래하던 샌디에고에 이렇게 와서 살게 되었다. 학업과 업무 사이에서 아직 제대로 적응 못하고 정신없이 치여 지내고 있다. 새로운 학교에서 겪는 좋은 학습 환경과 인프라에 대해서도, 처음으로 완전 리모트로 근무하고 있는 현재 회사 이야기도, 그 외 두루두루 쓰고 싶은 이야기가 참 많았는데 차분하게 앉아서 글을 적을 여유가 이렇게도 없다. 난 글 쓰면서 생각도 정리하고 그래야 하는 사람인데 글을 못쓰니까 더 정신 없이 시간이 지나버린 것만 같아 아쉽다.

일정에 끌려가는 것이 아니라 내가 주도되는 삶을 사는 것이 2023년 목표다. 지금도 충분히 많은 일을 하고 있는 상황인데도 갈 길이 멀다는 생각이 자꾸 앞서서 괴롭힐 때가 자주 있었다. 2023년에는 스스로를 못살게 구는 나와 결별하고, 칭찬과 응원 더하는 나 자신과 함께 했으면 좋겠다.

그리고 이 모든 과정이 수많은 도움 속에서 지속되고 있다는 점을 늘 상기하게 된다. 정신없고 바쁘던 과정에서 잠깐 떨어져서 지내기도 했어야 했던 민경 씨에게 가장 미안하고 고맙다. 슬쩍 회고를 안쓰고 넘어가려는 맘도 있었는데 그래도 써야 한다고, 짧게라도 이렇게 글을 쓰니까 생각이 확실히 정돈되는 느낌이다. 나를 너무나도 잘 아는 사람과 함께하는 일은 이렇게 감사할 일의 연속이다.

2023년에는 현재를 건강하게 잘 유지하는 것이 목표다. 이 도시에서 지내는 동안 별 탈 없이 즐겁고 평안했으면 좋겠다.

월별 있던 일

  • 1~2월: 편입 서류 지원, 결과를 기다리는 삶. 빠듯하게 들은 수업 덕분에 한 학기 여유가 생겼고 재충전의 시간을 가졌다.
  • 3~4월: 뒷마당 조경 공사, 트럼펫 연습
  • 5월: 커뮤니티 컬리지 졸업
  • 6월: 취업, 리모트로 업무 시작.
  • 7~9월: 일, 샌디에고 이사 준비 및 이사.
  • 10월: 편입한 학교에서 첫 학기 시작. 토이 프로젝트로 안드로이드 런처 만들기도 진행.
  • 11~12월: 바쁜 삶으로 2022년 마무리. 쿼터제로 운영되는 학교라서 학기가 훨씬 정신 없이 지나갔고 이제 좀 정신 차리니 1월 중순이 되어버렸다.

새로 만난 기기

  • Gaggia Classic Pro: 정말 오랜 기간 노래를 부르던 에스프레소 머신을 드디어 구입했다. 정말 매일 사용하다시피 하는데 가끔 커피에 밤잠 설치는 날도 생겼다. 기계도, 그라인더도 중요하지만 가장 중요한 것은 신선한 원두였다!
  • Apple AirPods (3세대): 선물로 받았다. 무선이 이렇게 좋구나 🎵
  • Amazon All-new Kindle (2022): 기존에 갖고 있던 1세대 페이퍼화이트를 반납하고 할인 받아 교체했다. 정말 가볍고 작아서 어디 다녀도 꼭 들고 다닌다. 읽을/읽고 싶은 책은 늘 많은데 시간과 마음의 여유가 부족하다.
  • Amazon Fire HD 8 Plus (2020): 블랙프라이데이 할인으로 구입했고 집에서 미디어 소비용으로, 사용하지 않을 때는 시계로 사용되고 있다.

수집한 메모들

글을 많이 쓰지도 못하고 읽는 것도 많지 않았던 해지만 작게라도 읽고 정리하는 일은 꾸준하게 할 수 있었다. 때때로 다른 감정에서 남겨둔 메모라 서로 상충하기도 하지만, 오래 기억하고 싶은 줄글을 여기에 붙여둔다.

그림이든, 운동이든, 산책이든, 노래부르기든, 춤추기든. 잘 할 필요는 없다. 우리는 장인이 되려는 게 아니다. 우리는 살려고 좋아하는 것을 하는 것이다. — 너무 참고 절제해도 좋지 않아. 너의 두뇌를 위해서

케이크 한 조각을 서로 아끼며 잘라 먹다 보니 어찌어찌 버텨지고, 버텨지니까 열정이 생기고 노력을 하는 거예요. 케이크 한 조각 놓고 쪼개 먹는 건 그만하고 홀케이크 굽는 연습을 해야 하는데, 많은 업계에 그 연습이 안 돼 있는 것 같아요. — 문명특급 홍민지 PD 인터뷰

미래를 예측하는 가장 좋은 방법은 미래를 발명하는 것입니다. — 미래를 예견하기

좋지 않은 프로그래머는 “코드”에 대해 걱정하고 좋은 프로그래머는 “데이터 구조”와 그것들의 관계를 걱정한다. — 리누스 토발즈가 말하는 좋은 프로그래머

좋은 PR을 만드는 건 결국 좋은 리뷰입니다. — 오픈소스 프로젝트에서 배운 코드리뷰

일을 하다보면 뭔가 적당히 이야기 되지 않고 어딘가에 찝찝함이 남는 경우가 있잖아요. 그 찝찝함을 명쾌하게 가시적으로 만들 수 있는 게 중요하다고 생각해요. 사실 그게 정말 힘들거든요. 이런 부분을 매끄럽게 할 수 있는 능력이 생기면 그때 저는 제가 성장했다고 생각할 것 같아요. — 무엇을 만들어도 제대로 만드는 사람

프로그래밍 언어를 둘러싼 종교들에 빠지지 말고, 언어의 참 목적은 재밌는 일을 하는 도구라는 점을 잊지 마세요. — 오랜 프로그래머로부터의 조언

사람이 자신을 연민하기 시작하면 어른의 성장이 더뎌져요. 그 시절은 끝났고 저는 거기서 나왔어요. 현재에 집중하지 않으면 그때를 복구하는 삶밖에 되지 않고 어린 시절의 손해를 어른이 갚아야 해요. — 정지음 작가의 위로법

대충 1일 1시간은 공부해야 일하는데 필요한 최소한의 지식을 얻을 수 있고, 2시간은 써야 현재 트렌드 내에서 새로운 아이디어를 추구할 수 있고, 3시간은 써야 남들이 안하는 창의적인 기회를 찾을 수 있는 것 같다. 물론 아주 두리뭉실하게 하는 얘기. — 어엉부엉님 트윗

어떤 분야에서 깊이를 가져 본 사람은 자신이 모르는 분야에 던져져 새로운 일을 하더라도 답을 찾아내고, 누구의 도움이 필요한지를 포착하기를 더 빠르게 할 수 있다고 생각합니다. — 여전히 진로고민 : 확신은 어떻게 가질 수 있을까요?

Skepticism should also apply to yourself. You are also fallible, and you should acknowledge this. Be your number one critic. Spotting your mistakes first is extremely beneficial for your personal growth, and it also gives others less chance to criticise you. — Lessons Learned After 20 Years of Software Engineering

고개 쳐박고 오랫동안 공부한다고 성장하지 않는다. 자기객관화, 인정, 수용적인 태도가 깔려있어야 비로소 성장할 준비가 된다. 피드백을 받아들이지 못하면 성장할 수 없고, 성장하지 않으면 그 끝은 도태됨이다. — minieetea님 트윗

자아와 자기인식은 많은 문제를 낳으며 우리 삶을 필요 이상으로 힘들고 불행하게 만듭니다. 자기 생각 자체를 줄여야 해요. 일상생활을 영위하기 위해 필요할 때만 하는 겁니다. — 나는 왜 내가 힘들까

기술의 너머와 선택의 이유에 호기심을 잃지 않으면서도 무엇을 위해 코드를 써내려가고 있는지 잊지 않기. 나를 위해 정리하고 기록하지만 다른 사람에게도 도움이 됩니다. ㅡ 듣되 맹신 않기

재능은 선택할 수 없지만 꾸준함은 선택할 수 있기 때문이다. … 꾸준히 출석하는 애는 어김없이 실력이 늘었다. 계속 쓰는데 나아지지 않는 애는 없었다. — 재능과 반복

조급함을 다스리는 건 중요하다고 생각한다. 꾸준히 노력을 하면 언젠간 찬찬히 빛을 발할 거라는 믿음과 중심을 잃지 말고, 내 커리어랑 인생을 길-게 보자. 오늘 내일하고 그만 둘 거 아니니까. — 네트워킹, 커피 챗 중 가장 자주 들었던 조언들