맥을 써온지도 어언 4년째.

결코 길다고 할 수 없는 기간이지만, 마운틴 라이언이 나온 이 시점까지도 파인더는 너무한다싶다. 잦은 오작동, 다운, 충돌 등등. 이렇게 적으면 실감이 안가서, 그동안 겪은 파인더의 문제점을 적어보고자 한다.

1. 터미널 열어서 접속하면 업로드/다운로드 전부 이상없이 정상적으로 작동하는 FTP가 왜 Finder에서만 업로드가 불가능한건지...

2. AFP든 SMB든 Finder에서만 접속하면 왜 대체 속도가 그렇게 느린지...

3. 왜 대체 그렇게 뻑하면 죽어버리는지...

다른 자잘한 부분은 생략하고 중요한 것 3가지만 적어봤다. 폴더부터 우선 정렬되는 문제나, 윈도우 탐색기와 비교되는 부분은 일절 언급하지 않고, 오로지 Finder 자체의 성능에 대해서만 적어봤다. 솔직히 맥의 Finder가 최악이라는 건 전 세계 맥 유저들이 공통적으로 공감하는 사실.

 

혹자는 Finder를 잘 안써봐서 그렇다고 하는데, 필자는 부팅하자마자 가장 먼저 클릭하는 게 Finder다. 자료가 많아서 그렇기도 하고, 이것저것 파일관리할 양이 많고, 또한 런처에서 어플리케이션을 불러와 파일을 열기보단, 파인더에서 내가 작업해야할 파일의 위치까지 찾아간 후에 해당 파일을 더블클릭해서 어플리케이션을 불러오는 형태가 습관이 들었고, 따라서 늘상 내 맥의 화면은 Finder만 2개 3개 기본적으로 열려있다. 그러니, Finder를  많이 안써봐서 잘 모른다는 건 동의할 수 없다.

 

하루는 내부 네트웍에 있는 SMB서버에 연결하려는데 자꾸만 에러나고 튕기고하다보니 하도 짜증이 나서 Finder의 대체품을 찾기시작했고, 그야말로 "물건"을 하나 건졌다. 이름은 Path Finder.

PathFinder

 

일단 기능부터 나열해보자.

1. Finder를 끄고 Path Finder를 기본 파일브라우저로 사용 가능.

2. 듀얼 모드(수직/수평) 및 탭 지원

3. 파일복사시, 사파리에서 다운로드 게이지와 비슷한 효 과

4. CMD+클릭 폴더시 새창으로 열지 탭으로 열지 설정 가능

5. 아이콘 클릭시 자동으로 더블클릭 적용

6. 파일 용량 표시할 때, 1GB를 1000MB로 표시할지 1024MB로 표시할지 설정 가능

7. 화면 하단에 2개로 나뉘어진 창에서 파일 미리보기와, 해당 파일의 상세정보 표시기능

8. 좌,우,하단의 접을 수 있는 날개 형태의 사이드바(Drawers) 기능. 좌: 현재 사용 중인 프로그램과 폴더. 우: 최근 사용한 파일/폴더. 하: 터미널

9. 파일압축시 보이지 않는 파일들(. 으로 시작)은 생략 가능

10. 압축 포맷 선택 가능 (zip, bz2, gz, sitx)

11. 어플리케이션 런처 내장

12. 바탕화면에 휴지통 표시 가능

13. 향상된 Go to folder 기능

14. Dock에 Finder 제거 기능

15. 해당 위치에서 터미널 열기 기능 내장

16. 파일 북마크 기능

17. 파일의 경로 복사 기능

 

적다보니 너무 많아서 여기까지만 적는다. 얼핏봐도 정말 엄청나게 많은 기능이 지원되는데, 위의 내용이 다 적은 게 아니라는 사실. 특히 사이드바(Drawers)에서 제공되는 기능들이 꽤 많다. 한글화 역시 되어있다.

다만 한 가지 문제가 있다면, 가격이 비싸다는 점. $40. 한달 동안 테스트해볼 수 있는 기간이 주어지기 때문에 충분히 써볼 수 있다.

제작사 홈페이지는 여기. http://cocoatech.com/pathfinder/

단 하루만 써보고도 이렇게 맘에 드는데, 아무래도 이것 역시 트라이얼 끝나면 바로 사야겠다.

 

블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,

2013년 7월 22일 현재


Mac: 

A -----------------------------------

Art Text 2.3
Asphalt 6
Aurora 4.3

 

B -----------------------------------

Balsamiq Mockups
Bartender
Base64 Image Encorder

 

C -----------------------------------

Call Of Duty 4 - Modern Warfare
Chronories 1.0
Civilization V
Coda 2
Colorstrokes

 

D -----------------------------------

DaisyDisk
Default Folder X
DevonThink 2 Personal
Diablo 3

 

F -----------------------------------

Flux 3.1

 

G -----------------------------------

Guild Wars 2

 

I -----------------------------------

Interarchy 10
iStat Menu 3

 

J -----------------------------------

Jedi Knight II

 

L -----------------------------------

Linkinus 2
Lion Server

 

M -----------------------------------

Mac Family Tree 6.0
MarsEdit
Mail Stationery Pack 3.1
Modern Combat
Movist

 

N -----------------------------------

Navicat Premium Essentials

 

P -----------------------------------

PHP Code Tester
PixelMator
Parallels 3
Parallels 7
Parallels 8
Path Finder
PixelPumper

 

S -----------------------------------

Shift Publisher 2.3
Sublime Text 2
Solar Walk
Speedy 4.0.2
StarCraft 2
StarCraft 2 - Heart of the swarm
Synergy 3.3

 

T -----------------------------------

Total Finder 
Typinator 4.2

 

V -----------------------------------

VMware Fusion 3
VMware Workstation 9

 

W -----------------------------------

Window Tidy
Writeroom

 

Y -----------------------------------

Yoink

 

ETC -------------------------------

1 Password 3

 

 

Windows:

Windows 7 32bit
Windows 7 64bit
Windows 8 32bit
Windows 8 64bit

 

PSP Games:

몬스터 헌터 포터블
몬스터 헌터 포터블 2nd
몬스터 헌터 프리덤 유나이트
몬스터 헌터 포터블 3rd
철권 5
천지의 문
용쟁화투
오석태의 말하는 영어 I, II
저스트 잉글리쉬
루미네스 I, II
DJ Max Portable I, II
릿지 레이서
모두의 골프 포터블
Glorace
스파이더맨 2 (영화)
언톨드 레전드
GTA
파이널 판타지7 - 크라이시스 코어
디스카이아 - Afternoon of Darkness
SOCOM
Suphonfilter Dark Mirror
파이널 판타지 - 택틱스
스타워즈 배틀프론트

 

XBOX 360

기어즈 오브 워 1 - 한정판
기어즈 오브 워 2
기어즈 오브 워 3
콜 오브 듀티 - 모던 워페어
키넥트 어드벤처
엘더스 스크롤 4 - 오블리비언
댄스 센트럴
Fitness Evolved - Your Shape
스타워즈 - 더 포스 언리쉬드
키넥트 스포츠
NBA Jam
데드 라이징
테일즈 오브 베스페리아 
바이오쇼크 얼티메이트 랩쳐 에디션 (1, 2, 컨텐츠 합본)

 

블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,

defaults write com.apple.finder QLEnableTextSelection -bool TRUE && killall Finder

블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,

그간 벼르고 별렀던 Sublime Text 2를 구입했다. 그리고 Coda 2도 구입했다.

 

Coda2의 경우는 7월 7일 현재 앱스토어에서 신버전 기념 세일을 하길래 구매해버렸다. Coda는 1년에 한 번 세일할까말까한 "웹사이트" 제작에 있어서는 Category Killer (동종 품목에서 과반수 이상의 점유율로인해 더 이상의 경쟁상대가 없는 제품)로 불리는 프로그램이다. 물론 진짜 Category killer는 아니다. 하지만 이만한 웹사이트 제작용 툴은 아직까지 못봤다.

조금 더 설명을 하자면, Coda는 드림위버처럼 마우스로 폼 땡기고 그리고 하는 그런 류의 제작툴은 아니고, 직접 HTML 코딩을 할 줄 아는 디자이너를 대상으로 하는 웹사이트 제작툴인만큼, 코딩을 전혀 할 줄 모르는 디자이너들이 봤을 때 이건 프로그래머들이 쓰는 툴 같이 보이는 건 사실이다. 하지만, "웹사이트"만 만든다면 Coda 2는 최상의 조건이 되겠다. 일단 CSS 편집할 때 옆 사이드바에서 태그로 지정해놓은 텍스트에 대한 색깔, 사이즈 등등을 미리 보여주며, RGB코드를 클릭하면 그게 어떤 색깔인지까지 에디터 내에서 팝업창을 띄워서 보여줄 정도다. 뿐만 아니라 맥에 내장된 컬러창에서 드래그&드랍만으로도 RGB코드를 넣어줄 정도다. 여기서 끝이 아니라, 에디터 자체 내에서 FTP는 물론이거니와 SSH 터미널에 심지어는 MySQL까지 연결해주고 DB를 직접 수정하는 것도 가능하다..

Color Pick in CSS

Coda2-MySQL

 

그외 왠만한 프로그래밍 언어들의 syntax를 지원하며 자동완성이나 내장함수 등을 지원하기 때문에, 웹사이트 제작 뿐만 아니라 Python, Java, Lua, Obj-C, Perl, Ruby 등등까지도 Coda에서 작업이 가능할 정도다. 그동안 가격이 비싸서 ($100) 못샀는데 이번에 세일기념으로 하나 질러줬다. 가격은 $75. 25% 세일이지만, 이 정도도 그나마 할까말까할 정도로 세일을 안해도 잘팔리는 프로그램.

 

그럼에도 불구하고 Sublime Text 2를 또 구입한 이유는, Coda 2는 너무나도 "웹사이트 제작"에만 촛점이 맞추어진 에디터라는 점 때문에 Python이나 기타 다른 언어로 프로그래밍 작업시 다시 불편한 점이 없진 않다는 점과, Sublime Text 2 (이하 ST2)만이 가진 에디터로서의 강력한 기능은 그 어떠한 에디터도 결코 따라올 수 없을만큼 강력하다고 주장하고 싶다. Sublime Text 2는 "좀 더 프로그래머다운 에디터"라는 점이다.

 

사실 내가 ST2를 알게된 이유는, 코딩작업을 여태 맥용 Vim으로 해왔는데 이게 마지막 버전업이 2010이라 버그가 있는 부분이 아직까지 수정이 안된 상태이며, Django처럼 한 번에 5-6개씩 열어서 작업을 하는 경우는 좀 불편한 경우가 있더라. 물론 내가 능력이 딸려서인 것도 있다. 어쨌든, 좀 더 편하게 할 수 있는 상용 에디터를 찾기 시작했고, BBedit, Textmate, NetBeans, Eclipse, Emacs 등등을 알아보면서 조금씩 써봤다. 일단 NetBeans는 가장 익숙한 툴이지만 자바 외의 언어는 쓰기가 좀 미흡한 부분이 있고, Eclipse는 Python 지원이 좀 딸리고, 그외 에디터들은 명성답게 다들 조금씩 괜찮았다.

 

그러던 중 정말 우연찮게 ST2를 보게됐는데, 일단 색감부터가 상당히 마음에 들었다. 개인적으로 에디터에서 지원하는 Syntax color code에 민감한 편이라, 배경은 어둡게 쓰면서 글씨는 가독성 있게 잘 살려주는 그런 색감을 좋아하는데 ST2는 일단 기본값부터가 배경이 어두운 색깔이다. 장점을 좀 나열해보자면,

 

아름다운 코드뷰, 빠르고 가벼움, 윈도우/리눅스/맥 모두 지원, USB에 넣어갖고 다니라고 윈도우용 포터블 버전 제공, 우측에 위치한 코드 미니맵, 현존하는 대부분의 언어지원은 기본에 자동완성, 파이썬 내장, 다양한 화면 분할, 기본 검색 기능으로 정규식 지원 등… 물론 한글 잘써지는 건 기본이다.

 

ST2

 

하지만 무엇보다도 강력한 건 바로 "파이썬 내장"에 의한 수많은 플러그인이 지원된다는 점인데, 최근 1-2년 사이에 해외에서 ST2가 엄청난 인기를 끌면서 수많은 플러그인이 커뮤니티에 의해 제작되어오고 있다. 오죽하면 code Google에 커뮤니티 페이지까지 생길 정도. http://code.google.com/p/sublime-text-community-packages/ . Control Package라는 플러그인을 설치하면 각종 플러그인들을 일일히 찾아다닐 필요 없이, ST2 내에서 플러그인 검색 및 설치까지 모두 가능하다. 우분투의 소프트웨어센터 같은 셈. 플러그인에 대한 제거 역시 가능하며 업데이트까지 가능하다. 모든 플러그인들이 파이썬으로 제작되어있어서 파이썬 프로그래머라면 입맛대로 수정하는 것이 가능하며, 유저들의 기능 건의사항을 체크하고 투표수가 많으면 직접 적용해주는 대인배스러운 모습까지 보여준다. http://sublimetext.userecho.com/

유명한 플러그인은 Lint, CodeIntel (자동완성), Zen Coding, Prefixr, JQuery package, Alignment, Detect Syntax (언어 자동감지), Vi 호환모드 등이 있다.

 

가격은 $59로 매우 저렴하다. 라이센스 정책이 카피당이 아니라 유저당이기 때문에, 하나만 사면 컴퓨터가 몇 대든 상관없다. 내가 쓰는 컴퓨터라면 리눅스/맥/윈도우 가릴 것 없이 모두 깔아서 사용이 가능하다. 술 한번 마시면 10만원씩은 기본으로 깨지는 건 당연하게 생각하면서 S/W 하나 구입하는데 6,7만원 아깝게 생각하지 말자. 돈값 하고도 남는 최강의 에디터라고 말씀드린다.

 

일단 구입하는 게 꺼려진다면, 시험판을 받아서 써보자. 시험판은 당연히 공짜이며, 모든 기능을 다 사용할 수 있다. 단지, 라이센스 구입하라는 팝업이 하루에 한 번 정도만 뜰 뿐. 그런 귀찮음만 이길 수 있다면 사실상 계속해서 공짜로 쓰는 것도 가능하지만, 나는 이렇게 좋은 프로그램을 만들어준 개발자들에게 감사하는 마음을 표현하고자 구매를 했다 (솔직히 난 내가 쓰는 모든 프로그램은 다 구입했다). 

 

ST2, 찬양한다.

블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,

php.ini에서 short_open_tag = Off 로 설정.

블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,

제목을 짧게 다느라 그랬지만, 자세히 설명을 해보자면...

 

현재 나는 우분투 리눅스 서버에 모든 동영상 파일을 다 몰아넣고 그것들을 가족들과 공유하고 있다.

그런데, 리눅스의 삼바서버로 접속해서 동영상 파일을 바로 재생하면 중간중간에 꼭 한번씩은 상당히 긴 시간의 딜레이가 생긴다. 대략 30초에서 1분 정도인데, 이게 5분 내지는 10분에 한 번꼴로 생기기 때문에 도저히 영화감상 또는 TV 시청이 불가능할 정도이다.

결국 로그를 분석했고, 본인과 같은 증상을 겪는 분들은 /etc/samba/smbd.conf 파일을 열어서 아래의 세 줄만 추가시켜주면 되겠따.

 

load printers = no

show add printer wizard = no

printcap name=/dev/null

 

예상하시는 바와 같이 삼바서버가 프린트 서버CUPS의 631 포트로의 접속을 끊임없이 하는데에서 생겨난 문제이다.

(Unable to connect to CUPS server localhost:631 - Connection timed out)

위의 세 줄을 추가시켜준 뒤, 아래 프린터 섹션을 모두 주석처리해준 뒤 삼바서버를 재시작하면 되겠다. 그리고나면 이제 끊김없는 동영상 시청이 가능하다.

블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,

jdk6

$ sudo apt-get install python-software-properties (add-apt-repository 명령어가 없을 시)
$ sudo add-apt-repository ppa:sun-java-community-team/sun-java6
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk

 

jdk7

$ sudo apt-get install python-software-properties (add-apt-repository 명령어가 없을 시)
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-jdk7-installer

블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,

This is my result of the individual project from Algorithm class CSCI 3101 Hawaii Pacific University.

알고리듬 수업에서 수행한 개인 프로젝트의 결과물입니다.


Freckles Skiena and Revilla Programming Challenges book.

알고리즘 트레이닝 북에 실린 주근깨 문제입니다.


I implemented Prim and Kruskal algorithms for this project with Python. See attached files on the bottom of this post if you need.

You are allowed to edit attached source codes, but please do not remove my name as an author on the top.

참고로, 한국에서 판매하는 책에 해답(C로 작성된 소스코드)이 실려있지만, 실제로 작성해서 컴파일/실행해본 결과 제대로 작동이 되질 않았습니다. 따라서, 이것을 필자가 파이썬으로 재작성했고, 프로젝트의 조건은 Prim과 Kruskal 두 개의 알고리즘으로 구현해야하는 것이었습니다. 소스코드는 첨부된 하단에 파일을 참고해주세요. 내용은 수정해도 되지만, 제 이름은 삭제하지 말아주세요.


The below is the problem from the book.

아래는 알고리즘 트레이닝 북에 실린 문제의 원문입니다.



In an episode of the Dick Van Dyke television show, Dick’s son Richie connects the freckles on his father’s back to form a picture of the Liberty Bell. Consider Dick's back to be a plane with freckles at various (x, y) locations. Your job is to connect the dots so as to minimize the amount of ink used. Richie connects the dots by drawing straight lines between pairs, possibly lifting the pen between lines. When Richie is done there must be a sequence of connected lines from any freckle to any other freckle.


Input

The input begins with a single positive integer on a line by itself indicating the number of test cases, followed by a blank line.

The first line of each test case contains 0 < n <= 100, giving the number of freckles on Dick's back. For each freckle, a line follows; each following line contains two real numbers indicating the (x, y) coordinates of the freckle.

Put a blank line between each two consecutive test cases.


Output

For each test case, your program must print a single real number to two decimal places: the minimum total length of ink lines that can connect all the freckles. The output of each two consecutive cases must be separated by a blank line.


Sample Input

1

3
1.0 1.0
2.0 2.0
2.0 4.0

Sample Output

3.41 


---------------------------------------------------------------------------------------------------------

My source codes


Prim:






Kruskal:






HowItWorks.pdf


SeowonJung_Kruskal_Comment.py


SeowonJung_Prim_Comment.py


블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,

파이썬으로 작성한 Max-Heapify의 코드다. 의사코드는 Introduction to Algorithms라는 MIT Press에서 나온 교재에서 참조했다.

MinHeapify.py

Source code: MinHeapify.py

블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,

파이썬으로 작성한 Max-Heapify의 코드다. 의사코드는 Introduction to Algorithms라는 MIT Press에서 나온 교재에서 참조했다.

MaxHeapify.py

Source: MaxHeapify.py

블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,