Flickr widget

Flickr widget, one of Yahoo! Widgets (formerly Konfabulator Widgets), is a handy tool to display your or others’ Flickr photos on your desktop in a very elegant manner, and more. Besides your own photos, it can also display photos from your favorites, your sets, your groups and your contacts. What’s more, it’s also a very powerful tool to upload photos to Flickr and this is what I like the best. First of all, it is capable of batch upload by drag-and-drop. Though Flickr provides a fancy AJAX-ized upload form, I think what this widget provides is much better and intuitive. And, it also allows you to edit basic information such as title, description, tags, privacy, etc. You can even post photos to your sets, groups, or even your blog directly. All these are in a very beautiful interface right on your desktop.

To give it a try, you need:

  • have Yahoo! Widgets engine installed;
  • have Flickr widget installed, and
  • a Flickr account.

Google Reader theme

Google Reader is my favorite daily online RSS reader, and it’s getting better and better recently. Some of the new features just added include a nice search box (finally!) and some small improvements. But what I am not satisfied is its somewhat boring and long-time-no-change user interface.

There were some tweaks to Google Reader’s interface and I tried some but none of them satisfied me until recently I found this one: OS X Style Google Reader by Jon Hicks. As the name tells, it mimics the Mac OS X Mail.app look to Google Reader. I feel this one is better than Google Reader’s default appearance by removing some items and changing fonts and colors. In order to install this style, you need to install the Stylish extension for Firefox, then load the script into Stylish. After all the installations, reload Google Reader and you will see the difference! You can find more styles for Google Reader here.

UPDATE: Google Reader just graduated from Google Labs and now is official.

Logged in two accounts in one browser

Normally I use one Google account, one Yahoo! account, one Flickr account, etc, for daily web activities. But sometimes I do need to login another account, for example, my AdSense account which is different from my primary Google account, or another Flickr account that’s reserved exclusively for my daughter, etc. Firefox remembers my password so I don’t need to login every time when I open the browser. But if I want to switch between different accounts, I have to logout then login again. That’s a simple task but sometimes it’s boring.

Here’s a little tip, which I realized when I use the IE Tab extension for Firefox, to solve this problem very well. The IE Tab extension essentially uses Internet Explorer (IE) to render a web page in a Firefox tab. So it mimics two browsers in one browser window. What I do is open an IE Tab and login another account and it does not influence my always-logged-in account at all. It’s that simple. Of course, you can open two or more browsers if you like, but this is a neater manner I believe.

Blog address changed

Considering that this blog is the main function of this domain and WordPress can be easily customized to be a portal, I decided to change the blog address to http://gqshen.com permanently. It’s implemented by referring to this document.

The main drawback is the old permalinks from bookmarks or search engine cache, i.e. those led by http://gqshen.com/blog, will not work. Instead, visitors will get to the ugly 404 page, though I have put a note in it.

UPDATE: Just installed the Redirection plugin at Urban Giraffe and it solves the URL problem almost perfectly.

Solution for video presentation in WordPress

I created a video collection page for my daughter’s blog long time ago but turned out to update it very slowly. A very important reason is the procedure to put the video online is much more complicated and time consuming than photo processing. Another reason is that the page lacks of convenient back end administration tools and playing controls. So I have been looking for a nice method to put video clips on blog for long time. What I want from this method is there’s a playing console so audience can watch the video clips without leaving the page. Another requirement is it must support playlist so that I can easily add or remove clips. Finally I found wordTube, a very nice WordPress plugin to integrate flash video player in WordPress, for various playlists or for single clip. Because of it, I spent some time these days to convert some of the old video files and find some other useful tools for this total solution. Following is my simple yet efficient solution to process video and put them online in WordPress.

  1. Capture
    I use a Panasonic PV-GS250 3CCD video camera for event video taping and a Fujifilm FinePix F30 for casual daily shooting. Both of them output good enough video quality for web presentation. The first step is to capture the video from the cameras to the computer. For F30, it’s just to download the AVI files to hard drive, and they have 640×480 resolution. For GS250, I use Ulead VideoStudio to capture from the tape and generally the file will be huge for a general length video clip, it also has 640×480 resolution. Now these downloaded or captured files are ready for editing.
  2. Edit
    This is the most time consuming step. I use Ulead VideoStudio for this task because of its intuitive interface and simplicity. Basically I just add titles and some simple transit effects between clips so more advanced softwares are just over kill. Besides titles and transit effects, I also do some cut and trim. So far I still leave the audio alone because for candid shooting of kids, I prefer to keep ambient sound. But I think I will try audio editing later. After all the edit, I export it to a video file. Currently I use Microsoft MPEG-4 Video Codec V2 because after some comparisons, I found it gives decent quality and relative small file size. So what I get is an AVI file with the original video size, 640×480.
  3. Convert
    In order to put the video online in a flash player, I need to convert the video files to flash video (FLV) format. There are many converting tool out of there, some are commercial and some are free. I tried some of them including Macromedia flash 8 Video Encoder, Riva FLV Encoder and SUPER. Finally I stay with Flash 8 Video Encoder because it gives high quality flash video with its On3 VP6 video codec. It has batch convert, it’s easy to use and it comes with Macromedia Flash 8. Riva FLV encoder is a freeware and very easy to use and the conversion is much faster than Flash 8 Video Encoder. But the quality is not so good as Flash 8 Video Encoder for similar or even greater data rate. I guess maybe that’s caused by its Sorenson Spark video codec though I am not clear about its technical details. The FLV Player comes with it is fine so I just keep it. I also tried SUPER, which is also free but I uninstalled it because it just doesn’t have any appealing advantages comparing with Flash 8 Video Encoder. In Flash 8 Video Encoder, I convert AVI files to 320×240 medium quality FLV files using On2 VP6 video codec, 96kbps stereo MPEG layer III (MP3) audio codec. The file size of the FLV file is only about 1/9 of the original AVI file. The FLV files can be played on local computer by an FLV player, or embedded into a flash player on the web.
  4. Flash player integration
    I use wordTube, a plugin for WordPress, to manage all the video (and audio) files and integrate them with the blog. It supports playlists so I can generate various playlists from the media center. Also, it’s very easy to embed a single video file in a blog post or page. This is a very convenient feature for podcast while one still wants to keep an archive of the whole media library in different categories (playlists). The plugin uses the JW Media Player to play media files. Options are provided to customize the player in the back end, including appearance and controls. The media files can be on your server, or can also be on any other remote servers as long as it can be accessed.
    UPDATED 2008-04-17: The latest version of JW Media Player now supports YouTube, means that you can embed YouTube videos in your OWN player without downloading the FLV files. It’s convenient to generate a list of all your videos hosted on YouTube.

Essentially this is my workflow for video manipulation. I think it’s efficient while with good quality for personal video showcase, such as for a kid’s blog. Please let me know if you have any other better ideas on this topic.

If you have your blogs hosted at BSP’s such as Blogger and WordPress.com, you are not able to install plugins so this method doesn’t apply to your case. An alternative is you can upload your video files to video hosting services such as YouTube or Google Video then embed the video in your posts or pages. Both YouTube and Google Video provide necessary code for this purpose. You can refer to the instruction here and here, respectively.

Other related resources

My favorite freeware and web applications

About one and half years ago, I listed some of my favorite freebies, including software and online services. As time goes on, more and more freeware and web applications come out every single day, I think I need to revise the list while add some new ones. I believe this list will keep growing in the future.

  • Email
    Gmail, no-brainer. With this better Gmail Firefox extension, Gmail is THE BEST. For local email client, I highly recommend Thunderbird, which I use to backup my Gmail emails on my computer locally.
  • Online RSS reader
    I migrated from Bloglines to Google Reader completely. Basically two features of Google Reader make me stick to it. The first one is its keyboard shortcut support. I am a vi(m) fan so these keyboard shortcuts are definitely my cup of tea. Another one is that Google Reader’s “mark as read” is post wise, but not feed wise like Bloglines does. This makes more sense to me because sometimes I don’t have time to read all the posts in a subscription and want to get back to read them next time. Those unread ones are still marked as new in Google Reader and that’s really useful.
  • Social bookmarks
    Still del.icio.us. Actually, it’s the support of private bookmarks of del.icio.us and this del.icio.us bookmarks extension for Firefox(my favorite web brower BTW) convinced me that I can totally move to del.icio.us. And the extension even supports keywords in bookmarks just like in Firefox. The biggest benefit to use online bookmarks is my bookmarks are automatically synchronized between different computers.
  • Image browser
    XnView. I have used BreezeBrowser for five years and it’s not bad. But its new versions are not free anymore, so I want to make a change. After comparing IrfanView and XnView, I decided to go for the latter one. The main reason for me to make the choice is interface and speed. I like the way XnView handles thumbnails and full image browsing. It has a three-panel layout for convenience of folder browse and image information, but most of the time I hide the other two panels and it’s very neat.
  • Music organizer and player
    MediaMonkey. I am a long term XMMS and Winamp user, then foobar2000 because everybody is saying good words about it. Foobar2000 is good, it’s fast and powerful and with simple yet very configurable layout. But after I tried MediaMoney, I liked it at once. What I like it the most is its very powerful music organizing feature. When it’s combined with the playlist, I think that’s exactly I want from a music player: easy to organize and convenient to make a playlist.
  • File manager
    FreeCommander. Before I chose FreeCommander, I tried UltraExplorer for couple months and Total Commander for several days. The first one is free and very unique for its breadcrumb feature and highly configurable interface. The latter one is not free, and very famous because it’s very powerful with the ability to use lots of plugins. After trying three of them, I decided on FreeCommander because it has almost all the features I want, and it has the interface I am comfortable with, and it’s FREE. Actually what I like it the most is that it has dual panels, tab supported, quick filter supported, and has a user configurable center column for access to frequently used operations and bookmarks. I am looking forward to FTP support in its succeeding versions but so far I am quite satisfied.

Two hacks about WordPress

  • To exclude page links in the navigation bar in the header.
    I have some pages that I want them to be accessible by the public but not listed in the navigation bar. After some search, I found this effective yet simple solution. What I did is to edit the header.php file in the current theme folder. Locate the function wp_list_pages and add exclude=pageID#,pageID# to its arguments, where pageID#s are the ID numbers of the pages to be hidden. Here is an example:

    <?php wp_list_pages('exclude=123&sort_column=menu_order&depth=1&title_li='); ?>

    where 123 is the ID of the page to be hidden.

    UPDATE: Just found a nice plugin, Page Link Manager, that does the same job in a much neater manner. Besides the option page, an “Include Page in Site Navigation” checkbox will be available when a page is being edited.

  • To exclude pages from the Extended Live Archive.
    I just installed this plugin to display the blog archives. It works very well in a very neat and intuitive way. But I found that it also includes pages by default and I couldn’t find the option to disable it. So I searched again and found a solution in their Flickr forum. What should be edited are two files in the plugin folder: af-extended-live-archive.php and af-extended-live-archive-include.php.
    In these two files, locate the following two expressions in both files

    post_status = 'publish'
    p.post_status = 'publish'

    then change them to

    post_status = 'publish' AND post_type='post'
    p.post_status = 'publish' AND p.post_type='post'

    respectively. That’s it. Now ELA displays posts only.

Blog upgraded

Last weekend I spent one night to upgrade this blog from WordPress 1.5.1.3 to 2.2.1. Basically everything goes smoothly except the database character sets issue because there are some Chinese characters in my posts. I searched the web and tried many times and finally it works, though I still don’t know the details because I am really not good at MySQL things. What I did is:

  1. Run SQL query
    show variables like '%character%';

    to check the character sets of the database. If the character_set_database is latin1, change it to utf8 by

    alter database mydb character set utf8;

    where mydb is the name of the database.

  2. Edit wp-config.php, change the line
    define('DB_CHARSET', 'utf8');

    to

    define('DB_CHARSET', '');

These two steps basically solve the Chinese display problem. (References: 1, 2 and 3)

The new version of WordPress is very good, especially the support of widgets and many other improvements from version 1.5.x. I also changed the theme to GlossyBlue 1.4 and modified a little.

Windows XP system optimization

The purpose of the following tweaks is to get rid of unnecessary memory eaters to improve the performance of Windows XP system.

Note: perform these tweaks only if you know what you are doing, and always backup. YOU’VE BEEN WARNED.

  • Remove Unnecessary Startup Programs
    Run regedit, locate

    HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run

    and

    HKEY_CURRENT_USER/SOFTWARE/Microsoft/Windows/CurrentVersion/Run

    and also check Windows Startup program folder, remove unnecessary startup programs installed by some programs or you don’t need them at all.

  • Disable Unnecessary Services
    Control Panel/Administrative Tools/Services or run services.msc to enter services configuration.
    Here’s a good resource for service information in Windows XP SP2 you can refer to before you decide which services to disable.
  • Defragment Pagefile
    A cool little application PageDefrag to accomplish this task.
  • Disable Last Access Update
    Run regedit, locate

    HKEY_LOCAL_MACHINE/System/CurrentControlSet/Control/FileSystem

    right click in a blank area of the window on the right and select DWORD Value, create a new DWORD Value called NtfsDisableLastAccessUpdate, then right click on the new value and select Modify, change the Value Data to 1.

  • Improve Boot Times
    Run regedit, locate

    HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Dfrg/BootOptimizeFunction

    select Enable from the list on the right, right on it and select Modify, change the value to Y to enable.

  • Improve Swapfile Performance
    Run msconfig.exe, click on the System.ini tab, expand the 386enh tab, click on new then in the blank box type ConservativeSwapfileUsage=1.
  • Make Menus Load Faster
    Run regedit, locate
    HKEY_CURRENT_USER/Control Panel/Desktop

    select MenuShowDelay, right click and select Modify, reduce the number to around 100.

  • Improve XP Shutdown Speed
    Run regedit, locate

    HKEY_CURRENT_USER/Control Panel/Desktop

    select WaitToKillAppTimeout, right click and select Modify, change the value to 1000, click OK. Now select HungAppTimeout, right click and select Modify, change the value to 1000, click OK.
    Locate

    HKEY_USERS/.DEFAULT/Control Panel/Desktop

    select WaitToKillAppTimeout, right click and select Modify, change the value to 1000, click OK.
    Locate

    HKEY_LOCAL_MACHINE/System/CurrentControlSet/Control

    select WaitToKillServiceTimeout, right click and select Modify, change the value to 1000, click OK.

  • Disable Unneeded Hardware Devices
    For example, disable modem and wired network card if only wireless network is used.
  • Removing Extra Fonts for Speed
    Control Panel/Fonts, create another folder then move unused fonts to that folder.

Sequence photography

Babies in line
所谓 sequence photography,就是把一连串的动作记录在一张照片上。我是受了包包家照片的启发,但感觉在宝宝不会走的时候不好用而且也没什么乐趣,所以在女儿会走了之后,我迫不及待的做了第一次实践。这个方法是我自己琢磨的,可能还有更好的方法,但这个方法实践后证明是简单而有效的,分以下几步。

  • 构思
    这种照片的特点是除了活动物体外其他部分是固定不变的,而活动物体是连续拍摄几张照片然后叠加进去,所以需要 

    • 在构图时应该构思好把最后设想的照片范围全部取进去,而不是分别取景拍几张照片然后贴在一起;
    • 保证每张照片曝光一致,使最后效果是来自同一场景和光线;
    • 保证每张照片焦点不变,这样更加真实。所以你如果是拍摄宝宝朝相机或远离相机走去,那么可能需要考虑一下焦点对哪里,以及景深的问题。作为第一次尝试,我用了最简单的横向走动。
    • 另外,还要构思好你想让活动物体在最后的画面出现的顺序位置,最好不出现重叠。

    为了保证以上各项,需要一个稳固的三脚架,这样可以每张的背景都一样;对焦之后锁定(可以自动对焦后切换到手动对焦,这样焦点就不变了);测光后固定测光值(比如用自动曝光模式测光后,记下曝光组合,切换到手动曝光模式,这样每张照片的曝光值都一样,当然,在第一张和最后一张照片之间,环境光线最好没有显著变化)。

  • 拍摄
    让宝宝在你对好焦距的位置开始走,从你构想好的画面一端走向另一端,并在设想好的位置按下快门。
  • 后期
    在 Photoshop 中,打开刚才拍的这几张照片,比如共四张。从照片4开始,把第3张全选(Ctrl-A),拷贝(Ctrl-C),复制到第4张上,这样第4张就有了两个图层,第3张在上面,第4张在下面。然后,选中第3张,用套索工具,勾选出宝宝,然后反选(Ctrl-Shift-I),此时可以看到选中了除宝宝外的其余部分,删除之(Del)。这时可以初步看到效果了,出现了两个宝宝了。 :) 以下就是重复上面的步骤,把第2张,第1张都拷贝过来,然后套索,反选,删除。用套索时不需要很严格的把宝宝套取出来,可以很宽松的选择周围较大区域,因为有了前面的构思和准备工作,宝宝和背景之间的对应关系在每张照片上应该都是唯一的,这比精细的抠图简单多了。最后合并图层,保存。

总结:我的这个方法就是很简单的利用了Photoshop中的图层叠加功能。这个 Flickr group 专门讨论 sequence photography。