[WCDMA] DRX Mobile comm.


[WCDMA] RRC state Mobile comm.

[ref: http://www.sharetechnote.com/html/Handbook_UMTS_RrcStateChange.html]

'RRC State' refer to various different phases in which UE/Network be after RRC Connection Setup and before RRC Release. In most case, these states occurs after Radio Bearer Setup. RRC State Change refers to the process of switching between these states.

 

Roughly there are three different stages (DCH, FACH, PCH).. but in more detail you can classify them into four different stages as shown below. As you see below, in most case you can jump from one states to any other stages by single step, but there are a couple of cases you cannot switch with a single step. For example, you cannot switch from CELL_PCH to URA_PCH directly. You can switch from DCH to PCH directly, but you cannot switch from PCH to DCH directly.

Let's think about what can happen in each of these states.

 

DCH : You can call this state as 'Normal traffic mode'. When you make any connection for traffic (e.g, voice call and data call), in most case you (UE/Network) establish DCH state and most of traffic (Voice data, packet data) are being transmitted and received in this stage.

 

FACH : This is the stage in which UE can still send and receive user data but at much lower data rate comparing to DCH. For the detailed understanding on this stage, you have to understand the detailed channel mapping. But it is out of scope of this page. see Cell FACH Channel Mapping for R99/R5/R6 and R7.

 

PCH : In terms of mode of operation, PCH is very similar to IDLE mode. UE cannot send and receive the user data, it can only monitor/recieve SIBs and Paging. The difference between PCH and IDLE mode is that PCH is still a kind of 'RRC Connected' stage. So it would require less steps of RRC procedure to go back to FACH/DCH for user data transaction.




[WCDMA] 간략 개론 Mobile comm.


[LTE] SRS Mobile comm.

[ref: http://lteuniversity.com/get_trained/expert_opinion1/b/hongyanlei/archive/2010/04/20/sounding-reference-signal.aspx]

LTE defines an optional sounding reference signal (SRS) in the UL. What is it for? UL channel quality, timing advance, and more. SRS is transmitted by the UE using a known sequence, similar to UL demodulation reference signal (DM RS), so the eNB can use it to estimate the UL channel quality. You may have a question: UL DM RS is already there and the eNB can decode the UL information with its assistance, what's special about SRS? Well, UL DM RS is transmitted together with the UL data and both locate exactly in the same RBs, so the channel quality information the eNB extracts from the UL DM RS is for that transmission. In terms of SRS, it may be transmitted periodically in a wider bandwidth (beyond PUSCH RBs allocated for UL data transmission) and when there is no UL data transmission, so the channel information obtained from SRS is a good input to UL scheduler. It's like CQI report from UE for DL scheduler. Also, since SRS can be transmitted periodically, the eNB can use it to check the UE timing alignment status and send time alignment command to the UE accordingly.

Where is SRS located in a UL PHY frame? It is transmitted in the last symbol of a subframe if scheduled.


strtok, memory leak? prog..........

[ref: http://stackoverflow.com/questions/5000282/how-to-use-strtok-in-c-properly-so-there-is-no-memory-leak]

strtok() will not free anything, as it has no knowledge of where the string is stored. It could be on the stack or the heap, it doesn't know or care! :)

perl prog..........

[ref: http://mwultong.blogspot.com/2006/08/perl-split-split.html]
[ref: http://naratalk.com/275] banchmark
split
@배열 = split /분리자/, $문자열;
- 분리 기호 (분리자 Separator) 와, 분리할 문자열을 생략 가능
- 그러면, 디폴트 변수인 $_ 의 내용에서 공백을 기준으로 분리

Syntax

sysread FILEHANDLE, SCALAR, LENGTH, OFFSET

sysread FILEHANDLE, SCALAR, LENGTH


Definition and Usage

Tries to read LENGTH bytes from FILEHANDLE, placing the result in SCALAR. If OFFSET is specified, then data is written to SCALAR from OFFSET bytes, effectively appending the information from a specific point. If OFFSET is negative, it starts from the number of bytes specified counted backward from the end of the string. This is the equivalent of the C/operating system function read( ). Because it bypasses the buffering system employed by functions like print, read, and seek, it should only be used with the corresponding syswrite and sysseek functions.

Return Value

  • undef on error

  • 0 at end of file

  • Integer, number of bytes read





    Perl unpack Function

    LIST = unpack TEMPLATE, EXPR
     A string with arbitrary binary data, will be null padded
     A  A text (ASCII) string, will be space padded
     b  A bit string (ascending bit order inside each byte, like vec()) 
     B  A bit string (descending bit order inside each byte)
     c  A signed char (8-bit) value
     C  An unsigned char (octet) value
     d  A double-precision float in the native format
     f  A single-precision float in the native format
     h  A hex string (low nybble first)
     H  A hex string (high nybble first)
     i  A signed integer value
     I  A unsigned integer value
     l  A signed long (32-bit) value
     L  An unsigned long value
     n  An unsigned short (16-bit) in "network" (big-endian) order
     N  An unsigned long (32-bit) in "network" (big-endian) order
     s  A signed short (16-bit) value
     S  An unsigned short value
     U  A Unicode character number
     v  An unsigned short (16-bit) in "VAX" (little-endian) order
     V  An unsigned long (32-bit) in "VAX" (little-endian) order
     x  A null byte
     X  Back up a byte



    se Benchmark;

    $t0 = new Benchmark;

    # ... your code here ...

    $t1 = new Benchmark;

    $td = timediff($t1, $t0);

    print "the code took:",timestr($td),"\n";
      #!/usr/bin/perl    use strict;    use warnings;    my @files = glob("*.pl *.pm");    foreach my $file (@files) {        print "$file\n";    }    exit 0;


[Mobile Comm.] Cell reselection Mobile comm.


[Mobile comm.][LTE] RS EPRE Mobile comm.

[ref: http://www.teletopix.org/4g-lte/downlink-power-control-in-lte]

The eNodeB determines the downlink transmit energy per resource element (EPRE). Downlink cell-specific reference-signal (RS) EPRE is constant across the downlink system bandwidth and constant across all subframes until different cell-specific RS power information is received. The downlink RS EPRE is given by the parameter Reference-signal-power provided by higher layers.

Read more http://www.teletopix.org/4g-lte/downlink-power-control-in-lte

[Tool] Screen linux

[ref: http://blog.daum.net/joell/11772024]
괜춘함

Ctrl-a, S : (split) 창을 나눔 (region)
Ctrl-a, Tab : 다른 region으로 이동
Ctrl-a, Q : 현재 region을 제외한 나머지 숨기기


연결끊겨서 attach다시 안될때
screen -D -r '1234.somescreensession'

[Tool] NPP+ Hex Editor etc


[Perl] 문자열 찾아 바꾸기 linux

[ref: http://blog.naver.com/PostView.nhn?blogId=puresea00&logNo=140159401856]

하위디렉토리 내 모든파일에서 특정 문자열 찾기
find . -name '*.*' | xargs grep "문자열"

 

하위디렉토리 내 모든파일에서 특정 문자열 바꾸기
find . -name '*.*' -exec perl -pi -e 's/기존문자열/바꿀문자열/g' {} \;


[Build tool] Scons linux

[ref: http://blog.naver.com/PostView.nhn?blogId=eleexpert&logNo=140154150690]
[ref: http://www.scons.org/doc/HTML/scons-user.html] //user guide


SCons는 Python기반의 빌드툴이며, 나름 Makefile의 대안으로 떠오르고 있는 오픈 툴킷입니다.
어느 정도 규모를 가지는 Unix 계열의 프로젝트의 경우, 일반적으로 사용되어왔던 방식은
Autoconfig를 통한 configure를 거친 뒤, Makefile을 통한 빌드, 그리고 설치였습니다.

./configure
make all
sudo make install

기존의 이런 방식의 문제는 Autoconfig나 Makefile을 완벽히 마스터하기에 꽤 시간이 걸린다는 것이고,
빌 드 코드의 가독성 및 확장성/유연성이 현저히 떨어진다는 것입니다. 저 역시 이러한 방식의 여러가지
귀차니즘 때문에-.- Xcode와 같은 IDE방식을 선호하는 편이었습니다.
이와 다르게 SCons는 이미 널리 알려진 Python함수들로 이루어진 툴입니다.
어찌보면 독립적인 프로그램이라기 보다는 거대한 Python 모듈이라고도 할 수 있겠습니다.
또한 SCons의 소스파일 자체도 Python 스크립트이기 때문에 내부적으로 Python의 다양한 기능들을
그 대로 사용할 수 있다는 것이 특징입니다. 세상에 등장한지는 꽤 되었는데, 사실 아주 대중화 된 것 같지는
않습니 다. 부끄럽게도 제가 SCons를 접한 것도  Google Chrome의 JavaScript엔진인 V8을
컴파 일 해보면서입니다-_-; 하지만 다양한 빌드 툴 중에서 비교적 배우기 쉽고 많은 기능들을 제공하며
확장성이 좋다는 점에서 공부해보는 것이 좋을 것 같아 글을 올려봅니다.



1. 설치하기
우선 SCons를 사용하기 위해서는 Python이 설치되어 있어야 합니다. 일반적인 Unix계열의 운영체제들은
Python 이 기본으로 장착되어 있습니다. Windows계열의 경우는 Python 사이트에서 간단하게 다운로드하여
설치, 사용할 수 있습니다. SCons는 공식 홈페이지 (www.scons.org)에 서 다운받아 사용할 수 있습니다.
자세한 설치법은 홈페이지에 나와있습니다. Python 이외에는 종속 라이브러리가 없으므로, 큰 어려움 없이
쉽게 설치 가능합니다.



2. Hello, SCons
설치가 끝났으면 SCons를 이용하여 아주 간단한 C++프로그램을 컴파일해 보겠습니다.
가장 먼저 할 일은 프로젝트 폴더에 SConstruct라는 파일을 하나 생성합니다.
가령 main.cpp를 컴파일한다고 하면, SConstruct에 다음과 같이 적습니다.

Program('main.cpp')

그리고 커맨드 상에서

scons

라고 입력한 뒤, 엔터를 누르면 아래와 같이 SCons가 실행됩니다.

scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
g++ -o main.o -c main.cpp
g++ -o main main.o
scons: done building targets.

참~쉽죠~?-_-/
Program은 SCons가 새로이 정의한 Python 함수입니다.
SCons의 메시지가 보기 싫다면,

scons -Q

라고 입력합니다. 그럼 scons: 어쩌고 하는 메시지는 나타나지 않습니다.
Makefile에서는 clean에 대한 동작을 직접 정의해주어야 했었죠.
SCons는 이 상태에서 단순히

scons -c

라고만 입력하면 clean에 해당하는 동작을 실행합니다 (각종 *.o들과 최종 빌드 결과물을 삭제).
만약 복수개의 소스코드를 컴파일 해야 한다고 생각해봅시다. 그리고 실행 파일 (target)의 이름을
원하는 이름으로 바꾼다고 해보죠. 가령 main.cpp뿐만 아니라, foo.cpp, bar.cpp가 있고,
실행파일의 이름이 test가 되어야 한다고 치면, SConstruct파일을 다음과 같이 고쳐줍니다.

Program('test', ['foo.cpp', 'bar.cpp', 'main.cpp'])

눈치 채셨겠지만, 소스파일의 리스트 (를 비롯한 다양한 옵션들의 리스트)는 Python 배열로 넘겨준다는 것을
알 수 있습니다. 만일 어떤 폴더 안에 있는 모든 .cpp파일을 컴파일 해야 한다면, Glob함수를 사용합니다.

Program('test', Glob('*.cpp'))




3. 환경 변수 설정
외부 라이브러리를 사용한다면, 헤더 파일과 라이브러리 파일을 지정해주어야 합니다. gcc라면
-I와 -L, -l 옵션들에 해당하는 동작들이죠. 이런 기본적인 설정들을 비롯하여
각종 플래그, 환경 변수 설정을 담당하는 함수가 바로 Environment입니다.
가령, /usr/local/include에 설치된 헤더 파일들을 사용하고 싶다면,

env = Environment(CPPPATH='/usr/local/include')
env.Program('test', 'main.cpp')

와 같이 작성하면 됩니다. 실행 결과는 아래와 같습니다.

g++ -o main.o -c -I/usr/local/include main.cpp
g++ -o test main.o

마찬가지 원리로, 추가 라이브러리 링크를 위해서는 다음과 같이 적습니다.
만일 /usr/local/lib에 설치된 freetype (libfreetype.a)를 사용하고 싶다면,

env = Environment(LIBPATH='/usr/local/lib', LIBS='freetype')
env.Program('test', 'main.cpp')

와 같이 적습니다. 이는 아래와 같이 실행됩니다.

g++ -o main.o -c main.cpp
g++ -o test main.o -L/usr/local/lib -lfreetype


[Tip] 한글 2007 단축키 etc

[ref: http://forum.falinux.com/zbxe/index.php?document_srl=531818&mid=lecture_tip]

[보기]  
  
조판 부호 보이기/감추기 Ctrl+G,C 
문단 부호 보이기/감추기 Ctrl+G,T 
쪽 윤곽 Ctrl+G,L 
화면 확대 쪽 맞춤 Ctrl+G,P 
화면 확대 폭 맞춤 Ctrl+G,W 
화면 확대 100% Ctrl+G,Q 
화면 확대/축소 Shift+(Num Lock)+/- 
전체 화면 Ctrl+G,Z

 

[커서 관련]  

한 문단 아래로 Ctrl+↓ 
한 문단 위로 Ctrl+↑ 
왼쪽 단으로 Ctrl+Alt+← 
오른쪽 단으로 Ctrl+Alt+→ 
현재 단어 끝으로 Ctrl+(Num Lock)5 
문단 처음으로 Alt+Home 
문단 끝으로 Alt+End 
화면 처음으로 Ctrl+Home 
화면 끝으로 Ctrl+End 
한 쪽 앞으로 Alt+Page Up 
한 쪽 뒤로 Alt+Page Down 
문서의 처음으로 Ctrl+Page Up 
문서의 끝으로 Ctrl+Page Down

 

[글자속성]  
  
글씨 크게/작게 Shift+Alt+E/R, Ctrl+]/[ 
자간 넓게/좁게 Shift+Alt+W/N 
장으로/평으로 Shift+Alt+J/K 
밑줄 Shift+Alt+U/Ctrl+U 
진하게 Shift+Alt+B/Ctrl+B 
기울임 Shift+Alt+I/Ctrl+I 
위첨자 Shift+Alt+P 
아래 첨자 Shift+Alt+S 
보통 모양 Shift+Alt+C 
다음 글꼴 Shift+Alt+F 
이전 글꼴 Shift+Alt+G 
위첨자/아래첨자/보통 Ctrl+Alt+A 

 

[모양]  
  
글자 모양 Alt+L 
문단 모양 Alt+T 
모양 복사 Alt+C 
스타일 F6 
편집 용지 F7 
머리말/꼬리말 Ctrl+N,H 
쪽 번호 매기기 Ctrl+N,P 
감추기 Ctrl+N,S 
구역 Ctrl+N,G 
단 나누기 Ctrl+Shift+Enter 
다단 설정 나누기 Ctrl+Alt+Enter 
구역 나누기 Alt+Shift+Enter 
쪽 나누기 Ctrl+Enter/Ctrl+J 
강제 줄 나누기 Shift+Enter 
  
[문단속성]  
  
빠른 내어 쓰기 Shift+Tab 
왼쪽 여백 줄이기 Ctrl+Alt+F5/Ctrl+Shift+E 
왼쪽 여백 늘이기 Ctrl+Alt+F6/Ctrl+Shift+G 
오른쪽 여백 늘이기 Ctrl+Alt+F7/Ctrl+Shift+D 
오른쪽 여백 줄이기 Ctrl+Alt+F8/Ctrl+Shift+F 
첫 줄 내어 쓰기 Ctrl+F5/Ctrl+Shift+O 
첫 줄 들여 쓰기 Ctrl+F6/Ctrl+Shift+I 
양쪽 여백 줄이기 Ctrl+F7 
양쪽 여백 늘이기 Ctrl+F8 
줄 간격 넓게/좁게 Shift+Alt+Z/A, Ctrl+Shift+Q/W 
양쪽 정렬 Ctrl+Shift+M 
왼쪽 정렬 Ctrl+Shift+L 
오른쪽 정렬 Ctrl+Shift+R 
가운데 정렬 Ctrl+Shift+C 
배분 정렬 Ctrl+Shift+T  

 

[편집]  
  
되돌리기 Ctrl+Z 
다시 실행 Ctrl+Shift+Z 
모두 선택 Ctrl+A 
복사하기 Ctrl+C/Ctrl+Insert 
오려 두기 Ctrl+X/Shift+Delete 
지우기 Ctrl+E 
붙이기 Ctrl+V/Shift+Insert 
골라 붙이기 Ctrl+Alt+V 
블록 설정 F3 
낱말 블록 F3, 2번 
한 문단 블록 F3, 3번 
문서 전체 블록 F3, 4번 
원하는 만큼 블록 설정 Shift+←/→ 
커서부터 줄 처음까지/끝까지 블록 설정 Shift+Home/End 
찾기 Ctrl+Q,F/Ctrl+F 
쉬운 찾기 F2 
찾아 바꾸기 Ctrl+F2/Ctrl+Q,A/Ctrl+H 
다시 찾기 Ctrl+L 
거꾸로 찾기 Ctrl+Q,L 
찾아가기 Alt+G 
한자를 바꾸기 Alt+F9 
간체 번체 바꾸기 Alt+Shift+F9 
고치기 Ctrl+N,K

 

[표] 

표 만들기 Ctrl+N,T 
표 나누기 Ctrl+N,A 
표 붙이기 Ctrl+N,Z 
셀 블록 F5 
표 안에서 다른 셀로 이동 Tab 
표 안에서 탭 삽입 Ctrl+Tab 
틀, 숨은 화면 편집 끝내기 Shift+Esc 
계산식 Ctrl+N,F 

[셀 블록]

 

한칸 블록 F5  
칸 전체 블록 F7 
줄 전체 블록 F8 
현재 셀의 크기 조절 Shift+화살표 
현재 셀이 속한 가로 줄/세로 칸 전체 크기 Ctrl+화살표 
표 크기를 고정한 채 가로 줄/세로 칸 크기 Alt+화살표 
테두리 모양 L 
배경 모양 C 
나누기 S 
줄/칸 지우기 Delete 
줄/칸 삽입 Insert 
줄 높이를 같게 H 
줄 너비를 같게 W 
셀 합치기 M 
자동 채우기 A 
 세로 평균 Ctrl+Shift+B 
가로 곱 Ctrl+Shift+K 
세로 곱 Ctrl+Shift+N 

 
[지우기] 
 
한 단어 지우기 Ctrl+T/Ctrl+Delete 
앞 단어 지우기 Ctrl+BackSpace 
한 줄 지우기 Ctrl+Y 
줄 뒤 지우기 Alt+Y 
 
[미리 보기] 
  
편집 용지 F7 
인쇄 Alt+P/Ctrl+P 
앞 쪽/다음 쪽 Page Up/Page Down 
문서의 처음으로 Ctrl+Page Up 
문서의 끝으로 Ctrl+Page Down 
현재 쪽(맞쪽 보기에서는 오른쪽) Ctrl+Enter 
화면 인쇄 확대/축소 (Num Lock)+/- 
편집 용지 여백 보기 . (마침표) 
편집 용지 보기 , (쉼표) 
     
[입력]  
  
글자판 바꾸기 Alt+F2 
글자판 보기 Alt+F1 
한/영 자판 전환 (1, 2 글자판) 왼쪽 Shift+SpaceBar 
3, 4 글자판 전환 오른쪽 Shift+SpaceBar 
언어 선택 사항 Shift+F3 
문자표 Ctrl+F10 
한글을 한자로 변환 F9 
한자를 한글로 변환 Alt+F9 
한자 부수/총획수 Ctrl+F9 
한자 자전 Shift+F9 
한자 단어 등록 Ctrl+Alt+F9 
한자 새김 입력 Ctrl+Shift+F9 
날짜/시간-문자열 Ctrl+K,D  
날짜/시간-코드 Ctrl+K,C 
각주 Ctrl+N,N 
미주 Ctrl+N,E 
수식 Ctrl+N,M 
문단 띠 Ctrl+N,L 
캡션 달기 Ctrl+N,C 
책갈피 Ctrl+K,B  
하이퍼링크 Ctrl+K,H 
파일 끼워 넣기 Ctrl+O 
OLE 개체 삽입 Ctrl+N,O 
문서마당 정보 Ctrl+K,E 
  
[그림]
  
그림 Ctrl+N,I 
처음값으로 개체 삽입 F/Enter 
글자처럼 취급 D 
어울림-문단 S 
어울림-쪽 A 
어울림-종이 V 
자리차지-문단 C 
자리차지-쪽 X 
자리차지-종이 Z 
  
[상용구]  
  
상용구 등록 F3→Alt+I 
상용구 실행 첫 글자, Alt+I 
상용구 내용 보기 Ctrl+F3 

[책갈피] 
  
위치 기억 Ctrl+K,1,2,...,9,0 
기억된 위치로 이동 Ctrl+Q,1,2,...,9,0 
  
[스타일]  
  
스타일 적용 Ctrl+1,2...0/Ctrl+Alt+1,2...0 
글자 스타일 해제 Ctrl+- 
 
  
[매크로에서]  
  
매크로 정의/기록 끝 Alt+B 
매크로 실행 Alt+1,2...0,- 
매크로 실행 Alt+Z 
매크로 실행 중지 Ctrl+Break/Ctrl+Alt+Delete 


[나태주] 풀꽃 외 Who am I

[ref: http://www.joungul.co.kr/poem/poem1/%EC%9D%B8%EC%83%9D_60338.asp]

<들꽃을 노래하는 시 모음> 나태주 시인의 ´풀꽃´ 외 


+ 풀꽃 

자세히 보아야 
예쁘다 

오래 보아야 
사랑스럽다 

너도 그렇다 
(나태주·시인, 1945-)


+ 풀꽃 

세상길 오다가다 
나도 법문 같은 개소리 
몇 마디쯤 던질 줄은 알지만 
낯선 시골길 
한가로이 걷다 만나는 풀꽃 한 송이 
너만 보면 절로 말문이 막혀 버린다 
그렇다면 
내 공부는 아직도 멀었다는 뜻 
(이외수·소설가, 1946-)


+ 풀

사람들이 하는 일을 하지 않으려고
풀이 되어 엎드렸다

풀이 되니까
하늘은 하늘대로
바람은 바람대로
햇살은 햇살대로

내 몸 속으로 들어와 풀이 되었다
나는 어젯밤 또 풀을 낳았다
(김종해·시인, 1941-)


+ 들풀 

세상이 싫고 괴로운 날은
바람 센 언덕을 가 보아라
들풀들이 옹기종기 모여
가슴 떨고 있는 언덕을

굳이 거실이라든가
식탁이라는 문명어가 없어도
이슬처럼 해맑게 살아가는
늪지의 뿌리들
때로는 비 오는 날 헐벗은 언덕에
알몸으로 누워도
천지에 오히려 부끄럼 없는
샛별 같은 마음들

세상이 싫고 괴로운 날은
늪지의 마을을 가 보아라
내 가진 것들이
오히려 부끄러워지는
한 순간
(이영춘·시인, 1941-)


+ 족필(足筆) 

노숙자 아니고선 함부로 
저 풀꽃을 넘볼 수 없으리 

바람 불면 
투명한 바람의 이불을 덮고 
꽃이 피면 파르르 
꽃잎 위에 무정처의 숙박계를 쓰는 

세상 도처의 저 꽃들은 
슬픈 나의 여인숙 

걸어서 
만 리 길을 가본 자만이 
겨우 알 수 있으리 
발바닥이 곧 날개이자 

한 자루 필생의 붓이었다는 것을 
(이원규·시인, 1962-)


+ 들풀

방금 
손수레가 
지나간 자리

바퀴에 밟힌 들풀이 
파득파득
구겨진 잎을 편다.
(권영상·아동문학가, 1953-)


+ 작은 풀꽃 

후미진 골짜기에 
몰래 핀 풀꽃 하나 
숨어 사는 작은 꽃에도 
귀가 있다. 
나직한 하늘이 있다. 
때때로 
허리를 밀어 주는 
바람이 있다. 
초롱초롱 눈을 뜬 너는 
우주의 막내둥이. 
(박인술·아동문학가)


+ 풀꽃의 노래

나는 늘
떠나면서 살지

굳이 
이름을 불러주지 않아도 좋아

바람이 날 데려가는 곳이라면
어디서나 새롭게 태어날 수 있어

하고 싶은 모든 말들
아껴둘 때마다
씨앗으로 영그는 소리를 듣지

너무 작게 숨어 있다고
불완전한 것은 아니야
내게도 고운 이름이 있음을 
사람들은 모르지만
서운하지 않아

기다리는 법을
노래하는 법을
오래 전부터
바람에게 배웠기에
기쁘게 살 뿐이야

푸름에 물든 삶이기에
잊혀지는 것은 
두렵지 않아

나는 늘 
떠나면서 살지
(이해인·수녀, 1945-)


+ 들꽃 같은 시

그런 꽃도 있었나 
모르고 지나치는 사람이 더 많지만 
혹 고요한 눈길 가진 사람은 
야트막한 뒷산 양지바른 풀밭을 천천히 걷다가 
가만히 흔들리는 작은 꽃들을 만나게 되지 
비바람 땡볕 속에서도 오히려 산들산들 
무심한 발길에 밟히고 쓰러져도 
훌훌 날아가는 씨앗을 품고 
어디서고 피어나는 노란 민들레 
저 풀밭의 초롱한 눈으로 빛나는 하얀 별꽃 
허리 굽혀 바라보면 눈물겨운 작은 세계 

참, 그런 눈길 고요한 사람의 마을에는 
들꽃처럼 숨결 낮은 시들도 
철마다 알게 모르게 지고 핀다네 
(조향미·시인, 경남 합천 출생)


+ 작은 들꽃

사랑스러운 작은 들꽃아 
너나 나나 이 세상에선 
소유할 것이 하나도 없단다 

소유한다는 것은 이미 구속이며 
욕심의 시작일 뿐 
부자유스러운 부질없는 인간들의 일이란다 

넓은 하늘을 보아라 
그곳에 어디 소유라는 게 있느냐 
훌훌 지나가는 바람을 보아라 

그곳에 어디 애착이라는 게 있느냐 
훨훨 떠가는 구름을 보아라 
그곳에 어디 미련이라는 게 있느냐 

다만 서로의 고마운 상봉을 감사하며 
다만 서로의 고마운 존재를 축복하며 
다만 서로의 고마운 인연을 오래오래 
끊어지지 않게 기원하며 
이 고운 해후를 따뜻이 해 갈 뿐 

실로 고마운 것은 이 인간의 타향에서 
내가 이렇게 네 곁에 머물며 
존재의 신비를 생각하고 있다는 사실이다 

이 짧은 세상에서 
이만하면 행복이잖니 
사랑스러운 작은 들꽃아 

너는 인간들이 울며불며 갖는 
고민스러운 소유를 갖지 말아라 
번민스러운 애착을 갖지 말아라 
고통스러운 고민을 갖지 말아라 

하늘이 늘 너와 같이하고 있지 않니 
대지가 늘 너와 같이하고 있지 않니 
구름이 늘 너와 같이하고 있지 않니 
(조병화·시인, 1921-2003) 


+ 들꽃 

찬바람 불어오는 
겨울 문턱에서도 
꽈악 끼어 붙은 
보도 블록 사이에서도 
들꽃 한 송이는 
피어납니다. 
(김창근·시인) 


+ 들꽃에게 

어디에서 피어
언제 지든지
너는 들꽃이다

내가 너에게 보내는 그리움은
오히려 너를 시들게 할 뿐,
너는 그저 논두렁 길가에
피었다 지면 그만이다.

인간이 살아, 살면서 맺는
숱한 인연의 매듭들을
이제는 풀면서 살아야겠다.
들꽃처럼 소리 소문 없이
보이지 않는 곳에서
피었다 지면 그만이다.

한 하늘 아래
너와 나는 살아있다.
그것만으로도 아직은 살 수 있고
나에게 허여된 시간을
그래도 열심히 살아야 한다.
그냥 피었다 지면
그만일 들꽃이지만
홑씨들 날릴 강한 바람을
아직은 기다려야 한다.
(서정윤·시인, 1957-) 


+ 나누기 

풀꽃의 어깨가 차가워지고 있을 때 
해님은 따스한 체온을 나누어 주었습니다. 

기운 차린 풀꽃은 지친 꿀벌을 불러 
˝쉬었다 가렴˝ 
예쁜 꽃 의자를 내어 주었습니다. 

꿀벌은 마당 한쪽 빌려 준 할아버지에게 
꿀을 나누어 주었습니다 
(심효숙·아동문학가)


+ 더하기

들이 심심해하고 있을 때
꽃이 한 송이씩 피었습니다.
들의 눈길이 온통 그리로 쏠리고
들의 귀가 온통 그리로 열렸습니다.

꽃이 심심해하고 있을 때
나비 한 마리가 날아왔습니다.
꽃들의 눈길이 온통 그리로 쏠리고
꽃들의 귀가 온통 그리로 열렸습니다.

들과 꽃은 
셈을 시작했습니다.

더하기 고요함
더하기 평화로움
더하기 아름다움…
온통 더하기 더하기만 했습니다.
(박두순·아동문학가)


+ 잠시 눕는 풀

풀은 조용하다. 흔들리고 
싶지 않아서 뿌리의 정적 쪽으로 
마음을 눕히고 풀은 조용하다. 바람은 
흐린 하늘을 쓴 소주처럼 휘저으며 
벌판을 들끓는 아픔으로 흔들며 
온다. 흔들리지 않으려는 것과 
흔들며 지나가는 것 사이의 
긴장은 고조된다. 시간은 
어디론가 숨어 보이지 않는다. 다만 
예기치 않은 방향에서 바람은 오고 
잠시 풀은 눕고, 그러나, 흔들리지 않는 것은 
끝까지 흔들리지 않는다. 오늘의 
풀은 지나가는 바람에 몸을 눕히지만 
끝내 바람은 흙 속에 숨은 
풀의 흰 뿌리를 흔들지 못한다. 종일을 
빈 벌판은 푸른 모발을 날리며 
엎드려 있고 종일을 빈 벌판은 
통곡을 하며 엎드려 있고 
또 다시 바람은 불어오고 
풀은 잠시 눕고 다시 풀은 
일어서며 풀은 조용하다 
(장석주·시인, 1954-)


+ 들풀 

들풀처럼 살라 
마음 가득 바람이 부는 
무한 허공의 세상 
맨 몸으로 눕고 
맨 몸으로 일어서라 
함께 있되 홀로 존재하라 
과거를 기억하지 말고 
미래를 갈망하지 말고 
오직 현재에 머물라 
언제나 빈 마음으로 남으라 
슬픔은 슬픔대로 오게 하고 
기쁨은 기쁨대로 가게 하라 
그리고는 침묵하라 
다만 무언의 언어로 
노래 부르라 
언제나 들풀처럼 
무소유한 영혼으로 남으라 
(류시화·시인, 1958-)


+ 들꽃의 노래 

유명한 이름은 
갖지 못하여도 좋으리 

세상의 한 작은 모퉁이
이름 없는 꽃이 되어 

지나가는 사람들이 
몰라봐도 서운치 않으리 

해맑은 영혼을 가진 
오직 한 사람의 

순수한 눈빛 하나만 
와 닿으면 행복하리 

경탄을 자아낼 만한 
화려한 꽃은 아니더라도 

나만의 소박한 꽃과 향기로 
살며시 피고 지면 그뿐 

장미나 목련의 우아한 자태는 
나의 몫이 아닌 것을 

무명(無名)한 
나의 꽃, 나의 존재를 

아름다운 
숙명으로 여기며 살아가리
(정연복)

* 엮은이: 정연복 / 한국기독교연구소 편집위원 

[Mobile handset] IMEI calc Mobile comm.

[ref: http://www.imei.info/calc]

The last number of the IMEI is a check digit. The Check Digit is calculated according to Luhn formula.

The Check Digit is a function of all other digits in the IMEI. The purpose of the Check Digit is to help guard against the possibility of incorrect entries to the CEIR and EIR equipment.

The check digit is validated in three steps:

  1. Starting from the right, double a digit every two digits (e.g., 5 → 10).
  2. Sum the digits (e.g., 10 → 1+0).
    Check if the sum is divisible by 10.
  3. Conversely, one can calculate the IMEI by choosing the check digit that would give a sum divisible by 10.

For example:

IMEI: 35145120840121

  1. (5x2, 4x2, 1x2, 0x2, 4x2, 1x2, 1x2) = (10, 8, 2, 0, 8, 2, 2)
  2. (1+0+8+2+0+8+2+2) + (3+1+5+2+8+0+2 ) = 44
  3. Luhn Digit : 6

IMEI: 351451-20-840121-6


1 2 3 4 5 6 7 8 9 10 다음