December 3, 2008
Disable Bug Buddy
Since Bug buddy intercepted core dump, you may need to disable bug buddy when you need to perform core dump. Export the following environment variable will able to disable bug buddy.export GNOME_DISABLE_CRASH_DIALOG=1
October 28, 2008
Finally get another F-Spot Online Albums working!
I was using PennAve, however my server is complete broken. All my photos are gone, all my update and workaround for the PennAve are disappear. So I would like to try something new this time.Setting up phpfspot is not as easy as I was expected for SLED10-SP2 :)
Since php5-sqlite3 is not included in SLED10 by default, you will need to do some build service search or you need this one click install for php5 pdo , of course you may download all php5 package one by one as this article online said here . After you install the build service repo, you can install all the php5 packages as needed. Then you want to sync your photos to your server, there is a script in the package you can use. However your user may not has the same permission with the datatbase reside in server for the wwwrun daemon. So you need another script to do a chown after every rsync. After that you can just start using it ... but something wrong with my camera orientation with phpfspot or it is just another bug. Some of my photos are upside down. So I have to go in and fix some code to make the new thumbs look better. Here is the Album. Enjoy!
This is my third time setting my own blog and album. Next time I will pay for some online service :) May be ....
October 19, 2008
Gnome Asia Summit
After two days of great gathering in Beijing, the first gnome asia summit is wonderfully finish. I'm very happy that we have such a event in China. I presented a small demo on Dbus, PackageKit and PolicyKit. Here is the presentation . We get a lot of sponsor this time, including Sun, Nokia, Motorola, Mozilla, Lemote and RedHat. Of course BLUG has alot of contributors and as a member of Novell, we have many developers coming to the conference also.I'm looking forward to see more big event like this in Beijing. If you have any idea please contract me or join BLUG Beijing Linux User Group
I'm very impress with the Sun technology including the input method technology and hand writing input method project. I'm looking forward to work with them more in the future.
April 11, 2008
Google Summer of Code
Come again Google summer of code is here, I'm a little bit late to join being a mentor. Work has been driving me a little crazy here. But I did try to provide myself as mentor for openSUSE project. I will try to get my blog update more in the near future.March 6, 2008
Universal Encoding Detector
After looking at all the Python, Rudy port of the Mozilla encoding detection engine. I really want to see a C library which get more flexible way of detecting encoding. So I port this extension to C and make a plugable model out of it. You can find out more in the google project home. Looking forward for you to join in and help.January 18, 2008
How VMWare grabing Ctrl-Alt-F1 from X!
From the first look, it seem very simple. since XKB already provide lot of plug to getting in the Keyboard information. However, when you look closer. Ctrl-Alt-Fn key are really handle specially, and when X see this keysym it will not even pass it over to the client. This end up you even grabbing every key, but Ctrl-Alt-Fn will not able to grab by the client.Then how vmware actually doing this? First look we using xev to check what kind of info we could get while clicking into VMware, we discover there is MappingNotification being send out will getting into VMware and getting out of VMware. Now we look at the XKB spec and see lot of functions is actually generating this Notification. So we need to recreate what vmware could do. Then we find xtrace. Which generate a very high detail and volume X trace log. It does really help alot. But if it could even control start and stop logging which will help even more. Then I'm pretty sure XSetModifierMapping is the functions to use.
What happen is when VMware being clicked, VMware will call XGrabKeyboard and then XGetModifierMapping for restore in future. And XSetModifierMapping to empty, so Ctrl-Alt-F1 will no longer being filter and F1 key will rather the Vmware client correctly.
May 11, 2007
Banshee插件第一课
当大家从Windows移MP3到Linux平台时,很多时候会出现乱码问题,有见及此看看能不能在Banshee内做一插件把有关问题解决.本来的想法很简单以为一天可以弄好,后来发现要再进一步才能全解.第一课:在播放例表上本来就有改动ID3的Widget,只要在插件上把菜单加上,再连到己选列表再把ID3内容给用户选用不同的码如GB18030转到UTF8就可以了.基本上是可以的,但在列表上保留的ID3内容是从TagLib读完后保留下来的,因此已经转了一次码,那只可以直接再用TagLib把ID3的内容从读从转从写才可以...下回分解
Banshee Plugin take one
When someone move their MP3 files to Linux platform, most of the time will appear to be wrong encoded. So let see we can make a plugin in Banshee to solve this problem one and for all. At first it look like a simple enough idea that could be done in a day or two, however the story keep on coming.
First: Select the wrong encoded song in the play list, then we can put up a new menu item in the pop up menu. Signal it back to the convert function which could be select the original encoding by the user configuration, or just may be GB18030 ( for chinese ) and then convert to UTF8. Basically that is it and you are done. However, when I use the TagLib information from Banshee, it already get the data converted once. Which is not correct, so I need to read it directly from the media file and then convert it... Let's do that in the next session.
May 10, 2007
Linux下的Firefox不能看网上点播
如果你问我的话,我会告诉你这是网站开发人员的问题,他们不应该以单一平台为他们的开发和测试环境,当然作为Linux我们有一定的办法去解决不同的多媒体问题.例如MPlayer和VLC等工具,当然很多人还不是很了解如何安装这些多媒体工具, SUSE用户可以到openSUSE的用户Xenmaster的网页http://en.opensuse.org/User:Xenmaster看看或直接加上安装源Packman, 如果你是用Debian或Ubuntu可以到Ubuntu Forums. 当大家安装好你们的播放器但还是看到Firefox内的点播如何办. 可以用凤凰网卫视做例子,在Firefox不能放是JavaScript和ActiveX的问题,简单的做法就是用GreaseMonkey把再以下的腳本安裝就可以看到了.Firefox in Linux could not view online boardcast
If you ask me, I will tell you it is all the web developers problem, they should not just using single platform for development and testing. Of course in Linux we much get some mojo to get this kind of multimedia problem fix. Let say MPlayer and VLC different kind of media player to help save the day. But lot of people still do not know how to install those kind of player because of the codec problem. If you are a SUSE user you can go check out Xenmaster homepage in openSUSE http://en.opensuse.org/User:Xenmaster or you can directly add the install source from Packman, if you are a Debian or Ubuntu user go to Ubuntu Forums. After you get your media player and plugin all install but some how the firefox still won't able to play the online video then you can look at this example 凤凰网卫视, the firefox won't able to play because of the JavaScript or ActiveX problem, you can simply use GreaseMonkey and then download this script then you can see it.
June 24, 2006
Create a new PGP public key
For a lot of use using email to communicate every, email information become very important. Because email will be send over the network with clear text content. When we want to create some form of security, PGP public key encryption become very important.To create a PGP key you may want to use GNU gpg untility. Simpily
gpg --gen-key
will generate a private key and public for you. Public key is the one you need to send it over to your friends or someone you want to communication with. The public will look like this in ascii format. -----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.2 (GNU/Linux)
mQGiBESdY9ERBACedbWTx5uHXRFKIousajAlCFY7ZejwYT6NloVPpRA/Hp9IZ3Vs
8Jbnz8KIngA5jfoCXfltY0S3pk2F4BPJP8IAnxgX0mZGoqVflSqaxVInJcQPH/Il
OURVtHZzQj8IlfdR3/EWF0zvbdvO/vPnQR9zT+cHh0kazldH4lb7XwRRTwCgxU4y
3te9LrjIMIOXAd8eaywIOdcD/jRQfrGFhNrnFFFeKSh4+i6ZK0cxsY3qVsGx18l8
OoKPDNqVJD1RmEqu2ge9SrQJUeqwdFt2XHI+AeXym5b4PQwwzzs0ExRkrQ7XwJjp
HEbKHVgbDYMvadURqHgxjTnWyrumcwLT9hlgWnQq/vzSZnvEmAzDkxayNCWEjfHS
C5tKBACYCVv6uy2kpPi0MJ++3F39So1gENahHIPGLcB/lvWvRAXzCSKxwk5cvwVK
Otb9/4YtlK3ZuVKPanzxexeSem1k5vpVLCq3JR585u4gEIYcSIeF2VABiEKvSyBs
vWSWN9xlJQxFkwxEB3W64A0fLIBiJZUpo+jaWCU1V/n244IocLQtQWxleCBMYXUg
KEF2ZW5nZXJNb0pvKSA8YWxleEBhdmVuZ2VyZ2Vhci5jb20+iGAEExECACAFAkSd
ZJsCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRDpJDM6JoNU6unwAKCEBteG
gTPjEZn20fDpusqKTrOtZQCdEod8k+DGuM/Viis63ccYQL+9MWa0KUFsZXggTGF1
IChBdmVuZ2VyTW9KbykgPGFsbGF1QG5vdmVsbC5jb20+iGAEExECACAFAkSdY9EC
GwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRDpJDM6JoNU6vNhAJ4wWZ3KqamX
nHjl78Tk8+rrKBb/TACggdcGErfaPE1fHfasP4Oc4lbf23y0LkFsZXggTGF1IChB
dmVuZ2VyTW9KbykgPEF2ZW5nZXJNb0pvQGdtYWlsLmNvbT6IYAQTEQIAIAUCRJ1k
5QIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEOkkMzomg1TqCYMAnAljM/0L
XphrnHKKhJaW+VHh29RbAJ96zVUKXUU1QWCNaYrEN+N8m8XFjrkCDQREnWPgEAgA
9DElQ91yxYLGXHoTI+3J1OXBKcMPtwdsvn0agQWrj2myyB48sQMrH/wrWSYv6WTA
f7+IdTs0mAE6/lRU8s7HwhL2WlkDd8auTuDpMkM6v9PSol09tfck/DuaAbUX2euP
0OzEdsgCxZ+7QdowvBJk9M6hwuLWyy6wpJUQ2JUNZfd137Vlr/DjVqexgeNJl8Ru
uS48rT6MX4jxE3WZSVq+MRYpoF+/yWg0I7JS0wY2eZQdZiZIgEx/DM9h6S7fc+Zk
FFYHyxHCkGNxn/e4Z+mo/1U1CXfrtlHLxEz3f/cWaheUMgoOPzJaK2mjaJy14tTq
naR2YuuXwXRBfrZVXLhrPwADBwf/clwUVPwmgJ30eYLkR0Vk367aHg3ZRgikNLJ7
qePYB5ojMfcZgpJlnPZcjP+75I4Nr2DaenB6xCKVl4M9xo4TUlOvE+fKSKUEGWKi
gct6oxCfBZgB9kIYqceHPqMfYmlrGeq8GihvHua4b+x7C3rW+TWzx61WjKQOJbrJ
fOY1IBtB3+B4CZnd8ay4AnJzR8uE+BMFLDnopCC1tV11+lHyzqFFrCAU/ffEs+uT
3pB2MXYNcrSEMEdKR52UYduK2b8/z0StZ7fE5btKEPYOPBcUGRWr3dVoM4dRFkHz
BC8eWBJOVEqCrz6Ssq2YiLFIZVtLxQKdf5IRO8s6I29VUNTYOIhJBBgRAgAJBQJE
nWPgAhsMAAoJEOkkMzomg1TqXDkAmgKq/oDxEHGoEZdIxYF5dcQSdZaFAKCRq7B/
RgYaZGy5cRnGDBXG5VAZBg==
=x3BC
-----END PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.2 (GNU/Linux)
mQGiBESdY9ERBACedbWTx5uHXRFKIousajAlCFY7ZejwYT6NloVPpRA/Hp9IZ3Vs
8Jbnz8KIngA5jfoCXfltY0S3pk2F4BPJP8IAnxgX0mZGoqVflSqaxVInJcQPH/Il
OURVtHZzQj8IlfdR3/EWF0zvbdvO/vPnQR9zT+cHh0kazldH4lb7XwRRTwCgxU4y
3te9LrjIMIOXAd8eaywIOdcD/jRQfrGFhNrnFFFeKSh4+i6ZK0cxsY3qVsGx18l8
OoKPDNqVJD1RmEqu2ge9SrQJUeqwdFt2XHI+AeXym5b4PQwwzzs0ExRkrQ7XwJjp
HEbKHVgbDYMvadURqHgxjTnWyrumcwLT9hlgWnQq/vzSZnvEmAzDkxayNCWEjfHS
C5tKBACYCVv6uy2kpPi0MJ++3F39So1gENahHIPGLcB/lvWvRAXzCSKxwk5cvwVK
Otb9/4YtlK3ZuVKPanzxexeSem1k5vpVLCq3JR585u4gEIYcSIeF2VABiEKvSyBs
vWSWN9xlJQxFkwxEB3W64A0fLIBiJZUpo+jaWCU1V/n244IocLQtQWxleCBMYXUg
KEF2ZW5nZXJNb0pvKSA8YWxleEBhdmVuZ2VyZ2Vhci5jb20+iGAEExECACAFAkSd
ZJsCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRDpJDM6JoNU6unwAKCEBteG
gTPjEZn20fDpusqKTrOtZQCdEod8k+DGuM/Viis63ccYQL+9MWa0KUFsZXggTGF1
IChBdmVuZ2VyTW9KbykgPGFsbGF1QG5vdmVsbC5jb20+iGAEExECACAFAkSdY9EC
GwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRDpJDM6JoNU6vNhAJ4wWZ3KqamX
nHjl78Tk8+rrKBb/TACggdcGErfaPE1fHfasP4Oc4lbf23y0LkFsZXggTGF1IChB
dmVuZ2VyTW9KbykgPEF2ZW5nZXJNb0pvQGdtYWlsLmNvbT6IYAQTEQIAIAUCRJ1k
5QIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEOkkMzomg1TqCYMAnAljM/0L
XphrnHKKhJaW+VHh29RbAJ96zVUKXUU1QWCNaYrEN+N8m8XFjrkCDQREnWPgEAgA
9DElQ91yxYLGXHoTI+3J1OXBKcMPtwdsvn0agQWrj2myyB48sQMrH/wrWSYv6WTA
f7+IdTs0mAE6/lRU8s7HwhL2WlkDd8auTuDpMkM6v9PSol09tfck/DuaAbUX2euP
0OzEdsgCxZ+7QdowvBJk9M6hwuLWyy6wpJUQ2JUNZfd137Vlr/DjVqexgeNJl8Ru
uS48rT6MX4jxE3WZSVq+MRYpoF+/yWg0I7JS0wY2eZQdZiZIgEx/DM9h6S7fc+Zk
FFYHyxHCkGNxn/e4Z+mo/1U1CXfrtlHLxEz3f/cWaheUMgoOPzJaK2mjaJy14tTq
naR2YuuXwXRBfrZVXLhrPwADBwf/clwUVPwmgJ30eYLkR0Vk367aHg3ZRgikNLJ7
qePYB5ojMfcZgpJlnPZcjP+75I4Nr2DaenB6xCKVl4M9xo4TUlOvE+fKSKUEGWKi
gct6oxCfBZgB9kIYqceHPqMfYmlrGeq8GihvHua4b+x7C3rW+TWzx61WjKQOJbrJ
fOY1IBtB3+B4CZnd8ay4AnJzR8uE+BMFLDnopCC1tV11+lHyzqFFrCAU/ffEs+uT
3pB2MXYNcrSEMEdKR52UYduK2b8/z0StZ7fE5btKEPYOPBcUGRWr3dVoM4dRFkHz
BC8eWBJOVEqCrz6Ssq2YiLFIZVtLxQKdf5IRO8s6I29VUNTYOIhJBBgRAgAJBQJE
nWPgAhsMAAoJEOkkMzomg1TqXDkAmgKq/oDxEHGoEZdIxYF5dcQSdZaFAKCRq7B/
RgYaZGy5cRnGDBXG5VAZBg==
=x3BC
-----END PGP PUBLIC KEY BLOCK-----
After that you can just publish this key to the web or some key server like my public key over pgp.mit.edu here Beware you may want to del the key in the future but which is not possible for the public key server. The only way to do it is to revoke it, so you better generate a revoke key incase you want to disable the key in the future. You simply
gpg --output my_revoke_file_for_key_XXX --gen-revoke my_key_XXX
You should also save your private key somewhere safe incase you computer being destory? :) or being stolen? :PAnyway you simply
gpg --output my_private_key.gpg --export-secret-keys my_key_XXX
After you friends get your public and import into their system, they should check with you about their figureprint. To output your figureprint simply
gpg -K --fingerprint
Which look like this
pub 1024D/268354EA 2006-06-24
密钥指纹 = 77FA 9E9A 60E5 35A4 C3D2 BDF3 E924 333A 2683 54EA
uid Alex Lau (AvengerMoJo) <AvengerMoJo@gmail.com>
uid Alex Lau (AvengerMoJo) <alex@avengergear.com>
uid Alex Lau (AvengerMoJo) <allau@novell.com>
sub 2048g/E1C2FDBB 2006-06-24
密钥指纹 = 77FA 9E9A 60E5 35A4 C3D2 BDF3 E924 333A 2683 54EA
uid Alex Lau (AvengerMoJo) <AvengerMoJo@gmail.com>
uid Alex Lau (AvengerMoJo) <alex@avengergear.com>
uid Alex Lau (AvengerMoJo) <allau@novell.com>
sub 2048g/E1C2FDBB 2006-06-24