"One of the nice things about getting older is that you come to understand that you can integrate multiple aspects of your life together. When you're young, you think everything has to be binary, as that's exactly how you feel at that age".
- Min Jin Lee

원하는 웹브라우져, 웹환경, 그리고 익숙하지만 싫은 어떤 신앙체계


지금의 웹환경은 너무 과도한 치장, 보이는 이미지 중심이어서 딱 한가지 측면을 제외하고 모든 면에서 정말 끔찍하다는 생각이 들었다. 하긴 그러니 많은 사람들이 열심히 쓰는걸지도 몰라.

그래서 정말 많은 사람들이 오히려 그런 치장, 자바스크립트로 덩어리진 화면을 로딩 하느라 보이지 않는 시간을 조금씩 모아서 낭비하고 있다는 생각도 든다. …그리고 또 그걸 만든다고 시간은 버려지고. 그렇게 모두가 하는 방식대로 하는 수 밖엔 다른 방법을 모르겠고, 그렇게 만들어가는 자바스크립트, 프론트엔드 개발자들의 시간도 마찬가지고.

더욱이 그런 <예쁘고 조잡한> 화면이 정보의 전달도, 명확하게 사람들이 사용할 수 있는 화면을 만들어 준다고 생각지도 않는다. 컴퓨터에 조금 관심이 없는 사람도 조금 평균적인 기준이랑 다르거나, 그런 평균적인 기준을 따라가려고 흉내와 고생은 많이 했지만 그러지는 못한 사이트를 써보라고 한다면 당혹한다. 나는 그렇다. 차라리 단순한 텍스트 메뉴와 숫자나 방향키 입력을 통한 텍스트 메뉴가 더 명확하고 나을 지경인거 같다. 하지만 잘 디자인되고 개발한 화면에서는 정보 전달도, 사용성도 좋겠지만, …문제는 그런 사이트는 거의 본적이 없다.

radio-recorder 프로젝트 설명


2년전쯤에 한국 라디오를 혼자 듣고 싶었었다. 하지만 시차가 많이 나는 지역에 살았었다. (8시간 정도 느림)

그래서 한국 인터넷 라디오를 녹음해서 개인적으로 들을 수 있다면 좋겠다는 아이디어로 작업했던 프로젝트 소스코드를 공개한다.

https://github.com/ageldama/radio-recorder

방송사의 인터넷 라디오를 녹음 하는 스크립트는 커밋에서 제외하고 공개한다. 이는 방송사에게 문제가 될 수 있으므로 개인적으로 알아내서 사용하고 타인과 공유하지 않기를 바란다.

프로그램 구성

cron 서버

  • 지정된 시간에 녹음/인코딩 스크립트를 실행하는 스케쥴을 담당한다.
  • 오래된 임시 파일 정리 등등도.
  • 한국의 시간대와 내가 있는 시간대가 달라서 다른 cron scheduler을 쓰지 않고 그냥 짰었던거 같다.

Org 파일으로 Hugo 포스팅 테스트


적당히 잘 동작하는거 같으니 앞으로는 그냥 혼란스러운 Markdown 대신에 그냥 Org 파일으로 블로깅 하며 될거 같다. 행벜.

예전 버젼 Hugo에서는 지원을 제대로 못하던거 같은데, 어느샌가 업데이트 하니까 되는거 같아서 그냥 슬그머니 쓰기로. https://gohugo.io/content-management/formats/

기존 마크다운들도 인라인 이미지 문법을 바꾸고, ToC 표시 설정도 바뀌어서 조금 변경.

아쉬운건 여전히 Org 파일에서 ToC 지원은 빠져 있는거 같아서… https://github.com/snosov1/toc-org 설치해봤다. 그냥 고민할 필요가 없었구나. ㅋ

제일 좋은건 code syntax highlight이 예뻐졌다.

Table of Contents <– :TOC: –>

First release of cl-state-machine


Made a small state machine library/DSL in/for CommonLisp.

https://github.com/ageldama/cl-state-machine

커먼리습 설정하기, ASDF 시스템 코드를 받기


1. ASDF을 최신 버젼으로 설정한다

(이부분에서 많이 고생했는데) SBCL와 다르게 CLISP, ECL 은 최신 버젼의 ASDF을 내장한걸 패키징해놓지 않았다.

대부분은 문제가 없이 동작하지만, 내가 작성한 커먼리습 시스템에서 실행파일을 빌드할 때 문제가 많았다.

  1. ASDF 의 최신 버젼을 git clone 해서 적당한 디렉토리에 받는다.
  2. make을 내려받은 ASDF 디렉토리에서 실행한다.
    • 실행하면 build/asdf.lisp 파일으로 한 파일으로 뭉쳐서 로딩하게 편안한 파일을 생성해준다.
  3. 내 커먼리습 구현체의 시작설정파일 맨 앞에 다음처럼 추가한다.
    • (load "~/local/asdf/build/asdf")
      • 여기서 나는 $HOME/local/asdf/ 에 ASDF을 받았다고 가정.
      • 그리고 asdf.lisp 파일이더라도, 마지막에 .lisp 확장자는 생략했다.
    • ECL은 $HOME/.eclrc
    • CLISP은 $HOME/.clisprc.lisp
  4. 그리고 중요한데, 그 다음에 Quicklisp 초기화 내용이 오도록 한다.
    • Quicklisp을 초기화하기 전에 ASDF 최신 버젼이 로딩되어 있는게 더 나을테니까.
    • 어차피 위의 (1~3)의 순서대로 ASDF 먼저 설정한 다음에 Quicklisp설치한 다음에 ql:add-to-init-file 실행하면 이런 순서로 추가해준다.

…별거 아닌데, 이거 때문에 빌드한 결과 실행파일이 이상해서 좀 고생했다.