데이터 백업을 하다보면 다양한 이유에서 파일 복사가 실패하거나 특정 파일이 누락되는 경우가 발생한다. 특히 시스템이 점유하고 있어서 복사에서 누락된 파일이 있거나, 파일의 경로명이 파일시스템의 제약보다 길어서 복사에서 누락되는 파일이 생기기도 한다. 수백 기가바이트에서 수 테라바이트의 데이터를 백업하다가 몇개의 파일이 누락되었을 때에는 누락된 파일의 위치를 찾아내는 것도 어려울 뿐 아니라, 미완성된 복사본을 지우거나 다시 복사하는 일 또한 성공을 보장하지 못하는 매우 난감한 작업이 되기 쉽상이다.

이럴때 간절한 도구가 폴더 비교 및 동기화 도구이다. Araxis 사의  Merge 는 Windows 와 Mac 버전이 모두 존재하며 Two-way (Standard Edition) 뿐 아니라 Three-way 비교 (Professional Edition) 또한 가능하다. 30일 동안의 무료 Trial 버전도 제공한다.

특히 폴더 비교시에 컨텐츠를 비교하지 않고 파일의 크기와 타임스템프를 기준으로 비교하거나 파일 크기 및 타임스템프가 다를 때에만 컨텐츠를 비교하는 옵션을 사용하면 폴더 비교 시간을 대폭 단축할 수 있다.

이번에 1.5테라바이트의 NAS(Network-Attached Storage)를 보다 큰 6-bay 시스템으로 마이그레이션 하면서 발생한 파일 누락 문제를 해결하는데 절대적인 도움이 되었다. 너무 고마운 나머지 한 카피 구입해주고 싶지만, 당장 30일 Trial 버전으로 완벽하게 문제가 해결 된 마당에 충동 구매하기에는 Profesional Edition이 USD $269 로 만만치 않은 가격이다.

어찌되었던 매우 추천하는 어플리케이션!

http://www.araxis.com/merge/index.html



Posted by fermi

댓글을 달아 주세요

Requirements:

1. Messenger Plus
http://www.msgplus.net
2. growlnotify
http://www.growlforwindows.com/gfw/help/growlnotify.aspx

참고:

1. https://groups.google.com/forum/?fromgroups#!topic/growl-for-windows/MRa2hTTpKto
2. Messenger Plus Script Reference Docs
http://mpscripts.net/docs/

설정방법:

1. Messenger Plus 설치
2. Messenger Plus 의 Preference 창에서 Plugins - Plus! Plugins 에 새 플러그인 추가
3. 아래와 같이 스크립트를 작성하여 Growl.js 저장하고 실행

function OnEvent_Initialize(MessengerStart)
{
}

function OnEvent_Uninitialize(MessengerExit)
{
}

function OnEvent_ChatWndReceiveMessage(ChatWnd, Origin, Message, MsgKind){
if (Origin)
    var Org = Origin;
else
    var Org = "Unknown Contact";
switch (MsgKind){
    case 0:
        var Kind = "Unknown";
        break;
    case 1:
        var Kind = "Text";
        break;
    case 2:
        var Kind = "Wink";
        break;
    case 3:
        var Kind = "Voice";
        break;
    case 4:
        var Kind = "Search";
        break;
    case 5:
        var Kind = "Find";
        break;
    case 6:
        var Kind = "Offline Text";
        break;
}
var shell = new ActiveXObject("wscript.shell");
//var cmd = '"C:\\Program Files\\Growl for Windows\\growlnotify.exe" "' + Message + '" /t:"' + Origin + '"';
var cmd = '"C:\\Program Files\\Growl for Windows\\growlnotify.exe" "' + Message + '" /t:"' + Org + ' (' + Kind + ')"';
shell.Run(cmd);
}

function OnEvent_ChatWndCreated(ChatWnd){
var Contacts = ChatWnd.Contacts;
var e = new Enumerator(Contacts);
var Contact = e.item();
if (Contact)
    var Origin = Contact.Name;
else
    var Origin = "Unknown Contact";
var shell = new ActiveXObject("wscript.shell");
var cmd = '"C:\\Program Files\\Growl for Windows\\growlnotify.exe" "' + "WndCreated" + '" /t:"' + Origin + '"';
shell.Run(cmd);
}

문제점:
메신저로 들어오는 메세지는 잘 작동하나, SMS로부터 들어오는 메세지는 Growl 메세지가 생성되지 않음.  ChatWndReceiveMessage 이벤트가 발생하지 않는 것인지, Origin 변수가 누락되어 문제가 있는 것인지 확인 중.

-> 테스트를 위해서 컴퓨터에서 보낸 SMS가 아닌 외부에서 들어온 SMS는 대부분 정상 작동하고 있음.


Posted by fermi

댓글을 달아 주세요


Evilone's 음력 달력
- 1일, 15일 표기 -> 1일, 5일, 10일, 15일, 20일, 25일 표기로 변경
- 음력 x월 x일 표기 -> (음)x/x 표기로 변경
- 24절기의 경우 '24절기' 표기
- 세시의 경우 '세시' 표기
- 명절의 경우 '명절' 표기 
http://www.google.com/calendar/ical/khi0jajc5vot0u18umds83qf80%40group.calendar.google.com/public/basic.ics
출저: Evilone's Blog

음력달력 (old)
- 1일, 15일 표기
http://www.google.com/calendar/ical/i0q6etp3unuq4anaodvruqrufk%40group.calendar.google.com/public/basic.ics

대한민국 공휴일
- 공휴일만 표시
http://www.google.com/calendar/ical/46hp89gvrbnnh1gpadt0a4hdr4%40group.calendar.google.com/public/basic.ics

대한민국 기념일
- 공휴일 아닌 날도 표시
 http://www.google.com/calendar/ical/ko.south_korea%23holiday%40group.v.calendar.google.com/public/basic.ics
Posted by fermi

댓글을 달아 주세요

Spotlight, the Finder, the Dock, and Dashboard

/System/Library/CoreServices/Finder.app/Contents/Resources/
/System/Library/CoreServices/Dock.app/Contents/Resources/
/System/Library/CoreServices/Search.bundle/Contents/Resources/


System File and Folder Icons

/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/


Starting Up and Logging In

/System/Library/CoreServices/loginwindow.app/Contents/Resources/
/System/Library/CoreServices/SecurityAgent.app/Contents/Resources/


Storage Devices

/System/Library/Extensions/IOStorageFamily.kext/Contents/Resources/
/System/Library/Extensions/IOSCSIArchitectureModelFamily.kext/Contents/Resources/
/System/Library/Extensions/IOCDStorageFamily.kext/Contents/Resources/

Posted by fermi
TAG Icon, MAC, OS x

댓글을 달아 주세요

참고: Peter Kim 블로그 http://goo.gl/vQp88

Apple script 를 이용한 주소록 plug in 을 작성하면 Mac의 주소록에서 바로 전화를 걸 수 있다. Skype 또는 X-Lite 와 같은 VoIP를 즐겨쓴다면 매우 유용하다.

1. Skype calls from Address book

문제점: ~/Library/Address Book Plug-Ins 에 기본으로 설치되어 있는 Skype dialer 는 최신버전의 Skype 5.3.59 에서 작동하지 않는다.

아래 제공되는 Skype calls Apple script 를 다운받아 설치하면 작동한다.

http://faqintosh.com/risorse/en/othutil/addrbook/skype/

한가지 주의할 점은 Apple script를 열어서 +39로 적혀 있는 국가번호를 자신의 환경에 맞게 변경해야 한다. (+82로 변경)

2. X-Lite 4 phone calls from Address book

문제점: 구 버전의 X-Lite 에서 작동하는 Apple script 들이 X-Lite 4 에서는 작동하지 않는다. Xtendial 이라는 이벤트를 X-Lite 4 에서 더이상 지원하지 않는 것으로 보인다.

이를 해결하기 위해서는 임시 방편으로 System Events 인 Keystroke 를 이용하여 직접 X-Lite 4 에 전화번호를 입력하고 전화를 걸게 하였다.

아래 제공되는 X-Lite phone calls Apple script 를 다운받아 Xtendial 이벤트를 Keystroke로 수정한다.

http://faqintosh.com/risorse/en/othutil/addrbook/xlite/

한가지 주의할 점은 X-Lite 에서 사용하는 SIP 환경에 따라 prefix 를 변경해주어야 한다는 점이다. 본인의 경우는 국가 코드는 +82로, 전화 걸때 사용하는 prefix 는 +82 를 0 로 변경해주는 기능을 추가하였다. (아래 코드 참조)

수정한 내역은 다음과 같다.
- Xtendial 이벤트를 System Event 인 Keystroke 로 변경
- X-Lite 4 가 실행중인지 확인하는 과정 추가
- X-Lite 4 윈도우가 최소화 되어 있을때 복원하는 과정 추가
- 국가코드 +82 로 변경
- 국내전화 전용의 SIP 를 위하여 전화번호의 국가코드를 제거하고 0 을 앞에 붙이는 과정을 추가 (ex: +82-11-300-0000 을 011-300-0000 으로 변경)

알려진 문제점
- X-Lite 4 윈도우가 최소화가 아니라 아예 닫혀 있을때에는 복원이 되지만 윈도우의 focus 가 활성화되지 않는다.
- X-Lite 4 의 키보드 입력 focus 가 엉뚱한 위치에 있을때는 작동하지 않는다.

using terms from application "Address Book"
   
    on action property
        return "phone"
    end action property
   
    on action title for p with v
        return "Dial with X-Lite"
    end action title
   
    on should enable action for p with v
        return true
    end should enable action
   
    on perform action for p with v
        set phnum to my filternumber(value of v)
        display dialog "Are you sure you want to call to " & phnum & " with X-Lite?" with icon caution
        if appIsRunning("X-Lite 4") then
        else
            tell application "X-Lite 4"
                activate
            end tell
            delay 6
        end if
        tell application "X-Lite 4"
            activate
            tell application "System Events"
                tell process "X-Lite 4"
                    tell menu bar 1
                        tell menu bar item "Window"
                            tell menu "Window"
                                click menu item "X-Lite 4"
                            end tell
                        end tell
                    end tell
                    keystroke phnum
                    keystroke return
                end tell
            end tell
        end tell
    end perform action
   
end using terms from

on filternumber(n)
    set internationalPrefix to my getccode()
    set intPrefLen to (the number of characters of internationalPrefix) + 1
    set risp to my cleannumber(n)
    if risp starts with internationalPrefix then ¬
        return "0" & (characters intPrefLen thru -1 of risp) as text
    return (risp as text)
end filternumber

on cleannumber(n)
    set validChars to "+0123456789"
    set valids to every character of validChars
    set orig to every character of n
    set risp to ""
    repeat with c in orig
        if c is in valids then set risp to risp & c
    end repeat
    return (risp as text)
end cleannumber

on getccode()
    set prefs to "com.faqintosh.AddressBookScripts"
    set prefkey to " defaultInternationalPrefix "
    do shell script "defaults write " & prefs & " XLitePlugInVersion 1.1"
    try
        set ccode to do shell script "defaults read " & prefs & prefkey
    on error
        set ccode to ""
    end try
    if ccode is "" then
        tell me to activate
        set ccode to the text returned of ¬
            (display dialog "Please initialize this script by providing your default country prefix, that will be stripped when calling:" default answer "+82" with icon note)
        set ccode to my cleannumber(ccode)
        if ccode is "" then return ""
        do shell script "defaults write " & prefs & prefkey & ccode
    end if
    return (ccode as text)
end getccode

on appIsRunning(appName)
    tell application "System Events" to (name of processes) contains appName
end appIsRunning



Posted by fermi

댓글을 달아 주세요

Bookmarklets

정보기술/일반 2011/08/26 01:14 |
설치방법: 링크를 bookmark toolbar 에 끌어다 놓는다.

Reload via MIT Library Proxy: Reload via MIT
http://libraries.mit.edu/about/faqs/remote-proxystring-bookmarklet.html

Reload via NUS Library Proxy: Reload via NUS
http://lib.nus.edu.sg/lion/d/proxybkmrklet.html

QR-code on the fly: QR on the fly
http://marklets.com/QR+on+the+fly.aspx

Download YouTube Video: PwnYouTube
http://marklets.com/PwnYouTube.aspx
Posted by fermi

댓글을 달아 주세요

http://kldp.org/node/63419
http://pc-to-mac-changer.blogspot.com/2010/02/shell-script-text-unicode.html

Shell script 이용

한개의 파일에 대해서 변환

#/bin/bash
iconv -c -f euc-kr -t utf-8 $1 > $1.tmp
mv $1.tmp $1

폴더 내의 smi, srt, txt 파일에 대해서 모두 변환

find "$1" -name "*.smi" -o -name "*.srt" -o -name "*.txt" | while read filename
do
tempName=${filename}~temp~.txt
mv "$filename" "$tempName"
iconv -c -f euc-kr -t utf-8 "$tempName" > "$filename"
rm "$tempName"
done




Posted by fermi

댓글을 달아 주세요

http://clien.career.co.kr/cs2/bbs/board.php?bo_table=lecture&wr_id=87875
http://cdmanii.com/1535
http://www.parkoz.com/zboard/view.php?id=my_tips&no=14595

Speed test: http://www.youtube.com/my_speed
Hosts file of Windows 7: Windows\System32\drivers\hosts
DNS flush: ipconfig -dnsflush

# cdmanii_youtube_speedup _START #
Addresses:  2404:6800:4005:4::6        v1.lscache1.c.youtube.com
Addresses:  2404:6800:4005::6        v1.lscache2.c.youtube.com
Addresses:  2404:6800:4005:1::6        v1.lscache3.c.youtube.com
Addresses:  2404:6800:4005:1::6        v1.lscache4.c.youtube.com
Addresses:  2404:6800:4003:4::6        v1.lscache5.c.youtube.com
Addresses:  2404:6800:4003:5::6        v1.lscache6.c.youtube.com
Addresses:  2404:6800:4003:6::6        v1.lscache7.c.youtube.com
Addresses:  2404:6800:4003:7::6        v1.lscache8.c.youtube.com
Addresses:  2404:6800:4005::a        v2.lscache1.c.youtube.com
Addresses:  2404:6800:4005:4::a        v2.lscache2.c.youtube.com
Addresses:  2404:6800:4005:5::a        v2.lscache3.c.youtube.com
Addresses:  2404:6800:4005:1::a        v2.lscache4.c.youtube.com
Addresses:  2404:6800:4003:4::a        v2.lscache5.c.youtube.com
Addresses:  2404:6800:4003:5::a        v2.lscache6.c.youtube.com
Addresses:  2404:6800:4003:6::a        v2.lscache7.c.youtube.com
Addresses:  2404:6800:4003:7::a        v2.lscache8.c.youtube.com
Addresses:  2404:6800:4005::e        v3.lscache1.c.youtube.com
Addresses:  2404:6800:4005:4::e        v3.lscache2.c.youtube.com
Addresses:  2404:6800:4005:5::e        v3.lscache3.c.youtube.com
Addresses:  2404:6800:4005:5::e        v3.lscache4.c.youtube.com
Addresses:  2404:6800:4003:4::e        v3.lscache5.c.youtube.com
Addresses:  2404:6800:4003:5::e        v3.lscache6.c.youtube.com
Addresses:  2404:6800:4003:6::e        v3.lscache7.c.youtube.com
Addresses:  2404:6800:4003:7::e        v3.lscache8.c.youtube.com
Addresses:  2404:6800:4005::12        v4.lscache1.c.youtube.com
Addresses:  2404:6800:4005:4::12        v4.lscache2.c.youtube.com
Addresses:  2404:6800:4005:5::12        v4.lscache3.c.youtube.com
Addresses:  2404:6800:4005:5::12        v4.lscache4.c.youtube.com
Addresses:  2404:6800:4003:4::12        v4.lscache5.c.youtube.com
Addresses:  2404:6800:4003:5::12        v4.lscache6.c.youtube.com
Addresses:  2404:6800:4003:6::12        v4.lscache7.c.youtube.com
Addresses:  2404:6800:4003:7::12        v4.lscache8.c.youtube.com
Addresses:  2404:6800:4005:4::16        v5.lscache1.c.youtube.com
Addresses:  2404:6800:4005::16        v5.lscache2.c.youtube.com
Addresses:  2404:6800:4005:5::16        v5.lscache3.c.youtube.com
Addresses:  2404:6800:4005:5::16        v5.lscache4.c.youtube.com
Addresses:  2404:6800:4003:4::16        v5.lscache5.c.youtube.com
Addresses:  2404:6800:4003:5::16        v5.lscache6.c.youtube.com
Addresses:  2404:6800:4003:6::16        v5.lscache7.c.youtube.com
Addresses:  2404:6800:4003:7::16        v5.lscache8.c.youtube.com
Addresses:  2404:6800:4005::7        v6.lscache1.c.youtube.com
Addresses:  2404:6800:4005::7        v6.lscache2.c.youtube.com
Addresses:  2404:6800:4005:5::7        v6.lscache3.c.youtube.com
Addresses:  2404:6800:4005:5::7        v6.lscache4.c.youtube.com
Addresses:  2404:6800:4003:4::7        v6.lscache5.c.youtube.com
Addresses:  2404:6800:4003:5::7        v6.lscache6.c.youtube.com
Addresses:  2404:6800:4003:6::7        v6.lscache7.c.youtube.com
Addresses:  2404:6800:4003:7::7        v6.lscache8.c.youtube.com
Addresses:  2404:6800:4005:4::b        v7.lscache1.c.youtube.com
Addresses:  2404:6800:4005::b        v7.lscache2.c.youtube.com
Addresses:  2404:6800:4005:5::b        v7.lscache3.c.youtube.com
Addresses:  2404:6800:4005:1::b        v7.lscache4.c.youtube.com
Addresses:  2404:6800:4003:4::b        v7.lscache5.c.youtube.com
Addresses:  2404:6800:4003:5::b        v7.lscache6.c.youtube.com
Addresses:  2404:6800:4003:6::b        v7.lscache7.c.youtube.com
Addresses:  2404:6800:4003:7::b        v7.lscache8.c.youtube.com
Addresses:  2404:6800:4005:4::f        v8.lscache1.c.youtube.com
Addresses:  2404:6800:4005:4::f        v8.lscache2.c.youtube.com
Addresses:  2404:6800:4005:1::f        v8.lscache3.c.youtube.com
Addresses:  2404:6800:4005:5::f        v8.lscache4.c.youtube.com
Addresses:  2404:6800:4003:4::f        v8.lscache5.c.youtube.com
Addresses:  2404:6800:4003:5::f        v8.lscache6.c.youtube.com
Addresses:  2404:6800:4003:6::f        v8.lscache7.c.youtube.com
Addresses:  2404:6800:4003:7::f        v8.lscache8.c.youtube.com
Addresses:  2404:6800:4005:4::13        v9.lscache1.c.youtube.com
Addresses:  2404:6800:4005::13        v9.lscache2.c.youtube.com
Addresses:  2404:6800:4005:5::13        v9.lscache3.c.youtube.com
Addresses:  2404:6800:4005:5::13        v9.lscache4.c.youtube.com
Addresses:  2404:6800:4003:4::13        v9.lscache5.c.youtube.com
Addresses:  2404:6800:4003:5::13        v9.lscache6.c.youtube.com
Addresses:  2404:6800:4003:6::13        v9.lscache7.c.youtube.com
Addresses:  2404:6800:4003:7::13        v9.lscache8.c.youtube.com
Addresses:  2404:6800:4005:4::17        v10.lscache1.c.youtube.com
Addresses:  2404:6800:4005:4::17        v10.lscache2.c.youtube.com
Addresses:  2404:6800:4005:5::17        v10.lscache3.c.youtube.com
Addresses:  2404:6800:4005:5::17        v10.lscache4.c.youtube.com
Addresses:  2404:6800:4003:4::17        v10.lscache5.c.youtube.com
Addresses:  2404:6800:4003:5::17        v10.lscache6.c.youtube.com
Addresses:  2404:6800:4003:6::17        v10.lscache7.c.youtube.com
Addresses:  2404:6800:4003:7::17        v10.lscache8.c.youtube.com
Addresses:  2404:6800:4005:4::8        v11.lscache1.c.youtube.com
Addresses:  2404:6800:4005:4::8        v11.lscache2.c.youtube.com
Addresses:  2404:6800:4005:5::8        v11.lscache3.c.youtube.com
Addresses:  2404:6800:4005:5::8        v11.lscache4.c.youtube.com
Addresses:  2404:6800:4003:4::8        v11.lscache5.c.youtube.com
Addresses:  2404:6800:4003:5::8        v11.lscache6.c.youtube.com
Addresses:  2404:6800:4003:6::8        v11.lscache7.c.youtube.com
Addresses:  2404:6800:4003:7::8        v11.lscache8.c.youtube.com
Addresses:  2404:6800:4005::c        v12.lscache1.c.youtube.com
Addresses:  2404:6800:4005:4::c        v12.lscache2.c.youtube.com
Addresses:  2404:6800:4005:1::c        v12.lscache3.c.youtube.com
Addresses:  2404:6800:4005:5::c        v12.lscache4.c.youtube.com
Addresses:  2404:6800:4003:4::c        v12.lscache5.c.youtube.com
Addresses:  2404:6800:4003:5::c        v12.lscache6.c.youtube.com
Addresses:  2404:6800:4003:6::c        v12.lscache7.c.youtube.com
Addresses:  2404:6800:4003:7::c        v12.lscache8.c.youtube.com
Addresses:  2404:6800:4005:4::10        v13.lscache1.c.youtube.com
Addresses:  2404:6800:4005:4::10        v13.lscache2.c.youtube.com
Addresses:  2404:6800:4005:1::10        v13.lscache3.c.youtube.com
Addresses:  2404:6800:4005:1::10        v13.lscache4.c.youtube.com
Addresses:  2404:6800:4003:4::10        v13.lscache5.c.youtube.com
Addresses:  2404:6800:4003:5::10        v13.lscache6.c.youtube.com
Addresses:  2404:6800:4003:6::10        v13.lscache7.c.youtube.com
Addresses:  2404:6800:4003:7::10        v13.lscache8.c.youtube.com
Addresses:  2404:6800:4005:4::14        v14.lscache1.c.youtube.com
Addresses:  2404:6800:4005::14        v14.lscache2.c.youtube.com
Addresses:  2404:6800:4005:1::14        v14.lscache3.c.youtube.com
Addresses:  2404:6800:4005:5::14        v14.lscache4.c.youtube.com
Addresses:  2404:6800:4003:4::14        v14.lscache5.c.youtube.com
Addresses:  2404:6800:4003:5::14        v14.lscache6.c.youtube.com
Addresses:  2404:6800:4003:6::14        v14.lscache7.c.youtube.com
Addresses:  2404:6800:4003:7::14        v14.lscache8.c.youtube.com
Addresses:  2404:6800:4005::18        v15.lscache1.c.youtube.com
Addresses:  2404:6800:4005::18        v15.lscache2.c.youtube.com
Addresses:  2404:6800:4005:5::18        v15.lscache3.c.youtube.com
Addresses:  2404:6800:4005:5::18        v15.lscache4.c.youtube.com
Addresses:  2404:6800:4003:4::18        v15.lscache5.c.youtube.com
Addresses:  2404:6800:4003:5::18        v15.lscache6.c.youtube.com
Addresses:  2404:6800:4003:6::18        v15.lscache7.c.youtube.com
Addresses:  2404:6800:4003:7::18        v15.lscache8.c.youtube.com
Addresses:  2404:6800:4005:4::9        v16.lscache1.c.youtube.com
Addresses:  2404:6800:4005::9        v16.lscache2.c.youtube.com
Addresses:  2404:6800:4005:5::9        v16.lscache3.c.youtube.com
Addresses:  2404:6800:4005:1::9        v16.lscache4.c.youtube.com
Addresses:  2404:6800:4003:4::9        v16.lscache5.c.youtube.com
Addresses:  2404:6800:4003:5::9        v16.lscache6.c.youtube.com
Addresses:  2404:6800:4003:6::9        v16.lscache7.c.youtube.com
Addresses:  2404:6800:4003:7::9        v16.lscache8.c.youtube.com
Addresses:  2404:6800:4005:4::d        v17.lscache1.c.youtube.com
Addresses:  2404:6800:4005::d        v17.lscache2.c.youtube.com
Addresses:  2404:6800:4005:1::d        v17.lscache3.c.youtube.com
Addresses:  2404:6800:4005:5::d        v17.lscache4.c.youtube.com
Addresses:  2404:6800:4003:4::d        v17.lscache5.c.youtube.com
Addresses:  2404:6800:4003:5::d        v17.lscache6.c.youtube.com
Addresses:  2404:6800:4003:6::d        v17.lscache7.c.youtube.com
Addresses:  2404:6800:4003:7::d        v17.lscache8.c.youtube.com
Addresses:  2404:6800:4005:4::11        v18.lscache1.c.youtube.com
Addresses:  2404:6800:4005:4::11        v18.lscache2.c.youtube.com
Addresses:  2404:6800:4005:1::11        v18.lscache3.c.youtube.com
Addresses:  2404:6800:4005:5::11        v18.lscache4.c.youtube.com
Addresses:  2404:6800:4003:4::11        v18.lscache5.c.youtube.com
Addresses:  2404:6800:4003:5::11        v18.lscache6.c.youtube.com
Addresses:  2404:6800:4003:6::11        v18.lscache7.c.youtube.com
Addresses:  2404:6800:4003:7::11        v18.lscache8.c.youtube.com
Addresses:  2404:6800:4005:4::15        v19.lscache1.c.youtube.com
Addresses:  2404:6800:4005:4::15        v19.lscache2.c.youtube.com
Addresses:  2404:6800:4005:5::15        v19.lscache3.c.youtube.com
Addresses:  2404:6800:4005:1::15        v19.lscache4.c.youtube.com
Addresses:  2404:6800:4003:4::15        v19.lscache5.c.youtube.com
Addresses:  2404:6800:4003:5::15        v19.lscache6.c.youtube.com
Addresses:  2404:6800:4003:6::15        v19.lscache7.c.youtube.com
Addresses:  2404:6800:4003:7::15        v19.lscache8.c.youtube.com
Addresses:  2404:6800:4005::19        v20.lscache1.c.youtube.com
Addresses:  2404:6800:4005:4::19        v20.lscache2.c.youtube.com
Addresses:  2404:6800:4005:5::19        v20.lscache3.c.youtube.com
Addresses:  2404:6800:4005:5::19        v20.lscache4.c.youtube.com
Addresses:  2404:6800:4003:4::19        v20.lscache5.c.youtube.com
Addresses:  2404:6800:4003:5::19        v20.lscache6.c.youtube.com
Addresses:  2404:6800:4003:6::19        v20.lscache7.c.youtube.com
Addresses:  2404:6800:4003:7::19        v20.lscache8.c.youtube.com
Addresses:  2404:6800:4005:4::6        v21.lscache1.c.youtube.com
Addresses:  2404:6800:4005::6        v21.lscache2.c.youtube.com
Addresses:  2404:6800:4005:5::6        v21.lscache3.c.youtube.com
Addresses:  2404:6800:4005:1::6        v21.lscache4.c.youtube.com
Addresses:  2404:6800:4003:4::6        v21.lscache5.c.youtube.com
Addresses:  2404:6800:4003:5::6        v21.lscache6.c.youtube.com
Addresses:  2404:6800:4003:6::6        v21.lscache7.c.youtube.com
Addresses:  2404:6800:4003:7::6        v21.lscache8.c.youtube.com
Addresses:  2404:6800:4005:4::a        v22.lscache1.c.youtube.com
Addresses:  2404:6800:4005:4::a        v22.lscache2.c.youtube.com
Addresses:  2404:6800:4005:5::a        v22.lscache3.c.youtube.com
Addresses:  2404:6800:4005:5::a        v22.lscache4.c.youtube.com
Addresses:  2404:6800:4003:4::a        v22.lscache5.c.youtube.com
Addresses:  2404:6800:4003:5::a        v22.lscache6.c.youtube.com
Addresses:  2404:6800:4003:6::a        v22.lscache7.c.youtube.com
Addresses:  2404:6800:4003:7::a        v22.lscache8.c.youtube.com
Addresses:  2404:6800:4005:4::e        v23.lscache1.c.youtube.com
Addresses:  2404:6800:4005::e        v23.lscache2.c.youtube.com
Addresses:  2404:6800:4005:5::e        v23.lscache3.c.youtube.com
Addresses:  2404:6800:4005:5::e        v23.lscache4.c.youtube.com
Addresses:  2404:6800:4003:4::e        v23.lscache5.c.youtube.com
Addresses:  2404:6800:4003:5::e        v23.lscache6.c.youtube.com
Addresses:  2404:6800:4003:6::e        v23.lscache7.c.youtube.com
Addresses:  2404:6800:4003:7::e        v23.lscache8.c.youtube.com
Addresses:  2404:6800:4005::12        v24.lscache1.c.youtube.com
Addresses:  2404:6800:4005:4::12        v24.lscache2.c.youtube.com
Addresses:  2404:6800:4005:5::12        v24.lscache3.c.youtube.com
Addresses:  2404:6800:4005:1::12        v24.lscache4.c.youtube.com
Addresses:  2404:6800:4003:4::12        v24.lscache5.c.youtube.com
Addresses:  2404:6800:4003:5::12        v24.lscache6.c.youtube.com
Addresses:  2404:6800:4003:6::12        v24.lscache7.c.youtube.com
Addresses:  2404:6800:4003:7::12        v24.lscache8.c.youtube.com
# cdmanii_youtube_speedup _END #

Posted by fermi

댓글을 달아 주세요


1. Seas0nPass를 이용한 Jailbreak

http://lifehacker.com/5733077/how-to-jailbreak-your-2g-apple-tv

Seas0nPass 진행과정에서 DFU 모드로 들어가지 못하는 문제가 발생할 경우, 컴퓨터와 USB 케이블이 연결된 상태에서 전원 아답터를 연결했다가 전원 아답터를 분리한 후 DFU 모드 진입을 시도하면 정상적으로 진입이 가능한 경우가 있다.

2. XBMC 설치

http://lifehacker.com/5739364/how-to-install-xbmc-on-your-apple-tv-2
http://wiki.xbmc.org/index.php?title=Install_XBMC_on_ATV2

$ ssh root@<your ATV2 IP address>
root@<your ATV2 IP address>'s password: ''enter your password here, it should be "alpine" if you haven't changed it''
$ apt-get install wget
$ wget -O- http://apt.awkwardtv.org/awkwardtv.pub | apt-key add -
$ echo "deb http://apt.awkwardtv.org/ stable main" > /etc/apt/sources.list.d/awkwardtv.list
$ echo "deb http://mirrors.xbmc.org/apt/atv2 ./" > /etc/apt/sources.list.d/xbmc.list
$ apt-get update
$ apt-get install org.xbmc.xbmc-atv2

3. XBMC nightly build 업데이트

(기능상의 문제로 안정화 버전 대신 nightly build 로 업데이트를 원한다면)
http://nawhko.tistory.com/43
http://forum.xbmc.org/showthread.php?t=100741

많은 가이드에서 제시하고 있는 http://hadm.net/~keith/xbmc_atv2/latest_atv2.deb 주소는 더이상 존재하지 않아 인터넷에서 찾아낸 주소:
http://xctechs.info/files/latest_atv2.deb
(참고: http://www.youtube.com/watch?v=dO958x9aVTk)

$ ssh to your AppleTV2
$ cd /private/var/tmp
$ wget <url to the latest build>
$ dpkg -i latest_atv2.deb
$ rm latest_atv2.deb

4. XBMC crash 문제 해결

http://forum.xbmc.org/showthread.php?p=769750

Apple TV 의 업데이트 알림 설정으로 인하여 XBMC 실행중 잦은 crach 가 발생하는 문제는 updatebegone 설치로 해결 가능하다.

$ apt-get install com.nito.updatebegone

5. 한글 표현

System > Appearance 에서 글꼴을 Arial 로 변경, Character set 을 Korean 으로 변경하면 한글로 된 파일명이 제대로 표시된다.

Posted by fermi

댓글을 달아 주세요

802.11n 은 흔히 사용하는 2.4GHz와 5GHz를 모두 지원하지만, 대부분의 저가형 라우터들은 듀얼밴드를 지원하지 않고 2.4GHz만을 지원한다. 5GHz에서는 좀처럼 일어나지 않는 packet loss가 2.4GHz로 연결했을 때에는 빈번하게 간헐적으로 발생하여, 이 문제를 해결한 방법을 기록하여 둔다.

802.11n 무선랜에는 AP와 NIC(랜카드) 모두 다음과 같은 Channel Width 설정이 있다. 일반적으로 기본 설정은 20MHz로 설정되어 있으나, 보다 나은 성능을 위하여 20/40MHz로 설정하여 사용하는데, 본인의 경우 AP는 20/40MHz로 설정되어 있으나, NIC는 20MHz가 기본값으로 설정되어 있어서 윈도우의 드라이버 설정에서 2.4GHz 밴드의 Channel Width를 Auto로 변경을 해준 후 문제의 심각한 packet loss가 말끔히 해소되었다.


<그림1> 라우터의 Channel Width 설정


<그림2> NIC의 Channel Width 설정


흥미로운 것은 5GHz 밴드의 Channel Width 설정은 기본값이 Auto로 설정되어 있어서 여태까지 문제를 일으킨 적이 없었던 것이다. 단순히 5GHz의 사용이 아직 보편화되지 않아 간섭이 적어서 보다 안정적인 통신이 이루어지고 있다고 생각했었으나, 2.4GHz에서도 Channel Width 를 40MHz로 넓혀준 결과 문제가 해소되었으니, 아마도 Channel Width의 설정 문제인 듯 하다.
저작자 표시 비영리 변경 금지
Posted by fermi

댓글을 달아 주세요

Requirement:
- PostgreSQL
- PostGIS
- 데이터베이스를 생성할 때는 postgis 데이터베이스를 template로 생성하여야 한다.

방법:
- PostgreSQL 의 bin 디렉토리에 포함된 shp2pgsql.exe 를 이용하여 shapefile 을 sql 스크립트로 변환한 후 스크립트 실행
- shape 파일 과 함께 제공되는 dbf, prj, shx 정보가 같은 디렉토리에 있어야 한다.
- 사용법은 shp2pgsql.exe shapfilename schema.tablename > scriptfilename.sql
ex) shp2pgsql.exe TM_WORLD_BORDERS_SIMPL-0.3.shp public.world_borders_simple > TM_WORLD_BORDERS_SIMPL-0.3.sql
- 스크립트 실행은 PgAdmin III 를 이용해도 될 것이고 (확인 필요), 본인은 PostgreSQL Maestro 에서 데이터베이스 프로파일을 선택한 후 우클릭하면 나타나는 팝업 메뉴에서 Database Tools > Execute script from file 기능을 이용하였다.

참고자료:
http://khayer.wordpress.com/2009/10/29/creating-database-and-importing-shape-file-in-postgis/
http://www.paolocorti.net/2006/07/27/migrating-shapefiles-to-postgis/

활용예:
World borders dataset 을 PostgreSQL 데이터베이스에 저장할 수 있다.
http://thematicmapping.org/downloads/world_borders.php
Posted by fermi

댓글을 달아 주세요

Ubuntu Software Center 에서
- Edit 메뉴 > Software Sources 선택
- Other Software 탭에서 Add 버튼 클릭 후
- ppa:synapse-core/ppa 입력 후 Add Source 버튼 클릭
- 완료후 Synapse 검색하여 설치

명령어를 사용하여 설치할 수도 있다.
sudo add-apt-repository ppa:synapse-core/ppa
sudo apt-get update
sudo apt-get install synapse

참고: http://www.webupd8.org/2011/02/synapse-launcher-024-released-with-new.html
Posted by fermi

댓글을 달아 주세요

오랜만에 일반인은 관심도 없는 서버, 가상화, 웹 서비스, 데이터베이스 설정에 대한 팁이 아니라 그냥 데스크탑 OS에 대한 팁을 기록해 봅니다만, 이 역시 깨알같은 내용이라 일반 남자사람이나 여자사람은 관심이 없을 만한 내용이군요.

** 본 포스팅은 굵직 굵직한 App 위주의 사용 팁이 아니라 Command prompt를 사용하는 Unix 스타일의 깨알 같은 Mac OS X 사용 팁을 정리합니다. (진행 중...)

1. hosts 파일 수정

Mac OS X 10.6.x 의 hosts 파일의 위치는 다음과 같습니다.
/private/etc/hosts

아시다시피 이 hosts 파일을 admin 권한으로 열어서 수정해 주시면 되겠습니다.
작성 형식은 xxx.xxx.xxx.xxx hostname1 hostname2 ...
와 같이 동일한 ip address 에 대하여 여러개의 호스트네임을 매핑시키고 싶으면 주욱 나열해 주면 됩니다.

(이건 순전히 OS X의 hosts 파일이 어디있나 기록해 두려고 적은 것임....ㅡㅡ;)

수정후에 DNS cache를 지우기 위해서는 다음 명령어를 실행합니다.
$ dscacheutil -flushcache

2. to be continued...

Posted by fermi
TAG MAC, OS x,

댓글을 달아 주세요

VMware vSphere Hypervisor ESXi 4.1 에 iSCSI 저장장치를 연결하는 방법에 대한 안내


Posted by fermi

댓글을 달아 주세요


서론
가상화 (Virtualization) 의 장점은 명확하기 때문에 피할 수 없는 선택이다. VMware Server 등과 같은 서버 가상화 소프트웨어 제품들은 일반적으로 자체적으로 NAT (Network Address Translation) 솔루션을 포함하고 있는 것에 반하여 VMware vSphere Hypervisor (ESXi) 등과 같이 OS 레벨에서 가상화를 제공하는 Hypervisor 제품군들은 NAT 를 제공하지 않는다. 그 대신에 Network 까지도 가상화하는 것이 가능하여 가상의 Switch 를 만들고 Network group 을 생성하는 것이 가능하여 본격적인 가상 Network 를 구축할 수 있다. 이를 위해서는 Router 역할을 하는 Virtual Machine 이 존재하여야 한다. Vyatta 는 Network Operating System 으로 바로 이 Router 의 역할을 수행할 수 있는 Open Source Operating System 이다.


본론
Vyatta Core (VC) 6.2 기준 - http://www.vyatta.org
Quick Start Guide (v5.0.3) - http://www.vyatta.com/downloads/documentation/VC5.0.2/Vyatta_QuickStart_VC5_v03.pdf
NAT in VMware vSphere ESX - http://www.javatuning.com/nat-in-vmware-vsphereesx-in-a-nut-shell/
Vyatta Firewall and NAT - http://www.carbonwind.net/VyattaOFR/Firewall/Firewall.htm


1. 다운로드
http://www.vyatta.org/downloads 에서 VMware ESX 4 Template 의 URL 을 복사하거나 OVF 를 다운로드하여 VMware vSphere Client 의 File > Deploy OVF Template 에 입력하면 Template 로 부터 VM 을 생성할 수 있으나, 이미지 업로드에 계속 오류가 나서 실패함.

다른 방법으로 Live CD iso 이미지를 다운로드하여 WMware 에 직접 설치할 수 있다.
다음의 절차는 Vyatta Core (VC) 6.2 - Live CD iso를 이용하였다.


2. 설치
참고: http://www.vyatta.org/getting-started/how-to-install
- 메모리는 512MB, HDD는 1GB 정도로 설정, NIC를 두개
- VMware ESXi 4.1 사용
- CD 마운트 후 부팅
- 로그인 (초기 Username: vyatta, Password: vyatta)
- 프롬프트가 뜨면 HDD 에 시스템을 설치할 수 있음

명령 프롬프트에서
$ install-system

이후, 절차를 따라가면 설치 완료
설치 완료 후 부팅시 로그인 어카운트는 vyatta, 암호는 설치시 설정한 것


3. Network Interface 설정
참고: http://www.javatuning.com/nat-in-vmware-vsphereesx-in-a-nut-shell/
eth0  를 WAN (10.0.0.100), eth1 (192.168.1.1) 을 LAN 으로 가정

$ configure
# set interfaces ethernet eth0 address 10.0.0.100/24
[edit]
# set interfaces gateway-address 10.0.0.1
[edit]
# set system name-server 8.8.8.8
[edit]
# set interfaces ethernet eth1 address 192.168.1.1/24
[edit]
# commit
[edit]
# save
[edit]
# show interfaces
[edit]
# exit
$


4. Vyatta Web GUI
참고: http://www.vyatta.org/documentation/tips-tricks/enable-gui

$ configure
# set service https
[edit]
# commit
[edit]
# save
[edit]
# exit
$

이후 interface 에 설정한 ip 로 Vyatta Web GUI 에 접속할 수 있다.


5. DHCP

$ configure
# set service dhcp-server shared-network-name ETH1_POOL subnet 192.168.1.0/24 start 192.168.0.2 stop 192.168.0.100
[edit]
# set service dhcp-server shared-network-name ETH1_POOL subnet 192.168.1.0/24 default-router 192.168.1.1
[edit]
# set service dhcp-server shared-network-name ETH1_POOL subnet 192.168.1.0/24 dns-server 8.8.8.8
[edit]
# commit
[edit]
# save
[edit]
# show service dhcp-server
[edit]
# exit
$


5-1. DHCP Reservation
Static mapping 의 이름을 STATIC-MAP1 으로 저장한다고 가정

$ configure
# set service dhcp-server shared-network-name ETH1-POOL subnet 192.168.1.0/24 static-mapping STATIC-MAP1 ip-address 192.168.1.3
[edit]
# set service dhcp-server shared-network-name ETH1-POOL subnet 192.168.1.0/24 static-mapping STATIC-MAP1 mac-address 00:0c:29:13:cd:a0
[edit]
# commit
[edit]
# save
[edit]


6. NAT

$ configure
# set service nat rule 1 source address 192.168.1.0/24
[edit]
# set service nat rule 1 outbound-interface eth0
[edit]
# set service nat rule 1 type masquerade
[edit]
# commit
[edit]
# save
[edit]
# show service nat
[edit]
# exit
$


6-1. Publish a Web server on an alternate port
http://www.carbonwind.net/VyattaOFR/Firewall/Firewall.htm#toPpp

set service nat rule 10 type destination
set service nat rule 10 protocol tcp
set service nat rule 10 inside-address port 80
set service nat rule 10 inside-address address 192.168.1.3
set service nat rule 10 inbound-interface eth0
set service nat rule 10 destination address 10.0.0.1
set service nat rule 10 destination port 8083


7. SSH

$ configure
# set service ssh
[edit]
# commit
[edit]
# save
[edit]
# exit
$


8. Firewall
http://www.carbonwind.net/VyattaOFR/Firewall/Firewall.htm#toPpp

set firewall name ETH0_IN rule 10 action accept
set firewall name ETH0_IN rule 10 protocol tcp
set firewall name ETH0_IN rule 10 destination address 192.168.1.3
set firewall name ETH0_IN rule 10 destination port 80
set firewall name ETH0_IN rule 10 state new enable
set firewall name ETH0_IN rule 10 state established enable
set firewall name ETH0_IN rule 10 state related enable

set interfaces ethernet eth0 firewall in name ETH0_IN

Note that the DNAT (Destination NAT) process takes place before the firewall one, so for example we just need one firewall rule on the in firewall instance on the Internet facing interface, allowing TCP port 80 and not TCP port 5000.
Thus, basically, the firewall rules from the above scenario where we published the web server on the standard TCP port 80, will remain untouched.

set firewall name ETH0_LOCAL rule 10 action accept
set firewall name ETH0_LOCAL rule 10 protocol tcp
set firewall name ETH0_LOCAL rule 10 destination address 10.0.0.1
set firewall name ETH0_LOCAL rule 10 destination port 22,443
set firewall name ETH0_LOCAL rule 10 state new enable
set firewall name ETH0_LOCAL rule 10 state established enable
set firewall name ETH0_LOCAL rule 10 state related enable

set interfaces ethernet eth0 firewall local name ETH0_LOCAL

Firewall 이 적용된 interface 는 deny all 룰이 implicit 하게 자동으로 적용 됨.



후기
이로써 완벽한 Network Virtualization 완료!
vSwitch1 이 eth0, vSwith2 가 eth1 에 연결되어 있다. Vyatta Core 는 Virtual Switch 2 로 부터 요청되는 네트워크 연결을 Virtual Switch 1 으로 NAT 서비스를 제공한다.


Posted by fermi

댓글을 달아 주세요

Office 2010 의 경우 Windows Registry 의 다음 경로에서 ExportBitmapResolution 라는 이름의 DWORD Value를 생성하고 원하는 DPI 값을 decimal 값으로 입력한다.

기본적으로 저장되는 그림파일의 정보는 960 x 720 의 96DPI로 저장된다.

300 DPI 로 입력할 경우 3000 x 2250 의 이미지가
192 DPI 로 입력할 경우 1920 x 1440 의 이미지가 생성되었다.

HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\PowerPoint\Options\


Posted by fermi

댓글을 달아 주세요

SingTel

Cellular Data
APN: e-ideas
Username: 65ideas
Password: 65ideas

MMS
APN: e-ideas
Username: 65ideas
Password: 65ideas
MMSC: http://mms.singtel.com:10021/mmsc
MMS Proxy: 165.21.42.84:8080
MMS Max Message Size: 307200
MMS UA Prof URL:



SK Telecom

http://blog.tworld.co.kr/18
http://blog.tworld.co.kr/75

Cellular Data
APN: web.sktelecom.com

MMS
APN: web.sktelecom.com
MMSC: http://omms.nate.com:9082/oma_mms
MMS Proxy: smart.nate.com:9093
MMS Max Message Size: 1048576


국내/외 통신사 데이터 통신 설정 추가/업데이트 예정

웁스... 해외 통신사 APN 설정 정리 -> http://modmyi.com/wiki/index.php/Carrier_APN_Settings

Posted by fermi

댓글을 달아 주세요

/opt/alfresco-3.4.1/mysql/bin/mysql --user=root -p

mysql>show databases;
mysql>use alfresco;
mysql>show tables;
mysql>show columns from tablename;

<?php

$connect = mysql_connect("127.0.0.1:3306", "root", "censamci") or
         die("Could not connect: " . mysql_error());
mysql_select_db("alfresco");
$query = "select content_url from alf_content_url where id = (select content_url_id from alf_content_data where id = (select long_value from alf_node_properties where long_value != 0 and node_id = (select id from alf_node where uuid = '".$node->id."')))";
$result = mysql_query($query);
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    $content_url = $row["content_url"];
}
mysql_free_result($result);
mysql_close($connect);

$content_path = str_replace("store://", "/opt/alfresco-3.4.a/alf_data/contentstore/", $content_url);

?>
Posted by fermi

댓글을 달아 주세요

1. Add New Content Model
http://ecmarchitect.com/archives/2007/06/09/756

2. Add New Mimetype
http://wiki.alfresco.com/wiki/Adding_a_Mime_Type
http://niketa-alfresco3.blogspot.com/2010/01/how-to-add-new-mime-type.html

3. Bug Fix
주의: mimetype 확장 버그
http://issues.alfresco.com/jira/browse/ALF-2695

Looks like this:

<bean id="mimetypeConfigService" class="org.alfresco.config.xml.XMLConfigService" init-method="init">
        <constructor-arg>
            <bean class="org.alfresco.config.source.UrlConfigSource">

Should probably be changed to:

<bean id="mimetypeConfigService" class="org.springframework.extensions.config.xml.XMLConfigService" init-method="init">
        <constructor-arg>
            <bean class="org.springframework.extensions.config.source.UrlConfigSource">

Posted by fermi
TAG Alfresco, CMS

댓글을 달아 주세요

1. Alfresco CIFS 활성화

/opt/alfresco-3.4.a/tomcat/shared/classes/alfresco-global.properties

cifs.enabled=true
cifs.serverName=Alfresco
cifs.domain=WORKGROUP

(참고: http://wiki.alfresco.com/wiki/File_Server_Subsystem#Java-based_SMB)


2. Samba 와 함께 사용

Alfresco CIFS 와 Samba 를 각각 다른 IP로 사용

Ubuntu Software Center 에서 smb 설치, GUI 관리툴 Samba 도 설치
설치 후 Administration > Samba 에서 공유 추가

VM의 가상 NIC를 2개로 설정 (각각 eth0, eth1)
/opt/alfresco-3.4.a/tomcat/shared/classes/alfresco-global.properties 에서
cifs.bindto=192.168.0.74

/etc/samba/smb.conf 에서
interfaces = 192.168.0.72/24
bind interfaces only = yes

(참고: https://help.ubuntu.com/community/Samba/SambaServerGuide)


3. Samba 시작이 안 될 경우

DHCP 에서 받아오는 IP address 가 smb.conf 에서 설정한 IP address 와 동일한지 확인

재시작: sudo /etc/init.d/smbd reload
안되면: service smbd restart

4. Samba 와 Alfresco 재시작

/opt/alfresco-3.4.a/tomcat/temp/catalina.pid (재시작이 안될 경우 pid 파일 확인)
/opt/alfresco-3.4.a/alfresco.sh start|stop|resrart|status
service smbd start|stop|restart
Posted by fermi

댓글을 달아 주세요