Windows Live Writer Is Sweet!

Having just done my school work, I rushed back home and installed the fresh new Windows Live Writer. I have played it for few minutes actually, and I find it really a nice tool which solves many problems I have had before.

  1. It is so convenient to post an image, such as a screenshot of my current screen. What I did is simply pressing the [Print Screen] button, then [Ctrl]+[C] and here it is:A Screenshot
  2. It detects that http://wangxiaohu.com is a blog, a WordPress based blog and automatically converts what I have just typed into a clickable URL!
  3. It is able to retrieve all my previous posts from my website and allow me to make modifications to them, or even remove them. I don’t even need to tell it my website use Metaweblog API.
  4. Adding a map to my blog is made possible, by simply entering the address.

There are many other features worth to be mentioned, and I just roughly listed the most notable ones in few minutes. Common functionalities such as settings for Categories, Trackbacks, etc. are well implemented.

Well done, WLW team! Thank you, and I am looking forward to see the final release of this tool.

小虎版 WordPress 插件两个

这几天老是不务正业。前两天琢磨着整个基于 MetaWeblog API 的 WordPress 转发器(crossposter),后来发现实在时间有限,所以作罢。不过手还是很痒痒,老是想整点 Coding。算了,自己写不了就改改别人的吧。下面是下午刚改的两个 WordPress 插件:

  • 小虎版 Counterize
    • 基于 Counterize 0.47
    • 增加了对包含了“baidu”、“sohu”等 user agent 的检测
    • 增加了 cz88.net 的 IP 地理位置显示
    • 如果 Admin 已登陆,则不记录 IP
    • 显示每个IP过去的访问次数
    • 基于 IP 地址的 Kill,而不是 ID

安装方法 先安装 Counterize 0.47,然后把 counterize.txt 改名为 .php 后缀,上传并替换原来的 counterize.php 。直接安装也可以,只是没有了那些红、绿、蓝的指示条。

安装方法 把 akismet.txt 改名为 .php 后缀,上传并替换原来的 akismet.php 。

注意 小虎对任何问题一概不主动不拒绝不负责,请三思而后下载!

Windows Live Spaces的MetaWeblog API的开启

类似Atom APILiveJournal APIMetaWeblog API是一种基于XML-RPC协议,允许通过第三方客户端来发表Blog的编程界面。现在,Windows Live Spaces也提供了对MetaWeblog API的支持。在Spaces里启用MetaWeblog API的设置步骤如下:

  1. 如果你还没有一个Passport帐号,需要在 http://www.passport.com 注册并获得
  2. 如果你还没有一个Space,需要在 http://spaces.live.com 注册并获得
  3. 进入你的Space,然后进入Settings,接着进入E-mail Publishing
  4. 打开E-mail Publishing功能
  5. 选择一个Secret Word

从先在开始,当你在设置MetaWeblog API第三方客户端的时候,用户名就是你的Space的名字,密码就是那个Secret Word。比如,如果Spaces的地址为 http://xiaohuwang.spaces.live.com ,那么用户名就是 xiaohuwang ,密码就是在第5个步骤里设置的那个Secret Word。最后,MetaWeblog API的请求地址为 https://storage.msn.com/storageservice/MetaWeblog.rpc

如果有兴趣开发基于 MetaWeblog API 的应用程序的话,可以访问参考MSDN的这个章节。(PS. 真的很想很想写个WordPress到Live Spaces的转贴软件,可惜还要写硕士论文。命苦啊,为什么我不能做自己想做的事情?

Friends

It is nice to have friends around. So does everyone else.

I just came across an interesting website xhtmlfriends.net which provides a crawler for XFN, as well as a visualizer for friends network. I think if someone in Windows Live Spaces team haven’t heard of XHTML Friends Network (XFN) yet, it is better to have a look now.

XFN is simply a XML standard that adds descriptions to a normal link to your friends’ blogs. The descriptions can contain information such as “Have you met this friends before?“, “Are you in the same residence?” and etc. In general, it describes how close the relationship between you and friends. The link to a friend’s blog can be seen as an identification of your friend. For example, here is the XHTML of the link to Sui’s blog:

<a xhref=”http://inexist.spaces.live.com” rel=”friend met colleague co-resident”>

In my website, there are a bunch of links written like this. So they can be identified by XFN services, for instance the list of all my friends by simply give my website URL (”wangxiaohu.com“).

An more advanced example is that, for a given a website with XFN supported, networks of friends can be visualized instantly, such as this one. In the graph, each person is presented as a node and the length of vectors intuitively indicates how close two person are. In contrast, mine is much more simple, since none of my friends blogs contains XFN description yet. 😛

However, it seems that Friends Explorer in Windows Live Spaces does not support XFN, or have something like that yet. If it does, it will be cool, since Spaces is well integrated in the Windows Live Messenger and thus more acceptable by large group of users.

Robots

Having just watched the video Lego teams up with Microsoft Robotics on Channel 10, it reminds me the Lego project in my final year of undergraduate and the AIBO Dog Project I have done during the Summers of 2003 and 2004.

Lego

There were 6 people in the team for Lego project and I was the main developer. It is a wheel based robotic vehicle built using Lego Mindstorms, and it is able to travel through a maze using its light sensors at two sides and one touch senser in the front. The algorithm in the vehicle keep obtaining sensor information repeatly, once initiated. It compares the data from two light sensors and aligns itself in the middle of the road. The touch sensor basically tells if it is blocked. Click image on the left or here for the video.
2 software engineering principles was targeted when doing the implementation:

  1. Something bad will never happen.
  2. Something good will eventually happen.

To ensure this, the algorithm checks the timer and counts how long has elapsed since the touch sensor last triggered. Since the maze is finite and it is impossible the vehicle is not blocked forever. If so, the only possibility is that the vehicle is stucked, causing running forward no more. Thus, if the waiting time is long enough, a time out will be signaled and the vehicle will move back a little bit and try a different angle in a random degree. Therefore, something bad (blocked forever) will never happen, and something good (escaped when stucked) will eventually happen.

The first video image send from AIBO camera.In contrast, AIBO Dog Project is more interesting. I created an software suite for the AIBO robot system which allows to do several things, such as

  • Head controlling in real-time by pointing devices.
  • Motion playing back, such as walking forward, backward, turning, etc.
  • Audio streaming and full screen video streaming

The suite contains a server, to be run on AIBO, and a client, to be run on the remote PC. They communicate in TCP/IP once the server is connected by a client. Unforunately, there is no video for the project. Pictures are here:

dscf0002dscf0011dscf0012dscf0016

Today, from iRobot to Canada Arm; from manual controlled to fully automated, robots are not just a focus in education and entertainment. The potential robot market is slowly opening and there are companies interested in this new business, such as Robotics Studio just announced from Microsoft. Who else?

Pando

Lishan has just sent me an URL and urged me to take a look. It’s Pando, a software that allows you to send files with any sizes through your email account. It overrides the size limit set by each email service provider, so that you don’t have to worry about sending a music video larger than 50MB or something like that.

The idea is cool. I am wondering what email providers’ opinions will be? Hate it or love it? Depends. There are always smart companies can make use of this kind of software which make use of their services. We will see.

Screenshots of Pando are here.