iOSDev, zsh을 이용한 pngquant 스크립트.


zsh 의 기능 중 “**/*.png” 를 응용해서 recursive 하게 하위 디렉토리까지 pngquant 를
적용할 수 있게 만듬.

옵션은 각자에 맞게 수정이 필요.
“-s1 –quality 100” 는 적용 시간은 오래 걸리지만 최상 image quality 를 위한 옵션임.

pngquant -s1 --quality 100 **/*.png --ext .png --force

참고 URL :
http://stackoverflow.com/questions/9647920/recursively-batch-process-files-with-pngquant/9649214#9649214

KDE, “kde-open” command


KDE’s mac-like “open” command is “kde-open”.
ex)
$ kde-open keepass.kdbx

OS X Man Pages – open
https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/open.1.html

Resolved, TextMate 2, ‘gem_original_require’ : no such file to load — json (LoadError)


아래 내용은 참고 사항입니다.


[62/293] Generate ‘/Users/x/build/Te...extMate/about/Contributions.html’…
FAILED: bin/gen_html > /Users/x/build/TextMate/Applications/TextMate/about/Contributions.html~ -h Applications/TextMate/templates/header.html -f Applications/TextMate/templates/footer.html Applications/TextMate/about/Contributions.md Applications/TextMate/references.md && mv /Users/x/build/TextMate/Applications/TextMate/about/Contributions.html~ /Users/x/build/TextMate/Applications/TextMate/about/Contributions.html
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- json (LoadError)
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require'
from ./bin/gen_credits.rb:18
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require'
from (erb):11
from bin/gen_html:104
from bin/gen_html:104:in `open'
from bin/gen_html:104
[62/293] Copy ‘"Frameworks/OakTextVi...esources/Bookmark Hover Add.pdf"’…
ninja: build stopped: subcommand failed.

저는 MacPorts 를 사용하기 때문에 ruby에 필요한 것들을 port로 설치하고
Ruby.framework의 ruby 실행 파일을 port 의 ruby 후 위 에러가 해결되었습니다.


xcave@x% cd /System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin
xcave@x% ls -al
total 64
drwxr-xr-x 10 root wheel 340 11 16 06:09 ./
drwxr-xr-x 5 root wheel 170 9 7 22:44 ../
lrwxr-xr-x 1 root wheel 18 11 16 06:08 erb@ -> /opt/local/bin/erb
lrwxr-xr-x 1 root wheel 18 11 16 06:08 gem@ -> /opt/local/bin/gem
lrwxr-xr-x 1 root wheel 18 11 16 06:08 irb@ -> /opt/local/bin/irb
lrwxr-xr-x 1 root wheel 19 11 16 06:08 rake@ -> /opt/local/bin/rake
lrwxr-xr-x 1 root wheel 19 11 16 06:08 rdoc@ -> /opt/local/bin/rdoc
lrwxr-xr-x 1 root wheel 17 11 16 06:08 ri@ -> /opt/local/bin/ri
lrwxr-xr-x 1 root wheel 19 11 16 06:09 ruby@ -> /opt/local/bin/ruby
lrwxr-xr-x 1 root wheel 21 11 16 06:09 testrb@ -> /opt/local/bin/testrb

iOSDev, ImageOptim, 이미지 최적화, 앱 속도 크기 향상.


“iOSdev, PNG 최적화 스크립트.( pngcrush + advpngidat )” https://lum7671.wordpress.com/2011/11/16/iosdev-png-%EC%B5%9C%EC%A0%81%ED%99%94-%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-pngcrush-advpngidat/
글에 이여서 2탄으로 ImageOptim 앱에 대한 사용법이다.

1. 설치

http://imageoptim.com 에서 ImageOptim.app 을 다운 받고 /Applications 에 Drag & Drop 으로 설치를 한다.

2. 사용법

맥에서 앱을 실행하면 아래와 같은 윈도우 창이 뜬다.
이미지 파일을 Drag & Drop 으로 올려 놓으면 동작을 하며
자동으로 처리 이미지는 최적화된 새 이미지로 바꿔지게 된다.

또는

open -a ImageOptim.app *.png

와 같이 터미널에서 편리하게 실행 할 수도 있다.

3. 스크립트


#!/usr/bin/env bash
# -*- coding: utf-8 -*-
#
# 작성자 : 장두현
# 버 전 : 1.1
# 작성일 : 2012-03-08
# 수정일 : 2012-08-21
#
# * 맥 GUI용 : ImageOptim ( http://imageoptim.com/ )
#
# 사용법 :
# ./run_imageoptim.sh
# - 현재 디렉토리 이하 디렉토리 안의 모든 png 를 변환한다.
#
# 참고 : https://github.com/scribd/Xcode-OptimizePNG
#

cust_echo() {
echo -e "$1 $2"
}

APP_IMAGEOPTIM="/Applications/ImageOptim.app"

if [ ! -d "$APP_IMAGEOPTIM" ];then
cust_echo "요구사항체크:" "\nImageOptim.app 이 /Applications 디렉토리에 없습니다.\nImageOptim ( http://imageoptim.com/ ) 에서 어플리케이션을 받아서 설치하세요."
exit 0
fi

process_png()
{
cd $1
open -a ImageOptim.app *.png
}

DIR_PWD=$(pwd)

for directory in $(find $DIR_PWD -type d -print)
do
process_png $directory
done

4. 스크립트 사용법

이하 디렉토리에 있는 모든 png 파일을 ImageOptim.app 으로 최적화 한다.

예) Resource/Images/ 디렉토리 안의 png 파일을 최적화 하려면,
cd Resource
./run_imageoptim.sh

하면 된다.

※ 스크립트는 참고 용 임. 좀 더 다듬으면 거나 자신의 환경에 맞게 고치시길… 🙂

추가 Apple Developer 관련 링크 :
https://developer.apple.com/library/ios/qa/qa1681/_index.html#//apple_ref/doc/uid/DTS40009883

$ xcrun -sdk iphoneos pngcrush \
-revert-iphone-optimizations -q Local.png Local-standard.png

cmake, About advanced mode of ccmake.


ccmake에서 왼쪽은 일반모드, 오른쪽은 전문가모드(Advenced mode) 이다.
일반모드와 전문가모드는 키보드 “t”를 입력해서 토글(toggle)된다.

* 전문가 모드(Advenced mode)에서 “CMAKE_VERBOSE_MAKEFILE” 켜기(ON).

cmake는 기본적으로 컴파일 과정을 압축된 형태로 색을 입혀서 이쁘게 보여준다.
때로는 Makefile 에서 보여줬던 자세한 컴파일 내용이 보고 싶을 때가 있다.

$ make VERBOSE=1

또는

CMAKE_VERBOSE_MAKEFILE=ON

를 ccmake 에서 수정 가능하다.
전문가모드(Advenced mode)에 보면 해당 옵션이 OFF로 되있는 것을 볼 수 있다.

참고 :
CMake FAQ – Is there an option to produce more ‘verbose’ compiling?

CMake 이글루스 이전 글 – http://lum7671.egloos.com/tag/cmake

– 끝 –

iPhone, xmppframework 컴파일 참고사항.


xmppframework URL : http://code.google.com/p/xmppframework/

필요 Framework
1. CoreLocation.framework
2. libresolv.dylib
3. CoreData.framework
4. SystemConfiguration.framework
5. CFNetwork.framework

추가 필요 Framework
1. facebook-ios-sdk ( http://developers.facebook.com/docs/guides/mobile/ )

Linux, Emacs 내장입력기 사용하기. (외장입력기 끄기)


$HOME/.Xresources (없으면 만들고) 에 “Emacs.useXIM: off” 를 추가 해준다.


$ cat $HOME/.Xresources
...
Emacs.useXIM: off

참고,
예전에 이글루스에 쓴글, 다른 방법…
개미나라 : Emacs, 자체 입력기(input method) 사용하기.

– 끝 –

kr2u8, euc-kr to utf-8 script ( or u82kr )


euc-kr을 utf-8로 변경하는 스크립트이다.
KLDP에서 봤었고 지금은 출처를 찾기가 힘들다.
스크립트 내용은 원본에서 조금 수정을 했다. (Usage 정도)

[파일 내용 변경]
* kr2u8
$ kr2u8 [file] // 파일의 내용인 텍스트 인코딩을 변경한다.

* kr2u8R :
$ kr2u8R [dir] // 하위 디렉토리의 모든 파일의 텍스트 인코딩을 변경한다.
$ kr2u8R [dir] "*.cpp" // 하위디렉토리의 모든 cpp 파일의 텍스트 인코딩을 변경한다.

[파일(디렉토리)명 변경]
* kr2u8f
$ kr2u8f [file] // 파일명의 인코딩을 변경한다.

* kr2u8fD
$ kr2u8fD [dir] // 하위 디렉토리명 인코딩을 모두 변경한다.

* kr2u8fA
$ kr2u8fA [dir] // 디렉토리 안의 파일명 인코딩을 모두 변경한다.

* kr2u8fR
$ kr2u8fR [dir] // 하위 디렉토리명 & 파일명 모두 변경한다.

[파일 내용 변경]
* u82kr
* u82krR

[파일(디렉토리)명 변경]
* u82krf
* u82krfD
* u82krfA
* u82krfR

스크립트 다운로드 :
kr2u8_20110407.tar.bz2

※ mediafire 에서 다운 URL 링크를 copy 해서 링크를 만들었습니다. 혹시 다운로드가 안되면 댓글을 남겨주기 바랍니다.

fetchmail, 구글메일(gmail) 인증.


fetchmail 에서 구글메일을 다루려면 인증서가 있어야 워닝 없이 사용할 수 있다. $HOME/.fetchmailrc에 여러방법이 있지만 다음과 같이 3가지 정도로 설정할 수 있다.

1. 기본적인 설정 (폴링때마다 log에 워닝 발생)

poll imap.gmail.com protocol IMAP user “user@gmail.com” there with password “user_password” nofetchall keep ssl

2. 좀 복잡한 인증서 설치 방법

poll imap.gmail.com protocol IMAP user “user@gmail.com” there with password “user_password” nofetchall keep ssl sslcertck sslcertpath /etc/ssl/certs

3. 핑거프린트를 사용한 간단한 인증 방법. (추천)

poll imap.gmail.com via imap.gmail.com protocol IMAP user “user@gmail.com” there with password “user_password” nofetchall nokeep ssl sslfingerprint “4C:69:E2:E6:F9:6B:6C:4E:E9:8B:E1:C8:2B:B9:4F:B9”

※ 인증서, 핑거프린트 생성 방법.
$ openssl s_client -ign_eof -connect imap.example.com:993 > imap.cert
$ openssl x509 -fingerprint -md5 -in imap.cert

Original Post : http://mbrisby.blogspot.com/2007/12/fetchmail-in-ubuntu.html

kubuntu 10.10, KDE에 nabi 입력기 붙이기.


KDE는 nabi를 실행하기 전에 xim을 nabi로 지정하고
“QT_IM_MODULE=xim”를 해줘야 입력기가 붙는다.

이를 위해서 아래와 같이 한다.

1. 기본 입력기를 nabi로 선택한단.
% im-switch -c

2. “QT_IM_MODULE=xim” 를 추가한다.
% cd $HOME/.xinput.d
% cat ko_KR
XIM=nabi
XIM_PROGRAM=/usr/bin/nabi
XIM_ARGS=
GTK_IM_MODULE=xim
QT_IM_MODULE=xim

현재 ko_KR에 “QT_IM_MODULE=xim” 가 왜 안들어가 있는지 모르겠다.

% ls -al $HOME/.xinput.d/ko_KR
lrwxrwxrwx 1 x 28 2011-02-14 15:03 ko_KR /etc/X11/xinit/xinput.d/nabi