요새 꽂혀있는 임재범의 ‘비상’…
Author: tee
국내에서 대학원에 진학한다는 것…
며칠있으면 공식적으로 석사 학위를 수여 받지만 박사 진학이 확정된 상태라 그다지 감흥이 오진 않는다. 솔직한 심정으로 요번 학기에 난 취업 쪽으로 어느 정도 마음이 기울어 있었다. 실제로 교수님께 ‘박사 진학을 하지 못할 것 같습니다.’라고 말씀을 드렸었고, 며칠 간 교수님께 회유를 당해야 했다.
그렇다고 입사원서를 전혀 쓰지 않았던 것은 아니었다.
LG, 팬택앤큐리텔은 서류 탈락! 삼성은 면접 불참! NHN은 Pre-test와 컨퍼런스(SITIS 08) 날짜가 겹친 관계로 포기! 다음은 최종 면접 날짜와 SITIS 08이 겹치는 불운이 발생! 다행히 면접 날짜를 조정하는데 성공했지만 결과는 최종 탈락 -_-! 그나마 탈락되었다는 메일을 받지 못해서 결과를 직접 전화로 확인해야 했기 때문에 상심은 더 컸었다.
ICU의 charset detector…
얼마전 kldp에서 제가 남겼던 코멘트들을 트래킹하는 도중! ICU에 charset detector가 포함되었단 소식을 듣게 되었습니다.
이 소식을 듣고 불이나게 ICU 문서를 뒤져봤지만, 문서가 굉장히 불친절하네요. -_-a
어쨌거나 IBM에서 만든 라이브러리 답게 C, C++, java 인터페이스를 모두 제공하고 있고, PHP에서도 intl 라이브러리를 통해 활용이 가능합니다만 아직 charset detector까지는 지원하고 있지 않습니다.
Continue reading ICU의 charset detector…
당신은 어떻게 리눅스를 사용하게 되셨나요? – 1부
벌써 제가 리눅스를 사용해온지 9년째에 접어드네요. 예전부터 이런 페이지를 한 번 만들어보고 싶었는데, 귀차니즘 때문에 미루고만 있었습니다.
제가 처음 리눅스를 설치해봤던 건 2001년, 정확히는 제 두번째 수능이 끝났을 즘이었습니다. 여느 때와 같이 웹서핑을 즐기다가 themes.org를 발견했고, 그곳에 있던 색다르고 이쁜 스크린샷들이 제 눈을 사로잡아버렸어요.
Continue reading 당신은 어떻게 리눅스를 사용하게 되셨나요? – 1부
공개 서체: 네이버 나눔고딕_코딩
얼마전 네이버에서 고정폭 서체인 ‘나눔고딕_코딩’ 서체를 OFL(Open Font License)로 공개하였고, gd를 이용해서 뽑은 12pt 샘플은 다음과 같습니다.
gd의 문제로 인하여 영문과 한글의 폭이 동일하게 출력되었는데, 맥이나 윈도우, 리눅스(약간의 설정 필요) 등에서는 영문과 한글의 폭이 2:1 이다보니 서체 이름에서와 동일하게 코딩용으로 사용하기에 딱이겠네요.
* http://dev.naver.com/projects/nanumfont
덧: 서체 이름에 사용된 언더바(‘_’) 때문에 맥에서 약간의 문제가 있었는데, 서체가 업데이트 되면서 이름이 ‘나눔고딕코딩’으로 바뀌었고, 맥에서도 문제 없이 사용할 수 있게 되었습니다.
공개 서체들 소개…
내 눈엔 순천향체가 젤 이뻐보인다. 참고로 프리뷰에서 ‘아햏햏, 똠방각하’가 제대로 보이질 않는다면 한글 2350자만을 지원하는 서체임.
패키지 | 서체이름 | 스타일 | 구분 | 프리뷰 |
---|---|---|---|---|
나눔글꼴 | 나눔고딕 | Regular | 한글 11,172자 | |
Bold | 한글 11,172자 | |||
나눔명조 | Regular | 한글 11,172자 | ||
Bold | 한글 11,172자 | |||
나눔고딕코딩 | 나눔고딕코딩 | Regular | 한글 11,172자 | |
Bold | 한글 11,172자 | |||
다음체 | 다음 | Regular | 한글 2,350자 | |
SemiBold | 한글 2,350자 | |||
렉시굴림 | 렉시굴림 | Regular | 한글 2,350자 | |
서울 서체 | 서울 남산체 | Light | 한글 11,172자 | |
Regular | 한글 11,172자 | |||
Bold | 한글 11,172자 | |||
ExtraBold | 한글 11,172자 | |||
서울 한강체 | Light | 한글 11,172자 | ||
Regular | 한글 11,172자 | |||
순천향체 | 순천향체 | Regular | 한글 2,350자 | |
아리따체 | 아리따 | Light | 한글 11,172자 | |
Regular | 한글 11,172자 | |||
SemiBold | 한글 11,172자 | |||
Bold | 한글 11,172자 | |||
은글꼴 | 은돋움 | Regular | 한글 11,172자 | |
Bold | 한글 11,172자 | |||
은그래픽 | Regular | 한글 11,172자 | ||
Bold | 한글 11,172자 | |||
은궁서 | Regular | 한글 11,172자 | ||
은바탕 | Regular | 한글 11,172자 | ||
Bold | 한글 11,172자 | |||
은필기 | Regular | 한글 11,172자 | ||
Bold | 한글 11,172자 | |||
한겨레결체 | 한겨레결체 | Regular | 한글 11,172자 | |
ttf-alee | 은진 | Regular | 한글 11,172자 | |
은진낙서 | Regular | 한글 11,172자 | ||
구슬 | Regular | 한글 전용 | ||
반달 | Regular | 한글 11,172자 | ||
방울 | Regular | 한글 11,172자 | ||
네이버 사전체 | 네이버 사전체 | Regular | 한글 11,172자 | |
연체체 | 연세 제목체 | Regular | 한글 2,350자 | |
연세 소제목체 | Regular | 한글 2,350자 | ||
연세 로고체 | Regular | 영문, 숫자 | ||
조선일보 명조체 | 조선일보 명조체 | Regular | 한글 11,172자 | |
문화부 글꼴 | Regular | 한글 2,350자 | ||
백묵 글꼴 | Regular | 한글 11,172자 |
위 결과는 cairo+freetype을 이용해서 렌더링한 결과입니다. 사용된 소스는 아래 URL에서 확인하실 수 있습니다.
* http://mytears.org/tmp/cairo/text.c
대칭키를 이용한 ssh 로그인 for Mac/*nix
ssh 프로토콜의 인증 방법은 매우 다양하며 많이 쓰이는 방식은 다음 정도가 되겠습니다.
- RSA or DSA key pair
- keyboard-interactive
- password
이 중 keyboard-interactive / password 인증 방식은 전부 비밀번호를 이용한 인증이고, RSA/DSA 방식은 대칭키(공개키 – 비밀키)를 이용하는 방식입니다. 공개키를 등록만 해두면 여러 개의 서버에 접속할 때 각기 따로 비밀번호를 치고 로그인을 할 필요가 없으므로 매우 편리한 방식이 되겠습니다.
Continue reading 대칭키를 이용한 ssh 로그인 for Mac/*nix
W&Whale: Whale Song
W&Whale 앨범에 수록된 잔잔한 기타 선율의 노래~ 유명한 타이틀 곡보다 이런 노래가 더 좋다.
어린날 포근한 엄마의 멜로디
언제나 품 속에 담아두고 싶어
까맣게 깊은 밤 하얗게 피어있는
별에게 얘기했지 수없이 많은 바램
언제나 꿈꾸는 길에 서있는 내가 좋아
바보같아 보여도 웃는 모습 참 좋아
상처받고 여린 마음이지만 용서하고
사랑만 하고 싶어
라디오헤드의 음악을 느끼며
이슬이 스며든 런던을 꿈꾸지
기타를 튕기는 내 손이 너무 좋아
굳은 살 투성이지 나는 락앤롤 스타
언제나 꿈꾸는 길에 서있는 내가 좋아
바보같아 보여도 웃는 모습 참 좋아
상처 받고 여린 마음이지만 용서하고
사랑만 하고 싶어
어쩌면 다시 흘러간 시간 속에서 힘이든지도
이제는 내게 감미로운 멜로디 그 속에 힘을 싣고
언제나 꿈꾸는 길에 서있는 내가 좋아
바보같아 보여도 웃는 모습 참 좋아
상처받고 여린 마음이지만 용서하고
사랑만 하고 싶어
[audio:11 Whale Song.mp3]
내맘대로 따본 타브
E|---------------|---------------|---------------|3--------------|
A|---------------|0--------------|3--------------|---------------|
D|0--------------|--2------------|--2------------|---------------|
G|--2------------|---------------|-----0------0--|--0------------|
B|---------------|-----0/1-------|-----3------3--|----3/5--------|
E|----2/3\2------|----------3----|---------------|----------3----|
E|---------------|---------------|---------------|3--------------|
A|---------------|0--------------|3--------------|---------------|
D|0--------------|---------------|--2------------|---------------|
G|--2------------|-----2---------|-----0------0--|--0------------|
B|---------------|0/1----------1-|-----3------3--|----3/5--------|
E|----2/3\2------|----------0----|---------------|----------3----|
맘에 드는 문구…
당신의 영혼이 하자는 데로 따라가라 그러면 그 누구도 당신을 방해하지 못할 것이다
아자뵤!
CG: dithering
팩스에서 처럼 이미지를 흑/백 으로만 표현할 수 있는 경우에도 어느 정도의 명암을 표현하기 위한 방법으로 아래와 같은 오리지널 이미지가 있을 때…
한 픽셀 값은 0~255 사이의 값을 가진다고 하고, 128 이상의 값은 하얀 색으로, 128 미만 값은 검은 색으로 표현하면 결과는 다음과 같다.
보다시피 디테일은 거의 사라져버리기 때문에 이런 것을 피하기 위해 디더링이란 기법을 사용하곤 한다. 수식으로 이를 표현해보자면 다음과 같고…
말로 설명하자면 랜덤 값을 더해준 뒤 128 을 기준으로 Thresholding 을 한다! 정도로 표현이 가능할 듯… 이론적으론 매우 간단하지만 효과는 확실하다. -16~16 의 랜덤 값을 이용하여 dithering 한 결과는 다음과 같다.
-32~32 사이의 랜덤 값을 이용할 경우는…
확실히 좀 디테일이 조금 생겨나는 것을 확인할 수가 있다. 장비들이 좋아지면서 이런 식의 트릭들에 대한 연구는 사라져가는 것 같다. -_ㅠ
위 테스트에 사용한 코드:
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 31 32 33 34 35 36 37 38 39 |
#include <stdio.h> #include <time.h> #include <stdlib.h> int main( int argc, char** argv ){ int i, j; unsigned char* src; unsigned char* dst; FILE* in; FILE* out; src = (unsigned char*)malloc(sizeof(unsigned char)*512*512); dst = (unsigned char*)malloc(sizeof(unsigned char)*512*512); srand(time(NULL)); in = fopen("lena512.raw", "rb" ); fread( src, sizeof(unsigned char), 512*512, in ); fclose(in); for( j = 0 ; j < 512 ; j++ ){ for( i = 0 ; i < 512 ; i++ ){ if( src[j*512+i] > 128 ) dst[j*512+i] = 255; else dst[j*512+i] = 0; } } out = fopen("lena512_thres.raw", "wb" ); fwrite( dst, sizeof(unsigned char), 512*512, out ); fclose(out); for( j = 0 ; j < 512 ; j++ ){ for( i = 0 ; i < 512 ; i++ ){ if( (src[j*512+i] + rand()%32 - 32) > 128 ) dst[j*512+i] = 255; else dst[j*512+i] = 0; } } out = fopen("lena512_dither_32.raw", "wb" ); fwrite( dst, sizeof(unsigned char), 512*512, out ); fclose(out); return 0; } |