최근에 다음 오른쪽 마우스 클릭 방지 기능이 좀 바꼈다:
하지만 파이폭스 add-on Greasemonkey를 설치하고 최근의 Anti-Disabler 유저 스크립트를 설치하면 오른쪽 마으스 클릭 방지가 소용없게 된다!
Anti-Disabler 소스 코드는 여기에 있다.
Greasemonkey 쓰기 싫으면 복사하고 싶은 텍스트 콘텐츠 (예: 법정 스님 살 때와 죽을 때)를 Google 검색 창에 입력하고 뒤에 마이너스 '-' 기호를 삽입한 다음 배제할 도메인을 입력하삼:
법정 스님 살 때와 죽을 때 -daum.net
2013년 12월 27일 금요일
2013년 12월 11일 수요일
[SOLVED] Rescuetime Client for Linux 2.8.5.870+ -- Problems in Archlinux
I've been a happy user of Rescuetime on linux for about 18 months. The local client that tracks the applications used and sites visited works on Windows, Mac OS and various linux distros.
In fact, I have had no problems with Rescuetime running on my Debian systems. But starting on Nov. 28, 2013 Rescuetime stopped working on one of my Archlinux installs with Openbox window manager and tint2 taskbar manager installed.
The problem began when I upgraded from RT linux client 2.8.1.865 to the current beta (which was 2.8.5.890 at the time) [The Arch User Repository (AUR) has packages for both Rescuetime stable and beta].
I soon noticed that time tracking of active windows was no longer working properly. The client only recorded the first 2 or 3 minutes of usage in an active window, discarding the rest. Oddly enough, time in non-active windows is recorded just fine -- i.e. if I launch a Virtualbox instance of Windows, the RT client records the time spent in the VM quite reliably. Also if I launch a full-screen game through WINE or a program on another Xsession using xinit, the RT client keeps recording time in the last window that was active -- i.e. if the active window was Libreoffice Writer but I then launch a WINE app from the Openbox launch menu, the RT linux client will still think I'm in Libreoffice Writer while I'm playing my WINE game.
Anyways, I immediately downgraded to the current stable version 2.8.5.870 but it exhibited the same behavior as 2.8.5.890~896. Unfortunately I couldn't downgrade to 2.8.1.865 (which was the last version that worked for me) because the oldest version available on the Rescuetime site was now 2.8.5.870.
Between the upgrade from 2.8.1.865 to 2.8.5.890 and the downgrade to 2.8.5.870, none of the packages on my system changed. Only after I upgraded to a newer beta 2.8.5.896 and noticed that the RT client still wasn't working did I update my system out of desperation, with upgrades to 7 packages as well as the linux kernel (from 3.12.1-1 -> 3.12.1-3) according to /var/log/pacman.log
This failed to make any difference, however. Finally on Dec. 5th, RescueTime tech support gave me a download link to 2.8.1.865 which had worked for me prior to Nov. 28, 2013. With great anticipation, I installed the old version and ... nothing. The old version which used to work no longer did!
Isolating the package(s) that might be causing this behavior is a big headache, because between 2013.11.29 ~ 2013.12.05 I upgraded 23 packages on my Archlinux install according to /var/log/pacman.log
None of the dependencies of rescuetime (qt4, xorg-xprop, xprintidle) were affected, however. The 30 packages (not including the kernel) upgraded were:
cifs-utils (mounting Samba shares in Linux)
gtk3 (GUI toolkit)
mplayer (media player)
python2-distutils-extra
python2-dnspython
tevent (event system based on the talloc memory management library)
youtube-dl (download Youtube videos from CLI)
imagemagick
calibre (ebook reader)
python (Python3 for Arch)
python2
serf (asynchronous HTTP client library)
subversion (VCS)
syslinux (bootloaders)
mesa (opensource OpenGL implementation)
mesa-libgl
intel-dri
lib32-dbus
lib32-mesa
lib32-mesa-libgl
lib32-intel-dri
libtasn1 (ASN.1 library used in GNUTLS)
svga-dri
I don't think any of the packages above should have anything to do with the RT client, and I don't want to roll back all these packages just to check. As a control, I tested 2.8.5.870 (stable) and 2.8.5.896 (beta) on a Debian machine running linux kernel 3.9 and the RT client worked just fine, correctly logging time spent in all applications, be they local or browser-based.
Note that the Debian system I tested RescueTime on doesn't use systemd and dbus but rather sysvinit for init scripts and managing services.
Has anyone else out there in Internet-land had a similar issue with the Rescuetime client in Archlinux?
UPDATE Jan 2014: Rescuetime support tracked down the bug -- the problem was related to the variable url_from_plugin_delay in the configuration file rescuetimed.cfg
In beta 2.8.5.896, this variable was changed from milliseconds to seconds, causing the RT linux client to check active windows only intermittently instead of every few seconds. When I downgraded to .870 it seems this variable overwritten by .896 caused similar behavior to occur in .870 stable.
The issue is totally fixed in the latest RT linux beta 2.8.5.964. RescueTime was even so kind as to give me a subscription credit of 8 weeks due to the bug in 896! RescueTime is one of those tools that has absolutely changed my life and I strongly recommend everyone to give it a try!
In fact, I have had no problems with Rescuetime running on my Debian systems. But starting on Nov. 28, 2013 Rescuetime stopped working on one of my Archlinux installs with Openbox window manager and tint2 taskbar manager installed.
The problem began when I upgraded from RT linux client 2.8.1.865 to the current beta (which was 2.8.5.890 at the time) [The Arch User Repository (AUR) has packages for both Rescuetime stable and beta].
I soon noticed that time tracking of active windows was no longer working properly. The client only recorded the first 2 or 3 minutes of usage in an active window, discarding the rest. Oddly enough, time in non-active windows is recorded just fine -- i.e. if I launch a Virtualbox instance of Windows, the RT client records the time spent in the VM quite reliably. Also if I launch a full-screen game through WINE or a program on another Xsession using xinit, the RT client keeps recording time in the last window that was active -- i.e. if the active window was Libreoffice Writer but I then launch a WINE app from the Openbox launch menu, the RT linux client will still think I'm in Libreoffice Writer while I'm playing my WINE game.
Anyways, I immediately downgraded to the current stable version 2.8.5.870 but it exhibited the same behavior as 2.8.5.890~896. Unfortunately I couldn't downgrade to 2.8.1.865 (which was the last version that worked for me) because the oldest version available on the Rescuetime site was now 2.8.5.870.
Between the upgrade from 2.8.1.865 to 2.8.5.890 and the downgrade to 2.8.5.870, none of the packages on my system changed. Only after I upgraded to a newer beta 2.8.5.896 and noticed that the RT client still wasn't working did I update my system out of desperation, with upgrades to 7 packages as well as the linux kernel (from 3.12.1-1 -> 3.12.1-3) according to /var/log/pacman.log
This failed to make any difference, however. Finally on Dec. 5th, RescueTime tech support gave me a download link to 2.8.1.865 which had worked for me prior to Nov. 28, 2013. With great anticipation, I installed the old version and ... nothing. The old version which used to work no longer did!
Isolating the package(s) that might be causing this behavior is a big headache, because between 2013.11.29 ~ 2013.12.05 I upgraded 23 packages on my Archlinux install according to /var/log/pacman.log
None of the dependencies of rescuetime (qt4, xorg-xprop, xprintidle) were affected, however. The 30 packages (not including the kernel) upgraded were:
cifs-utils (mounting Samba shares in Linux)
gtk3 (GUI toolkit)
mplayer (media player)
python2-distutils-extra
python2-dnspython
tevent (event system based on the talloc memory management library)
youtube-dl (download Youtube videos from CLI)
imagemagick
calibre (ebook reader)
python (Python3 for Arch)
python2
serf (asynchronous HTTP client library)
subversion (VCS)
syslinux (bootloaders)
mesa (opensource OpenGL implementation)
mesa-libgl
intel-dri
lib32-dbus
lib32-mesa
lib32-mesa-libgl
lib32-intel-dri
libtasn1 (ASN.1 library used in GNUTLS)
svga-dri
virtualbox-host-modules
virtualbox
virtualbox-guest-dkms
virtualbox-guest-iso
virtualbox-guest-modules
virtualbox-guest-utils
xterm
I don't think any of the packages above should have anything to do with the RT client, and I don't want to roll back all these packages just to check. As a control, I tested 2.8.5.870 (stable) and 2.8.5.896 (beta) on a Debian machine running linux kernel 3.9 and the RT client worked just fine, correctly logging time spent in all applications, be they local or browser-based.
Note that the Debian system I tested RescueTime on doesn't use systemd and dbus but rather sysvinit for init scripts and managing services.
Has anyone else out there in Internet-land had a similar issue with the Rescuetime client in Archlinux?
UPDATE Jan 2014: Rescuetime support tracked down the bug -- the problem was related to the variable url_from_plugin_delay in the configuration file rescuetimed.cfg
In beta 2.8.5.896, this variable was changed from milliseconds to seconds, causing the RT linux client to check active windows only intermittently instead of every few seconds. When I downgraded to .870 it seems this variable overwritten by .896 caused similar behavior to occur in .870 stable.
The issue is totally fixed in the latest RT linux beta 2.8.5.964. RescueTime was even so kind as to give me a subscription credit of 8 weeks due to the bug in 896! RescueTime is one of those tools that has absolutely changed my life and I strongly recommend everyone to give it a try!
2013년 6월 8일 토요일
2013.05.14 한국문학번역원 아틀리에 발표
My slide presentation at a talk I gave at the Literature Translation Institute Korea translator's workshop on May 14, 2013. It's about overcoming procrastination and laziness by using personal tracking tools like RescueTime, Beeminder, etc. The presentation is written in a mixture of Korean and English.
2013년 4월 24일 수요일
My Korean Translation of the Dr. Seuss quote, "The more that you read, the more things you will know. The more that you learn, the more places you'll go."
I'm pleased that I was able to maintain the rhyme in Korean between "know" and "go" although the meaning is slightly different. My translation is as follows:
읽으면 읽을 수록 더 많이 안다
배우면 배울 수록 더 멀리 간다
Those of you who can read Korean may point out that "멀리 간다" (go further) is different from "the more places you'll go," but I think the translation is still pretty close to the original meaning while maintaining the rhyme of the original.
읽으면 읽을 수록 더 많이 안다
배우면 배울 수록 더 멀리 간다
Those of you who can read Korean may point out that "멀리 간다" (go further) is different from "the more places you'll go," but I think the translation is still pretty close to the original meaning while maintaining the rhyme of the original.
2013년 1월 21일 월요일
Sharing Brain Workshop training history between machines
Postscript 2014-12-21:
The method described in this post written in January 2013 no longer works. I recently came up with a new way of sharing Brain Workshop history between multiple machines through Dropbox. Refer to this post for details.
Although it's still somewhat buggy, Brain Workshop is a great Dual-N-Back working memory trainer. I've had problems running it in Debian with Pulseaudio installed, so I decided to install it in Arch Linux through the Brain Workshop pkgbuild in AUR.
My ArchLinux system uses plain old ALSA, and the crashes in Brain Workshop now only occur once every 15 or so sets (compared to once every 3 sets previously when using Pulseaudio). On ArchLinux, brain workshop stores training history in the text file ~/.brainworkshop.stats, but this file won't exist immediately after a fresh install.
From your machine containing your existing brain workshop training history, create a symlink pointing to a folder in Dropbox.
ln -s ~/.brainworkshop.stats ~/Dropbox/brainworkshop/
This will create a linked copy of your history file in the folder "brainworkshop" in Dropbox. On your machine with the new Brain Workshop install, create a symlink from Dropbox to your user directory:
ln -s ~/Dropbox/brainworkshop/.brainworkshop.stats ~/
Now, if you start your fresh install of Brain workshop and press 'G' to see a graph of your training history, it will show your progress instead of 'Insufficient Data, 2 days needed'.
END
The method described in this post written in January 2013 no longer works. I recently came up with a new way of sharing Brain Workshop history between multiple machines through Dropbox. Refer to this post for details.
Although it's still somewhat buggy, Brain Workshop is a great Dual-N-Back working memory trainer. I've had problems running it in Debian with Pulseaudio installed, so I decided to install it in Arch Linux through the Brain Workshop pkgbuild in AUR.
My ArchLinux system uses plain old ALSA, and the crashes in Brain Workshop now only occur once every 15 or so sets (compared to once every 3 sets previously when using Pulseaudio). On ArchLinux, brain workshop stores training history in the text file ~/.brainworkshop.stats, but this file won't exist immediately after a fresh install.
From your machine containing your existing brain workshop training history, create a symlink pointing to a folder in Dropbox.
ln -s ~/.brainworkshop.stats ~/Dropbox/brainworkshop/
This will create a linked copy of your history file in the folder "brainworkshop" in Dropbox. On your machine with the new Brain Workshop install, create a symlink from Dropbox to your user directory:
ln -s ~/Dropbox/brainworkshop/.brainworkshop.stats ~/
Now, if you start your fresh install of Brain workshop and press 'G' to see a graph of your training history, it will show your progress instead of 'Insufficient Data, 2 days needed'.
END
2012년 10월 17일 수요일
Formatting Mnemosyne Flash Cards - Indenting Code Snippets
To help me memorize Python syntax and built-in functions for 6.00x Introduction to Computer Science and Programming, I've created some flashcards using Mnemosyne, the open-source flashcard program that uses an adaptive learning algorithm to determine how often to quiz you on certain cards (mnemosyne is available in the Debian repo's).
One problem is that regular text in flashcards cannot be indented. I've made several cards that contain snippets of Python code, but all the code indentation disappears after saving (which is problematic since Python determines nesting through indentation rather than with brackets). Fortunately, Mnemosyne supports HTML tags which can be used for formatting. Although HTML doesn't directly display tabs, enclosing the entire code fragment in the tags <pre></pre> will allow you to use indentation.
One problem is that regular text in flashcards cannot be indented. I've made several cards that contain snippets of Python code, but all the code indentation disappears after saving (which is problematic since Python determines nesting through indentation rather than with brackets). Fortunately, Mnemosyne supports HTML tags which can be used for formatting. Although HTML doesn't directly display tabs, enclosing the entire code fragment in the tags <pre></pre> will allow you to use indentation.
2012년 9월 11일 화요일
JS: 오른쪽 마우스 클릭 차단 그만! 쫀쫀하게...
Tistory나 네이버 블로그 등 국내 사이트들이 콘텍스트 메뉴(oncontextmenu) 차단 자바 스크립트를 애용합니다. 이런 짓거리들은 사용자에게 큰 불편을 줍니다. 대부분의 사용자들은 무단복사나 표절을 하려고 하는 것도 아니고 흑심 품은자들은 아래와 같은 허접한 자바 스크립트를 쉽게 무효화 시킬 수도 있다.
(대부분의) 한국 블로그 '페이지 소스'를 크롬이나 파이폭스의 '개발자도구'로 살펴보면 아래와 같은 악덕한 자바 스크립트가 등장합니다:
그럼 해결책은 무엇입니까? 세가지 입니다.
1) 파이폭스에서 about:config에 들어가서 dom.event.contextmenu.enabled를 필터 검색하고 'false'으로 설정 되어있으면 더블클릭 해서 'true'로 바꾸기. 그 후로 오른 쪽 클릭이나 텍스트 선택이 다 됩니다.
2) 유저 스크립트 엔진을 설치하고 블로그 텍스트 복사 차단을 해제하는 자바스크립트 실행하기
옛날에 파이폭스 부가 기능 Greasemonkey 패키지가 유행이었는데 이제 구글 크롬에서 네이티브 유저스크립트를 지원하니까 구지 Greasemonkey나 Scriptish를 설치할 필요가 없다. 'DogBird' 자바스크립트를 무효화 시키는 좋은 유저스립트는 'AntiDisabler'입니다.
3) 크롬이나 파이어폭스에서 '개발자 도구'를 열고 페이지 소스내에 복사하고 싶은 텍스트를 추출하기 (크롬 개발자 도구에서 그림 파일 경로까지 노오니까 쉽게 복사할 수 있음).
결국 '콘텐츠 보호' JS는 아무를 돕지 못합니다. 컨텐츠 퍼가고자 하는 사람들이 어차피 퍼갈테고 보통사용자에게만 해를 끼칩니다. 제발 더 이상 오리지랄 No!
(대부분의) 한국 블로그 '페이지 소스'를 크롬이나 파이폭스의 '개발자도구'로 살펴보면 아래와 같은 악덕한 자바 스크립트가 등장합니다:
그럼 해결책은 무엇입니까? 세가지 입니다.
1) 파이폭스에서 about:config에 들어가서 dom.event.contextmenu.enabled를 필터 검색하고 'false'으로 설정 되어있으면 더블클릭 해서 'true'로 바꾸기. 그 후로 오른 쪽 클릭이나 텍스트 선택이 다 됩니다.
2) 유저 스크립트 엔진을 설치하고 블로그 텍스트 복사 차단을 해제하는 자바스크립트 실행하기
옛날에 파이폭스 부가 기능 Greasemonkey 패키지가 유행이었는데 이제 구글 크롬에서 네이티브 유저스크립트를 지원하니까 구지 Greasemonkey나 Scriptish를 설치할 필요가 없다. 'DogBird' 자바스크립트를 무효화 시키는 좋은 유저스립트는 'AntiDisabler'입니다.
3) 크롬이나 파이어폭스에서 '개발자 도구'를 열고 페이지 소스내에 복사하고 싶은 텍스트를 추출하기 (크롬 개발자 도구에서 그림 파일 경로까지 노오니까 쉽게 복사할 수 있음).
결국 '콘텐츠 보호' JS는 아무를 돕지 못합니다. 컨텐츠 퍼가고자 하는 사람들이 어차피 퍼갈테고 보통사용자에게만 해를 끼칩니다. 제발 더 이상 오리지랄 No!
![]() |
| From Blogger 사진 |
라벨:
daum,
Greasemonkey,
JS,
naver,
oncontextmenu
피드 구독하기:
글 (Atom)
