선풍기가 돌아간다.
모니터를 보면서 왼쪽의 선풍기가 바람을 쐬어준다.

어디선가 음악이 들려온다.
다른 악기들은 없이 마치 드럼으로만 곡을 쓴 것 처럼

음악을 틀어 놓을 사람도 틀어 놓은 적도 없는데 멀까?








아.. 선풍기 마찰음이 그렇게 들린거구나..
Posted by 구차니
프로그램 사용2009. 7. 15. 20:31
트위터는 불편하다.
일각에서는 30세 이상을 위한 서비스라는 소문이 있을 정도로
젊은(!) 나로서는 쓰기가 매우 버겁다.

아무튼 pbtweet라는것을 써보려다가 GG 치다가 한번 용기를 내서 해보았다.


Step 1. 파이어폭스의 부가기능에 Greasemonkey를 검색하여 설치

Step 2. pbtweet 에서 Firefox greasemonkey용을 클릭하여 설치한다.
v1.4.8 for Firefox
pbtweet.user.js for Firefox 3.0 (for GreaseMonkey script)
Firefox version does not run animation. and some layout is broken. I strongly recommend to use pbtweet on Safari or Google Chrome.


Step 3. 트위터를 사용한다.

Step 4. 위의 방법이 불편하여 사용하기 싫으면 아래의 원숭이를 클릭한다.


[pbtweet : http://web.me.com/t_trace/pbtweet.html#install]
[Greasemonkey : https://addons.mozilla.org/ko/firefox/addon/748]
Posted by 구차니
개소리 왈왈2009. 7. 15. 18:14
하여간에 뒷북이 심한 언론이긴 하지만,
이 기사는 너무 심하다라는 생각이 든다.


발표한지도 1주일이 지난 시점에서야
'윈도' 상표를 쓸 수 있나라니 ㄱ-


'Windows' 가 MS의 상표명이고
'윈도' 가 어디 상표명이고
윈도우즈 는 잘 모르겠네

아무튼, 티맥스 윈도우라는 상표를 떠나서
MS의 호환의 굴레에 빠져버린 OS 따윈..

[링크 : http://media.daum.net/digital/view.html?cateid=1077&newsid=20090715144711260&p=akn]

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

최종병기 구차니 + G10 엔딩  (0) 2009.07.20
옷 입고 계곡에서 수영하기  (5) 2009.07.16
악마의 글!!!  (2) 2009.07.14
nateon 메신저 로고 변경!  (5) 2009.07.13
난 보스몹이 아니거덩?  (6) 2009.07.12
Posted by 구차니
Linux2009. 7. 15. 12:02
raw는 말 그대로 생생한 날 것을 의미하는데..
검색을 해도 죽어라 안나오는 녀석중에 하나다.. 그래 이렇게 안나온적은 드물었는데 ㅠ.ㅠ

아무튼,
RAW mode telnet은 각종 escape 문자를 처리하지 않고, 심지어 CR/LF 조차도 처리하지 않고
데이터를 application에 넘겨주는 것을 의미하는 것으로 보인다.(조금 더 조사 필요)

IMPLEMENTATION:

To understand Telnet end-of-line issues, one must have at least a general model of the relationship of Telnet to the local operating system. The Server Telnet process is typically coupled into the terminal driver software of the operating system as a pseudo-terminal. A Telnet end-of- line sequence received by the Server Telnet must have the same effect as pressing the end-of-line key on a real locally-connected terminal.

Operating systems that support interactive character-at- a-time applications (e.g., editors) typically have two internal modes for their terminal I/O: a formatted mode, in which local conventions for end-of-line and other formatting rules have been applied to the data stream, and a "raw" mode, in which the application has direct access to every character as it was entered. A Server Telnet must be implemented in such a way that these modes have the same effect for remote as for local terminals. For example, suppose a CR LF or CR NUL is received by the Server Telnet on an ASCII host. In raw mode, a CR character is passed to the application; in formatted mode, the local system's end-of-line convention is used.

[링크 : http://www.freesoft.org/CIE/RFC/1123/31.htm]

Its whether the client does any interpretation of the data it receives. Screen content contains codes that are not necessarily displayed. For example vt100 screen emulation uses esc[H to put the cursor in the home position (top left). A normal telnet session would interpret this as a cursor move, where as a raw session would actually display [H which wouldn't mean anything to you and would make the screen info hard to read. So it doesn't affect what is sent, just how its interpreted at the client end. VT100 is just one example of the invisible stuff that gets sent but you get the idea.

[링크 : http://www.linuxquestions.org/questions/linux-newbie-8/difference-between-telnet-and-raw-telnet-429661/]

I found that the best solution is at telnet>
prompt type 'set escape off', but this won't
work with HP machines.

[링크 : http://www.sunmanagers.org/archives/1994/0805.html]



Posted by 구차니
프로그램 사용/libjpeg2009. 7. 14. 17:34
jpeg는 grayscale일 경우에는 무조건 흑백인 듯 하다.
(조금 더 확실하게 검색필요)

그런 이유로, 8bit color일 경우에는 팔레트가 NULL인지 아닌지 확인하고
NULL일 경우에는 팔레트를 만들어주면 된다.

wrbmp.c 파일을 참고 하자면
LOCAL(void)
write_colormap (j_decompress_ptr cinfo, bmp_dest_ptr dest,
		int map_colors, int map_entry_size)
{
  JSAMPARRAY colormap = cinfo->colormap;
  int num_colors = cinfo->actual_number_of_colors;
  FILE * outfile = dest->pub.output_file;
  int i;

  if (colormap != NULL) {
    if (cinfo->out_color_components == 3) {
      /* Normal case with RGB colormap */
      for (i = 0; i < num_colors; i++) {
	putc(GETJSAMPLE(colormap[2][i]), outfile);
	putc(GETJSAMPLE(colormap[1][i]), outfile);
	putc(GETJSAMPLE(colormap[0][i]), outfile);
	if (map_entry_size == 4)
	  putc(0, outfile);
      }
    } else {
      /* Grayscale colormap (only happens with grayscale quantization) */
      for (i = 0; i < num_colors; i++) {
	putc(GETJSAMPLE(colormap[0][i]), outfile);
	putc(GETJSAMPLE(colormap[0][i]), outfile);
	putc(GETJSAMPLE(colormap[0][i]), outfile);
	if (map_entry_size == 4)
	  putc(0, outfile);
      }
    }
  } else {
    /* If no colormap, must be grayscale data.  Generate a linear "map". */
    for (i = 0; i < 256; i++) {
      putc(i, outfile);
      putc(i, outfile);
      putc(i, outfile);
      if (map_entry_size == 4)
	putc(0, outfile);
    }
  }
  /* Pad colormap with zeros to ensure specified number of colormap entries */ 
  if (i > map_colors)
    ERREXIT1(cinfo, JERR_TOO_MANY_COLORS, i);
for (; i < map_colors; i++) { putc(0, outfile); putc(0, outfile); putc(0, outfile); if (map_entry_size == 4) putc(0, outfile);
}
}

이런식으로 0에서 255 까지 팔레트를 생성하면 되고,
256color(=8bit) 일 경우에는 팔레트는 RGBQUAD 로 4바이트 구조이므로,
마지막 바이트는 reserve(혹은 alpha) 값으로 0x00(stfae에서는0x80) 을 해주면 된다.
Posted by 구차니
아이디어!2009. 7. 14. 10:36
헬스장에서 운동할때 가장 안 좋은 점은

아무래도 공기일테고
그 다음이 한정된 공간의 심리적 압박일 것이다.


음.. 컴퓨터도 빠방해졌으니.. 헬스장에서 속도와 연동해서
스트리트 뷰를 속도와 합쳐 실제 달리는 느낌이 들도록 하면 재미있지 않을까?
Posted by 구차니
개소리 왈왈2009. 7. 14. 09:20
숨겨진 글들도 있고(저작권 관련 디펜스)
아무튼!!! 666번째 글 /ㅁ/



이거.. 자축하려고 해도 축하의 기운이 느껴지지 않아 ㅠ.ㅠ

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

옷 입고 계곡에서 수영하기  (5) 2009.07.16
티맥스 윈도우 상표?  (0) 2009.07.15
nateon 메신저 로고 변경!  (5) 2009.07.13
난 보스몹이 아니거덩?  (6) 2009.07.12
49.68km 4시간  (6) 2009.07.11
Posted by 구차니
혹시나 하는 마음에
Eclipse IDE for C/C++ Developers (79 MB)
를 받고 실행했는데, 역시나 eclipse는 JRE나 JDK가 있어야 실행이 된다.

그래서 봤더니.. 자바 버전이 JDK6 update 14까지 나왔다 -ㅁ-!
아무튼 사랑하는 netbeans 포함 버전을 선택(그러고 보니.. JRE 외에는 전부 통합버전이다)
다운로드를 받고 설치 하려니 요구용량이 500M에 근접한다. ㄱ-

그리고 나서 실행했는데 이 먼가 허전한 느낌..
c와 c++ 프로젝트는 생성이 되는데, MFC 라던가 이런건 아무래도 무리인 듯..

그래서 검색을 해봤더니, class wizard나 project wizard 없이 사용하는건 실질적으로 불가능하다는 이야기가 나왔다.
[링크 : http://dev.eclipse.org/newslists/news.eclipse.tools.cdt/msg01844.html]

Migrate Visual Studio C and C++ projects to Eclipse CDT
[링크 : http://www.ibm.com/developerworks/library/os-ecl-vscdt/]


솔찍히.. wizard없이 손으로 일일이 직접 mfc 코드들을 작성하기란 쉬운일은 아니다.
머.. 그래서 잠시 Visual studio express버전을 검색했는데..

일단 VB와 VC++은 존재한다.
마음에 걸리는건.. 2008 버전! ㄱ-
혹시.. .net을 강요하는건 아니겠지? 나중에 다른 pc에 설치나 해봐야겠다 쩝...

'프로그램 사용 > eclipse CDT & minGW' 카테고리의 다른 글

eclipse CDT plugin 설치하기  (2) 2012.01.29
eclipse에서 archive (*.a) 링크하기  (0) 2012.01.18
eclipse CDT 에서 include 경로 추가하기  (0) 2012.01.17
MinGW  (0) 2010.09.07
Eclipse IDE for C/C++ Developers  (0) 2009.07.06
Posted by 구차니
개소리 왈왈2009. 7. 13. 14:13

반정부적인 네이트온인가 -ㅁ-?
빨강색을 선택하다니!!!!



가끔 메일 보러 가신다는 선배 1인이 홈페이지는 이미 바뀌어있었다는 제보를 해주셨는데..
메일보러 가지도 않았던 지라.. 나에게는 오늘 처음 바뀐것이다 -ㅁ-!

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

티맥스 윈도우 상표?  (0) 2009.07.15
악마의 글!!!  (2) 2009.07.14
난 보스몹이 아니거덩?  (6) 2009.07.12
49.68km 4시간  (6) 2009.07.11
티월드 쇼핑은 SUN 이다?  (0) 2009.07.10
Posted by 구차니
Programming/C Win32 MFC2009. 7. 13. 12:28
CTreeCtrl은 탐색기의 디렉토리를 보여주는 녀석이다
트리컨트롤에 데이터를 넣는 방법은 InserItem 이라는 함수를 사용하면 되는데,
이 함수를 유심히 살펴보면 HTREEITEM hParen = TVI_ROOT 라는 것이 있다.

// afxcmn.h
// Operations
	HTREEITEM InsertItem(LPTVINSERTSTRUCT lpInsertStruct);
	HTREEITEM InsertItem(UINT nMask, LPCTSTR lpszItem, int nImage,
		int nSelectedImage, UINT nState, UINT nStateMask, LPARAM lParam,
		HTREEITEM hParent, HTREEITEM hInsertAfter);
	HTREEITEM InsertItem(LPCTSTR lpszItem, HTREEITEM hParent = TVI_ROOT,
		HTREEITEM hInsertAfter = TVI_LAST);
	HTREEITEM InsertItem(LPCTSTR lpszItem, int nImage, int nSelectedImage,
		HTREEITEM hParent = TVI_ROOT, HTREEITEM hInsertAfter = TVI_LAST);

// commctrl.h #define TVI_ROOT ((HTREEITEM)0xFFFF0000) #define TVI_FIRST ((HTREEITEM)0xFFFF0001) #define TVI_LAST ((HTREEITEM)0xFFFF0002) #define TVI_SORT ((HTREEITEM)0xFFFF0003)

별 다른 것은 없고, 이번에 추가하는 아이템은 Root 아이템으로 적용을 하라는 것인데,
Root 아이템은 위의 이미지에서 Expanded Node / Leaf 라는 두녀석이다.
아무튼 위와 같이 tree 구조로 넣기위해서는 InserItem 함수의 return 값을 유심히 봐야한다.

HTREEITEM InsertItem(LPCTSTR lpszItem, HTREEITEM hParent = TVI_ROOT, HTREEITEM hInsertAfter = TVI_LAST);

InsertItem은 리턴값으로 추가한 녀석의 핸들을 돌려준다.
그리고 입력으로 TVI_ROOT가 들어가거나 혹은 핸들이 들어간다.



위와 같은 구조로 하기 위해서는 아래와 같이 구현하면 된다.

HTREEITEM expand;
HTREEITEM expand_2nd;
HTREEITEM expand_3rd;

expand= InsertItem("Expanded Node", TVI_ROOT, TVI_LAST);
expand_2nd = InsertItem("Expanded Node", expand, TVI_LAST);
                            InsertItem("Leaf", expand_2nd, TVI_LAST);
                            InsertItem("Leaf", expand_2nd, TVI_LAST);
expand_3rd = InsertItem("Collapsed Node", expand, TVI_LAST);
                            InsertItem("Leaf", expand_3rd, TVI_LAST);
                            InsertItem("Leaf", expand_3rd, TVI_LAST);
InsertItem("Leaf", TVI_ROOT, TVI_LAST);


[링크 : http://msdn.microsoft.com/ko-kr/library/7w95665f%28VS.80%29.aspx] CTreeCtrl Members
[링크 : http://msdn.microsoft.com/ko-kr/library/cc468290%28VS.71%29.aspx]
Posted by 구차니