지금은 고쳐서 스샷 찍는게 불가능한데, 윈도우7에서 원격데스크톱 설정이 없어질 때가 있다.

홈에디션의 경우 그 기능이 원래 없다. 그러면 패스.

하지만 나는 홈에디션 이상을 쓰고 있는데, 왜 원격데스크톱 설정이 없을까?

그건 인증을 안해서다.


인증을 하면, 적용된 설정을 위해서 재부팅해야한다고(강제는 안함) 알려준다.

그리고 재부팅하면 브라보! 원격데스크톱 설정이 돌아온다.

어디에도 없는 팁.

아마 윈도우 새로 설치 후 인증이 빠졌을 때 나타나는 증상인 것 같다.

시스템 정보에는 인증이 된거로 나오지만, SLIC 2.1 상에서 인증이고, 실제 인증 과정을 거치지 않으면(XRM-MS 등록 및 시리얼 등록) 이런 증상이 발생하는 것 같다.


테스트 한 PC는 윈7 64bit, 얼티메잇 OEM판. 
0. 들어가며

2Byte 문자셋을 사용하는 민족의 서러움은 1Byte로 표시 가능한 문자를 사용하는 영어권 사람들이 개발한 컴퓨터를 사용할때 자주 나타난다. 리눅스에서 iconv와 같은 툴(경험상 100% 완벽하진 않은 것 같다.)이 이러한 문제를 많이 해결해주고 있지만, MP3 태그는 스크립트를 짜거나 파일별로 노가다를 해야할 정도이다.
이번 포스트에서는, 파일명이 트랙번호, 가수, 노래제목을 포함하고 있는 mp3 파일에 대해 태그를 적용하는, 윈도우의 TAG&RENAME과 같은 프로그램의 맥버젼을 소개한다.

1. TriTag

"MP3태그 맥 문자셋"이란 키워드로 검색하던 중, 애플포럼에서 비슷한 고민을 하시는 분의 게시물이 발견되었다.(출처: 애플포럼) 유료프로그램인 MP3 rage와 무료인 TriTag가 언급되었는데, 여기서는 무료프로그램인 TriTag를 사용한다. 위의 제목을 클릭해도 되고, 이곳을 클릭해도 된다. 혹은 http://durl.me/6dmrk

2. 사용법


보자마자 필이 딱 온다. TAG&RENAME과 비슷한 구조. 드랍다운 메뉴인 "MODE"를 클릭하면, 파일이름에서 ID3 태그를 추출할 것인지(Filename -> ID3 Tag), ID3태그를 바탕으로 파일이름을 작성할지(ID3 Tag -> Filename) 결정할 수 있다. 여기서는 파일이름에서 ID3 태그를 추출하여 저장하는 (Filename -> ID3 Tag)로 둔다.

다음 과정으로 파일명에서 어떤 식으로 ID3 태그의 구성요소인 Artist, Track Name, Track Number, Album Name 등을 추출할 것인지 규칙을 정해줘야 한다. Filename pattern 아래의 공란에 그것을 적어주면 되는데, 사용법은 그 아래에 되어 있다.
예를들어, "001 아이유 - 나만 몰랐던 이야기.mp3"와 같은 파일의 경우, "트랙번호 가수 - 노래제목.mp3"의 형태로 트랙번호와 가수, 노래제목을 파일명이 포함하고 있다. 이럴 경우 %n %a - %s와 같이 입력하면, TriTag가 알아서 추출해준다. 그리고, 한번 만든 Filename pattern은 여러 파일에 대해서 적용 가능하다.
이게 어렵다. 나는 예제를 통해 하고 싶다. 하는 사람이 있다면, Pattern Builder라는 것을 써보면 된다. 패턴빌더를 사용하기 전에 예제 파일을 추가해야한다. 


위와 같이 패턴 빌더를 띄우면, 추가된 파일의 제일 위에 있는 파일명을 예제로 꺼내와서 띄워준다. 현재 위의 스크린샷은 "아이유"라는 글자가 있는 곳이 Artist로 채워야할 내용이 있는 곳임을 알려주기 위해 해당 위치를 블럭잡아둔 상황이다. 이제 저 위치가 어떤 값인지 알려주기 위해 아래 Available descriptions 아래 드랍다운 메뉴를 눌러보면,


위와 같이 Artist에 체크가 되어 있지만, 그래도 Artist에 다시 클릭을 해주면, 아이유라는 글자가 파란색으로 바뀐다. 이는 Filename 아래에 필드별로 어떤 색깔로 저장될지 나타내는 범례에도 표시되어 있다. 나머지도 마찬가지로 작업해주면, 아래와 같이 될 것이다.


"001"이 있는 위치는 Track number로 지정되었고, "아이유"라는 글자가 있는 위치, 즉, Track number에서 한칸 띄고, 아이유라는 글자 다음인 '-' 앞까지의 글자는 Artist로 지정되었다. 그리고 '-'에서 한칸 띄고 "나만 몰랐던 이야기"는 Track title로 지정되었다. 여기서 '-' 글자는 아무것도 지정하지 않는다. 그냥 구분자의 역할을 한다.(사실 white space도.)
이제 Close dialog and adopt pattern을 클릭하면 된다. 그리고 메인 창에 돌아와 Apply를 클릭하면, 추가된 모든 파일에 대해 위에서 설정한 pattern 대로 파일명으로부터 ID3 태그를 추출하게 된다.


3. 결과 및 마치며

아주 잘된다. 매우 만족스럽다. 이런 프로그램 너무 필요했는데, 잘됐다. 윈도우판 TAG&RENAME에 버그가는, 게다가 공짜!

증상
전원 버튼을 눌러도 응답이 없고 가끔 전원 LED가 켜졌다가 꺼진다

해결책
참고 : http://support.apple.com/kb/HT3964?viewlocale=ko_KR

SMC 리셋
MC207KH/A의 경우 "사용자가 분리할 수 없는 배터리가 장착된 휴대용 컴퓨터에서 SMC 재설정"을 참고
0. 들어가며

  맥북을 구매한지 꽤 시간이 지났다. 딱히 MAC OSX(이하 OSX)를 사용하면서 불편함을 느낀적은 없으나,
if(BROSWER_NAME=="IE") 천국();
else 지옥();
인 국내 사정상 IE가 꼭 필요한 때가 있다. 물론 패러럴즈로 그 부분을 카바하면서 살았지만, 그래도 완전히 재부팅 하는 것이 나은 상황(예를들면 인강)을 대비해서 부트캠프를 이용하며 OSX와 저번에 학생판으로 구매해둔 윈도우7을 멀티부팅 할 수 있도록 시도했다.



1. 준비물 및 테스트 환경

  • 정품 윈도우CD
  • OSX 설치CD
  현재 필자가 가지고 있는 정품 윈도우CD는 윈도우7 프로페셔널 학생판으로, 윈도우XP나 윈도우비스타가 설치된 환경에서 업그레이드 용으로 사용 가능한 버젼이다. 설치 중간에 꼭 "업그레이드(U)"를 눌러 설치해야할 필요는 없고, "사용자 정의(C)"에서 위에 나열된 윈도우(XP or VISTA)가 설치된 파티션이 하나라도 보인다면 해당 파티션을 포맷하고 다시 설치도 가능하다.
  OSX 설치시디는 SNOW LEOPARD 10.6.1이고, MC207KH/A에 기본으로 포함된 설치CD이다.
  필자는 윈도우 3.1부터 사용했고, 95, 98을 거쳐 NT 기반의 2000시대에서부터 윈도우 간의 멀티부팅, GRUB를 통한 윈도우와 리눅스의 멀티부팅(당시 리눅스는 레드햇7.2) 등을 다수 시도했고, 성공시킨 전력이 있었다. 그럼에도 불구하고 간단하겠지 맥처럼 편하게 잘 해 놨겠지 라는 안일한 생각에 오랜 시간 삽질하였다.



2. 주의사항

  가장 중요한 것은 파티셔닝을 잘 해야 한다는 것이다. 파티션을 다시 잡기 위해서 가급적이면 OSX도 새로 설치하는 과정에 진행하는 것을 추천한다. 파티션을 조정하다가 자칫 잘못하다 OSX의 파티션도 날리게 되고, 그렇게 되면 중요한 자료도 같이 날아갈 수 있기 때문에 이제 막 사용을 시작하려는 새 OSX에 부트캠프를 성공한 뒤에 OSX와 윈도우 환경에 설정 등을 적용하는 것이 낫기 때문이다.



3. 파티션과 윈도우 설치

  키 포인트는 다음과 같다.
  1. OSX 상에서 "응용프로그램"  → "유틸리티"  → "부트캠프 지원"을 찾아 "부트캠프 지원"을 연다.
  2. "부트캠프 지원"으로 적당한 양만큼 윈도우 파티션을 잡는다. 상위 대부분의 용량은 OSX를 위해 남겨두고, 아래 영역을 윈도우 용으로 잡는다.
  3. "부트캠프 지원"에서는 윈도우 파티션을 FAT32로 잡는데, 32GByte를 최대 용량으로 인식하고 32GByte를 프리셋으로 지정해두었다. 검색하던 중에 32GByte까지만 인식한다는 글을 얼핏 스쳐 봤기 때문에 이번 시도에서는 윈도우 파티션을 32GByte만 잡았다. 사실 게임할 건 아니니까.
  4. 윈도우 설치CD를 넣고 재부팅하면 부팅 화면 중에 option(alt)키를 누를 것도 없이 바로 CD로 부팅이 되게 된다.
  5. 아주 중요한 키포인트 첫번째 : 절대로 무인설치나 자동설치를 쓰지 않는다. 설치 과정에서 손대야 할 것들이 몇가지 있기 때문이다.
  6. 윈도우 설치 과정에는 대부분 어느 파티션에 윈도우 설치할래? 라는 문구와 함께 디스크 유틸리티를 준다. 아주 중요한 키포인트 두번째 : "부트캠프 지원"에서 윈도우 용으로 잡았떤 아래쪽 32GByte에 바로 설치라고 누르면 안된다. 또한 볼륨을 삭제해서도 안된다.
  7. 이제 해당 볼륨을 잡고 NTFS나 FAT로 포맷을 해준다. 윈도우 설치 초반에 나오는 디스크 유틸리티에서 설치하고자 하는 파티션을 한번 더 포맷하라는 말이다.
  8. 그리고 나서 윈도우 설치 프로그램이 적절한 설치 파일들을 파티션에 복사하고 나면 재부팅을 하게 되는데, 이때 재부팅이 되지 않는다면 1의 과정을 다시 진행한다. 가끔 에러가 나서 아래쪽에는 이상한 진행바 같은 것이 있고, 위쪽에는 깜빡이는 프롬프트만 뜨는 이상한 상황에 갖히게 되는데, 이 경우 답이 없는 것 같다. 귀찮아서 이것에 대해 다시 찾아보진 않았다. "disk error.\n press any key to restart."에러가 발생할 수도 있다. 이럴 경우 1의 과정을 다시 진행하되, 2의 과정에서 기존에 "부트캠프 지원"에서 만들었던 파티션은 삭제하고 다시 만드는 것이 좋다. 한마디로 새로 하라는 뜻. re re re
  9. 윈도우 설치파일을 파티션에 복사하고 재부팅까지 성공하면 거의다 된거라고 봐도 무방하다.
  10. 잊지말고 윈도우 설치가 완료되자마자 OSX 설치CD를 윈도우 시스템에 넣고 부트캠프 지원 프로그램들(대부분 드라이버)을 설치하는 것이 좋다.
어디든 i386\WINNT.SIF 를 메모장을 열어

[UserData]
    ProductID=

부분에 적힌 씨디키를 받아 둔다.

예를들어, 학생판으로 구매한 윈도우7이 업그레이드 버젼이라 맥북에 부트캠프로 윈도우XP를 깔고 나서야 윈도우7이 깔린다면, 윈도우XP를 까는 와중에 맥북은 ODD를 내뱉지 않으므로 광미디어 표면에 적어둔 씨디키를 적을 수 없으니, 그걸 구웠던 메인 머쉰에서 ISO 이미지를 마운트 해서 해당 파일을 열고 씨디키를 적는다.

뭐 이런 상황이지. 아휴
보통 조리개 우선으로 찍고 가끔 매뉴얼, 야경시에는 벌브로 찍기 때문에 다이얼은 이 3가지만 사용해왔다.
C모드는 내가 알기로 설정값을 저장해놓고 쓸 수 있는 모드로 알고 있는데, 막상 C모드로 돌리면 P모드처럼 작동했다.

어딘가 C모드를 설정하는게 있을텐데..
5D 매뉴얼을 뒤지니 147쪽에(첨부파일 75쪽) 설명이 나와 있었다.

자세한건 아래 첨부파일을 참고!

IP 받아올 때 쓰는 DNS 주소를 사용하면, 어떤 영문주소를 nslookup 하든 이상한 IP 결과를 보여준다. 그래서 학교 전산실에서 쓰던 DNS를 설정해서 쓰곤 했는데, 그것 말고 더 좋은 방법이 있다.

211.106.67.221로 DNS를 설정하면 된다.
다른 DNS도 많지만, 넷피아에서 직접 알려주는 거니까 뭐..

출처 : http://www.netpia.com/htm/nxdomain/index.asp
Intro

If you utilize iPhone as a Voice Recorder frequently like me, you might have experienced a bug which results in NOT playable output file. It seems this happens with iOS4 when the recording time is long enough. - like 1hrs~ -


Cause
The phenomenon started after upgrading to iOS4 because of the MULTITASKING SUPPORT. When you record voice, iPhone internally write the data in ".mov" file, which is QuickTime Movie file. As you know, what you get when you sync your iPhone with your computer is ".m4a" file. That means iPhone converts the ".mov" file into ".m4a" file in real time.


I found this when I experienced this voice memo error.  In the Voice Memo app, the item I recorded shows "0 sec".


As I wrote above, it happens in long recordingAfter you've recorded for like less than an hour, you click on the stop button. Shortly after touching stop button, following HOME BUTTON occurs the error.



It seems something is being processed but never played back.

Because iPhone couldn't convert the ".mov" file into ".m4a", the files
remain incomplete in your iPhone. The MULTITASKING SUPPORT on iOS4 made this bug, because everytime you push HOME, current status is restored in some stack - even iPhone was converting something thru Voice Memo. That's why the converting cannot be completed.


Recovering the ruined voice memo

To recover this hopeless situation, use iPhone Explorer. You can easily find them and copy them out.


If you get single ".m4a" file, that's fully converted complete file. But as you see if you get 2 files in same name but different extension, copy the ".mov" file - the original. The left ".m4a" file is incomplete you don't neet it. Once you get the original ".mov" file, you can edit them with any audio editor you have like Adobe SoundBooth.
Notice that if you open ".mov" file with only playable player, it plays like 12 secs only.

<Click the image above to enlarge>

There's one more problem here. After you copy them, and restore it, the files still remain on the Phone. Though you delete the "0 sec" item on Voice Memo, it just delete incomplete ".m4a" file, which means the original ".mov" file still remain. So, to stay away from storage waste, you need to delete them manually with iPhone Explorer.


This is the screen shot after deleting a bunch of "0 sec .m4a" items on Voice Memo.



Conclusion

DO NOT push HOME BUTTON shortly after stopping the recording on voice memo, especially when you finished long record. yeah, still there's a way that we can recover, but cumbersome.
아이폰의 음성메모 기능 덕분에 강의를 잘 듣고 있었다. 어느날과 다르게 아이튠즈에서 싱크를 하려는데 이게 왠일? 싱크가 전혀 되지 않고 있는 것을 확인했다.
아이폰 상에서 음성메모에 들어가 확인한 결과 1시간 2시간짜리 녹음이 0초 이렇게 표시되고 재생조차 되지 않는 것이다.

무슨일인가 하고 구글신과 네이버친구의 도움으로 몇군데 뒤져보니, 애플포럼에 관련된 내용이 하나 있었다.(관련링크)
iPhone Explorer란 프로그램을 이용하여 내부를 뒤져서 루트 아래 음성메모(Recordins)라는 디렉토리에서 db파일을 삭제하니 해결되었다는 보고였다.

헌데 실제로는 그렇게 해결되지 않았다.
막상 그곳을 열었을 때는, 같은 파일이름을 가진, 확장자만 .m4a(원래 음성메모 녹음파일 결과물)과 .mov인 파일들이 같이 있는 것들과 .m4a만 있는 것들이 있었다.
KMPlayer나 다음 팟플레이어 등으로 재생했을 때는, .mov 파일은 12초 정도만 재생되고 끝났으며, .m4a 파일은 재생 자체가 불가능한 것들이 대부분이었다.

뭔가 낌새 이상한 걸 느꼈다.. '아! 혹시 .mov 파일이 raw 파일이고, 이걸 실시간으로 .m4a파일로 인코딩 하는건가?'

뭐 혼자 야밤에 하는 삽질이겠지만, 대충 그렇다고 느껴지는 단서가 몇개 있어서 여기에 남기고자 한다.

해결책은 맨 뒷부분에 따로 남겨놨으니..


일단 닥치고 백업부터 하고 봤다.. iPhone Explorer란 프로그램이 생각보다 웃긴게, 답답해서 계속 검색하던 중 나온 iPhone Configuration Utility라는 윈도우버젼의 프로그램을 같이 띄워두고 작업했는데, 결과가 다 로그에 남는 것 같다. 혹시 AS에 불이익이 있으면 어쩌지..
그럼에도 불구하고 iPhone Explorer는 읽기 뿐만 아니라 쓰기까지 지원하는 등, 매우 훌륭했다.
앞에서도 언급했듯이, Recordings.db파일을 삭제하는 것만으로는 해결되지 않았다.
문제는 아까의 가정처럼, 인코딩이 마무리 되지 않은채 종료된 그 시점에서 에러가 발생했을 것이라는 추측인데, 이건 어디까지나 추측이고, 대신 .mov 파일의 파일 크기가 매우 크다는데 의문점이 들었다..

44.1kHz 샘플링에 64Kbps 전송율.. 그런데 약 한시간짜리가 30메가? 그럴리가..
아니나 다를까 구글링 중에 어떤 사람은 Adobe Premiere로 열었더니 다 열렸다는 사람이 있었다..

뭐야 이건.. 나는 열어봤는데 안열리던걸..
나는 주로 음성 편집하던 프로그램인 Adobe SoundBooth로 열어봤다..

빙고!

일단 녹음 자체는 살아있다는 것을 확인했다.
이제, 아이폰에서 다 못 이룬 것을 내가 이루면 될테니..

그런데 문제는 여기부터였다..

자, 이제 .mov 파일도 모두 백업했고.. 나중에 편집하면 되니까 아이폰 상에선 지워야지.. 하면서 하나하나 수동으로 음성메모 안에서 지웠는데,
혹시나 해서 들어가본 음성메모 위치에 .mov 파일이 그대로 남아있는게 아닌가!!


자, 그럼 이런 상황을 가정해 볼 수 있겠다. 만약 이번과 같은 사태가 다시 발생하게 된다면, 그래서 음성메모 어플 상에서 오류난 해당 음성파일들을 지운다 하더라도 *.m4a 파일만 삭제되고 *.mov 파일은 삭제되지 않을 것이다.

약간 의왼데, 아마 .m4a 파일의 인코딩은 항상 성공하고, .mov 파일은 그 시점에서 삭제되는 것이 당연하게 코딩되어 있어서, 음성메모 어플 상에서 음성파일을 지울 때, .m4a 파일만 삭제하도록.. 즉, 내가 겪은 이 상황에 대한 에러 핸들링은 되어있지 않아 .mov 파일은 항상 남도록 코딩된 듯 하다..
결국 손으로 지워줘야하는..


아.. 새벽 4신데.. 지금 이거 뭐하는거지..





-------------------- 2010/07/31 01:26 내용 추가 --------------------
이곳에 iOS4 음성메모 관련 에러에 대한 조금 더 자세한 증상과 재현을 확인하실 수 있습니다. 참고하세요~

0. 들어가며


앞서 제공한 libtiff 컴파일법으로 컴파일하면, 압축된 파일들을 읽지 못한다. 완전 망ㅋ의 상황. libtiff를 가지고 여러 tiff파일을 읽던 중, 작동하지 않는 에러메시지도 아닌, libtiff 자체 내부에서 주는 warning들이 많이 뜬다. 대부분 헤더의 태그를 읽을 때 나타나는 warning인데, warning은 어쨌든 넘어갈 수 있다. 하지만, 일부 이미지를 읽는 과정에서 아래와 같은 에러를 뱉는다.

"AdobeDeflate compression support is not configured."
왓더헬 이건 대체 뭥미? 하는 것도 잠시. "configured"에서 힌트를 얻었다. '아, 빌드 할 때, 압축에 관한 내용이 포함되지 않았구나..


1. 문제점

앞서 말했듯, nmake를 통해 libtiff를 빌드하면, .lib, .dll 파일을 생성한다. 하지만, 빌드 과정에서 zlib, 즉, 압축 알고리즘을 가지고 있는 라이브러리를 포함시키지 않으면 tiff 파일을 읽을 때, 압축된 tiff 파일을 읽고 쓸 수 없다. zlib를 libtiff의 프로젝트에 include 하기 위해서, 해당 소스를 전부다 옮겨서 obj 파일로 만들어 링크하려 했으나 좋은 방법이 아니다. 검색하던 중에, nmake.opt 파일을 수정하면 될 것 같은데 잘 모르겠다는 예전 쓰레드를 발견하고 직접 열어보았다.
As I posted before, if you build libtiff with microsoft nmake, you get .lib and .dll files. But if you do not include the "zlib" - the library that has compression algorithm, your program cannot read any compressed tiff. I tried to include the "zlib" sources so that the obj files from the sources can be added to the "libtiff" project, but that was not a good idea. Googling, I found a thread that discussed about this issued and someone said that this situation MAY progress if we modify "nmake.opt" but he had no idea how to fix it exactly.


2. 해결법 - Solution

윈도우 환경에서 nmake를 이용하여 빌드할 때의 해결법만 간단히 적으면, tiffconf.vc.htiff_zip.c, 그리고 nmake.opt를 수정한다. 앞의 두 파일은 소스 디렉토리 루트 아래 libtiff 안에 있고, nmake.opt는 소스 디렉토리 루트에 존재한다.
Based on windows system with Visual Studio 2008, the solution is this: modify tiffconf.vc.h, tiff_zip.c, and nmake.opt. The previous two files exist in the "libtiff" directory under the root directory of source, and "nmake.opt" exists in the root directory of source.

tiffconf.vc.h는 tif_config.vc.h와 헷갈리기 쉬운데, 후자(tif_config.vc.h)의 경우, nmake가 전자(tiffconf.vc.h)를 이용해서 단순히 복사하는 파일이기 때문에, 빌드 과정에서 덮어씌워져 실제로 고쳐야 할 파일은 tiffconf.vc.h임을 유의해야한다. 또한, tiffconf.h도 있으니 Visual Studio(vc)라고 쓰여진 헤더를 찾아 고쳐야한다. tiffconf.vc.h를 보면 78, 79번째 줄에
/* Support Deflate compression */
/* #undef ZIP_SUPPORT */
와 같은 부분이 있다. 이 부분을 다음과 같이 고쳐준다.
/* Support Deflate compression */
#define ZIP_SUPPORT 1
tiffconf.vc.h can be easily confused with tif_config.vc.h. But the later is copied from tiffconf.vc.h by nmake while you build. So make sure you're modifying "tiffconf.vc.h". Moreover, there's "tiffconf.h". DON'T BE CONFUSED! we're under windows system with Visual Studio(vc). Double-check your file.
In 78, 79th lines in tiffconf.vc.h there's a part above. Change it as i've shown above so that it can ZIP_SUPPORT.

ZIP_SUPPORT를 사용하겠다고 환경설정을 했으니, libtiff가 진짜로 zip을 사용하는 tiff_zip.c를 고쳐야 한다. 물론, 지금 전제는 zlib이 설치되어 있거나, zlib.h를 가지고 있거나 하는 것을 전제로 한다. Visual Studio 2008의 기본 include 디렉토리에 zlib.h를 가지고 있는지 여부는 확인해보지 않았다. 이 부분은 선택적일 수 있으나, tiff_zip.c가 zlib.h를 include하기 때문에 이 부분은 어찌되었든 만나게 되는 단계일 것이다. tiff.zip.c의 50번째 줄을 보면,
#include "zlib.h"
가 있는데, 이것을 다음과 같이 수정한다
#include <zlib.h>
Now, we made it ZIP_SUPPORT, we need to the body source that utilizes zip - tiff_zip.c. Of course, I'm developing this story under the condition that you have "zlib" or "zlib.h" itself. I don't know if Visual Studio 2008 does have the zlib.h in default include directory. So, this part(modifying tiff_zip.c) can be an optional step, but i think you're going to encounter an error that tiff.zip.c needs zlib.h anyway. Change it as i've shown above so that it can include the correct zlib.h.

다음으로, nmake.opt를 열어 66번째 줄을 보면, ZIP_SUPPORT부터 4줄이 comment 되어 있는데, 이 부분을 uncomment하고, 다음 예제와 같이 zlib의 위치와 라이브러리 파일 이름에 따라 알맞게 수정한다.
ZIP_SUPPORT = 1
ZLIBDIR  = d:/projects/zlib-1.2.1
ZLIB_INCLUDE = -I$(ZLIBDIR)
ZLIB_LIB  = $(ZLIBDIR)/zlib1d.lib
And finally, open up nmake.opt and uncomment the following 4 line starting from line # 66. After uncommenting those lines, fill out zlib location, and zlib file name correctly.


3. 결과

컴파일도 잘되고 안읽히던 tiff 파일도 잘 읽힌다. 혹시 모르니 파일이나 첨부해둘까.
Now it's good to compile again with nmake. I attached zlib1d.lib, libtiff.lib, libtiff.dll

0. 들어가기


libjpg와 libpng는 Visual Studio 상에서 잘 컴파일 됐다. 다행히도 개발자들이 친절하게 프로젝트 파일이나 솔루션 파일을 제공하기 때문이다. 그런데 libtiff는 뭐임!? 약간 불친절하다고 느낄 수 있게 그런 배려가 없다.
libtiff를 배포하는 공식사이트에서는 building법을 제공할 때, nmake 쓸줄 알아야되 라고 전제하고 있다.


1. 새로운 접근 - nmake

*nix 환경에서 여러 소스를 컴파일 하는데 사용되는 make. 그 make를 윈도우에 맞게 마이크로스프트에서 개발한게 nmake인 모양. GNU maek와 BSD make의 부분적인 기능만 지원한다고 한다.
무슨말이고 하니, 그래픽 환경(GUI)를 사용할 수 없고, 명령어 프롬프트에서 작업해야 한다는 뜻이다. 검은색 화면
당연히 처음엔 cmd로 커맨드 프롬프트 띄워 nmake라고 치면 아무것도 안된다. 시스템 환경변수의 PATH 설정하고, 다시 nmake하면 실행은 된다.
원래 make는 Makefile 안에 저장된 build 순서나 그런 정보에 따라 컴파일하고 링크하는 툴이다. libtiff는 os 버젼별로(?) 혹은 make 버젼별로 makefile을 나누어놨는데, Visual Studio의 nmake가 써야 하는 makefile은 makefile.vc
그래서 대충 설정해서, nmake /f makefile.vc 라고 치면 각종 에러를 뱉는데..


2. 새로운 문제

문제가 뭔고 하니 각종 헤더 파일을 include 하지 못한다는 문제이다. 여기서부터 본격적인 헤딩이 시작되는데, 필요한 헤더 파일을 계속 복사한다고 해도 쉽게 해결되지 않는다. 짜증내며 미리 컴파일된 .dll, .lib 파일을 찾아 쓰다보면 필요한 dependency를 가진 또다른 헤더들.. 헤더들을 다 포함시켜도 링크 과정에서 에러를 뱉는다.
The problem when you compile "libtiff" using nmake is that you encounter so many errors saying "cannot fine ***.h" - header files "libtiff" depends on. Although, you copy and paste those header, you get more serious error message during linking process.


3. 새로운 해결법

시작 - 프로그램 - Microsoft Visual Studio 2008 - Visual Studio Tools - Visual Studio 2008 Command Prompt 라는 것이 있다. nmake를 위한 환경을 미리 만들어 준 상태에서 커맨드 프롬프트 창을 열어주는 아이콘이다. 물론, C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC 경로에 가면, vcvarsall.bat 파일이 있다. 이것을 실행하면 컴파일 환경이 만들어져야 하는 것이 정상(?)인 것 같지만 꼭 그렇지가 않다. libtiff 공식 사이트에는 vcvarsall.bat를 윈도우 시작 전 실행되는 배치파일인 AUTOEXEC.BAT에 추가하든가 해서 어찌됐든 컴파일 환경을 만들라고..
There's a brilliant link for making compiling environment "start - program - Microsoft Visual Studio 2008 - Visual Studio Tools - Visual Studio 2008 Command Prompt". This enables your command prompt suitable for compiling with nmake. Even the libtiff official webpage infer vcvarsall.bat in "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC" and add it into AUTOEXEC.BAT.

4. 결과

아무런 에러, 경고 없이 컴파일 잘 된다.
It's now good to go.

제목에 영어는 붙여놨지만, 영어로는 크게 쓰지 않을 생각

0. 들어가기

libpng는 png 확장자를 가진 이미지 파일을 다루기 위한 라이브러리(library)이다. 윈도우용 라이브러리는 동적라이브러리(.dll)로 제공된다. 굳이 컴파일 하지 않고, 라이브러리를 다운받을 수 있지만, 컴파일 해보려면..
이곳에서 소스코드를 다운받을 수 있고, 컴파일된 라이브러리도 여기서 구할 수 있다. 나는 윈7 64bit를 쓰니까(물론 GnuWin32를 쓰면 되긴 하겠지만) 라는 핑계로 그냥 컴파일 해보기로 함. 옛날부터 이런 삽질 많이 했으니..

1. 컴파일을 위한 준비과정

소스코드를 받아보면, projects라는 디렉토리가 있는데, 그 안에 visualc71이라는 디렉토리가 있다. 친절하게 VS2005용 솔루션을 만들어주었다.
libpng를 컴파일 하기 위해서는 zlib라는게 필요하다. 마치 리눅스에서 아파치나 X윈도우 깔려면 미친듯한 의존성(dependency)가 있듯이. 자세히는 모르겠지만, png 압축 알고리즘에 zlib가 쓰이는 모양이다. zlib는 여러 압축 알고리즘에 쓰인다. 어디서 낯이 익었다 했는데 아마 리눅스 쓸 때, 깔리는 패키지 중에도 있는 모양.
zlib는 여기에서 다운받을 수 있다. 라이센스 문제 때문인지 libpng 내의 솔루션에 zlib 프로젝트가 추가되어 있지만 실제로 파일은 없다. 따라서 zlib를 따로 다운 받아서 png의 하위 디렉토리가 아닌, png 압축을 푼 디렉토리와 동등한 위치에 풀어서 디렉토리 이름을 zlib로 두도록 한다. 이해가 안되면, libpng 내의 솔루션을 열어서 zlib 프로젝트 파일들의 위치를 확인해보길..
libpng 솔루션 사엥서 zlib 파일들이 잘 열린다면, 다음 단계로 넘어가도록 하자. 심지어 .asm 어셈블러까지 있다 헐

2. 컴파일시 발생되는 문제점

대충 이런 비슷한 에러가 발생한다.
    inffas32.asm(647) : error A2070: invalid instruction operands    inffas32.asm(649) : error A2070: invalid instruction operands    inffas32.asm(663) : error A2070: invalid instruction operands    inffas32.asm(720) : error A2070: invalid instruction operands
이걸 고치기 위해 위의 invalid instruction ... 에 해당되는 에러 메시지와 libpng를 곁들여 구글신에게 물어봤더니 아니나 다를까 ( 원본링크 ) 세상엔 참 대단한 사람들이 많다..
    - movd mm7,[esi]    + movd mm7,dword ptr[esi]
에러 메시지를 더블클릭 하면 해당 에러가 나는 줄로 이동하는데, 2번째 오퍼랜드 앞에 dword ptr 을 추가해주면 된다.
if you encounter an error while you're compiling "libpng" on visual studio 2008, double-click the error message and fix the 2nd operand like (+). shortly you just add "dword ptr" right in front of the 2nd operand

3. 결과

잘 컴파일 된다. lib 파일도 잘 생성되고.. libpng13d.dll libpng13d.lib 파일 잘 생성된다.
이제 이걸 어떻게 가져다 쓸까 하는 고민이 남는군.. 일단 오늘은 여기까지

0. 들어가기


64비트 윈도우7에서 gVim을 깔았는데 마우스 우클릭 메뉴(영문 이름은 Context Menu 인가보다)에서 해당 파일을 바로 gVim에서 열게 해주는 기능이 작동하지 않는다. 이게 무지 편한데..
별 검색어로 다 검색해보다가 edit with gvim right click 라는 검색어에서 걸렸다.
우연찮게도 같은 스킨을 쓰는 어떤 사용자의 블로그.


1. 해결방법

문제점을 짚고 넘어가려고 했는데, 뭐 그냥 호환성 문제겠지.. 라고 생각하고 넘기면서, 레지스트리를 하나 추가해주면 된다.
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\Edit with Vim]

[HKEY_CLASSES_ROOT\*\shell\Edit with Vim\command]
@="C:\\Program Files (x86)\\Vim\\vim72\\gvim.exe \"%1\""

혹은 이것을 바로 다운로드.


2. 결과

결과는 스샷으로 대체한다.
그런데 첨부한 저 파일을 열으니 제대로 안열리네 ㅜ 아마도 문자셋 문제인 것 같군..
0. 들어가며

수학 관련된 내용을 정리하려면 수식 입력이 필수다. 예전에 관리자 실에서 일할 때, LaTex로 실험 보고서를 쓰던 후배가 있었는데, 그 후배가 알려준 MimeTex라는 것이 있다.
cgi 형식으로 c코드를 웹상에서 돌아갈 수 있도록 하는 프로그램으로 소스코드가 공개되어 있어 필요하면 다운받아 컴파일 할 수도 있다. 라이센스는 GPL
cgi 형식이지만, 바로  HTML의 <img> 태그를 이용해서 바로 사용할 수 있는 장점이 있다.



1. Previous Work

이전에 Tistory에서 수식을 입력하기 위해 몇가지를 검색한 결과 자바스크립트로 MimeTex가 아닌 다른 경로의 cgi에 이미지 링크를 이용하는 방법(해당 링크)을 검색했었다. 그게 벌써 6월인데, 귀찮아서 적용하지 않고 있다가 오늘 적용해보니 잘 작동하지 않는다. 해당 페이지의 결과도 링크가 깨지고, 이미지의 소스 경로를 살펴본 결과 올바르게 작동하지 않는 것 같아 다시 MimeTex를 사용하기로 한다.



2. 준비작업 - 원본 링크

몇가지 방법을 원본 링크에서 제시해두었다. 여기서는 가장 간단한 Alternative Solution 아래의 항목에 대해서 다루고자 한다.
외부 js를 이용하는 방식으로, Tistory의 스킨 편집기의 HTML/CSS 편집기를 연다.
skin.html부분의 <head>와 </head> 사이에 다음과 같이 입력한다.

 


3. 사용법


사용법도 MimeTex 설명 페이지에 나와 있듯이 <img> 태그를 이용하되, alt에 수식을 직접 적어주면 사용이 가능하다. 예제는 다음과 같다.
< IMG alt="tex: f(x) = \frac1{\sigma\sqrt{2\pi}}     \int_{-\infty}^x e^{-\frac{(t-\mu)^2}{2\sigma^2}}dt" >



4. 결과

tex: f(x) = \frac1{\sigma\sqrt{2\pi}} 
    \int_{-\infty}^x e^{-\frac{(t-\mu)^2}{2\sigma^2}}dt
아주 잘 되는 것을 알 수 있다.
이미지 크기가 조금 작으니 Future Work으로 이미지 크기 조절하는 것을 남겨둬 볼까
Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\*\shell\Edit with Vim][HKEY_CLASSES_ROOT\*\shell\Edit with Vim\command]@="C:\\Program Files (x86)\\Vim\\vim72\\gvim.exe \"%1\""

vimrc에 다음과 같이 추가

출처 : http://j.finfra.com/tt/435
awk -F: '$3> 500 {system("mkdir -p /home/" $1 "/pds/"); next };' /etc/passwd

:기호로 구분된 /etc/passwd 파일을 열어서 3번째 operand 값이 500을 넘으면, 즉 사용자ID(UID)가 500을 넘는 일반 유저에 대해서 첫번째 operand인 id명을 따서 홈디렉토리 아래 pds라는 디렉토리를 만든다.
포터블 한글2007을 설치하면 .hwp 파일이 시스템에 등록되지 않아서 더블클릭했을 때, 잘 열리지 않는 문제가 있다.
게다가 더블 클릭해서 수동으로 지정해줘도 등록이 안되는 경우도 있고..

내 컴퓨터 열어서 폴더 옵션에 들어간다.

들어가면 다음과 같은 화면이 나온다.


그림에는 잘 되있지만 저건 내가 다 했을때의 그림이고 ㅋ0ㅋ 지금 목표는 저 HWP 연결을 만드는게 목적이니까..

새로 만들기 하자..



그러면 이렇게 된다.

이제, 고급을 눌러서 어떤 응용프로그램을 사용할지, 파라메타는 어떻게 넘거야 할지 정해줘야 한다.


이렇게 되있는걸, 새로 만들기를 눌러서


명령 부분엔 적당히 open이라고 써두고, 찾아보기를 눌러서 프로그램의 위치를 잡아준다. 그러면 위와 같이 나오는데, 이렇게 하면 문제가 있다. 파일 경로에 빈칸(space)가 있으면 끊기는 것이다. 이런 종류의 문제는 command line을 이용할 때도 종종 나오는데, 해결법은 " "(double quota)로 묶는 것이다. 이렇게.


확인을 누르고 아이콘을 적절히 찾아서(실행파일을 다시 클릭하면 원래 아이콘들이 나온다) 지정해주고 끝내면 된다.(optional)


결론은 "%1" 파라메타를 " "로 묶어주는게 포인트.
reference from original FFmpeg group website : http://www.ffmpeg.org/download.html

# svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg

according to FFmpeg help on ubuntu, (https://wiki.ubuntu.com/ffmpeg)
current trunk is not stable because it's still changing so, it says to use revision 15261

# svn checkout -r 15261 svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
reference pace : on  https://wiki.ubuntu.com/ffmpeg , there's a procedure for svn snapshots "Compiling ffmpeg from upstream svn snapshots"

open terminal and type this command with super user privilege

# apt-get install liba52-dev libdts-dev libgsm1-dev libvorbis-dev  libxvidcore4 libxvidcore-dev libdc1394-22-dev libfaac-dev libmp3lame-dev libx264-dev libfaad-dev libtheora-dev libsdl1.2-dev

apt-get install liba52-dev libdts-dev libgsm1-dev libvorbis-dev  libxvidcore4 libxvidcore-dev libdc1394-22-dev libfaac-dev libmp3lame-dev libx264-dev libfaad-dev libtheora-dev libsdl1.2-dev

http://mindb.tistory.com/74

이 글을 참조한다.

결론은 키보드 레이아웃을 104키로 만든다.

리눅스 많이 좋아졌어~

+ Recent posts