개소리 왈왈2009. 4. 16. 13:59
매우 끌리는 사진 하나 발견





이름하여 개풀뜯어 먹는 소리

[출처 : http://bbs2.agora.media.daum.net/gaia/do/kin/read?bbsId=K150&articleId=528854&RIGHT_KIN=R0]

'개소리 왈왈' 카테고리의 다른 글

근황 - 좀비모드  (4) 2009.04.18
KT 애들 희한해~  (4) 2009.04.17
구글신님께서 다음을 추월!  (4) 2009.04.14
일요일에 한 짓들  (8) 2009.04.13
내 블로그 방명록은 오스트레일리아다!  (4) 2009.04.11
Posted by 구차니
Linux2009. 4. 15. 18:03
$ cat /etc/X11/xinit/xinput.d/ko_KR
XIM=nabi
XIM_PROGRAM="/usr/bin/nabi"
XIM_ARGS=
GTK_IM_MODULE=xim
DEPENDS=

X11에서 IM(Input Method)를 설정하는 방법으로, 나의 경우에는
SCIM을 사용하므로 GTK_IM_MODULE에서는 scim 이라고 쳐주면 된다고 한다.

vnc 등에서도 scim을 IM으로 사용하기 위해서는
 export GTK_IM_MODULE=scim
이라고 입력해주면 된다고 한다.

[발견 : http://hwsj.tistory.com/306]
[링크 : http://kldp.org/node/59667]
Posted by 구차니
Microsoft/Windows2009. 4. 15. 11:39
VC++ 6.0 기준으로 사용가능한 방법은 아직 찾지 못했다.
리눅스에서는 ps -ef 하면 실행시의 옵션항목(아규먼트)들이 같이 표기 되는데
윈도우에서는 프로그램 이름만 보이게 되어서, 어떠한 옵션으로 실행이 되었는지 궁금해질때가 있다.

그래서 검색을 해보니 .net framework에서는 process 클래스에 startinfo 라는 항목이 존재한다.
이것을 사용하면 argument를 알아 올수 있겠지만, 난 .net을 싫어하는 관계로.. 다른 방법을 찾아 봐야겠다.

using System; 
using System.Diagnostics; 

namespace ProcessArgsTest 
{ 
  class Test 
  { 
    static void Main()  
    { 
      Process [] localAll = Process.GetProcesses(); 
      foreach (Process p in localAll) 
      {   
        if (p.ProcessName == "notepad") 
        { 
          Console.WriteLine(p.ProcessName + " [" + p.StartInfo.Arguments + "]"); 
        } 
      } 
    } 
  } 
} 


[발견 : http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/669eeaeb-e6fa-403b-86fd-302b24c569fb/]
[process.GetProcesses method : http://msdn.microsoft.com/en-us/library/1f3ys1f9.aspx]
[process.StartInfo method : http://msdn.microsoft.com/en-us/library/system.diagnostics.process.startinfo.aspx]
Posted by 구차니

gnome에서 많이 볼수 있는, 파일 브라우저이다.
MS Windows의 파일 탐색기(Explorer) 느낌이라 상당히 좋아하는데 Cygwin/x를 통해 단독으로 띄울 방법을
꽤나 고심하면서 찾았는데 의외의 곳에서 해결 방법을 찾게 되었다.

처음에는 gnome-open을 이용해서 하는게 아닐까 생각을 했는데
gnome-open을 이용하면 아래와 같이 단순하게 list형으로만 출력이 된다.


그래서 gnome-system-monitor로 보니 nautilus 외에는 실행되는 프로세스가 없었다.
그런 이유로 nautilus 의 옵션을 살펴보니

$ nautilus --help-all
Usage:
  nautilus [OPTION...] [URI...]

Browse the file system with the file manager

Help Options:
  -?, --help                      Show help options
  --help-all                      Show all help options
  --help-gtk                      Show GTK+ Options
  --help-bonobo-activation        Show Bonobo Activation options
  --help-gnome                    Show GNOME options
  --help-gnome-session            Show session management options

GTK+ Options
  --class=CLASS                   Program class as used by the window manager
  --name=NAME                     Program name as used by the window manager
  --screen=SCREEN                 X screen to use
  --sync                          Make X calls synchronous
  --gtk-module=MODULES            Load additional GTK+ modules
  --g-fatal-warnings              Make all warnings fatal

Bonobo Activation options:
  --oaf-ior-fd=FD                 File descriptor to print IOR on
  --oaf-activate-iid=IID          IID to activate
  --oaf-private                   Prevent registering of server with OAF

GNOME Library
  --disable-sound                 Disable sound server usage
  --enable-sound                  Enable sound server usage
  --espeaker=HOSTNAME:PORT        Host:port on which the sound server to use is running
  --version

Session management:
  --sm-client-id=ID               Specify session management ID
  --sm-config-prefix=PREFIX       Specify prefix of saved configuration
  --sm-disable                    Disable connection to session manager

Application Options:
  -g, --geometry=GEOMETRY         Create the initial window with the given geometry.
  -n, --no-default-window         Only create windows for explicitly specified URIs.
  --no-desktop                    Do not manage the desktop (ignore the preference set in the preferences dialog).
  --browser                       open a browser window.
  -q, --quit                      Quit Nautilus.
  -l, --load-session=FILENAME     Load a saved session from the specified file. Implies "--no-default-window".
  --display=DISPLAY               X display to use


아래의 두개 옵션이 눈에 띄었다. 물론 --no-desktop을 하지 않아도 되지만,
cygwin/x를 통해 실행할때에는 노틸러스에서 전체 화면을 보여주고(데스크탑) 추가로 파일 브라우저를 보여준다.
그런 이유로, 단독형으로 실행하고 싶다면

 $ nautilus --browser --no-desktop [directory path]

로 실행하면 깔끔하게 창이 뜨게 된다.
Posted by 구차니
embeded/AVR (ATmega,ATtiny)2009. 4. 15. 00:17

avrdude를 막상 사용해보려니 막막해서.. 일단 이런녀석을 찾아 보게 되었다.
이거 말고도 존재하지만, 막상 실행하보니 윈도우용.. gnome용이나 Xwindow용으로 할 방법이 딱히 보이지 않아서
(게다가 g++도 설치가 되어 있지 않으니 ㄱ-) 포기를 할까 하다가 구글에서 조금 더 찾아 보니
gnome-avrdude라는 것을 발견하게 되었다.  아무튼 이녀석으로 나중에 AVR 읽어 보는 테스트를 해봐야겠다.

[발견 : korean.osstrans.net/software/gnome-avrdude.html]
[gnome-avrdude : http://sourceforge.net/projects/gnome-avrdude]

'embeded > AVR (ATmega,ATtiny)' 카테고리의 다른 글

ubuntu에서 gnome-avrdude 사용하기  (0) 2009.05.27
STK-200 / STK-500 호환 AVR ISP  (2) 2009.04.20
linux에서 AVR 컴파일하기  (0) 2009.04.07
어셈블리 언어 ORG 명령  (4) 2009.03.19
AVR Studio / AVR-GCC 뜯어 보기  (0) 2008.11.18
Posted by 구차니
개소리 왈왈2009. 4. 14. 14:01
순위 유입경로
1 www.google.co.kr (3904)
2 search.daum.net (3853)
3 www.google.com (312)
4 kr.search.yahoo.com (175)
5 search.empas.com (143)
6 search.nate.com (141)
7 blog.naver.com (131)
8 www.soondesign.co.kr (112)
9 cafe.naver.com (93)
10 mr-ok.com (87)
11 image.search.daum.net (81)
12 offree.net (72)
13 images.google.co.kr (65)
14 blogsearch.google.co.. (60)
15 sa.search.daum.net (55)
16 www.choboweb.com (53)
17 bluenlive.net (51)
18 mycom.kr (45)
19 cdmanii.tistory.com (44)
20 search.cyworld.com (35)

의외인건 cyworld에서 치고 들어 온다는것(아마 nate 연동일려나..)
그리고 생각외로 이미지 검색으로 오는것도 많다는 점
게다가 네이버 검색보다는 내 블로그를 통해 타고 온 경우가 더 많다는 점 -ㅁ-!
하지만 드물게 다른 나라 구글 타고 온건 순위에 없다는 점 ㅠ.ㅠ

'개소리 왈왈' 카테고리의 다른 글

KT 애들 희한해~  (4) 2009.04.17
블로그 대문 사진을 바꿀까..  (2) 2009.04.16
일요일에 한 짓들  (8) 2009.04.13
내 블로그 방명록은 오스트레일리아다!  (4) 2009.04.11
젠장 바이러스!!  (4) 2009.04.10
Posted by 구차니
Linux2009. 4. 14. 11:56
int fd;
int rand_val;

fd = open("/dev/random", O_RDONLY);
read(fd,&rand_val,sizeof(int));
close(fd);

조인시에 의하면 조용한 시스템에서는 랜덤값이 안 바뀌는 문제가 있을 수도 있으니 주의하라고 하지만..
우리 시스템은 조용할리가 없기에 -ㅁ- random() 보다는 이녀석을 써볼까 생각중이다.

[링크 : http://www.joinc.co.kr/modules/moniwiki/wiki.php/article/random]


테스트 이후 : 커널에서 random device 사용이 설정이 안되어 있는지, read시에 무한루프 걸리는 듯 하다.
Posted by 구차니
embeded/80512009. 4. 14. 10:57
대용량의 데이터(예를들어 폰트데이터)를 저장하는데 있어 기본변수로 선언을 했더니 문제가 발생했다.
Memory Model은 기본 값인 Small model이었고, 이로 인해서 data형으로 선언이 된다.(위의 small model 참조)

그래서 Large model로 변경하니 xdata로 되었고, 이로 인해 64k까지 가능해져서 에러없이 돌아 갔지만,
다른 문제가 발생을 해서 오작동을 한것으로 생각이 된다.

아무튼 플래시는 넉넉하니, code라는 변수 타입을 선언하면 rom에 저장이 되고,
메모리에 저장이 되지 않으므로 별다른 문제 없이 프로그램이 실행된다.


Memory TypeDescription
code Program memory (64 KBytes); accessed by opcode MOVC @A+DPTR.
data Directly addressable internal data memory; fastest access to variables (128 bytes).
idata Indirectly addressable internal data memory; accessed across the full internal address space (256 bytes).
bdata Bit-addressable internal data memory; supports mixed bit and byte access (16 bytes).
xdata External data memory (64 KBytes); accessed by opcode MOVX @DPTR.
far Extended RAM and ROM memory spaces (up to 16MB); accessed by user defined routines or specific chip extensions (Philips 80C51MX, Dallas 390).
pdata Paged (256 bytes) external data memory; accessed by opcode MOVX @Rn.

If no memory type is specified for a variable, the compiler implicitly locates the variable in the default memory space determined by the memory model: SMALL, COMPACT, or LARGE. Function arguments and automatic variables that cannot be located in registers are also stored in the default memory area. Refer to Memory Models for more information.

[출처 : http://www.keil.com/support/man/docs/c51/c51_le_memtypes.htm]


xdata

The xdata memory type may be used to declare variables only. You may not declare xdata functions. This memory is indirectly accessed using 16-bit addresses and is the external data RAM of the 8051. The amount of xdata is limited in size (to 64K or less).

Variables declared xdata are located in the XDATA memory class.
Declare xdata variables as follows:
unsigned char xdata variable;
[출처 : http://www.keil.com/support/man/docs/c51/c51_le_xdata.htm]

code

The code memory type may be used for constants and functions. This memory is accessed using 16-bit addresses and may be on-chip or external.

    * For constants (ROM variables), code memory is limited to 64K.
      Objects are limited to 64K and may not cross a 64K boundary.
      Constant variables declared code are located in the CODE memory class.
    * For program code (functions), code memory is limited to 64K.
      Program functions are stored in the CODE memory class by default.
      The code memory type specifier is not required.

Declare code objects as follows:
unsigned char code code_constant;
unsigned int func (void)
{
    return (0);
}
[출처 : http://www.keil.com/support/man/docs/c51/c51_le_code.htm]

Small Model

In this model, all variables, by default, reside in the internal data memory of the 8051 system as if they were declared explicitly using the data memory type specifier.

In this memory model, variable access is very efficient. However, all objects (that are not explicitly located in another memory area) and the stack must fit into the internal RAM. Stack size is critical because the stack space used depends on the nesting depth of the various functions.

Typically, if the linker is configured to overlay variables in the internal data memory, the small memory model is the best model to use.

[출처 : http://www.keil.com/support/man/docs/c51/c51_le_modelsmall.htm]

Large Model

In the large model, all variables, by default, reside in external data memory (which may be up to 64K Bytes). This is the same as if they were explicitly declared using the xdata memory type specifier.

The data pointer (DPTR) is used to address external memory. It is important to note that memory access through the data pointer is inefficient and slow, especially on variables that are two or more bytes long. This type of data access mechanism generates more code than the small model or compact model.

[출처 : http://www.keil.com/support/man/docs/c51/c51_le_modellarge.htm]

Posted by 구차니
embeded/80512009. 4. 13. 22:53
Summary           *** Error C249
                              Segment : Segment too large

Description        The compiler detected a data segment that was too large.
                        The maximum size of a data segment depends on memory space.

[출처 : http://www.keil.com/support/man/docs/c51/c51_c249.htm]

Segment too large는 데이터 저장부분에서 용량을 초과 할때 발생하는 것으로 보인다.
Memory Model을 Small Model 에서 Large Model로 교체하면 컴파일은 되지만, 제대로 실행이되는지는 모르겠다.

해결내용은 아래의 링크로
2009/04/14 - [AVR / 8051] - keil compiler - memory type (code,xdata,idata)

Posted by 구차니
개소리 왈왈2009. 4. 13. 00:43
와우 만렙찍기
전장 돌아서 점수 쌓기
---- 요기까지 (젠장, 쌓이는 경험치 많큼 죄책감이 ㅠ.ㅠ)

그리고 Xwindow 구동 옵션 찾기(깔끔하게 실행!)
시리얼포트 pc 2대 연결하기(minicom / putty serial)

은근히 한게 없네 -ㅁ-



주중에 먹어 댄 양을 보니.. 다이어트는 원상복구 되었겠군 ㅠ.ㅠ


아무래도 묻지마 250W 파워이다보니, 전력이 부족해서 발열이 심하고, 그로인해 케이스 내부 온도가 올라가고
그러다 보니 CPU팬은 죽어라 돌고 그래서 어쩔수 없이 방열을 위해서 머리를 데굴데굴 굴리던중 약간의 만행을
저질렀다 -ㅁ-!

바람을 슝슝 뽑아 내기 위한 방향으로 하다 보니 참.. 아름답지 못하다 ㄱ-
그리고 키보드 / 마우스 없이 사용하는 본체이다 보니 은근히 케이블이 단순하다.
AVR용 패러럴 프로그래머, 시리얼 케이블, 랜 케이블 끝.

아무튼 덕분에 소음이 1/3이상 줄었는데.. 괜히 CPU 분해해서 써멀 콤파운드 발라야 하나 사야 하나 고민을 했는데
이렇게라도 해결이 되서 다행이다 싶다. 한동안 이걸로 버텨야 하는데 말이다 ㅋㅋ
Posted by 구차니