제 경험상 아침형 인간과 저녁형 인간의 유일한 차이점은, 일찍 일어나는 사람들이 단지 지나치게 우쭐댄다는 정도입니다. - 러셀 포스터
한동안 '아침형 인간'이 유행했다. 성공한 사람은 아침에 일찍 일어난다든가, 아침에 일찍 일어나는 사람이 더 건강하다든가 하는 말이 정말 맞는지는 모르겠다. 저녁 늦게 또는 밤 늦게 일하는 게 효율적인 사람도 많을 테고, 잠만 충분히 잔다면 늦게 자고 늦게 일어난다고 해서 건강하지 못하란 법도 없을 것 같다.
영어 수업이 끝난 다음에도 영어 선생님과 가끔씩 연락을 주고 받는다. 크리스마스에는 카드와 선물을 교환한다. 선생님은 전화로 얘기하자고 하지만 나는 메일을 선호한다. 영어로 듣고 말하는 것보다는 읽고 쓰는 쪽이 부담이 덜하다. 그러던 어느 날 영어 선생님이 남는 방 하나를 에어비앤비로 쓴다는 소식을 들었다.
집을 사서 이사오고 나서 전동 드릴을 장만했다. 한국에서는 드릴을 사용해본 적이 없는데 여기서는 드릴을 쓸 일이 자주 생겼다. 벽에 구멍을 뚫는다든가 가구를 조립할 때 드릴이 필요한 경우가 많다. 인건비는 비싸고 내 수입은 적기 때문에 웬만한 작업은 내가 직접 해야 한다. 드릴로 구멍을 뚫는 게 쉬워 보이지만 막상 해보면 만만한 작업이 아니다.
블로그 글에 포함된 코드를 하이라이팅 하기 위해 highlight.js를 사용한다. highlight.js 역시 별도 JavaScript 파일을 로딩한 다음 페이지에 포함된 코드를 찾아 렌더링하는 식이라 페이지를 로드할 때마다 매번 다시 렌더링하는 비효율이 발생한다. MathJax 만큼 느리진 않지만, 가끔씩 네트워크 속도가 느린 환경에서 코드 블록이 울컥 하는 현상을 볼 수 있다. MathJax 서버측 렌더링에서 했던 것처럼 코드도 사이트를 생성할 때 한꺼번에 렌더링해두면 좋을 것 같다.
블로그 글에 포함된 수식을 표현하기 위해 MathJax를 사용한다. MathJax 덕분에 수식을 멋지게 표현할 수 있지만 수식 렌더링 속도가 매우 느리다. 브라우저에서 처음 로드했을 때 페이지 안에 소스 코드가 그대로 있다. 이후 로딩된 JavaScript가 코드를 HTML/CSS, SVG 또는 MathML로 변환하고, 브라우저가 변환된 결과를 화면에 표시한다.