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.

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.

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.

Feed aggregation in WordPress

During last weekend, I had an idea to aggregate the feeds from my daughter’s baby friends’ blogs and flickr photos into her blog so that we don’t have to visit them one by one. Though I can read the updates in Bloglines but it’s neat to put them together. After doing some search (salut Google!), I implemented this solution:

  1. Use Gregarius to aggregate all the feeds.
  2. Use rss2html free script to generate HTML code in a WordPress page.
  3. Use the phpexec plugin for WordPress to make PHP run inside a WordPress page possible.

Besides, I use cron job to make Gregarius update the feeds at a fixed time interval, say, every 2 hours.

This solution turns out to work very well. Gregarius is essentially a very good open source feeds aggregator and it can be used as a stand alone feeds reader on your own server. The free rss2html script just does what the name tells, and its simple template supported feature is very nice to format output style.

I also tried another WordPress plugin aggregated blog feeds and found it does similar things in a much simpler manner. But it strips all images in messages and I didn’t find an option to enable it. If only titles or abstracts are what you need for feed aggregation in WordPress, you gotta give it a try.

Retrieve invisible Flickr photos

Flickr has a limitation for free account that only the latest 200 photos are shown in the photostream. The older photos are invisible but they are not deleted. If you know the URL of an older photo, you can access and edit it as usual, and all comments, notes, etc are still there. So the problem is how to retrieve the URL’s of the invisible photos. I searched and found LfVr is a good application to do such things. You can retrieve all your public flickr photos as well as the URL’s. Another application by the same author, Flickr Album Maker, is a tool to generate an album from your flickr photos that you can put on your web server. Right now it lacks the ability to retrieve the invisible photos. But it’s not a problem, we can combine these two tools and manually add the invisible photo URL’s to the album. If right now you have less than 200 photos in your flickr account, Flickr Album Maker is the only one you need. You can make albums periodically to “record” the URL’s of the vanishing photos. Of course, if you have a flickr pro account, this is not for you.

UPDATE: LfVr doesn’t display hidden photos any more.

My simple digital workflow

我每天处理数码照片的工作流程其实很简单,主要包括以下几大部分。

1、下载。
因为我买第一部数码相机时是买的水货(即未经过本地经销商而直接由零售商进货销售的版本),所以既没有从相机直接传输照片到电脑的USB线,也没有随机软件,因此我从一开始就习惯于用读卡器传输照片。我想这个完全因人而异,自己觉得熟悉顺手最重要。传输的软件我用的是BreezesysDownloader,同时浏览图片我也是用的他们的BreezeBrowser。因为当年这类针对数码相机的软件还比较少,Chris Breeze也是较早的Canon PowerShot G1的用户,他因为觉得软件不顺手所以开始自己写软件。早期的这些软件是免费的,后来越做越好,所以开始卖钱了,这也合理。我从那时开始就用他写的这两个软件,所以一直就用下来了,因为不想付钱,所以版本有点老了,不过足够我用了。BreezeBrowser可以和Downloader集成,也可以直接调用外部图像编辑软件如Photoshop,所以用起来非常顺手。他的另外几个重要功能还包括RAW转换和相册生成,这里不多说了,有兴趣的可以去他的主页看看。Downloader可以根据指定的规则把下载的图片分类,比如我喜欢每月一个文件夹的按时间分类。同时它能判断哪些已经下载,就不会重复下载了。如果下载的文件被修改过,也可以选择是否覆盖。所以,对文件比较安全。
当然每个人都可以用不同的方法下载照片,目的就是把图像文件按自己觉得舒服的方法转移到电脑,以方便下一步处理工作和今后的查找和归档,所以找一个好用的下载软件也是很有必要的。

2、RAW转换。
我一直全部用RAW格式拍摄,所以这一步必不可少。RAW转换的软件有很多,比如这篇比较了几个常用的RAW转换软件的使用和效果。在这些软件中,我比较喜欢Phase One处的Capture One Pro (c1pro),因为它界面简单直观,调整方便而有逻辑性,稍微熟悉后便可轻松上手。关于c1pro的具体使用,这里有一篇挺不错的介绍文字可以一读。在设置中我先设置好一些默认的调整,也就是对每张照片都进行的一些调整,主要包括很小的饱和度和锐度的增加,这个按个人口味而定。在日常使用中,我对每张照片都要进行的调整主要包括白平衡和曝光补偿,我认为这也是拍RAW最大的意义所在。调整白平衡我一般对同样的光线的条件,已经知道了它的色温数值,所以直接调到想要的值就行了;但个别照片也会有例外,所以需要个别调整,方法主要是寻找画面中的中灰部分用吸管调整,或者拖动色温移标来设定。当处理一批在同样的光线条件下拍摄的照片时,可以调整好一张后,其他的都套用它的即可,非常快速方便。接着便是曝光补偿的调整,在这个调整中,我的主要依据是直方图,但也不绝对,如果直方图良好但调整后画面主题不理想,我还是会改变一下以获得自己理想的效果。基本上完成上述两步后,我就把照片加入队列准备批处理输出了。当然,c1pro还能进行对比度,饱和度和锐度等的调整,但我更喜欢输出TIFF格式的文件后在Photoshop中细调。对于一般网上使用的照片,我一般选择8bit TIFF输出,如果是一些没必要细调的照片,有时也选择直接JPEG输出。
完成这步后,就可以休息一下,等待转换,快慢取决于电脑性能,可能需要比较长的时间。我一般选择处理后直接在Photoshop中打开,这样转换完后我就可以直接在Photoshop中处理了。

3、Photoshop处理。
Photoshop中我主要是对RAW转换后输出的图进行细调,然后保存为JPEG格式。一般我会把图片先resize到想要的尺寸,然后进行下面的处理,有些人认为先处理大图最后缩小比较好,我没认真比较过,所以我还是按照我的习惯做。这一步我一般用一个简单的action实现,这样不用每次都输入长宽和分辨率,一点搞定。接下来我一般会根据照片的情况选择用一下curve功能,稍微拉动一下,到自己感觉满意为止,我的判断标准一般是照片中人的肤色,或者中等亮度区的亮度,这个也同时可以参照一下Photoshop中的直方图。curve功能其实同时也包括了对对比度的调整,比如把高亮端往上拉同时把低亮端往下拉成为”S”形就相当于增大了对比度。如果此时对对比度还是不大满意,可以再调整一下contrast(对比度),我一般先试试auto contrast,看看自动对比度的调整结果,一般如果原图已经有合适的对比度的话会变化不大或根本感觉不到变化;如果自动对比度不能给你满意的结果,就需要手动细调一下,直到满意。由于有RAW转换中的初调,一般经过这两步之后照片已经有不错的效果了。但有些照片原片比较差时,我会再使用一下另外一个我喜欢的功能,就是selective colors,而最常用的是把照片中的黑色加黑一些,这么做的目的是可以减少一些照片发蒙的情况,使照片显得通透一些。对其他颜色的调整我一般很少用,因为弄的不好反而把整幅照片的色彩搞的很不好。接下来是对照片进行一下轻微的锐化,我一般用unsharpen mask,也就是俗称的USM,参数选择80%/3/0或更小。对于DSLR拍摄的RAW转换的照片,适当的锐化是必要的,这个和CCD(CMOS)前面的低通滤波器(anti-alias filter)有关,这里不多说。经过以上几步,我对一张照片的处理基本就完成了,接下来如果用于web贴图的可以加上一个边框,这个也是用自己录制的action来完成,一点即可。对于Photoshop我不是很精通,所以基本只用这些简单的功能。如果实在有必要,最多使用一下stamp橡皮图章功能对照片瑕疵进行一些修饰等,这些都不是必需的,所以也不多讲了。

4、贴图
最后一步就是把处理好的照片整理进自己的相册,关于这个,我在以前一文中比较过几种相册软件和在线照片存储方案,可以作为参考,这里不多说了。我一般会把瑶瑶每天的照片收入她的用Gallery做的相册,挑选其中一张放入Photo-A-Day Photoblog,然后挑选一张或几张放入她的flickr相册