Blackberry Key2, Keyboard: Joy for using Termux

Spacemacs on Termux in Blackberry Key2

A/S 두번을 받으며 5년을 버티던 Nexus5를 퇴역시키고  CJ헬로모바일 33,800원 평생 데이터 무료플랜 유심 요금제를 키보드가 달린 이쁜쓰레기 블랙베리 키투에 먹였다. (주의: 키투+신규가입자는 데이터 무료플랜 요금제 지정이 불가! 그러나 방법이 있다)

 

메모리가 6G 라는 점이 이렇게나 사용성에 영향을 주는지 사실 알지 못했다. 쾌적 그 자체다. 

4G 메모리를 장착한 다음번 저렴한 블랙베리 하드웨어가 나온다는 루머가 있는데, macOS처럼 메모리 압축/뻥튀기를 하지 않은 이상 2G 차이에 따른 사용성은 크게 다를 것이라 추측한다. 

 

OS는 Update를 받아 Oreo 8.1.0 Build#:ABG706 상태.

 

번들된 어플들이 꽤 쓸만해서 기존에 쓰던 여러 시스템 유틸리티를 대체할 수 있었다. Greentify는 더이상 필요없다. 시스템에서 자체적으로 백그라운드 동작상태를 하나 하나 지정할 수 있다. 1Password 만큼의 유용성은 아니더라도 Locker는 쓸만하다.  리소스 관리 어플을 따로 쓸 필요없고 배터리 관리어플은 내가 원하던 기능을 찝어서 구현해줬네. 화면샷 잡은 후 수정하는 Notable 덕분에 뻘짓을 덜하게됐다.

 

배터리가 미쳤는지… 하루밤을 지났건만 1% 밖에 떨어지지 않았다. 블랙베리.. 뭔짓을 한거냐.. 

 

키보드 때문에 이 모델을 구매했는데, 쉽지 않았다. Termux를 자유롭게 쓰고 싶었는데 한영전환 키가 .. 빌어먹을이라.. (나처럼 코딩을 하려는 게 아니라면 사실 아무 문제없다) 일반 키보드처럼 약간 어긋난 배열이 아니라 줄지어 놓은 밭떼기 같이 배열되어 있어 오타가 너무 많이 난다. 보지 않고 키보드질 하려면 꽤 사용해야 할듯. Alt키를 눌러 숫자를 입력하는 것과 Shift 키를 눌러 쌍자음/모음을 입력하는 것 때문에 도저히 타이핑 속도가 나질 않는다. 블랙베리용 천지인 키보드를 쓰면 화면에 뜨는 자잘한 기능을 포기해야하니 그것도 낭패. Gboard는 쓰레기. 블루투스 외장 키보드를 연결해도 $ 키에 한/영 전환을 먹여둔터라 Shell Scripting에서 변수지정을 하려면 애로사항이 꽃다발로 떨어진다.  $ 키로 한영전환을 포기하자니 Alt+Enter 조합으로는 도저히 하드웨어 키보드를 쓴다는게 고역이 될듯하다.  결국 한영전환에 따른 $ 심볼키 사용은 추후 다른 좋은 방법이 생길 때까지 기다려보기로 결정.

 

한영 전환문제를 제외한다면 물리 키보드가 주는 이점은 상당하다. 어플 찾아 이리저리 터치하는 과정이 얼마나 인지적 과부화를 일으키는지, 키보드를 써보면 느껴질거다. 그냥 어떤 화면에서든 핫키로 한번에 이동하고 지문인식으로 보안설정을 패스하는 과정은 1초만에 하고자 하는 일을 할 수 있게한다. 짱 좋다.  거기에 내장 128G에  SD 128G를 더하니 왠지모를 이 든든함.  최신 버전의 위키피디아 데이터를 넣어도 널널한 공간이다.

 

이쁜 쓰레기라고만 알고있었는데, 다음번 하드웨어가 잘나오면 분명 갈아탈듯. 

마치 IBM Thinkpad가 중국으로 넘어가서 더이상 맘에드는 노트북이 없을 것이라 생각하던차에 Macbook을 알게된 그때와 비슷하달까.. 

Spacemacs 사용환경 관리

Vim 과 Emacs의 장점을 결합한 만큼 별 고민없이 사용하게 해주면 좋겠지만 설정에 따라 빈번히 빡치게 하는 경우가 생긴다. spacemacs-layers 리스트에 레이어를 하나 넣을 때마다 몇 십개씩 추가로 설치되는 패키지 덕분에 이것 저것 넣다보면 200개는 우습고 300개 가까운 패키지가 로딩되어  결국 커서 하나 움직이기 힘들게 된다.

쌓여가는 설정의 어느 부분에서 문제를 만들어 내는지 찾아내는 것도 일이다. 에디터 주제에 운영체제 부팅하듯 시간 먹기 때문인데, 아무리 건드리지 않고 냅두고 냅둬도 어느때 보면 문제가 발생한다… 무료로 쓰게 해줘서 윽쑤로 고맙긴한데 부대비용이 만만찮네.  그치만 helm-swoop, isearch,  magit, org-mode 때문에 Spacemacs를 버릴수가 없다.  결국 날잡고 짱돌을 굴려 키맵핑과 기본 환경의 혜택은 누리되 아메바처럼 증식하는 패키지 사용을 막고  Spacemacs에 미리 정의된 layer를 가능한 쓰지 않으며 직접 리소스 관리를 하기위해  소스(~/.emacs.d/layers/*)와 설정파일(~/.spacemacs), 패키지(~/.emacs/elpa), 커스톰 설정을 분리해서 사용목적에 따라 필요한 환경을 스위칭을 할 수 있게 구성했다. 

 

조건에 따른 커스톰 설정파일 로드

Spacemacs 환경관리 패키지

 

nginx, apache, php 등의 패키지가 사용한 방법처럼, 설정을 그룹단위로 묶어 confs-available/ 폴더에 넣는다.

사용할 환경에 따라 최적화된 설정을 모아둔 각각의 confs-FEATURE 폴더에는 confs-available/ 파일로 심볼릭 링크를 건다. 

설정을 키고/끄는 과정을 쉽게 하기위해 bin/ 폴더아래 Bash 스크립트를 만들어 enable 002, disable 045 등과 같이 사용한다.

confs-available/ 폴더에는 모든 설정파일을 둔다
confs-available/ 폴더내의 Clojure 코딩에 필요한 설정파일을 confs-clojure/ 폴더로 링크건다

이제 ~/.spacemacs 내에서는 단순히 confs-enabled/ 라는  폴더내의 설정을 모두 읽어 들이면 된다.


;; in spacemacs/spacemacs-user-config()
(defun dotspacemacs/user-config ()

  ;; use symbolic linked start-up file
  (setq vc-follow-symlinks t)

  (defun andrwj/load-configurations (dir)
  (let 1load-it (lambda (f)
       (load-file (concat (file-name-as-directory dir) f)
     ))
	(mapc load-it (directory-files dir nil "\\.el$"))))
  (andrwj/load-configurations "~/Develops/Spacemacs/dot-spacemacs/confs-enabled")

  )
조건에 따라 ~/.emacs.d  브랜치를 바꾼다

Spacemacs와 Emacs 세계를 더 잘알게되면 아마 이렇게 까지 할 필요없을 것이다. 그러나 지금 내겐 이런 무식한 방법이라도 유용하다.

confs-clojure/, confs-base/, confs-javascript/ 등에 따라 bin/use Bash 스크립트로 필요한 패키지와 설정이 담긴 브랜치로 옮기게 했다. 

Spacemacs의 패키지 관리 부분을 뜯어고치기보단 이런 편이 더 쉽다.

구성에 따라 심볼릭 링크와 브랜치 전환을 스크립트가 해결해준다

추가 되면 좋을 법한 것들
  • 원격 패키지 저장소보다 로컬에 복사된 Melpa/GNU/Org/Marmalade repository를 사용하게 하기
  • 불필요한 패키지를 솎아내서 조금이라도 가볍게 하기

 

 

지금으로썬 희망사항일 뿐이다.

References   [ + ]

1. load-it (lambda (f) (load-file (concat (file-name-as-directory dir) f

GTD, code playground 용도로 Spacemacs를 본격적으로 쓰기로 하다

배우고 들은 것들을 조직화해서 쓰는  용도로 로컬 MediaWiki를 사용중이다.

위키에 쌓인 것들이 늘어가고 충실한 내용으로 채워지면 PDF나 책으로 출판할 계획으로.

 

개인 코드관리나 프로젝트 관리는 Phabricator를 사용중이다.

위키 기능은 약해서 쓰지 않는다. 그외 기능은 충실히 여러모로 활용중이다.

 

DEVONThink로 웹페이지를 보관하거나 번역하는데 잘 사용중이다.

그러나 내 지식으로 조직화하기엔 맞지 않은 툴이다.

쌓기만하고 보지 않는 경우도 흔하고 한번의 실수로 편집한 내용이 훌러덩 날라갈 때면 제대로 빡친다. 

위키처럼 내부 문서로 링크를 걸수 있지만 위키스럽지 않은 URL 이다.

 

Day One 어플을 2011년 부터 써왔다.애플 인증서 문제가 터졌을 때 데이터 날릴 뻔 했던 경우가 발생했다.

개발자가 버전 2를 내놓았지만 불안해서 그냥 Classic 버전을 쓰고있었다.

기록을 위해 Markdown 앱이란 앱은 거의 대부분 다 써보았다.  그러나 위키기능+GTD+코딩가능한 환경은 없었다.

 

WordPress를 쓸까 했었다. WikiPedia가 운영되는 한 PHP도 버텨줄테니까. 그러나 WordPress의 한계는 분명했다.

정보 조직화에는 도저히 방법이 없었다. 

 

Vim Wiki를 쓰다가 던져버렸다. 몹쓸 물건.

 

그러다가 Org-Mode1http://orgmode.org/가 생각났다. 

끔찍하게 싫었던 CTRL-X 키조합 때문에 이맥스는 쳐다 보기도 싫었는데, Spacemacs 몇번 돌려본 기억이 나서 혹시나 기웃거렸다.

아는만큼 보인다는 진리, 내게도 여지없이 통했다.

Clojure를 조금 공부한 덕분에 이맥스 Lisp이 눈에 들어오면서 NodeJS 못지않은 놀이터로 보이더라. 

게다가 내가 원하는 영어학습 도구로써의 기능구현도 너무 쉽게 될듯 보였다. 

내게 맞게 설정하다보니 함수형 프로그래밍이란 무엇인지 “아하~” 하는 순간이 오더라.

 

이걸로 밥벌어먹고 살 수는 없어도, 

남들과 달리보이려는 것도 아니고,

잘난체 하려는 것도 아니다.

그저 내 데이터를 내가 원하는대로 입맛에 맞게 맘대로/편리하게 다루고 싶다.

코딩으로 먹고살지 못해도 글은 쓴다. 글을 써서 기록을 남기는 건 DNA에 새겨진 사람만의 능력이자 욕구이니까.

 

이제 기록용 어플 사냥은 그만이다. 지겹다.

끔찍스럽던 CTRL-X 키 조합은 Emacs Vim Layer로 비껴갈 수 있다.

널빤지에 흩뿌려진 짓다만 건물 같던 모습을 봐줄만할 정도로 바꿔줄 테마는 얼마든지 구할 수 있네.

거의 쓰는 사람이 없다는 Emacs Lisp, 까짓거 공부해주지. 

Spacemacs로 개인정보 관리하고 활용하는 달인이 되고자 하는게 아니라, 내 정보를 내가 원하는데로 주무를수 있는 달인이 되는게 내 목표다.

적어도 내가 살아있는 동안에는 Emacs는 없어지지 않을 테니까. 

 

 

 

References   [ + ]