2013년 12월 27일 금요일

JS: 오른쪽 마우스 클릭 차단 Pt II

최근에 다음 오른쪽 마우스 클릭 방지 기능이 좀 바꼈다:


하지만 파이폭스 add-on Greasemonkey를 설치하고 최근의 Anti-Disabler 유저 스크립트를 설치하면 오른쪽 마으스 클릭 방지가 소용없게 된다!

Anti-Disabler 소스 코드는 여기에 있다.

Greasemonkey 쓰기 싫으면 복사하고 싶은 텍스트 콘텐츠 (예: 법정 스님 살 때와 죽을 때)를 Google 검색 창에 입력하고 뒤에 마이너스 '-' 기호를 삽입한 다음 배제할 도메인을 입력하삼:

법정 스님 살 때와 죽을 때 -daum.net

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
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.

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