하드 디스크 하나가 맛이 살짝 갔다.문제는 그게 C 드라이브였다는 것. 이거 다 포맷하고 윈도우 새로 깔고… 하려니 엄두가 안 나서 약간의 꼼수를 사용해서 복원했다.맛이 간 드라이브의 내용을 멀쩡한 드라이브로 옮긴 뒤 맛이 간 것을 제거하는 쪽으로. 작업 과정은 대략 아래와 같았다.(설치 OS는 Windows 7임) 1. 드라이브 복제 EaseUS Partition Master Home Edition은 개인 사용자에겐 무료다.이 툴을 이용해서 C 드라이브의 내용을 다른 드라이브에 복제한다.이 때 Logical Partition으로 설정하지 않도록만 유의하면 된다.Primary Partition에서만 부팅이 가능하다. 2. 새 부트 드라이브에 부트로더 설치 드라이브를 복제했지만, 그 드라이브로는 부팅을 할..
비록 XBMC의 성능이 내가 원하는 100%는 아니지만, 결국 지르기로 했다.미진한 부분은 쓰면서 채울 수 있을 것 같기도 했고… 몇달 전만 해도 라즈베리 파이는 해외에서 직도입하거나 구매대행을 해야만 했다.하지만, 지금은 무려 옥션에서도 구매할 수 있게 되었다. 만세! 국내에서 구매할 수 있는 곳이 세 군데 정도 되는데, 배송비를 포함해 보면 금액은 다 똑같다.그래서, 옥션에서 그냥 지르기로 했다. 근데, 라즈베리 파이는 케이스가 포함되어있지 않다.그래서 별도로 구입할 필요가 있다.그리고, 사는 김에 방열판도 같이 구입… 그런데, 우리집 환경은 라즈베리 파이를 무선 LAN에서 사용해야 한다.그래서 라즈베리 파이에 연결 가능한 것을 하나 구입하기로 했다.선택한 제품은 ipTime의 NCUBIC. 이렇게 ..
라즈베리 파이는 딱 1년 전인 2012년 1월 29일 영국의 라즈베리 파이 재단에서 공개한 SBC이다. 저렴한 가격에 높은 성능을 보장하는 라즈베리 파이지만, 그닥 관심을 두지 않았다.이게 있다고 딱히 뭘 할 수 있을 것 같지 않았기 때문이다. 그런데, 내 티비와 PC 구성을 보니, 이거 하나면 현재 구성의 문제를 한방에 해결할 수 있다는 걸 알았다.미디어센터의 지존 XBMC가 이 라즈베리 파이에서 돌아가기 때문이었다. 그래서, 이걸 구성하기로 하고, 설치를 준비하기로 했다. 1. SD 메모리 라즈베리 파이는 하드디스크 대신 SD 메모리를 사용한다.OS 및 관련 어플을 설치하는데는 4GB면 충분하다고 한다. 혹시 집에 남는 SD 메모리가 있는지 뒤져봤다. 4기가 둘, 8기가 하나, 16기가 하나… 그렇다..
2012/11/10 - [IT/iPhone] - iOS용 동영상 변환기 v7.4d 업데이트 새해 첫날을 맞이하여 VCi를 8.0으로 업데이트했다. ('13. 1. 20에 v8.3으로 업데이트)지난 업데이트가 약 두 달 전이었으니 실로 오랜만의 업데이트다.이번 업데이트를 통해 특히 옵션 부분 단순화, 상태바 보강 등을 포함해 인터페이스가 대대적으로 간략화되었다.정말 놀랍지 않은가! 이 과정에서, 기존 버전들에서 화면 하단에 주렁주렁하게 달아놓았던 옵션들을 별도 창으로 분리했다. 한 가지 더 있는데… 챕터 기능을 구현했다.이전 포스팅(뭔가 이상한 iOS 비디오 재생기의 챕터 기능)에서도 설명한 모든 기능을 포함한 것이다. 이 모든 기능이 포함된 VCi의 새버전은 아래 링크에서 다운받을 수 있다. ▲ VCi의..
VCi의 핵심 프로그램인 ffmpeg에 적용한 옵션들이 적절한지를 확인해보기로 했다.현재 선택 가능한 옵션이 너무 많다는 생각이 들었기 때문이다. 비디오와 오디오를 구분해서 인코딩 시험을 해봤다.소스는 [다크 나이트 라이즈]의 어떤 장면… 1. 비디오 비디오 시험의 초점은 세 가지이다. a. 2-passes slow / fast / very fast / ultra fast 는 정말로 성능과 품질의 차이가 있는가b. 1-pass default의 성능과 품질은 다른 것과 비교해서 어떠한가?c. 현재 VCi 배포본에 포함된 0.11.1과 최신 버전인 git-498e1c6(2013.1.4)의 차이는 있는가 동일한 소스에 대해 인코딩해본 결과 아래와 같은 결과가 나왔다.old는 0.11.1을, new는 git-4..
iOS는 비디오 파일 포맷으로 mp4 포맷을 사용한다.그리고, 이 mp4 포맷의 기능들을 꽤나 깨알같이 잘 지원한다.예컨데, 자막의 경우 안드로이드 폰들이 거의 지원하지 않는 내부자막을 꽤 충실하게 지원한다.(많은 안드로이드 어플들은 smi, srt 등의 외부자막만을 다양하게 지원함) 그리고, 이 mp4 포맷은 꽤 멋진 챕터 기능을 갖고 있다.mkv 포맷과 더불어 챕터 기능을 준수하게 지원하는 포맷이다.게다가, mkv에서 챕터 정보를 아래와 같은 ogm 포맷으로 추출하면 mp4에 그대로 입힐수도 있다. CHAPTER01=00:00:00.000CHAPTER01NAME=IntroCHAPTER02=00:01:00.000CHAPTER02NAME=Act 1CHAPTER03=00:05:30.000CHAPTER03N..
드디어 아이폰5가 출시되어 질렀다.나름 칼같은 타이밍에 SMS 신청을 했으나 우선 차수는 부여받지 못하고, 겨우 5차에 그쳤다. v^.^v 집에서 택배를 받은 것을 확인한 뒤 바로 KT에 연락해 개통 신청을 했다. 그러자… 그동안 써오던 아이폰4가 먹통이 되었다. 아이폰4 바이바이~ 이윽고, 집에 가서 아이폰5를 개봉… 예쁘다. 기존 마이크로 유심보다 더 작은 나노 유심을 꽂는다.위치는 기존 아이폰4와 거의 같다. 이렇게 하여 아이폰5의 개통이 끝났고, KT에서 같이 준 케이스를 끼웠다. 그리고, 사전에 아이튠즈로 백업해둔 내용을 아이폰5에 복원했다. 이 부분은 역시 애플 디바이스의 가장 큰 장점이다.사실상 아이폰4의 구성이 거의 그대로 넘어왔다.이제 아이폰5 라이프가 시작되었다! 덧1. 기존 사용하던 ..
2012/09/18 - [IT/iPhone] - iOS용 동영상 변환기 v7.3 업데이트 지금까지 내가 주력으로 지원하던 자막 포맷은 SAMI였는데, 이걸 SRT로 변경하기로 했다.이에 따라 여러 부분을 수정했으며, 이 과정에서 굉장히 많은 버그를 잡고 v7.4로 업데이트. VCi의 기능 및 특징은 아래와 같다. #일반 1. 대상 비디오 파일을 목록에 드롭한 뒤 변환 버튼을 클릭하면 알아서 변환함 지원 포맷:AVI,MKV,MP4(mov),MOV(qt),OGM,FLV,MPG(mpeg/dat/vob),WMV(asf),SWF,WebM 2. 저장 위치는 기본적으로 원본 폴더이며, 저장할 폴더를 지정 가능 3. 결과 파일은 원본 파일명 앞에 i]를 붙임 필요시 추가로 싱크를 보정하며, 결과물은 원본 파일명 앞에 ..
2012/09/29 - [IT/Notepad2] - Notepad2-mod r797 (92cfe59) 한글화 버전 공개 Notepad2-mod의 리비전이 어느덧 800에 이르렀다.지난 버전(r797)에 비해 커다란 변화는 없지만, 800을 기념하는 뜻에서 포스팅. r797에 비해 수정된 내용은 아래와 같다. - 마크다운 스타일 수정 (back:#EBEBEB 추가)- Scintilla 라이브러리를 13e09b27b3c8 HG로 업데이트 r800은 아래 링크에서 다운받을 수 있다.그리고, 언제나 그렇듯이, 한/영 x86/x64 버전이 모두 들어있다.
새 버전이 나왔습니다. 새 버전을 사용해주시기 바랍니다. 우리나라에서 자막 파일에 주로 사용되는 형식은 SAMI이다. 그런데, 이 포맷은 치명적인 문제들이 많다. 무엇보다도 HTML에 기반을 둔 포맷이라 표현하지 못하는 글자가 많다. 게다가, 쓸데없는 태그가 너무 많아 파일이 깔끔해보이지도 않는다. 그런 등의 이유로 개인적으로는 SRT를 더 선호했는데, 이번에 아예 SRT를 주력으로 하기로 했다. 자막 작업을 하면서 필요로 하던 기능들을 모아 SRT 자막을 손쉽게 조작할 수 있는 프로그램을 만들었다. 이 프로그램의 주요 기능은 아래와 같다. - SRT 파일 교정: SRT 파일을 읽은 뒤 오류를 수정한 뒤 다시 기록하거나 시간을 조정함 - 자막 변환: SAMI/SSA/ASS 자막을 SRT로 변환, SRT ..
2012/08/29 - [IT/Notepad2] - Notepad2-mod r770 한글화 공개 지난 버전인 r770을 공개한 지 한 달이 지났다.(언제나 그랬듯이) 그동안 많은 변화는 아니지만, 눈에 띄는 변화가 다소 있었다. r797까지 반영된 큰 변화들은 다음과 같다. - Scintilla 라이브러리를 180792ab9d89 HG로 업데이트- About 다이얼로그에 Notepad2-mod의 커밋 해쉬도 함께 출력- 마크다운 포맷 지원 추가 새로운 버전은 아래 링크에서 다운받을 수 있다.언제나 그렇듯이, 한/영 x86/x64 버전이 모두 들어있다.
근 5년만에 그동안 써오던 Q6600+DDR2 6GB를 업그레이드 했다.Q6600은 당시 쿼드코어 출시시기 경쟁에서 밀린 인텔이 조급하게 만든 듀얼x2 구조의 CPU였다.비록 순수한 쿼드는 아니었으나, 엄청난 가성비를 자랑하며 근 5년 정도 잘 써왔다. 이제 쿼드코어 CPU를 적절한 가격에 쉽게 구할 수 있기도 하고, 메모리 역시 저렴해서 업그레이드하기로 했다. - CPU: AMD A8 3870K Black Edition (쿼드코어)- M/B: Gigabyte A75M-S2V- Mem: AMD DDR3 4GB PC3-12800 (2EA) 언제나 핵심은 CPU… 대략 이렇게 생겼다.오랜만에, 아마도 근 10년만에 써보는 AMD인 것 같다. 받은 3가지만 조립한 결과는 이렇다.AMD 메모리가 은근히 눈에 띈..
윈도 7은 XP에 비해 UI 면에서 많은 변화가 있었다.그 중에 가장 내 눈에 띈 건 태스크바에서 프로그레스를 표시할 수 있다는 점이었다.이 기능 덕분에 백그라운드로 어플을 실행할 때도 진행상황을 알 수 있는 등 많은 장점이 있다. 이걸 사용하려면 Visual Studio 2008 이상에서 Windows 7 SDK를 설치하면 된다. (Code Project 참고) 그런데… 이 기능을 Visual Studio 6.0에서 사용할 수 있는지 궁금해졌다.그래서… 구글링을 해보니, 듕귁에 거주하시는 三毛라는 귀인께서 솔루션을 공개해 놓으셨다. (관련 포스트) 적용 방법은 이렇다. 1. 그 포스트 하단에 링크를 걸어둔 Win7Taskbar.rar을 다운받음2. 압축을 푼 뒤 ITaskBar.h 를 프로젝트 폴더로 ..
2012/03/04 - [일상생활들/아이폰4] - 아이폰용 동영상 변환기 v6.9 업데이트 블로그를 리뉴얼하며 VCi를 7.x대로 업데이트했다. VCi의 기능 및 특징은 아래와 같다. 1. 대상 비디오 파일을 목록에 드롭한 뒤 변환 버튼을 클릭하면 알아서 변환함 지원 포맷:AVI,MKV,MP4(mov),MOV(qt),OGM,FLV,MPG(mpeg/dat/vob),WMV(asf),SWF,WebM 2. raw 비디오가 mpeg4/H.264인 경우는 정확한 압축 옵션 확인후, 재생 가능하면 추출하고, 재생 불가능한 옵션이거나, 그 이외의 포맷인 경우는 H.264로 재인코딩함 재생 가능 여부는 iOS 5.x에서 수정된 규칙에 따라 확인함 또한, 사용자 선택시 무조건 H.264로 재인코딩할 수 있음 3. 비디오 ..
VCi를 업데이트하면서 중요한 문제점을 두 개 발견했다.VCi 포스팅에 포함시키기엔 애매해서 별도로 포스팅. 1. Vista/W7/W8에서 drag-n-drop 정상적으로 사용하기 윈도우를 사용하면서 UAC를 끄고 관리자 모드로만 사용했다.그런데, 이번에 PC를 포맷하면서 UAC를 켜고 써보니 관리자 권한에서는 drag-n-drop이 동작하지 않았다. 처음 발견된 새로운 버그라고 혼자 망상(?)을 잠시 했지만, 찾아보니 다 끝난 얘기다.Vista 부터는 권한이 낮은 프로세스에서 높은 프로세스로 메시지가 전달되지 않는다.애초에 UAC를 끄면 이런 문제가 없겠지만, 그건 좀 활동적X 스타일 해결책이고… 제대로 된 해결책은 ChangeWindowMessageFilter()로 메시지를 필터에 등록하는 것. 창의..
2012/07/12 - Notepad2-mod r752 한글화 버전 대공개 지난 버전을 공개한지 한달 반이 지났다.그동안, Notepad2-mod의 기능은 거의 변화가 없었다. php 키워드가 업데이트 되었고, C#의 글로벌 클래스의 하일라이팅이 추가되었다는 정도…그리고, Scintilla 라이브러리가 3.2.1을 거쳐 3.2.2까지 업데이트되었다는 정도… 그런데, Notepad2-mod의 버전관리 환경이 크게 변했다.그동안은 Google Code를 통해 버전을 관리했는데, 이제 Github를 통해 버전을 관리한다.그러면서 버전이 r770으로 올라갔다. (Google Code에서의 마지막 버전은 r760) Github를 통해 배포되는 첫번째 Notepad2-mod인 r770을 공개한다.아래 링크에서 다운..
1983년 브로더번드 사는 애플-][용으로 로드런너(Lode Runnder)라는 게임을 출시한다. 이 게임은 출시되자 마자 엄청난 인기를 끌었는데, 대략 아래와 같은 특성을 갖고 있었다. - 퍼즐형 아케이드 게임으로 분류되며, 150 레벨로 구성- 독특한 AI를 탑재한 추격자를 피해 금을 모으고 탈출하는 게 목표- 사용자가 맵을 만들 수 있는 최초의 게임- 애플-][ 용으로 처음 출시된 이후 MSX, MS-DOS, 아타리, 매킨토시 등으로 포팅됨- 다양한 후속작과 아류작이 나옴 애플-][ 버전이 인기를 끌고 이후 MSX 버전이 출시되자 나도 이 게임을 즐길 수 있었다. 지금 보니, 이해가 잘 되지 않는 것은 MSX 버전은 원작과 약간 달랐다는 것이다. - 원작은 로드런너(1983)-챔피언쉽 로드런너(19..
이전글에서 계속 2. 그런다고 압축을 제대로 하지도 않음 아래 보이는 그림을 보자. 한/글에서 추출한, 압축된 BMP의 압축을 풀었다 다시 압축한 결과이다. 압축된 원본의 크기는 96KB이고, 압축을 풀자 1,148KB의 BMP가 나왔다.이를 JPEG로 변환(Q=95)하자 88KB가 되었다.즉, JPEG로 변환하자 8% 정도 크기가 줄어든 것이다. 그런데, 웃긴 것은 1,148KB의 BMP를 zlib로 다시 압축하자 59KB가 되었다는 것이다.(level은 기본값인 Z_DEFAULT_COMPRESSION 적용) 대체 압축 라이브러리를 어떻게 적용한 것인지 모르겠다. 한/글의 이미지 처리는 커다란 개선의 여지가 있다.무엇보다 포함된 이미지가 BMP인 경우 PNG로 자동변환해주는 기능이 필요하다.옵션으로 (..
2012/08/11 - 한/글(한컴) 파일의 크기를 줄여주는 프로그램 HIS 공개 2010년 6월 한글과 컴퓨터는 한/글의 파일 포맷을 공개했다. 한글과컴퓨터는 한/글 문서의 바이너리 파일(.Hwp) 형식 공개 계획을 밝힌 바 있으며 이를 차질 없이 진행하였으며 Hwp의 XML 포맷인 HwpML의 국가표준(KS)화도 현재 진행되고 있습니다. 그런데, 막상 공개를 하고 나니 많은 프로그래머들이 포맷 공개에 대해 비판했다.공개된 포맷만으로는 아무런 프로그램도 만들 수 없다는 내용이 주였다. 수년의 세월을 걸쳐 개발한 것을 기껏 공개했더니 반응이 그런 식이라니… 1. 압축 파일의 이유 모를 왜곡 그런데, 이전 포스팅을 작성하기 위해 HwpML(이하 HML)의 자료를 분석하다보니 이상한 점이 발견되었다.압축을 ..
새 버전이 나왔습니다. 새 버전을 사용해주시기 바랍니다. 한글과컴퓨터에서 개발한 아래아 한글(이하 한/글로 표기)은 대한민국의 대표적 워드프로세서다. 그런데, 한/글로 문서를 작성하다보면 가끔 어이 없이 큰 파일을 만들 때가 있다.(이미지 두 장과 표 하나로 된 파일이 5MB 씩이나 되면 황당하다)원인은 간단하다. 이미지가 무려 무압축 BMP로 저장되기 때문이다. 사용자들이 이 문제를 계속 제기했더니 한/글 2010에서야 드디어 그림 줄이기 기능이 추가되었다. 그런데, 이 기능에는 치명적인 문제가 있다.크기가 심하게 줄어들어 품질이 손상되거나 크기가 안 줄어 별 효과가 없을 때도 있다는 것이다.게다가, 이미지의 크기가 줄어들어도 결국 무압축 BMP로 저장된다. 그래서 만들었다. 한/글 파일의 크기를 제대..
2012/03/06 Notepad2-mod r721 한글화 버전 공개 지난 버전을 공개한 뒤 무려 3개월 반 만의 업데이트다. 그동안 많은 변화가 있었다. 기반이 되는 Scintilla는 3.2.0으로 업데이트됐고, VS는 2012로 이름이 바뀌었다. 또, 지원되는 키워드도 조금씩 보강되었다. 그런데, 이런 비교적 소소한 내용과 별개로 엄청난 기능이 추가되었다. 다름 아닌 Zen-coding이 추가된 것이다. 젠코딩이 추가된 Notepad2-mod는 아래 링크에서 다운받을 수 있다. 이전 버전과 동일하게 한글/영문 버전이 모두 들어있으며 x86/x64 버전이 함께 들어있다. 2012.6.20: r747 업데이트 - 젠코딩 기능 추가- Scintilla 3.2.0 업데이트- 컴파일러 명을 VS2011에서 ..
무려 3개월이나 지난 얘기지만, PC를 뒤지다가 발견한 재미있는 구글의 만우절 장난 캡쳐… 지난 만우절에 구글은 8비트 NES 환경에서 돌아가는(?) 구글 맵스를 공개했다. 이 때 캡쳐해놓았던 화면이 있었는데, 이제야 포스팅… 우선은 울 처가 근처… 다음은 유럽과 아시아를 연결하는 터키의 보스포러스 및 다르다넬스 해협… 그 다음은 그 유명한 영국의 템즈 강 주변… 여기는 [골든아이] 오프닝에서 007이 번지점프를 했던 러시아스위스 베르차스카(Verzasca) 댐… 마지막으로 독일, 프랑스, 스위스, 이탈리아 전체… 좌우지간, 지도는 구글이 킹왕짱인 거다…
0. 발아점 (재활용) 이전 포스트 임의의 숫자가 제곱수인지 빠르게 판별하는 법에 이어지는 포스트임. 1. 문제에 대한 나의 접근(실패) \(a^2+b^2+4a^2b^2 = c^2\) 을 아래와 같이 변형한 뒤 \(a^2+b^2+2ab+4a^2b^2-2ab = c^2\) 아래와 같이 정리했다. \((a+b)^2+2ab(2ab-1) = c^2\) 여기서 모든 제곱수(\(c^2\))에 대해 이러한 관계를 만족시키는 a, b를 찾는 거다. 하지만, a, b는 Brute-Force하게 루프를 돌려야 되는데, 효율성이 낮다. (c가 100일 때 돌렸던 루프를 c가 1000일 때도 또 돌려야 함) 따라서 실패. 2. 치욱님 솔루션 a, b의 최대값은 \(\sqrt {20} \cdot 10^9\)이다. 여기서, a를..
0. 발아점 @chiw00k 님께서 트윗에 올린 질문을 해결하는 과정에서… @zaeku 님의 솔루션을 공부하면서 의문점이 생겼다. 제곱수인지를 식별하는데 갑자기 아래의 식이 튀어나온 것이다. h = n & 0xF 1. 기본형 임의의 숫자가 제곱수인지 판별하는 건 사실 그리 어렵지 않다. 대략 아래와 같은 함수만 하나 만들면 된다. bool IsSquare(unsigned int num) { unsigned int temp = (unsigned int)(sqrt((double)num)+0.5); return temp*temp == num; } 하지만, 아무리 컴퓨팅 파워가 좋아져도 sqrt()는 느린 함수다. 위의 함수를 돌리기 전에 제곱수가 아닌 경우를 배제하는 방법을 찾아봤다. 2. 10진수 두 수를 ..
이전 글에서 계속됨 5. 완성 그리고, 남은 이야기들 a. 주요 마일스톤 - 2차 도전 시작: 2012. 4. 5 - 변환 완료: 2012. 6. 16 - 디버깅 완료 후 원작자 통보: 2012. 6. 19 - Notepad2-mod 적용 완료: 2012. 6. 20 b. 누락된 약어 젠코딩에서 사용할 수 있는 약어는 구글 코드에서 확인할 수 있다. 그런데, css 쪽을 보다보니 구현되지 않은 코드가 하나 눈에 띄었다. exp가 css의 snippet(약어) 테이블에 포함되지 않은 것이다. 그래서 내 마음대로 추가시켰다. c. js의 구조는 은근히 파스칼을 연상시킴 예전에 파스칼을 한창 사용할 때는 함수 내에 다시 함수를 구현하는 구조를 무척 좋아했다. 무엇보다도 함수의 적용범위(scope)가 명확하다는..
이전 글에서 계속됨 2. 개발 언어 및 라이브러리 결정 js의 기본 자료형은 굉장히 많은 기능을 자연스럽게 제공한다. var a=[]; 선언 만으로도 동적배열 및 스택으로 활용할 수 있다. 문자열은 유니코드 형식을 기본으로 지원한다. 게다가, 무적의 정규식이 문자열 처리 코드를 간략하게 해준다. Notepad2는 C 및 C++로 작성되었으며, 코어 쪽은 C로 개발되어있다. 따라서, C++보단 C를 사용하는 게 Notepad2에선 조금 더 자연스럽다. 그런데, C엔 동적배열 같은 건 없고, 메모리는 malloc()/free()를 일일이 해줘야 된다. 사실상 문자열이라는 자료형은 없으며, wchar_t의 1차원 배열로 문자열을 흉내내야 한다. 정규식? 그게 뭥미. 그렇다고 C++에서 작업한다고 뭔가 크게 변..
0. Zen-coding이란… 젠코딩을 처음 접한 건 올해 3월, 생활코딩을 운영하시는 egoing님의 트윗을 통해서였다. 젠코딩은 2009년부터 러시아의 Sergey Chikuyonok씨가 개발한 입력 방식이다. 출처: http://opentutorials.org/course/128/1395 젠코딩은 대략 아래와 같은 도구이다. - HTML 코딩의 생산성을 향상시켜주는 도구 - 현재 eclipse, vim, dreamweaver, editplus 등에서 플러그인으로 구현됨 - js/Python 스크립트로 개발되었음 - 굉장히 심플하면서도 명확한 기능 이걸 메모장2 mod에 적용하기로 결정했다. 1. 사용자 인터페이스 결정 가. 화면 UI 우선 결정할 것은 입력 UI의 구성이었다. 기존 입력 환경처럼 편..