휴대폰을 분실했다.

한 번도 생각안한 상황인데, 막상 닥치니 캄캄해지네.


분실한 장소는 대학병원연구동 화장실이며, 여기에 오늘 학회참석차 많은 사람들이 왔다. 약 30분동안만에 일어난 일인데, 그 흔한 CCTV도 출입구쪽에 없다. 경찰을 불러야하나, 아직 학회에 참석한 사람들 중에 내 휴대폰을 전원 끈 채 가지고 있는 사람들이 있을텐데, 어떻게 찾지. 마음먹고 표정관리 잘하면 그 폰은 어떻게든 처리가 가능한 상태 아닌가.


예전만큼 머리가 하얘지거나 분노가 올라오지는 않는다. 날 타자화시키고, 애써 상황을 떨어져 보려하는데, 돈보다 그 안에 들어 있는 것들에 대한 복구가 제일 귀찮은 일로 생각될 뿐이다.


짜증이 나긴 나네. 젠장.

저작자 표시 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

여러개의 탭을 열었을 때, 인접한 탭들을 한 번에 닫고 싶으면, SHIFT 혹은 Cmd (Window의 ctrl)키를 누른 채 마우스로 선택한다음 Cmd+W (Windows의 Ctrl-W)을 누르면 된다.

저작자 표시 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

라즈베리파이에 무선랜 USB를 꽂고, (무선랜이 지원되는 버전3의 경우에도 비슷하리라 생각되는데) 이동하면서 작업할 때, 무선랜 접속 설정을 변경해야 할 일이 생긴다. 무선랜에 접속하는 정보는 /etc/wpa_supplicant/wpa_supplicant.conf 파일에 저장되며, 여기에 알려진 무선랜 접속 정보를 기록해두는데, 대략의 설정은 다음과 같다.


ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
	ssid="lorthlorien"
	psk="xxxxxxxxx"
	key_mgmt=WPA-PSK
}

network={
	ssid="TOMNTOMS"
	psk="toms5123"
	key_mgmt=WPA-PSK
}

저 network 항목하나만 추가하면 될 일인데, micro sd card를 빼어 수정하면 될 일이지만, adapter가 없거나, 노트북에서 읽을 수 없는 파티션으로 만들어졌다면, 라즈베리파이 화면이 보이지 않기 때문에 손 쓸 수 있는 방법이 쉽지 않다.


다음과 같은 방법으로 해결한다. 안전한 곳에서 연결되었을 때 미리 해두어야한다.


/etc/rc.local 에 /etc/rc.hojin 을 실행하도록 한다.


#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi

/etc/rc.hojin &
exit 0

그리고 /etc/rc.hojin은 다음과 같이 부팅후 접속되어 있는 모든 파티션에서 wpa_supplicant.conf 가 있는지 확인해서 뒤에 추가하는 방식을 취한다. 소스에는 기존 내용을 덮어 쓰지 않기 위한 장치를 마련했으나 자세한 설명은 생략한다.


#!/bin/sh

W=wpa_supplicant.conf
T=/etc/wpa_supplicant/wpa_supplicant.conf

fdisk -l /dev/sd[abcd] 2>/dev/null | grep ^/ | awk '{print $1}' |
while read partition
do
	mount $partition /media
	if test -f /media/$W 2>/dev/null; then
		echo "Found setup file: $partition"
		LINE=`grep -n HOJIN $T | awk -F: '{print $1}'`
		if test -z "$LINE"; then
			echo "#HOJIN" >> $T
			cat /media/$W >> $T
		else
			( head -n +$LINE $T; cat /media/$W ) > /tmp/$W
			mv /tmp/$W $T
		fi
		( sleep 20; mount $partition /media; ifconfig -a > /media/ifconfig.log; umount /media ) &
	fi
	if test -f /media/rc.sh; then
		bash /media/rc.sh
	fi
	umount /media 2>/dev/null
done

일단 처음 부팅하면 wpa_supplicant.conf를 수정하는 일만 일어나므로 다시 부팅하도록 한다.


두번째 부팅후 20초가 지나면 같은 파티션에 ifconfig.log 로 현재 ip 정보를 기록하도록 되어 있으므로 노트북으로 확인할 수 있다.





저작자 표시 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

도무지, 출근 중에 떠올랐던 아이디어가 뭐였는지 생각이 나질 않는다.

아마도, 뭔가를 해석하는 관점에 관련된 것이었는데, 출근상황을 다시한 번 시뮬레이션하고, 어느 지점을 지날 때 쯤이었는지 어렴풋하게 기억만 나지 그 상황에서 무슨 생각을 했는지 기억이 나질 않는다.


나는 원래 기억을 못하거나, 기억하기 위한 여러 연결고리를 미쳐 만들지 못한채 잊었거나, 기억할 량이 많을 정도로 버라이어티한 주제를 떠올렸거나 하는 문제겠지.

저작자 표시 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

인간이 실재 일어나지 않은 일을 시뮬레이션할 수 있는 능력이야말로 인간이 현재 지구를 지배하는  지위에 올려 놓은 중요한 요소 중 하나이다. 이런 지위에 올려 놓은 역할로서 시뮬레이션은 크게 두 가지인데, 하나는 위험을 그려보는 일이고, 다른 하나는 현실에 만족하지 못하도록 계속 몰아가는 역할이다.


지금 먹고 있는 이 음식을 다음에 먹을 수 있을까. 그렇지 못할 것 같다면 그것은 위험한 요소다.

아무 위험이 없는 상황에서도, 신의 위치에 올라가지 못한 이상 현실에 만족할 수 없다.

그 상황을 극복하기 위한 역할이 시뮬레이션으로 시작한다.


저작자 표시 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

김중혁의 악기들의 도서관은 일부 단편을 나중에 읽을것으로 남겨두고(반 정도 읽고), 유발 하라리의 사피엔스 읽기 시작. 언제 끝나려나.

저작자 표시 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
  1. Coolen 2016.05.26 14:20 신고

    10일지난 오늘 이제야 1장을 읽음.

  2. Coolen 2016.06.28 21:40 신고

    2016.06.28. 한달하고도 12일만에 다 읽음. (중간의 서너장은 건너뜀.)

인터넷에서 다운로드 받은 파일을 실행하면, 경고가 나온다. 그 정보는 디렉토리내의 파일 속성(attribute)에 저장되며 xattr 명령으로 확인해볼 수 있다. 이 속성은 복사(cp)할 때도 따라다니는데, xattr -d 로 해당 (com.apple.quarantine 같은) 속성을 지우면 경고가 나오지 않는다. 또는 cp -X 옵션으로 복사할 경우 속성은 복사하지 않으므로 지운 효과를 얻을 수 있다.

저작자 표시 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

리메이크한 토탈리콜(2012)에서는 건질 것은 여주인공 케이트 베킨세일 정도인 듯. 주연도 많이 했구만, 본 것은 반 헬싱 밖에 없네. 쩝..

저작자 표시 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

어느 팀에서 1년간 Node.js 로 작업을 하고나서 다시 python으로 돌아 갔다는 을 보고나서는 그럴 수 있다고 생각했다. nodejs에서 사용하는 Javascript는 기존의 Javascript와 설계 방식이 다르다. 모든 곳에서 비동기적인 상황을 고려해야한다. 정확히는 I/O가 일어나는 함수의 경우에서 비동기적인 처리를 고려해야한다.


Nodejs는 구글의 자바스크립트 엔진인 V8이 JIT 컴파일러를 도입하면서 괜찮은 성능을 제공하였기 때문에 가능한 프레임웍이었다. 그리고, 최대한 동기적인 작업을 설계에서 배제시켰고, 그에 따라 nodejs 생태계는 비동기 철학에 맞춰 확장이 되었다.


처음 nodejs가 나왔을 때 비동기적인 설계를 편하게 구현할 수 있는 자바스크립트의 문법적 기능으로는 closure 밖에는 없었던 것 같다. 지금은 co-routine을 구현하기 위한 generator가 들어가고, Promise가 들어가면서 지금과는 다른 설계방식이 앞으로는 유행하지 않을까 한다.


Nodejs는 javascript라는 것이 특징이 아니다. javascript가 클라이언트에서 사용되다가 비로소 서버에서도 사용되는 것에 열광할 일이 아니라는 것이다. 마이크로소프트의 ASP가 VB만이 아닌 Javascript로도 제공됐었다는 사실을 아시려나 모르겠다. npm 마저도 특징이 아니다. 요샌 다 패키지 매니저는 기본이지 않은가. Nodejs의 매력은 "비동기적인 설계를 강제"한 것에 있다. 만약, python이든, java든 php든 심지어 C++이라할지라도 비동기적인 함수로만 패키지의 생태계가 만들어진다면, 아마 열광할 요소가 있을 것이다. 그러나 전통강자가 있으니 아마 쉽지는 않을 것이다.



저작자 표시 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

링크를 누른뒤 백버튼을 눌렀을 때, 그 위치로 돌아가는 것이 일반적인 사용성인데, 보고 있는 페이지가 ajax로 scroll 혹은 pagination이 구현되어 있을 때, 현재 보고 있는 위치를 기억하는 문제가 있다. 9년전 idtail . com 만들 때도 고민 많이 했던 부분이었는데, 지금의 페이스북도 답이 크게 없나보다. 스크롤 중에 내용을 보려고 클릭하는 것은 뭔가 안심이 안돼.

저작자 표시 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

+ Recent posts