Zhuotong's profile苦楝树BlogListsNetwork Tools Help

Blog


    8/6/2009

    蓝光中国标准

    蓝光(blue-ray)是下一代高容量DVD标准。来自索尼的蓝光标准在赢得国际市场前与东芝支持的HD DVD标准有过生死之战,最终东芝无奈也选择了蓝光,至此,蓝光基本已经成为下一代大容量DVD的国际标准。然后,在中国,还有更多的故事。

    在蓝光和HD DVD没分输赢前,中国选择了HD DVD标准,然后有几家单位进行了进一步的研发,诞生了所谓的拥有自主产权的中国蓝光标准(CBHD)。此两者标准互不兼容。这里想问的是,真有这个必要,中国搞自己的标准么?

    CBHD是派生于东芝的HD DVD标准,不是真正意义上的具备自主知识产权;

    CBHD支持的容量是单层15GB,双层30GB;国际蓝光是单层25GB,双层50GB;在容量上不占优势。无论CBHD还是蓝光,作为存储介质,容量是其重要指标。

    目前看CBHD在价格上有优势,但需要知道的是,类似的高技术产品,经过一些时间,各方面成熟后,价格都会很快下来,当CBHD在价格上没有明显优势后,除了号召大家支持民族产业和国家标准,还能做什么

    最重要的是,当全世界的厂商都推出支持蓝光的设备(蓝光是跟CBHD在物理格式上不兼容的),大家以为他们会刻意的支持一个区域性的标准么? 即使支持了,也是以增加成本为代价,成本是要反映到最终零售价格里的。

    国内的软硬件开发人员也有得折腾了,写代码,得写两套标准,一套支持国际上通用的蓝光,一套支持中国标准,硬件也得两套,为了美观和方便,将两套硬件二合一。

    那么会不会国际社会主动来适应中国的标准么? 如果中国是美国,也许还有可能。迄今为止,看着的莫不是洋货跟宝一样,以崇洋媚外为荣,千万不要到头来中国标准又成曲高和寡之作

    那么难道就不要中国标准了吗?发展中国标准不是自已搞一套,正确的发展思路是跟美国和日本一样,将自己区域性的标准推广成国际标准。在全球化的今天,要放到国际舞台上去竞争,不要在国际舞台上争不过,就关起门来,自己搞一套,真当自己是国际老大了,大家要听你的,如果还不是,就先适应国际上的潮流吧。搞中国标准的底牌是相关厂商认可中国的市场,象Warner Bros.就宣布支持中国标准,然而是不是每公司和用户都买这个帐呢?最关键的是中国盗版严重,正版市场远没有想象中的大,这些都是其余内容提供商决定发行CBHD需要权衡的。记得以前DVD时代,中国也搞过EVD、FVD等,都是惨淡收场。

    目前国内有关部门正在推行CBHD标准,等些年后,回头再看,相信市场会淘汰掉一些不必存在的东西

    7/7/2009

    Migrate live space to blogger (v1.1.1)

    A new version of the live space export utility. The old version can not run because the live space has changed some codes in its web pages. Also some bugs have been fixed in this version.

    Download link (v1.1.1):

    http://cid-0ea641a5a7f665a1.skydrive.live.com/self.aspx/Public/livespaceexport.v1.1.1.zip

    md5 sum: 1591c88501470b9292cff39a42eb209d

    Please read the readme.txt file included in the zip package before use.

    I ONLY MAKE A SIMPLE TEST. PLEASE LET ME KNOW IF THERE STILL IS ANY PROBLEM.

    BE SURE SIGN IN YOUR LIVE SPACE WITH YOUR PASSWORD USING YOUR FAVORITE BROWSER BEFORE TRYING TO RETRIEVE LIVE SPACE POSTS.

    The previous posts on this tool might be helpful if you are not clear how to set the parameters which are necessary to run the tool.

    http://nanzhuotong.blogspot.com/2008/11/move-blog-posts-from-live-space-to.html (figures included to show the parameter configuration)

    http://nanzhuotong.blogspot.com/2008/11/live-space.html (in Chinese, figures are also included)

    6/27/2009

    一个获取并查看北京空气质量的工具,数据来自美国北京使馆Twitter

    screenshot 
    版本(b090627)的截图

    功能

    • 从美使馆官方twitter(https://twitter.com/beijingair)上获取最新美国使馆发布的北京空气质量数据
    • 以时间序列图方式直观查看全部的历史数据
    • 提供逐小时和逐日两种方式
    • 数据可以导出至excel格式;图可以导出到常用的图像格式;支持将图和数据拷贝到剪贴板

    使用说明,请查看包装包里的Readme.txt文件。

    可运行版本下载地址:

    http://cid-0ea641a5a7f665a1.skydrive.live.com/self.aspx/Public/bjair|_plot|_b090629.zip (最新版,现在客户端上无须要求安装 sql server compact ed.) 1.5MB

    http://cid-0ea641a5a7f665a1.skydrive.live.com/self.aspx/Public/bjair%7C_plot%7C_b090628.zip (最新版,更新一点bug)

    http://cid-0ea641a5a7f665a1.skydrive.live.com/self.aspx/Public/bjair%7C_plot%7C_b090627.zip

    需要.net framework 3.5 sp1的支持,如果在你的windows机器上不能运行,请到http://www.microsoft.com/downloads/details.aspx?FamilyID=ab99342f-5d1a-413d-8319-81da479ab0d7 这里下载 .net framework 3.5 sp1并安装到你的机器上。

    相关新闻:

    美使館Twitter北京空氣質量受歡迎(BBC)

    美使馆用Twitter发布北京空气质量监测(财经网)

    烟雾笼罩北京 空气质量再成焦点(网易)

    美国使馆的北京空气质量

    我从BeijingAir twitter网站(https://twitter.com/beijingair)上下载了全部的北京空气质量数据。这些数据是美国驻北京使馆测的,并在他们的twitter网站上实时更新。他们声明说数据只反映使馆所在地小范围的空气质量,而不代表整个北京的情况,他们是目的是为了给使馆工作人员提供有关空气质量的信息。而北京官方发表的空气质量要好于此数据。

    空气质量定义见http://www.airnow.gov/index.cfm?action=static.aqguidepart。分,

    好 0-50
    中等 51-100
    对易感人群不好 101-150
    不利于健康 151-200
    非常不利于健康 201-300
    灾难 >300

    以下各图横轴是时间,纵轴是北京美国使馆观测点的空气质量指数(其实监测的只有直径2.5微米的悬浮颗粒,此标准与国内监测10微米不一致,所以不能简单地对比这些图与北京的官方通报)。

    image
    6月份以来的北京逐小时空气质量指标。绿线以上代表了非常不利于健康和灾难性污染。

    image
    6月份以来的北京逐日平均空气质量指标。

    image
    08年10月份以来的北京逐小时空气质量指标。达500的重度污染发生次数不少。

    image 
    08年10月份以来的北京逐日平均空气质量指标。

    粗粗一看,好像不是很乐观。至少说明在该监测点情况不是很好。北京的环保还任务艰巨。懒得做进一步的统计分析(比如200以上的天天数比例等)。有些东西还是糊涂些好,不必搞这么清楚。

    对本程序感兴趣的,可以与我联系(giscn#msn.com)索取可执行文件和源代码。空气质量数据是直接从twitter网站读取并存在本地数据库。从技术上讲,里面有一些比较感兴趣的东西,以后我会逐渐整理成文档发出来。

    6/17/2009

    Opera Unite

    看到一个BBS帖子,注意到了Opera Unite。该帖子称“Opera Unite 掀起网络新革命”。找了相关资料快速看了一下,其实没有这么神奇。

    从实现上讲,Opera Unite是Opera浏览器里内置的一个Web服务器,相当于它在你的机器上开了一个Web服务。你的朋友得到你给他的地址后(类似于http://计算机名.用户名.operaunite.com),就可以访问你机器里共享的东西了。实现了一种类似于p2p的概念(尽管实际上不同于p2p)。

    它的好处大概是,由于opera unite给你构造了一个Web服务器,所以共享的内容可以通过http端口穿越防火墙。由于内置在Opera里,所以用户不必安装额外的东西,而你的朋友要看你共享的内容,也只需要浏览器即可(不限于Opera)。

    讲是创新的技术是可以的,毕竟此前没人做过,但讲是“革命”,就言过其实了。

    5/7/2009

    Outlook 2007 搜索不管用

    Outlook 2007 instant search (即时搜索?) 不管用了,比如找联系人,总是返回没有结果。解决方法如下:

    1.  tools > options> search options > indexing里,将全部的 files 打勾给去掉。

    2. 关闭outook,大概等待5分钟,这时系统会将以前index的结果给删除掉。

    3. 打开outlook,将全部的files 再勾打上。全部确定。耐心等待系统重新index,这过程大概需要10分钟以上。可以通过 tools> instant search > indexing status 查看状态,如果已经索引结束,全部是0,如果还有大于0的数字,说明索引进程还在进行。

    在索引期间可以照常做其它工作,索引过程是用系统后台程序进行,可能系统会变得缓慢,这都是正常的。

    3/17/2009

    开心网争车位自动工具v1.0.4

    ver. 1.0.4 (3/07/2009)
    * 修正因为网页源码的修改而取得泊车后响应数据的问题
    * 车名带点号的车辆无法取回的问题

    下载:

    http://cid-0ea641a5a7f665a1.skydrive.live.com/self.aspx/Public/kaixinCarWar.v.1.0.4.zip

    2/16/2009

    Out of memory problem

    两个目录下有66K多个文件,需要运行Kappa进行计算比较。作了一个批处理,

    for %%f in (C:\nan_wksp\metric_analysis_radar_nldas\data\nwbi_deg8_sel\radar_clas\*.asc) DO (
    kappa %%f C:\nan_wksp\metric_analysis_radar_nldas\data\nwbi_deg8_sel\nldas_combo_clas\l%%~nf.asc -k:C:\nan_wksp\metric_analysis_radar_nldas\kappa\kappa.txt)

    在执行到1万个的时候,提示 Not enough storage is available to process this command,以及 out of memory,退出!不知道是什么原因。起先以为是Kappa代码有问题,但理论上讲,代码是用托管模式写的,正常退出时dotnet会负责回收的。Kappa代码里连接了ArcGIS的相关代码,这部分是非托管的,有可能是异常引起非托管资源被占用,从而积累导致问题。

    后来在网上找了一下,在微软KB里有类似的描述,http://support.microsoft.com/kb/126962,建议修改注册表,增加shared memory。

    但终因为不知道改成多少合适,而且改Kappa代码也很容易,决定不采用这种方法(workaround)。用c#写小段代码,实现批处理,寄希望于通过托管系统自身的回收机制,能解决out of memory的问题。代码十分简单。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.IO;
    using System.Diagnostics;

    namespace Kappa_bat
    {
        class Program
        {
            static void Main(string[] args)
            {
                string nldas_dir = @"C:\nan_wksp\metric_analysis_radar_nldas\data\nwbi_deg8_sel\nldas_combo_clas";
                string radar_dir = @"C:\nan_wksp\metric_analysis_radar_nldas\data\nwbi_deg8_sel\radar_clas";
                string out_dir = @"C:\nan_wksp\metric_analysis_radar_nldas\kappa";

                string kappa_file = Path.Combine(out_dir, "kappa.txt");
                string log_file = Path.Combine(out_dir, "logfile.txt");

                string[] radarfiles = Directory.GetFiles(radar_dir, "*.asc");
                foreach (string f in radarfiles)
                {
                    Process proc = new Process();
                    proc.StartInfo.FileName = "kappa.exe";
                    string fn = Path.GetFileName(f);
                    string nldas_fn = Path.Combine(nldas_dir, "l" + fn);
                    proc.StartInfo.Arguments = nldas_fn + " "+ f+ " -l:"+log_file+" -k:"+kappa_file ;
                    proc.StartInfo.UseShellExecute = false;
                    proc.StartInfo.RedirectStandardOutput = true;
                    proc.Start();
                    proc.WaitForExit();
                    Console.WriteLine(fn);
                }
                Console.WriteLine("Done.");
            }
        }
    }

    2/6/2009

    Talking about 也说内存

    Syeerzy在blog里有讲他关于程序内存使用的看法,认为为了追求速度的提高,有必要“充分利用内存”。

    这是似是而非而且荒谬的结论,而且同样极端了。

    不管内存有多少G了,相比硬盘比还是很小。所以在完成任务目的,保证用户可接受的速度下,优化内存当然是性能的一个重要指标了。写程序的时候永远无法知道运行这个程序时的计算机情况,当然能节省则要节省了,一般程序很少去智能调整自己内存占有,优化程序的内存使用是现代操作系统的重要任务。节省越多的内存,意味着可以同时并存更多的程序,这是为用户负责的一种表现。

    举个极端的例子,程序A完成既定任务用1M内存在多数配置机器上可以比较流畅的运行了,这时目标机器上还有2G的内存可用,OK,照“充分利用内存”的说法,意思就是最好将2G都“充分”用起来,OK,程序A充分用了1G的内存(嗯,程序A load了除了必要的执行代码和必要的数据,将潜在操作有可能用到的文件也顺便load进来了,这样对1%的用户来讲可能提升了 0.0001%的速度,这符合“充分使用内存”吧),目标机器上还有1G剩余的(幸好不是只剩1K内存了)。问题是,1M内存使用的时候速度已经不错了,用1G内存提升的速度并不明显。但为了这一点速度上的优化被你“充分”占了1G的内存。目标机器接下去还要再运行一个专业软件,而这个软件需要load一个1G的数据进内存,my god,stupid的操作系统接下去做的事情就能让你发疯。就是因为程序A根本无法预料到用户机器的情况,从而根本无法做到“充分”利用。你能做的就是,保证性能的前提下,尽量优化内存使用,尤其对于大型程序来讲。

    让程序去根据内存可获取情况自动调整自己的内存占有情况? 当然可以,但有这时间,不如去开发更多的大家需要的功能。而且操作系统已经具备多数情况下行之有效的算法去优化这些程序的内存使用,尽管有时候很stupid。

    “所以,最终结论是”,即使“在内存使用不超出最大物理内存的情况下,比如在大内存的PC机上(大内存指内存接近或超过4G---4G是32位地址的范围,比如2G或3G或8G)”,也不能为了一点点的速度提升去“充分”利用内存。“内存多使用并不是什么错,不要再把内存使用多少作为性能标准了”,这是对的,但“我们追求的性能”不仅仅是“速度”,还有对用户负责的一种态度。——除非,增加内存使用可以明显提高各方面的性能,那又是另一个story了。

    2/4/2009

    如何在vista里显示图片缩略图

    南卓铜 (zhn1@pitt.edu)

    Vista的资源管理器里浏览图片时默认仅显示图标。如图1所示,

    image
    图1 以图标形式出现的缩略图,这是Vista显示图片的默认方式

    尽管双击图标,转到照片库,可以浏览图片内容的缩略图。我个人更偏向于如以前XP下直接在资源管理器里显示照片内容的缩略图。这其实是可以通过改变选项做到的。Vista默认禁止显示图片内容缩略图,估计是出于性能上的考虑。

    单击“组织”菜单,在下拉菜单里选择“文件夹和搜索选项”(图2),确认“以缩略图形式显示文件图标”打上勾,并且去掉“始终显示图标,从不显示缩略图”前的勾。确定后,图片以内容缩略图的形式出现(图3)。

    image
    图2 文件夹选项

    image
    图3 Vista以图片内容缩略图显示

    1/20/2009

    vista开始菜单的问题

    有时候在安装完程序后,开始菜单里就出现一项“程序”,其下内容与整个开始菜单完全一致。重启或者注销后恢复正常。估计是vista当前版本的一个bug吧。网上也有人报道,但没有solution或者workaround。有人将这重复的“程序”从开始菜单上给删掉了,结果整个开始菜单都没了,呵呵。本质上讲,那个“程序”下的内容跟开始菜单里的“全部程序”是同一个东西。

    1/15/2009

    开心网争车位自动工具 v1.0.3

    修正了车名中带 - 的问题,如萨博9-3。

    其它说明请见本站相关博文 v.1.0.2 (Jan 4 2009)

    1/4/2009

    开心网争车位自动工具 v1.0.2

    一些bug的修正。下面是Readme的内容。

    开心网(kaixin001.com)争车位自动停泊车工具
    Zhuotong Nan (zhn1@pitt.edu)

    最新更新 2009年1月3日(美国东部时间)

    如何运行
    开始菜单,运行,键入cmd打开命令窗口,cd进入到此工具所在的目录,键入kaixinCarWar运行。
    也可以直接在资源浏览器里双击运行。
    第一次运行时,会要求输入登录开心网的用户名和密码。
    目前没有图形界面。

    如何退出

    在命令窗口里键入q退出此程序。

    配置

    使用任何文本编辑器,打开.config文件,进行参数的配置。只有当你明确每个参数是什么意思时,才可以修改。否则请联系作者。
    用户名和密码信息存储在另外的配置文件里。
    在xp下,是在C:\Documents and Settings\<USER>\Local Settings\Application Data\Zhuotong_Nan\KaixinCarWar.exe_<...>这个目录下。
    进入此目录,删除全部文件,再运行KaixinCarWar.exe,会重新提示输入用户名和密码。
    在vista下,位置是在C:\Users\<USER>\AppData\Local\Zhuotong_Nan\KaixinCarWar.exe_<...>这个目录下。

    平台支持

    支持.net 2.0的任何平台(安装了.net 2.0的xp,vista等)

    版本历史

    ver. 1.0.2 (3/1/2009)
    * 修正了车名中带空格的车辆无法取回的问题
    * 翻译了README的一些中文说明

    ver. 1.0.1 (12/3/2008)
    * make it work with the friendlist pattern that has changed recently.

    ver. 1.0 (10/28/2008)
    + optimized parking algorithm
    + whitelist support
    + neighbor support
    + add a console passworld input class which will be enabled at the first time you run it.
    + simple exception handling
    * fix possible WebException due to network timeout
    * bugs fixed
    + now support automatically parking

    ver. 0.2 (10/23/2008)
    * change the cash pattern to make it capture correctly.

    ver. 0.1 (10/21/2008)
    + Initial release
    + Monitor the parking lot and automatically claim their profits by setting a claim level.
    + Use a configuration file to set up the program.

    图例
    lengend
    + add
    - remove
    # enhance
    * fix

    P.s,

    如果运行提示,应用程序正常初始化失败,说明没安装.net 2.0
    安装.net framework 2.0运行包,点这里下载.net 3.5 sp1即可。Vista本身已经安装。

    1/3/2009

    tray里的network icon提示不通,事实上无线是通的

    新买的thinkpad x200是安装的vista,感觉程序运行的还流畅(更多是因为机器性能提高了,自然会流畅一些,但vista那个系统是真叫大,占了我10G的空间,再加个系统还原占的15%,合计40多G就没了),但各种问题也不少。前面已经bluescreen了一次,这两天又注意到网络图标的问题。尽管不影响使用,但就是不知道是怎么回事,也许是vista的bug?

    thinkpad x200自带的access connections来管理无线。使用住所的无线,那个网络图标上面有个小蓝球,鼠标移到上面,提示说“未连接,您目前没有连接到任何网络”,但事实上是通的。到学校的办公室,那图标干脆就是红叉,同样的提示说不通,事实上是通的。

    google了一些帖子,大家也没有啥发的解决方法。大家都推测是不是vista的一个bug。

    1/2/2009

    每次重启机器,Window Live Messenger总是提示安装

    每次重启我的Vista 机器,总会出来一个安装的窗口,自动安装Window Live Messenger。即便卸载了WLM,重装,问题仍然存在。

    具体原因不明,在网上看到一个帖子,说是可能因为MS installer此前的安装出问题导致,该帖子介绍了一个叫 ms installer clean up utility。可以从微软的网站上下到,地址是:

    http://support.microsoft.com/kb/290301

    安装后,运行,将Live messenger给清理掉。然后跑到安装/卸载程序里,将Live登录助理、Live installer也给卸掉。再重装安装WLM,发现前面的问题已经不再出现。

    移去“我的共享文件夹”

    安装成Windows Live Messenger,Vista系统的“计算机”下多了一个“我的共享文件夹”,这主要是用于Messenger共享,其实没多大用。所以想将之移去。直接删是删不了的。

    可以通过编辑注册表来达到目的。

    在运行里键入regedit,打开注册表编辑器,到

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\MyComputer\NameSpace\{FC9FB64A-1EB2-4CCF-AF5E-1A497A9B5C2D}

    这个注册表项下可以看到这是Messenger Sharing Folders。

    将{xxx}整个项移去。为安全起见,你可以先备份这个项,方法是右键,导出。

    移去后,再回到浏览器看,已经没有这个文件夹了。

    12/31/2008

    遭遇vista蓝屏

    不知道执行了什么操作,vista蓝屏,重启后,recover了不知时间,终于进入了,发现几个service不能用,包括 dhcp, network list, network location awareness, firewall, diagnostic policy等都不能用。手工启动提示说 access denied,估计是local service帐户的权限出问题了。

    在网上找了好久,在ms knowledge base里找到一个相关的,需要配置一些register key的权限,照着配置,发现还是不能用。网上很多人也是类似的情况,没有好的解决方案。

    于是想到是否可以用system restoration。xp下的这个东西比较好用。在vista下发现执行出现 unspecified error,导致系统还原无法进行。后来跑到 safe mode(启动时按f8)下执行,才搞定。进入一个几天前的还原点,还原之。

    再进入vista发现这回可以用了。好在这些天系统程序没啥安装,所以还原回来基本是一样的,最近只是安装了几个update。

    终于又可以上网了。

    vista总的感觉用户友好性还比不上xp,一些功能都被藏起来了,要用的时候找出来都要费好大的劲。常用的功能倒是组织的不错。象一位同事感叹的,不知道下版本的windows会怎么样。

    12/6/2008

    word 2007 窗体域的保护

    在填DS158e 表的时候,下载ds158e是窗体保护的,只有一些窗体域是允许填的,但ds158设计的不是很好,填上文字后,2页变成4页了。不美观。

    image

    有一个法子,就是将窗体保护去掉,然后再删除一些空白行,使得4页再重新变成2页。

    btw,窗体域及保护是很有用的方法了。word 2007里藏的比较深。在“审阅”的“保护”项里。点击“保护文档”后,弹出菜单里,点击“限制格式和编辑”。由于DS158e没有设置保护密码,所以点击 右侧的任务面板“停止保护”。这样就可以修改了。

    image

    修改合适了,再点击任务面板上的“强制保护”,密码留空。

    12/3/2008

    开心网争车位自动程序 v1.01

    这两天争车位网页代码稍有更动,主要是朋友列表增加了场景的相关数据,使得v1.0不能取得朋友数据。

    v1.01修正了这个错误。

    更多信息见这里:http://nzt.spaces.live.com/blog/cns!EA641A5A7F665A1!1505.entry

    v1.01下载点这里

    11/20/2008

    VC++ 2008 express + windows SDK

    vc++2008 express默认安装的库不全,经常还需要安装最新的windows sdk。windows sdk包括.net framework sdk和platform sdk,后者用于非.net支持的必要的头文件和库。为了安装它,从

    http://msdn.microsoft.com/en-us/windowsserver/bb980924.aspx

    下载最新的 microsoft windows sdk库。一般默认下载的是很大的安整库,比如1330MB,如果我们只需要某些内容不要全部的,可以使用Web setup,在下载页下部的Instructions,可以看到web setup。在setup对话框里根据需要进行选择。