오늘 기분전환겸, bearcat을 재작성할 마음을 꺼내었다. 전부터 python으로 다시 만들어볼 생각이었으므로, 첫번째 구성품인 dhcp daemon부터 알아보았고, 간만에 bootp 프로토콜좀 보다가 대략 client의 packet을 분석할 수준으로 깨작거려봤다. experimental 디렉토리에 몇줄 커밋하고 정지. 이 다음은 언제 또 이어서 할지는 미지수... 뭐 머리가 좀 아프고, 신경을 돌려야할 일이 생기면 이어서 하든가 하겠지요. 작업은 Mac mini에서 하고, client는 Windows PC에서 virtual pc를 돌려서 PXE boot를 시도하면서 테스트하면 간단한 테스트 환경이 됩니다. --최종 프로젝트 이름은 pyboot이며 현재 위치는 https://github.com/cool..
인간의 평균 수명이 120살정도 되는 시대에도 아마 살아 있을것이라 생각된다. 난 사실 평균수명 내는 방법에 대해 아직도 의문이 있지만 --- 그 해 죽은 사람들의 평균 연령이 그 해의 평균 수명인가?, 아니면 그것을 바탕으로 하는 출생년이 동일 사람들에 대한 추정치의 평균인가? 추정은 어떻게 해야하는 것인가? --- 생각보다는 길게 사는 인생에서 해야할 것에 대한 리스트는 어릴적 못했던 것들 중 하나는 해보고 싶은 것이 있다. 방금 생각난 것이, 화학을 너무 싫어했지만, 약학은 공부해보고 싶었다는 것이라든지 --- 약이라는 소량의 물질이 고통을 제거하는 것에 대한 매력이라고나 할까? --- 프로그래밍 언어를 선택할 일이 있을 때, 항상 자바를 2위로 뒀던 이유라든지 --- 초창기 자바가 주는 계층구조,..
하드디스크, 팬... 모든 소리가 다 싫다.
Cisco 의 VPN은 대개 IPSec으로 구성된다. 보통 VPN은 LAN to LAN이거나 PC to LAN 을 지원하는데, 아마 관리자가 아닌바에야 PC to LAN 환경을 접하리라고 본다. 이런 경우에 관리자들에게 가이드 하나 제시하려고 한다. Default 구성의 경우 UDP를 사용하며 port 500을 이용하는데, 이왕이면, TCP를 이용하게 해달라. 왜냐면, UDP로 구성하는 경우에 PC의 환경이 공유기를 사용해야하는 상황에서 둘 이상이 접속해야하는 상황이 된다거나, 개인이 사용하더라도, Virtual Machine을 이용하여 들어가려한다거나 하는 상황이 되면, PC 한대에서밖에는 접속이 안되는 상황이 발생한다. 왠만하면, TCP로 접속하게 해주는 것이 다양한 환경을 지원할 수 있으니... 생..
구글 번역기의 읽기 버튼을 조금 활용하여, 간단한 TTS를 해주는 스크립트 입니다. 구글 번역기는 번역된 글을 mp3로 만들어주는 훌륭한 기능을 제공하지요. 따라서, 리눅스에 mpg321 패키지가 제공하는 mpg123 유틸이나, Mac의 afplay를 이용하여 명령행으로 전달되는 문자열을 읽어주게 됩니다. ./play_tts.sh "안녕하세요? 쿨엔!"만약 영어로 하려면, TTSLANG=en ./play_tts.sh "How are you? Coolen?"이런식으로 사용하면 되지요. 이 기능은 소스 커밋하면 목소리로 알려주기 기능의 연장선상에서 진행되었습니다.
LDAP이 Lightweight Directory Access Protocol 이라는게 한 10년은 맘에 안들어 왔다. X.500의 존재를 알기에 그것보다는 Lightweight 라는 것도 알지만, 정말 lightweight라면 속성과 계층구조를 지원하는 xml 수준으로도 설정이 가능하면 좋겠다는 생각이다. 맘에 안들지만, 상당히 많은 웹 어플리케이션이 LDAP을 지원하고 있어서, 그 어플리케이션에 통합 인증을 지원하려면, LDAP Server라도 돌려야할 처지에 놓여있다. subversion, redmine, reviewboard를 모두 ldap으로 묶으려는 시도를 하고 있는 판이다. subversion은 sasl을 지원하므로, sasl에 얹어서 ldap에 접근하면 될것 같고, redmine, revi..
플래시 기반의 오브젝트들을 네트웍으로 전달하는 포맷에 대한 Action Message Format의 스펙을 보면, 앞 부분에 정수형에 대한 encoding이 나옵니다. 0x00000000 - 0x0000007F: 0xxxxxxx 0x00000080 - 0x00003FFF: 1xxxxxxx 0xxxxxxx 0x00004000 - 0x001FFFFF: 1xxxxxxx 1xxxxxxx 0xxxxxxx 0x00200000 - 0x3FFFFFFF: 1xxxxxxx 1xxxxxxx 1xxxxxxx xxxxxxxx 0x40000000 - 0xFFFFFFFF: throw range exception 와 같은 표를 볼 수 있는데요. 흥미로운 것은 UTF8과 비슷한 방식으로 값에 따라 인코딩 결과가 1 바이트에서 4바이트..
Four Square라는 아이폰용 어플리케이션이 있다. 물론 안드로이드용으로도 있고, 윈도우 모바일용으로도 있을 것이다. 간단히 소개하자면, 내가 현재 있는 장소의 이름을 위치 기반으로 검색하고, 내가 거기 있음을 "CHECK IN"하는 행동을 기반으로 하는 어플리케이션이다. (장소가 검색되지 않으면, 내가 추가할 수 있다.) 장소는 음식점 이름이나 학교 이름 심지어 벤치에다가도 이름을 줄 수 있고, 어떤 장소는 이름이 여럿인 경우도 있다. 정확한 기간은 모르겠지만, 대략 한달정도 총 CHECK IN 수 대비 한 사람의 CHECK IN 수가 일정 비율(20%?) 이상을 넘으면 "Mayor"라는 타이틀(Mayorship)을 준다. 현재 나는 19 곳의 "Mayor"다. 어제까지만해도 20곳이었는데, 아마도..
- Total
- Today
- Yesterday
- 대화
- macosx
- OpenID
- 구근
- ssh
- Linux
- 클레로덴드럼
- 킹벤자민
- Tattertools plugin
- tattertools
- Subversion
- SSO
- TCP/IP
- writely
- 벤자민
- nodejs
- 오픈소스
- 덴드롱
- SVN
- JavaScript
- 퀴즈
- perl
- 커피
- url
- VIM
- 수선화
- 식물
- 디버깅
- MySQL
- BlogAPI
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |