Emacs 시작 시간 빠르게 만들기


이맥스 설정이 조금씩 자라날 때마다 이맥스를 새로 시작하는 시간도 길어져서 짜증이 슬슬나기 시작했다. 그래서 조금 개선해봤다.

Quelpa + MELPA 거절하기

Quelpa 을 이용해서, MELPA등에 등록된 패키지가 아닌 내가 작성해서 GitHub에 올려놓고 사용하는 패키지를 Git으로 받아서 등록해 사용한다.1

그런데, 어차피 use-pacakge을 이용해서 MELPA 등 패키지를 받아와서 사용하는데, 불필요하게 MELPA 인덱스를 시작할 때마다 받아오고 한다는걸 알게 됐다.

당연히 껐다. 한참 빨라졌다.

참고: Inhibit MELPA git checkout or updates on init

esup profiler

Elisp 자체는 프로파일링이 가능한데2, $HOME/.emacs 같은 init file을 실행하는 시간은 측정이 어려운거 같아서 검색해봤다.

<소프트스킬>, <커뮤니케이션 스킬>은 어떻게 한국 사회에서 괴물을 만드는지


우선 이야기를 시작하기 전에 일러두고 싶다. 내게 <소프트스킬>1은 매우 재밌게, 유용하게 읽은 책이었다. (2016년에)

이 이야기는 사실 커뮤니케이션스킬, 소프트스킬을 권장하고, 어떻게 해야 할까 하는 고민에서 나오는, 또한 그런 정말 중요한 것이 어떻게 (적어도 내가 느끼기엔) 이상한 괴물을 옹호하기 위해 변질되어 쓰이는지에 대한 것이다.

<사회생활>, <원만함>에 대해

나는 자라오며 계속해서 잔소리를 들어왔다. 말해주는 사람들은 내 아버지와 몇몇 친척 형, 주변 친구들이었다. 그리고 하나도 그런 말들을 새겨 듣지 않았고, 잘했다고 생각한다.

Lisp에서 Dynamic/Lexical Binding와 JavaScript의 var/let


다음의 간단한 코드를 읽어보자.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
var x = "lexical";

function maker() {
  return function() {
    return x;
  };
}

{
  var x = "dynamic";
  assert(maker()() == "???");
}

maker()() 의 결과는 'dynamic' 이다.

심지어, 맨 마지막에 있는 {..} 블록을 넘어가서도 x 의 값은 여전이 'dynamic' 이다.

자바스크립트에서 binding은 어딘가 이도 저도 아니게 심각하게 고장난 느낌이다. 이 글에서 이야기할 lexical binding이나 dynamic binding에도 속하지 않는 느낌이고, 이번에 새로 추가된 let 도 이해하기가 어려운게 아니라 그냥 제대로 망가져 있는거 같다.