2009-12-30

Adobe Acorbat, Adobe Reader

先装了Reader 9.0,后来又装了Acrobat 8.0。
结果,在Firefox打开pdf文件,总提示:
THe Adobe Acrobat/Reader that is running can not be used to view PDF files in a Web Browser.
Please exit Acrobat/Reader and exit your Web Browser and try again.

按照网上的很多方法,比如把Reader的Internet选项的"在浏览器中显示PDF"关掉,还是不行。
后来把Reader的nppdf32.dll拷贝到C:\Program Files\Mozilla Firefox\plugins。这样OK!

2009-12-21

联想家悦电脑BIOS升级

联想官方网站竟然找不到相关技术支持。
相比之下,Realtek这类公司的驱动更新找起来就容易很多,而NVIDIA就做得更好了:可以自动检测机器的显卡等设备型号,检查有无更新。

根据主板型号搜索了一下,QDI网站有个BIOS升级文件。
升级了以后,可以启动,BIOS设置选项也多了很多,但是,有几个USB不能用了,并且,更大的问题是,风扇狂转。
幸亏升级之前备份了旧BIOS文件,赶紧恢复。
问题解决了,USB都可以用了,风扇也不狂转了――但风扇声音被升级之前还是大了不少。


控制面板中有空白图标(Empty icon in control panel)

在%systemroot%(%windir%也行,关于%systemroot%和%windir%的区别请看http://www.msfn.org/board/windir-vs-systemroot-t52891.html)下查找.cpl文件,删除多余的.cpl即可。
原因:有的程序被删除以后,注册表的信息也删除了,但可能相应的.cpl仍然保留了,导致在控制面板中有空白图标(因为无法获取注册表信息,或者无法获取安装后文件信息,所以不能显示和执行)。

2009-12-17

(zz)八角和茴香不是同一种东西

http://qjwb.zjol.com.cn/html/2009-12/16/content_194982.htm?div=-1

  本报记者 方云凤  

  本报推出的“寻找冬日最诱人的美味”系列报道,引起了不少马大嫂们的浓厚兴趣。她们中不少人照着报纸上介绍的做法,一五一十地动起了手。也有一些马大嫂很认真,遇到不明白的地方,不忘记给我们打个电话来问问。

  杭州的汪女士就是其中的一位。12月8日A10版,本报刊登的《酱鲫鱼要带点辣,麻麻的也行》一文中讲到,酱鲫鱼时要“先把桂皮、茴香、八角、豆果这些材料放进油锅煸一下,”她不明白了:茴香和八角应当是同一种东西,只是叫法不同而已呀。

  虫虫特攻队随即询问了身边几位荣升为马大嫂的同事。她们中还真有不少人搞不懂这二者之间有什么区别呢。

  于是乎,只好查一查辞典了。

  据虫虫特攻队了解,严格来说,八角和茴香其实并不是同一种东西。

  茴香分为大茴香和小茴香两种。八角也叫大茴香,又称为大料,呈红褐色,一般有8个角,并且每个角中有一个光滑的种子,所以叫八角。

  小茴香只是一种小小的灰色菜籽,有点像稻谷的样子,但小茴香的香气浓郁倒不输于大茴香,它的茎叶部分也具有香气,一般在炖菜时使用,可以提高鲜味,也常被用作包子、饺子等食品的馅料。

  大茴香和小茴香都是常用的调料,是烧鱼炖肉、制作卤制食品时的必用之品。因它们能除去肉腥味,使之重新添香,故曰“茴香”。一般我们说的茴香指的就是小茴香。

  这下,我想各位也弄明白了二者的区别了吧?下回,包茴香馅饺子时,别把八角包进去了哟!

……

Windows的虚拟内存

看了有必要把虚拟内存设置到ramdisk么? 这个帖子,很有同感。
我的内存虽然不多,1G,有阵子禁用虚拟内存,可是偶尔会遇到内存不足的错误。
最后,还是打开虚拟内存。

ClearType(字体平滑)

今天把视觉效果调整了一下,发现字体平滑不工作了。
桌面 属性 - 外观 - 效果 - 使用下列方式使屏幕字体的边缘平滑 已经选了 "清晰"。
后来发现: 我的电脑 属性 - 高级 - 性能 - 设置 - 视觉效果 ,要把 平滑屏幕字体边缘 也选上。

2009-12-14

MFC动态生成子菜单

//假设要在pMenu上添加一级子菜单,菜单内容在数组aAllName中,bCheckStyle决定是否为勾选性质的子菜单
    pMenu->CreatePopupMenu();
    for(int i = 0; i < aAllName.GetSize(); i++)
    {
        pMenu->AppendMenu(bCheckStyle ? (((aAllName[i].CompareNoCase(strActive) == 0) ? MF_CHECKED : MF_UNCHECKED) | MF_POPUP) : MF_POPUP, uiIDParentMenu + i, aAllDesc[i]);
    }
//......

//点击某个子菜单响应,如果是bCheckStyle则调整当前的选择项
        if(bCheckStyle)
        {
            for(i = 0; i < pMenu->GetMenuItemCount(); i++)
            {
                //pMenu->CheckMenuItem(i, ((i == iIndex) ? MF_CHECKED : MF_UNCHECKED) | MF_BYPOSITION);
                //如果有 MF_SEPARATOR ,则 MF_BYPOSITION 不对
                pMenu->CheckMenuItem(i + uiIDParentMenu, ((i == iIndex) ? MF_CHECKED : MF_UNCHECKED) | MF_BYCOMMAND);
            }
        }
/*如上注释所示:如果子菜单创建时没有添加MF_SEPARATOR,即子菜单i的POSITION == ParentID + i,则MF_BYPOSITION可以;但是,如果有MF_SEPARATOR,则子菜单i的POSITION != ParentID + i,只能用MF_BYCOMMAND。类似的,EnableMenuItem也是一样:
        //m_mSubMenuRule.EnableMenuItem(i, MF_BYPOSITION | MF_ENABLED);
        m_mSubMenuRule.EnableMenuItem(i + IDM_SELECT_RULE, MF_BYCOMMAND | MF_ENABLED);
*/

USB启动盘

上次按照http://www.hiren.info/pages/bootcd-on-usb-disk的方法,做好了一个启动盘。
是的,是正宗的启动盘!不过,进入boot CD执行程序时,提示HBCD folder not found或HBCD folder can not be found。
似乎问题在于总要load一个CD driver――U盘内容是从光盘拷贝的。

于是寻找其他U盘启动工具。
FlashBoot,不免费,太小家子气。

用了USB Format(应该是HP的)。
格式化成了DOS启动盘(用了网上下载的Windows的BOOT file)。格式化后把其他文件也拷到U盘。
然后拷了个ghost,重启。

顺利启动,我的器件把U盘识别成USB-HDD(而原来用GRUB4DOS,识别出来的是USB-ZIP)。
运行ghost。启动是启动了,但是显示有问题。
看了AUTOEXEC.BAT,怀疑CALL MOUSE.BAT那句有问题。
删除MOUSE.BAT,重启,运行ghost,OK!(当然,鼠标是没有了。)
没有鼠标总归是不好的,于是怀疑是原来mouse.bat用的GMOUSE.COM有问题,替换成MOUSE.COM,重启,运行ghost。

"我终于看到所有梦想都开花……"



牛年牛词网络不完全大盘点(转)

http://www.guyizhou.cn/article/10176.htm

2009-12-12

TIME_KILL_SYNCHRONOUS

上次提到 TIME_KILL_SYNCHRONOUS 参数保证 timeKillEvent() 之后不会再进入定时器回调函数。
不过,我发现有新问题(现在还没有最终确认,很怀疑):使用 TIME_KILL_SYNCHRONOUS 之后,有时会导致 timeKillEvent() 不能正常返回,一直等待。
我现在的做法是:不使用参数,使用自定义变量 m_bTimerIsRunning 来保证在 timeKillEvent() 后不再执行相关操作(从理论上来讲,可能还是进入了那个函数的)。

2009-12-11

(zz)如编程语言是一只船

http://linux.chinaunix.net/bbs/viewthread.php?tid=1146018

如果一种编程语言是一只船,那么将会是什么情况?
Turing
Turing可以被定义为爱斯基摩独木舟(kayak,欢迎评论)。它足够小,由人来驱动。它通常被初学划船者使用,具有加拿大风格。

图片来源于 naokomc

Java
Java是一艘货船。 它非常庞大,并且非常适合于企业单位。尽管它载重量很大,可以是整个工程,但驾驶起来不是很令人愉快。

图片来源于 cfarivar

Perl
Perl 是一艘拖船。功能强大到大约80字符以内就可以牵引Java。

图片来源于 xeeliz

Ruby
很难来描述Ruby。 它造型优美,性感,并且驾驶起来令人非常愉悦。下面就是它的照片,非常流行。

图片来源于 Tony Falcon

PHP
PHP 是一只竹筏。尽管一批hack被string所掌控,但仍然漂泊于海上。

图片来源于  permanently scatterbrained

C
C语言就是一艘核潜艇。指导说明书可能是使用外文编写,但是可以优化所有硬件自生的性能。

图片来源于 Ryan C. McGinley

HTML
HTML 不是真正的编程语言,因此也不是一只真正的船。

图片来源于 ascendeddaniel

Live Spaces上不去了

我这是通过邮件发送的博客。
blogger早被GFW了,Live Spaces这几天上不了。
MSN是上得去,home.live.com也可以,就是spaces不行,并且MSN有些联系人的spaces也是可以的。
据中书判断,可能是跟我在同一个服务器上的某人干了坏事,城门失火殃及池鱼。

2009-12-10

赞foobar

之前就用过foobar对大量mp3文件的tag进行过统一修改,省时省力。
今天又使用了foobar的一些强大功能:通过Tagging菜单选择Manage Scripts,我把原来的title拷贝到comments中,并且自动添加了track number。
我期望的能自动实现的功能,foobar几乎都有了。

编译出现错误error C2039: 'GetWindowLongPtr' : is not a member of '`global namespace''

这是VC6编译中遇到的。
1,请安装SDK。VC6适用的最高版本SDK是February 2003。安装后请确认相应的目录已经在MSVC中添加。
2,如果已经安装SDK且设置了目录仍然出现问题,那么:
Take "Include directories" from tools / options menu and move the latest platform SDK include paths to top.
See http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/17e36619-8871-484a-aab4-2ea0e82a75f9/

2009-12-09

MFC程序的怪异问题(关键字:输入法,CEdit)

现象:某MFC对话框程序,用户每次用键盘对Edit控件进行输入时,硬盘灯总会相应的亮起。

经过Filemon(注意:现在官方只有Process Monitor下载了)定位,程序频繁访问了msctf.dll和msimtf.dll。
这两个是输入法相关的DLL。

于是做了测试:
在Edit中输入时,把中文输入法打开,那么,用户输入时,不会读写硬盘;如果关掉输入法,则会读写硬盘文件。

但是,总不能让用户只输入数字还要把输入法打开吧?
于是,程序启动时关闭输入法:
    HWND hWnd = GetDlgItem(IDC_EDIT_USER_RESULT)->m_hWnd;
    HIMC hIMC = ImmGetContext(hWnd);
    ImmAssociateContext(hWnd, NULL);
    ImmReleaseContext(hWnd, hIMC);
这样,用户无需操作。
测试了一下,不论是否打开中文输入法,均没有频繁读写文件现象。

vector的sum

用accumulate。
MSDN有例子:
...
// Sum the array
cout << "The sum of 1 + 1/2 + 1/3 + ... + 1/10 is " << accumulate(rgFA.begin(),rgFA.end(),0.0f) << endl;
...

设置Default button

缺省情况下,IDOK会是Default button。也就是说,如果按回车键,则相当于点击了IDOK按钮。

需要跟Focus区分。比如,当前焦点在哪个按钮上,那么按空格键,则相当于点击焦点所在的按钮。

如果需要动态修改Default button,参考如下代码
Q.  How do I set the default button in a dialog when using MFC?

A.  Usually its the "OK" button.
This function does the trick:
int CMyDialogClass::SetDefaultButton(const DWORD nNewId)
{
    DWORD nPrevId;

    nPrevId  = GetDefID();
    // Its not automatic - we have to remove the border from the old button
    SendDlgItemMessage(nPrevId, BM_SETSTYLE, BS_PUSHBUTTON, (LPARAM)TRUE);

    SetDefID(nNewId);
    // Likewise, add a border to the new one
    SendDlgItemMessage(nNewId, BM_SETSTYLE, BS_DEFPUSHBUTTON, (LPARAM)TRUE);

    return nPrevId;
}

2009-12-06

Windows下的定时器

请先阅读Timers Tutorial
补充说明:
使用Standard Win32 Timers,如果程序在GUI上消耗时间比较多,那么定时器会严重不准。比如,在我的程序中,如果用户一直按住键盘的某个键不放,那么定时器根本没有时间执行。
也就是因为这个原因,我才使用其他定时器。
先用Queue Timers,尽管我下载了PSDK,也#define _WIN32_WINNT 0x0500了,还是有问题。
所以,只得用Multimedia Timers
需要注意,为了避免timeKillEvent之后仍然触发定时器事件(很有可能:比如timeKillEvent之后,处理生效时间大于定时器周期,则会再次触发),timeSetEvent时需要加上TIME_KILL_SYNCHRONOUS。
MSDN的原文说:Creating an event with the TIME_KILL_SYNCHRONOUS and the TIME_CALLBACK_FUNCTION flag prevents the event from occurring after the timeKillEvent function is called.
不过,郁闷的是,TIME_KILL_SYNCHRONOUS在mmsystem.h中没有定义。Google了一下: #define TIME_KILL_SYNCHRONOUS 0x100 。(对吗?)

2009-12-02

设置Firefox地址栏搜索引擎

这里说的不是指搜索栏的搜索引擎,而是指在地址栏直接输入关键字自动搜索的搜索引擎。
我以前说过,Firefox从之后是Yahoo的搜索引擎了。
修改方法:about:config,将Keyword.URL设置成相应的值,比如http://www.google.com/search?hl=en&q=

2009-12-01

(zz)资源管理器里看不见地址栏

转自http://zhidao.baidu.com/question/43083153.html

说明:双击 我的电脑 正常,用<Win>+<E>打开 资源管理器,地址栏不见了。
解决方法:先右键点击 工具栏, 取消 锁定工具栏, 用鼠标指向工具最下端, 当鼠标变成双箭头时往下拖, 就会出现地址栏了。

2009-11-29

桌面图标文字背景透明设置

转自http://bluekylin.cnblogs.com/archive/2006/03/31/363958.aspx
桌面图标的文字背景透明设置问题是指WindowsXP中系统属性-高级-性能-视觉效果使用了"在桌面上为图标标签使用阴影"之后标签上仍然显示桌面背景底色而非透明的问题。
值得一提的是,
设定了"在桌面上锁定WEB项目"或显示网页也会导致上面这个问题。
确保你没启用,如果还没有解决,那么:
打开注册表编辑器:开始-运行regedit
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced 中的ListviewShadow键值数据为1
(该键值修改生效需重启explorer.exe ―― 任务管理器中结束所有explorer进程,再新建任务explorer)
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer 中的ShellState键值(双击)数据显示为下图:(通常是第5个字节不是0x23)

(该键值修改生效只需刷新桌面)
两者一定要同时成立。

2009-11-27

高版本OrCAD Capture生成第三方Allegro网表

高版本没有了allegro.dll,请选择telesis.dll,格式相同。
(当然,从低版本Cappture拷贝一个allegro.dll也是可以的。)

2009-11-25

(zz)比特位,帧,包,段(bit, frame, packet, segment)

(这些通信中的术语,区别是什么?我发现Wikipedia的是比较正确的,网络其他上地方的则良莠不齐,所以转载于此。)
OSI Model

Data unit Layer Function
Host
layers
Data 7. Application Network process to application
6. Presentation Data representation and encryption
5. Session Interhost communication
Segment 4. Transport End-to-end connections and reliability
Media
layers
Packet 3. Network Path determination and logical addressing
Frame 2. Data Link Physical addressing
Bit 1. Physical Media, signal and binary transmission

来源:http://en.wikipedia.org/wiki/OSI_model
(我发现中文版WIKI上有个对理解七层模型很有帮助的图,所以推荐一下:http://zh.wikipedia.org/wiki/OSI%E6%A8%A1%E5%9E%8B)

Removing the Java Quick Starter Add-on(从Firefox移除Java Quick Starter插件)

解决方法(以及 Java Quick Starter的介绍):http://www.java.com/en/download/help/quickstarter.xml
Steps to disable Java Quick Starter:
  1. Click Start.
  2. Click Control Panel.
  3. Double click on Java Control Panel.
  4. Click Advance tab in Java Control Panel.
  5. Scroll to Miscellaneous entry and Expand.
  6. Uncheck the check box for Java Quick Starter.
  7. Click Ok and restart the system.



附录:

2009-11-24

vector的find_if和sort

////////////////////////////////////
struct Rank
{
    CString strUsername;
    CString strTimestamp;
    UINT uiRank;
};
typedef ::std::vector<Rank> MyRankArray;

bool RankCompDesc(const Rank & rFirst, const Rank & rSecond)
{
    return rFirst.uiRank < rSecond.uiRank;
}

bool RankCompInc(const Rank & rFirst, const Rank & rSecond)
{
    return rFirst.uiRank > rSecond.uiRank;
}

MyRankArray m_aRank;
....
sort(m_aRank.begin(), m_aRank.end(), bInc ? RankCompInc : RankCompDesc);
////////////////////////////////////
struct Exercise
{
    CString strRule;
    UINT uiElapsedTime;
    UINT uiRightCounter;
};

class IsSameRule
{
public:
    IsSameRule(const CString strKey):strRule(strKey){}
    bool operator ()(const MyExerciseArray::value_type & value)
    {
        return value.strRule == strRule;
    }
private:
    CString strRule;                   
};

MyExerciseArray::iterator itr;
Exercise ex;
                    ex.strRule = ...;
                    ex.uiElapsedTime = ...;
                    ex.uiRightCounter = ...;
                    itr = find_if(m_aExercise.begin(), m_aExercise.end(), IsSameRule(ex.strRule));
                    if(itr == m_aExercise.end())
                    {
                        //not found
                        m_aExercise.push_back(ex);
                    }
                    else
                    {
                        itr->uiElapsedTime += ex.uiElapsedTime;
                        itr->uiRightCounter += ex.uiRightCounter;
                    }
////////////////////////////////////

2009-11-22

Excel中计算两个时间差

不是日期。
比如,其中一个为C1值为2009-11-16  20:18:14,另一个D1值为2009-11-16  20:24:30,则计算公式为=(D1-C1+(D1<C1))*3600*24,这样的单位为秒。
注意:函数SECOND计算是日期差值秒的部分,比如前面两个时间SECOND(D1-C1)的结果为16。

2009-11-21

Windows XP在不同用户切换后屏幕分辨率降低

现象:
Windows XP,用户A登录后,运行了部分程序;然后切换,用户B登录,运行了部分程序。
有时,在A重新登录后,发现屏幕分辨率降低为640X480。并且,无法更改。

没有解决的"解放方法":
似乎这个并不常见。
搜索了很久,都没有找到解决方法。
起初以为是没有使用虚拟内存的缘故,后来使用虚拟内存了,还是有时会遇到这个问题。

百般无奈之下,更新了显卡的驱动程序。
很不幸,还是遇到了这个问题。
不过,现在好很多――可以直接修改成高分辨率了。

貌似发生问题时,A用户都在运行eMule。我很怀疑跟eMule有关。

2009-11-20

(zz)Hiren's BootCD From USB Flash Drive (USB Pen Drive)[如何制作Hiren's BootCD的启动U盘]

http://www.hiren.info/pages/bootcd-on-usb-disk

Step 1
Connect USB Pen Drive (256Mb or more)

Step 2
Download and Run USB Disk Storage Format USB Disk Storage Format usb_format.zip (34KB)
Screenshot

Step 3
Download and Run grubinst_gui Grub 4 Dos grub4dos.zip (147KB)
Screenshot

Step 4
Copy grldr and menu.lst (from grub4dos.zip) to the usb drive
Screenshot

Step 5
Insert the BootCD (9.7 or newer) in the CD Drive and Copy everything from CD to USB Flash Drive
[注:如果没有光盘,则从http://www.hirensbootcd.net/下载一个zip文件,然后把其中的iso解压到U盘上。
]

Step 6
Test Your USB Drive (read bottom of the page for troubleshoot)


2009-11-19

安装好的软件损坏后导致的问题

这个标题没有说清楚。
是这样:假如有个软件安装在C:\Program Files\下,后来移动到另外一个目录下。那么,问题来了:
  • 对于绿色软件,则没有问题,修改快捷方式就行了。
  • 对于大部分软件,很多信息记录在注册表,则推荐使用COA2(这个软件也很小众,帮助中写的是Ziff Davis Media公司,在PC Magazine网站是1.0版本,而我搜索到的则是个2.0版,很多国内网站可以下载),它将修正快捷方式、ini文件、注册表数据。
  • 对于少数Windows Installer的软件,则可能在运行某个程序或者安装任务时,提示说要这个软件的安装文件。
  • 如果你有安装文件,那就给它吧。
  • 如果你没有了安装文件,那么这个提示很烦人。这时:
试试Windows Installer Cleanup,可以将该软件的安装信息删除――但是,要注意,删除了以后,控制面板中 添加删除程序 列表中就将再也见不到这个软件了。不过,软件安装后一般都会有一个删除的快捷方式,那个可能还是可以工作的。

2009-11-12

(zz)How to Safely Delete Orphaned Patches

http://blogs.msdn.com/heaths/archive/2007/01/31/how-to-safely-delete-orphaned-patches.aspx
Heath Stewart

If Visual Studio 2005 Service Pack 1 fails to install, you might find additional .msp files under %WINDIR%\Installer for each failed attempt. You should not simply delete these patches, however, because if one of the patches was applied successfully to one target product, deleting that patch will cause future maintenance installs – including repairs, patch install, patch uninstall, and even product uninstall – to fail.

After safely identifying orphaned patches, you can delete them. There are a couple of different ways to identify orphaned patches.

If you have the Windows SDK or the older Platform SDK installed or are willing to install either, you can use msizap.exe to identify and remove orphaned data files such as patches. Run the following command. You will find msizap.exe in the bin folder of the Windows SDK or Platform SDK installation directory.

msizap.exe G!

If you don't want to install either SDK just to get this executable, you can determine which patches are registered and applicable and delete extra patches you find under %WINDIR%\Installer. I have attached a simple script to identify which patches are registered – those patches you should not remove.

To successfully install the patch if you are having problems, please read about known issues with Visual Studio 2005 Service Pack 1 and available workarounds.

Published Wednesday, January 31, 2007 9:16 PM by Heath Stewart
Attachment(s): WiMsps.zip


QQ的用户数据目录

缺省情形下,用户数据跟程序在同一目录下,通常为C:\Program Files\Tencent\QQ。
这不符合业务与控制分开的原则,也不利于C盘的ghost。
如何更换?
登录QQ,在"系统设置"→"基本设置"→"文件记录"中进行修改。修改个人文件夹保存位置后,QQ会自动为您把原来的数据迁移到您指定的新位置。

2009-11-10

转两个MSN签名

Alex_yu: 再无钱学森,全是钱学生
hm: 现实很骨感,理想很丰满

2009-11-06

[zz]MSN Messenger(Windows Live Messenger)联系人和分组名显示乱码的问题

http://hi.baidu.com/3548559/blog/item/e63ef709294ee08ad1581b9b.html
简述之:
regsvr32.exe inetcomm.dll (如失败需要下载inetcomm.dll)
删除%userprofile%\Local Settings\Application
Data\Microsoft下的Messenger和Windows Live Contacts两个目录。

这样是搞定了,但我有个疑问:
我第一次regsvr32.exe inetcomm.dll失败了。
可是当我把下载的inetcomm.dll解压到C:\windows\system32,没有提示覆盖旧文件。
但是,Windows文件保护对话框弹出来,说该文件被不明版本文件替换,要插入光盘。
那我就不明白了,如果系统中已经有这个文件,为什么注册会失败?为什么没有提示覆盖?

IP802SM

这是一款AP AP/Router Client三合一的产品。
这款产品有多个厂家贴牌(我实在没有弄清楚那个是ODM)。
比如:
  • UTStarcom  NS-01EW (肯定是OEM过来的)
  • 中怡数宽 IP802SM
  • versa VX-100WR
  • APC WMR1000G
  • Sercomm IP802SM
  • Sphairon Turbolink IP802SM
先说一下升级固件:(我想当无线网卡用,还没有搞定,搞定后补blog)
在线升级
准备:
  • 把拨码拨到位置3(配置模式),PC的跟设备连接的网卡的IP地址设成192.168.0.X (X是合法的且不为1)。
步骤:
  1. 通过浏览器打开http://192.168.0.1
  2. 选择系统配置(System Configuration)
  3. 点击升级软件(Upgrade Firmware)
  4. 如果有密码,输入密码;如无,则留空
  5. 点击浏览(Browse)选择文件(.img文件)
  6. 点击开始升级(Start Upgrade)
  7. 等待,不要中断网络连接和设备电源
通过升级工具升级
说明:工具是中怡数宽的,所以我认为要使用中怡数宽的固件文件(.bin)
准备:
  • 下载解压升级工具
  • 把拨码拨到位置3(配置模式),PC的跟设备连接的网卡的IP地址设成192.168.0.X (X是合法的且不为1)。
步骤:
  1. 运行Upgrade.exe
  2. 选择跟设备连接的网卡
  3. 点击Browse Target按钮
  4. 应当在Devices List看到要升级的设备(如果没有看到,则尝试“按住reset键插电,3s后松开reset键。这时才会进入升级模式,才可以用工具搜索到设备”——感谢中怡数宽的Tom Lau)
  5. 点击Files选择文件(.bin)
  6. 点击Upgrade
  7. 等待完成
说明:
如果升级失败(比如,原来的固件不是中怡数宽的,则有可能升级失败),那么Power和Wireless灯交替闪烁。
不要怕,再按照上述步骤重新来过就好了。




2009-11-05

[zz]MinGW/MSYS 与Cygwin/gcc 介绍

http://www.lupaworld.com/home/space-273398-do-blog-id-126252.html

MinGW 官方网站为 http://www.mingw.org 
      
        MinGW,即 Minimalist GNU For Windows。它是一些头文件和端口库的集合,该集合允许人们在没有第三方动态链接库的情况下使用 GCC(GNU Compiler C)产生 Windows32 程序。
 
        MinGW:一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,在基本层,MinGW 是一组包含文件和端口库,其功能是允许控制台模式的程序使用微软的标准C运行时间库(MSVCRT.DLL),该库在所有的 NT OS 上有效,在所有的 Windows 95 发行版以上的 Windows OS 有效,使用基本运行时间,你可以使用 GCC 写控制台模式的符合美国标准化组织(ANSI)程序,可以使用微软提供的 C 运行时间扩展。该功能是 Windows32 API 不具备的。下一个组成部分是 w32api 包,它是一组可以使用 Windows32 API 的包含文件和端口库。与基本运行时间相结合,就可以有充分的权利既使用 CRT(C Runtime)又使用 Windows32 API 功能。
 
       实际上 MinGW 并不是一个 C/C++ 编译器,而是一套 GNU 工具集合。除开 GCC (GNU 编译器集合) 以外,MinGW 还包含有一些其他的 GNU 程序开发工具 (比如 gawk bison 等等)。
 
       开发 MinGW 是为了那些不喜欢工作在 Linux(FreeBSD) 操作系统而留在 Windows 的人提供一套符合 GNU 的 GNU 工作环境。所以,使用 MinGW 我们就可以像在 Linux 下一样使用 GNU 程序开发工具。
 
      GCC 就是 MinGW 的核心所在,GCC 是一套支持众多计算机程序语言的编译系统,而且在语言标准的实现上是最接近于标准的。并且 GCC 几乎可以移植到目前所有可用的计算机平台。
 
      GCC 本身不像 VC 那样拥有 IDE 界面(在 Windows 上也存在 Dev C++ 之类的支持 MinGW 编译器的 IDE:MinGW Developer Studio)。 源代码编辑你可以选用任何你喜欢的文本编辑器(据说微软的开发人员包括 VC 的开发都不用 VC 所带的 IDE 编辑器,而是选用 GNU 的 VIM 编辑器)。然后使用 make 等工具来进行软件项目的编译、链接、打包乃至发布。而像 cvs(svn) 源代码版本控制工具可以让世界上任何一个角落的人都可以参与到软件项目中来。
 
  关于 MFC,微软基础库类,这个随 VC++ 携带的一个源代码公开的开发包,和其他 Windows 程序开发包是一样的。如果有 VC++ 的授权,你完全可以使用 MFC 的源代码,也就是你使用 GCC 来编译 MFC 程序是完全可以的。
 
  当然,GNU 下也很多 Windows 程序开发包,甚至有一些是支持跨平台使用的。不仅仅可以直接把源代码编译为 Windows 程序,也可以不经修改编译为其他操作系统的图形程序。
 
MSYS介绍
 
官方网站为 http://www.mingw.org 
MSYS:Minimal GNU(POSIX)system on Windows,是一个小型的GNU环境,包括基本的bash,make等等。是Windows下最优秀的GNU环境。
 
       MSYS在windows下模拟了一个类unix的终端,它只提供了MinGW的用户载入环境,Cygwin在 windows下模拟了一个linux环境,它们带有一些unix终端下常用的工具,如ls、tail、tar,其实它们都是相应unix/linux工 具的windows版,而且它们的环境会继承windows的一些系统变量,如path,如果windows下装有ruby、rails,在它们的环境里 同样都可以直接运行。
 
 
cygwin/gcc 介绍
 
       cygwin/gcc和MinGW都是gcc在windows下的编译环境,但是它们有什么区别,在实际工作中如何选择这两种编译器。
 
       cygwin/gcc完全可以和在linux下的gcc化做等号,这个可以从boost库的划分中可以看出来端倪,cygwin下的gcc和linux下 的gcc完全使用的是相同的Toolsets。所以完全可以和linux一起同步更新gcc版本,而不用担心问题,并且在cygwin/gcc做的东西 (不用win32的)可以无缝的用在linux下,没有任何问题。是在windows下开发linux程序的一个很好的选择。
 
       但是在cygwin/gcc下编译出来的程序,在windows执行必须依赖cygwin1.dll,并且速度有些慢,如果不想依赖这个东西的化,必须在gcc的编译选项中加入-mno-cygwin。加入这个选项其实gcc编译
器就会自动的选择在安装cygwin/gcc时安上的mingw,这个mingw就是gcc的一个交叉编译。
 
      对于mingw作为gcc在windows上的一个实现,由于不像cygwin的gcc在一个模拟linux上运行,同时相当一部分linux的工具不能够使用,不过现在已经有Msys这个模拟unix的shell,可以解决很多的问题。
 
      根据以上的分析,如果在windows开发linux程序,cygwin是很好的选择。如果你开发的程序不介意有一个cygwin1.dll的话,也是可以选择cygwin的。如果你是想开发windows下的程序,还要必须用gcc的化,mingw是很好的一个选择。但是在windows下有太多的编译 器了,bc,vc,intel c.....。

2009-11-04

Firefox 3.5只有1个Tab时不显示Close Button

以前解决方法挺麻烦的,现在好了,有了Last Tab Close Button addon

URL的file类型

以前试过很多种方法(如file://c:/ file:///c:/ file:////c:/),凡是没有找到IE和Firefox都支持的。
现在,我发现file:///c:/windows是IE和Firefox都支持的

2009-10-29

LED电视

最近看到某厂家的LED电视广告。
我想我落伍了,连LED技术如此突飞猛进都不知道:LED竟然可以达到液晶电视机的分辨率和性能。
于是,赶紧恶补一下LED电视的知识。
结果,那是相当的有收获――LED电视,应该叫LED背光液晶电视。

噱头,炒作,有什么招都使出来吧。

2009-10-25

Linux & Windows

Linux
Windows
cat
type
ls -l dir
ls -1
dir /b
ls
dir /w
ls -l |grep "^d"
dir /ad
clear cls
history -c <Alt> + <F7>
history
doskey /history
shutdown -h 0

2009-10-19

[zz]用vlc做单播,组播及点播服务器

简述:
启动VLC。
菜单 视图 添加界面 Telnet界面
菜单 视图 添加界面 调试日志
通过telent客户端软件(超级终端、命令行telnet等)登录到 127.0.0.1 4212,将进入VLM

参考
http://jeremiah.blog.51cto.com/539865/161876

2009-10-15

ffmpeg编译

参考:

说明:
  • 参考2里面提到要先安装msys再安装MinGW,但是我发现安装msys时会提示询问MinGW的安装路径。所以,我认为参考3的正确性比较好。
  • 复制%msys%\etc\fstab.sample为%msys%\etc\fstab,打开%msys%\etc\fstab编辑,把c:/mingw /mingw这行前面部分改为MinGW的实际安装目录。
  • 盘符(例如"C:\")可以从根目录处访问(像这样"/C/")。
  • 如果希望使用FFmpeg包含的libavcodec库开发多媒体文件处理程序,还需要编译libavcodec的dll动态链接库:首先切换到FFmpeg的源代码目录,在开始编译前先使用"make distclean"清理上一次留下的中间文件,然后向configure脚本传递参数: ./configure --enable-shared --disable-static --enable-memalign-hack ;最后执行"make"命令就可以了。在FFmpeg目录下有四个子目录名字分别为:libavutil、libavcodec、libavformat、libavdevice,如果在前述步骤中成功生成了动态链接库,那么在这几个目录下都有SLIBNAME_WITH_MAJOR.dll和SLIBNAME.dll的文件。执行 make install ,则在%msys%\local下面生成所有重要文件和目录(bin, include, lib, share)。dll文件有三种:SLIBNAME_WITH_MAJOR.dll SLIBNAME_WITH_VERSION SLIBNAME.dll。这是因为MSys将ln(制作符号链接的程序)以cp(文件复制)来对待,所以就产生了这些相同的拷贝。
  • 如果需要使用MSVC开发,则需要修改msys.bat,在最前面加入 call "C:\Program Files\Microsoft Visual Studio 8\VC\bin\vcvars32.bat" (具体路径视MSVC安装而定),目的让ffmpeg调用VC的link,生成VC可用的lib。向configure脚本多传递参数./configure --enable-memalign-hack (--enable-memalign-hack选项是让MMX、SSE2等优化语句能在Windows上执行)。
  • 错误:configure: line xxx: pr: command not found 。解放方法:下载coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2,把pr.exe拷贝到%msys%\bin


2009-10-10

[zz]用Microsoft SDK实现中文语音发音方法小结

转自http://www.chinaeos.com/html/shangweiji/bcb/2009/0615/2646.html

一 安装Microsoft SDK 5.1
  安装后在环境变量及VC中设置相应的环境参数

二 安装Microsoft SDK中文包
  将其安装在Microsoft SDK 5.1所在的目录下,比如Microsoft SDK 5.1安装在了E:\Program Files\Microsoft Speech SDK 5.1目录下,那么Microsoft SDK 5.1中文包也应该安装在E:\Program Files\
  Microsoft Speech SDK 5.1目录下

三 配置Speech SDK引擎当前所处理的语言
  打开 "控制面板 ",打开 "语音 "配置项目,可以看到在这里我们可以指定当前可以对何种语言进行识别或者合成,还可以配置相关的硬件设备以及控制语速
  在 "文字-语音转换 "的 "语音选择 "组合框中选择简体中文(Microsoft Simplified Chinese)。这样就可以合成汉语文字了。
  
四 VC编程
  #include <sapi.h>
  ISpVoice* pVoice = NULL;
  //COM初始化:
  if (FAILED(::CoInitialize(NULL)))
  return;
  //获取ISpVoice接口:
  HRESULT hr = CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice, (void **)&pVoice);
  if( SUCCEEDED( hr ) )
  {
  UpdateData();
  CString str("欢迎来到武汉大学电子信息学院"); //要发音的字符串
  int BufSize = MultiByteToWideChar(936,0,str,-1,NULL,0); //计算简体中文字符串 s 转成 widestring 之后占用的内存字节数
  WCHAR wsz[128]; //定义WCHAR类型的数组wsz,因为Speak函数的第一个参数为WCHAR类型
  MultiByteToWideChar(936,0,str,-1,wsz,BufSize); //将 AnsiString 字符串 str 转化为 unicode 的 WideString
  hr=pVoice- >Speak(wsz, 0, NULL); //调用函数Speak发音
  pVoice- >Release(); //释放pVoice内存
  pVoice=NULL;
  }

2009-10-09

MFC获取文件时间

GetFileTime 是UTC
CFile::GetStatus 是Local Time

2009-10-08

[zz]2009年诺贝尔物理学奖获奖者高锟

[注:毕业后一直做光传输相关产品,所以,这篇新闻一定要转一下。]
http://news.163.com/09/1007/00/5KVVICC2000120GU.html

新华网斯德哥尔摩10月6日电 得益于光纤通信和CCD图像传感器的应用,诺贝尔奖揭晓的消息和情景如今能瞬间传遍全球。分别研究出这两项成果的华裔科学家高锟和两名美国科学家威拉德・博伊尔、乔治・史密斯,于6日荣获2009年诺贝尔物理学奖。

瑞典皇家科学院常任秘书贡诺・厄奎斯特6日在揭晓奖项的新闻发布会上说,高锟因在"有关光在 纤维中的传输以用于光学通信方面"取得了突破性成就,获得今年物理学奖一半的奖金,共500万瑞典克朗(约合70万美元);博伊尔和史密斯发明了半导体成 像器件――电荷耦合器件(CCD)图像传感器,两人分享今年物理学奖的另一半奖金。

高锟――"光纤之父"

高锟是继去年钱永健获得诺贝尔化学奖之后,又一位获得诺贝尔奖的华裔科学家。高锟1933年 在上海出生,1954年赴英国攻读电机工程,先后获得学士和博士学位。1987年,高锟出任香港中文大学第三任校长,1996年卸任。在与内地科技界的交 流合作中,高锟主张"一步一步把双方的联系实际化"。他于1996年当选为中国科学院外籍院士。

发布会上,诺贝尔物理学奖评选委员会主席约瑟夫・努德格伦用一根光纤电缆形象地解释了高锟的 重要成就:早在1966年,高锟就取得了光纤物理学上的突破性成果,他计算出如何使光在光导纤维中进行远距离传输,这项成果最终促使光纤通信系统问世,而 正是光纤通信为当今互联网的发展铺平了道路。

"我对于获颁诺贝尔物理学奖深感荣幸,"高锟在得知获奖后说。香港特区行政长官曾荫权表示,诺贝尔物理学奖是科学界的最高荣誉,他和香港市民衷心祝贺高锟教授获此殊荣。高锟教授不但是一位杰出的科学家,也是一位谦谦君子和有承担的教育家。



2009-10-02

如何改变按钮的光标

比如,当光标停在鼠标上方时,变成手形状的。

不要在OnSetCursor()之外设置,否则,那将得到相反的结果:当光标停在鼠标上方时是箭头,在其他地方变成手形状。

在OnSetCursor()中
        CRect rcStatic;   
        CPoint ptCursor;  

        GetCursorPos(& ptCursor);

            GetDlgItem(IDOK)->GetWindowRect(rcStatic);
            if(rcStatic.PtInRect(ptCursor))
            {
                SetCursor(m_hHandCursor);
                return TRUE;//注意,要return
            }

    //...
    //所有按钮的处理

    return CDialog::OnSetCursor(pWnd, nHitTest, message);

Hand形状的光标是系统预置,但是,如果直接用 LoadCursor(NULL, IDC_HAND); 则编译出错。
那是因为没有把#define IDC_HAND MAKEINTRESOURCE(32649) 给定义进来。
这是为什么呢?因为没有#define WINVER 0x0500。
不过,当你真的那样做了以后,会有一堆NOTE: WINVER has been defined as 0x0500 or greater which enables ...的提示。
哎,M$总是唧唧歪歪。
你觉得怎么好就怎么整吧。

2009-10-01

庆祖国60华诞

依次为Google Doodle、Baidu Logo、Bing背景图。

2009-09-29

What is the difference between an accelerators and a hotkey?

http://www.codeproject.com/KB/tips/cppfaq25apr8jun.aspx#q410

Q 4.10 What is the difference between an accelerators and a hotkey? [top^]

A. Iain Clarke Quoted :-

People use the two names interchangably.
Hot Key is a common user name for an accelerator. Being pedantic... An accelerator is a part of an accelerator table. (LoadAccelerator, TranslateAccelerator, etc.) It only works when your application has the keyboard focus.

A Hot Key is a a system wide key (RegisterHotKey, UnregisterHotKey). When pressed, windows send a WM_HOTKEY message to you. It works all the time. You could use it to make a certain key combination do something even when your application is hidden. (eg. screen capture, etc).

I would not recommend having it active all the time, as it may collide with accelerators of other applications.

James R. Twine Quoted :-

Some also confuse one or both of those words with a "mnemonic", which is the underlined character you get on dialog controls allowing you to focus or activate that control using the <ALT>key along with the key of the underlined character. They (mnemonics) are also used on top-level Menus and Menu Items (although you do not need to use the <ALT>key when a menu or menubar is active).


2009-09-27

VMware虚拟机时间同步

把.vmx的tools.syncTime选型设成TRUE,则每次启动虚拟机时,Guest的时间会自动与Host同步。

详情请参考:

Synchronizing the Time in the Guest with the Host Operating System

Timekeeping in VMware Virtual Machines

2009-09-24

Source Insight的bug

查找一个 A[B|C] 的字符串,Source Insight总是当作正规表达式来查找,即使Search Method是Simple String。

2009-09-23

任何学校都不能以学生为赚钱的对象,没有哪个国家把学生作为商品或财源来榨取的。

1. 转自 组织小学生看广告,愚蠢干部还是愚蠢老师?
鹿城区教师组织各班小学生和家长共同看浙江少儿频道9月13日早上7点35分的节目,还要填写调查问卷交给老师。认真看下来,原来是推销《助你早成才》的光盘的广告片。一套光盘好几百啊!这样愚蠢的事情,温州以前出过,也是教育局通知学生组织看广告片,还被媒体曝光了,被人笑话。但是,就是没有问责。这次又是这样!我想,政府官员是不至于这样愚昧的,其间是否有利益问题?值得彻查!坐这样的事情,教育局和学校的形象太差了!太倒霉了!

2. 看教育讲座记录

3. 转自 电视台,学校有这样推销伪科学的?
小孩学校里发了张调查问卷,要求周日观看浙江少儿频道的助你早成才节目,并填写问卷。
主要内容是单词联想记忆法。比如pest(害虫),联想到"拍死他"就很容易记住了。内容没讲多少,主要让人买他几百块的光盘。
电视台这样主流媒体大肆宣扬这种小道方法,我觉得可能会误人子弟!
这种记忆法好不好,我问过自己大学老师,而且自己大学三年级就过了六级的。
我觉得:
这种方法针对年龄大、记忆力衰退、从来没有学习过英语的人群也许会有一定销路。
这种方法容易使同学在英汉互译时混淆,不大好,而且不能显示单词的变化,扩展。最后记忆量也有限,短期可能有效,长期来说对学英语帮助可能为负。
,但最好的还是还是用音标,音标的读音很准确,我建议还是用音标.配合词根法比较好。大点的学生可以用阅读来在文章中记忆。


subst

用法 subst 驱动器名: 路径
比如 subst X: c:\temp
再比如 subst Z: \\192.168.0.1\share

顺便提一句,网络共享还可以用net use
比如 net use Y: \\192.168.0.1\share
但是,跟subst略有不同,就是subst的不能像net use一样在资源管理器中通过右键菜单断开,只能subst Z: /d

2009-09-22

超级终端 的 终端仿真

不知为什么,超级终端按Backspace键不能删除,显示的是1DK。
后来把终端仿真选择为ANSI,Backspace键可以正常作用。

samba查看目录属性的问题

如果在Windows下选择一个samba目录,右键 属性,统计出来的文件大小和数量不对,似乎是整个文件树(甚至包括非共享部分)的大小。
我的samba是VMware的,也可能跟这个有关。

如果只选中文件,则大小数量属性显示都是正确的。

有人知道为什么吗?

CPU的启动地址

也就是说,上电后从什么地方取第一条指令。
转自http://bbs.byr.edu.cn/wForum/disparticle.php?boardName=Embedded_System&ID=5841

发信人: ssailing (sailing), 信区: Embedded_System
标  题: Re: CPU启动时执行第一条指令的地址是怎么定的??
发信站: 北邮人论坛 (Sun Sep 20 21:53:52 2009), 站内

这个问题取决于何种类型的CPU
 
1、启动方式
有些CPU有多种启动方式,不同启动方式的启动设备是不一样的
典型的有片内ROM启动,片外flash启动(又分为并口/SPI等不同的接口形式),片外EEPROM启动甚至是RAM启动
如AT91RM9200就有片内ROM启动和片外并口flash启动
TI F2812就有并口flash启动和IIC EEPROM启动
TI C6416只有RAM启动,需要主控CPU将程序下载到RAM中,再触发复位
TI C6488启动方式更是多达五六种 每种都有不同的适用场合 可见多么强大
PPC440启动方式更是多达8种
 
那么这么多种复杂的启动方式是如何选择的呢
通常都是通过硬件管脚控制的 可以设置跳线选择不同的启动方式
CPU上电时会对这些管脚进行采样 选择相应的启动方式
但是大部分CPU通常都只有一种启动方式 即从并口flash启动
 
2、启动地址
选择了某种启动方式后,启动地址通常都是固定的
ARM系统无论从何种设备启动都是从0地址开始运行的
PowerPC通常是0x100或者0xFFF00100,如Freescale MPC82xx系列
为什么有两种呢?默认是从0xFFF00100启动,但是里面有程序后,可配置为从0x100启动
也有从0xFFFFFFFC启动的,如E500及IBM的PPC405GP和440,只有4个字节,通常这里是一个跳转指令
MIPS也有从0x1fc0 0000启动的
至于DSP,那就更复杂了
 
总体来说,嵌入式CPU为了使用特定场合的应用 启动设备繁多
但是ARM的启动方式和启动地址是最简单的了
DSP最复杂 PowerPC有单一的也有多种启动方式的

2009-09-21

大学排名

同学聚会时,老师介绍了母校和系里的发展。
老师说,得益于经管学院的大力发展,学校的排名在逐年上升。

这真是中国的可悲。
为什么一定要整个啥综合排名?每所大学,都要农、理、工、经、管、医一一俱全吗?

很早前看过一个漫画,说的是很多学生上学,不论原来是圆形、正方形、长方形、椭圆、菱形什么形状,从学校出来,都是同一个形状。
以后,大学也如此?

2009-09-18

VMware samba

上次装了虚拟网卡之后samba暂时好了,之后又出现认证失败Windows自动在用户名前加上了机器名的情况。
拷贝了一个samba正常的虚拟机之后,可以。
两者区别好像(对,好像)在于装过VMware Client Tools。

Red Hat修改时区

参考http://www.wangchao.net.cn/bbsdetail_1614991.html
  • 方法1:命令 tzselect
  • 方法2:修改文件 /etc/sysconfig/clock
  • ZONE=Asia/Shanghai (以上海为例)( 查/usr/share/zoneinfo 下面的文件。 )
  • UTC=false ( 硬件时钟是否为 UTC 或者说 GMT 时钟。 )
  • ARC=false (如果是在 Alpha 机器上,则设置为 true 。 )
之后执行
  • rm /etc/localtime
  • ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime (以上海为例)

u-boot

u-boot源码结构
目录 特性 解释说明
board 平台依赖 存放电路板相关的目录文件
common 通用 通用的多功能函数实现
cpu 平台依赖 存放CPU相关的目录文件,例如:mpc8xxppc4xxarm720tarm920t xscalei386mips等目录
disk 通用 硬盘接口程序
drivers 通用 通用的设备驱动程序,主要有以太网接口的驱动
doc 文档 开发使用文档
dtt 通用 数字温度测量器或者传感器的驱动
examples 应用例程 一些独立运行的应用程序的例子,例如helloworld
fs 通用 存放文件系统的程序
include 通用 头文件和开发板配置文件,所有开发板的配置文件都在configs目录下
lib_generic 通用 通用库函数的实现
lib_arm 平台依赖 存放对ARM体系结构通用的文件,主要用于实现ARM平台通用的函数
lib_i386 平台依赖 存放对X86体系结构通用的文件,主要用于实现X86平台通用的函数
lib_mips 平台依赖 存放对MIPS体系结构通用的文件,主要用于实现MIPS平台通用的函数
lib_ppc 平台依赖 存放对PowerPC体系结构通用的文件,主要用于实现PowerPC平台通用的函数
net 通用 存放网络的程序
post 通用 存放上电自检程序
rtc 通用 RTC的驱动程序
tools 工具 存放制作S-Record 或者 U-Boot格式的映像等工具,例如mkimage

编译完成之后的几个文件:
  • u-boot.bin: 原始二进制文件,用于下载到启动ROM进行系统引导;
  • u-boot: ELF格式映像文件,可加载到SDRAM或SRAM中进行调试;
  • u-boot.srec: Motorola S-Records格式映像。
  • System.map: U-Boot映像文件的符号表,各符号的链接地址。(System.map是u-boot.map的精简。)
  • u-boot.map: U-Boot映像文件的符号表,各符号的链接地址。

2009-09-17

tftp server

上次的Cisco TFTP server,一定要把其他网卡禁用掉才可以。
问题是,VMware的虚拟网卡一旦禁用再启用,samb是坏的(ping也不通)。

于是,找到了Open TFTP Server
在配置文件OpenTFTPServerMT.ini中做如下改动:
[LISTEN-ON] 下面添加跟 Target 连接的网卡的IP地址。
[HOME] 下面添加以下提供给客户端的文件所在目录。

然后,Run Stand Alone。搞定。

对网络连接项目的重命名

如果有几块网卡,看到"本地连接x"之类,很难想起来是哪块网卡。
其实可以重命名的。(使劲的鄙视一下自己,一直觉得不能改。)
可以改成"外网"、"调试"、"虚拟机"等等,这样看起来就方便多了。

修改Linux系统时间

首先,需要区分date跟hwclock(或clock)
其次,跟Windows不同,Linux的time命令不是用来设置时间的。

一般用法:
date -s "20090917 12:56:00"
clock --set --date="09/17/2009 12:55:00"

Linux下控制服务

用service。例如:
service smb status
service smb restart

Windows对应命令为sc。例如:
sc query telent
sc stop telent
sc start telent (sc似乎没有restart选项)
当然,还可以用net start ... 或 net stop ...。

2009-09-16

u-boot的tftp

用wftpd32.exe折腾了半天,从log看,target始终没有过来取文件。
但是,从target可以pnig到server。

后来,百般无奈之下,下了一个Cisco TFTP Server。
还是不行。但是这时发现Cisco TFTP Serve绑定是跟tareget不在一个网段的网卡。
于是禁用其他网卡。
搞定!


VMware samba

在另一台电脑上出现一个新问题:用户名可以输入,但是认证失败,Windws还自动在原来用户名前加上了机器名。

目前看来,是这样弄好的:安装WMware的虚拟网卡(VMware Virtual Ethernet Adapter)。

Linux修改IP地址

  • 查看 ifconfig
  • 对eth0修改 ifconfig eth0 192.168.0.8 netmask 255.255.255.0(如果希望结果保存,则使用netconfig eth0

Fwd: samba

上次我提到的Windows这边用户名文本框变灰的问题,看起来还是要对/etc/samba/smb.conf做修改:把security=share注释掉。

2009-09-15

CCleaner

每次ghost之前,我都要做一下清理。
内容涉及很多,浏览器的缓存,临时文件,补丁文件,等等。
现在,我隆重推荐CCleaner。我是从这里发现的。

2009-09-14

VMware和samba

VMware的Share Folder可以实现数据交换,但是更适合于Linux(Client)访问Windows(Host)。
反之,则需要samba。(当然,ftp也是可以的。还是samba方便。)

关于设置可以参考这篇文章,下面补充一下我的具体情况(我用的是别人做好的镜像,已经安装启动了samba)。
1,虚拟机的硬件设置中网卡必须设置为Bridged,NAT不行。
2,通过ifconfig修改eth0的IP地址(缺省似乎为192.168.203.x)到Windows网卡的同一网段;
3,关掉Windows的防火墙;(至此,两边应该能相互ping通)
4,在Windows下用\\.....访问。
(我这里还出了个问题,就是访问时用户名灰掉了,不能改,Windows一直用Guest用户去访问的。重启Widnows XP后搞定。)


VMware共享文件夹

其实就是安装VMware Client Tools。
http://conkeyn.javaeye.com/blog/398854 介绍得比较详细了。这是host是Windows,Client是Linux的情形。

下面是我的机器上的情形:
首先,要看一下VMware目录下有没有linux.iso文件。如果没有,下载一个。
然后,在VMware中,菜单 虚拟机 / 可移动设备 / CD-ROM / 编辑,选linux.iso
在Linux的虚拟机中安装VMware Client Tools:
mount /dev/cdrom /mnt/cdrom
(如果出错则到/mnt目录下mkdir一个cdrom)
执行vmare-install.pl
(如果没有解压,则先解压)
在VMware中,菜单 虚拟机 / 设置 ,选项, 有一个共享文件夹设置,选择一个windows文件夹。

2009-09-11

MSN:8004820错误及其解决方案

当你的MSN 无法登录,且提示错误代码为80048820,这种问题一般是由于你的系统时间不对。

2009-09-04

Windows中如何用软件关上光驱

之前我自己写了个程序的。后来,我发现这里介绍的方法比较全。
我现在使用的方法是:
  1. 下载 CDEject.dll ,保存到 c:\windows\system32 (注意:如果系统目录不是 c:\windows ,那么请保存到相应目录下,并且下面提到的注册表文件也要相应修改)。
  2. Insert Contect Item in CD-ROM Registry  保存为 .reg 文件(注意:上文已经提到,请确认这里注册的 dll 的路径跟第1步保存的路径是一致的),再双击导入注册表。
无需重启,在光驱的盘符上点击右键,菜单会多出来一个 Insert 项目。 Enjoy it.

2009-09-02

Windows XP Home禁止Auto Run

插入移动硬盘时,老是不停扫描。
因为又是Home版,所以不能通过gpedit.msc修改组策略来实现。

还是修改注册表吧。
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer 的 NoDriveTypeAutoRun 的值:
缺省是 0x95 ,移动硬盘、光盘都Auto Run。
修改成 0xb5 ,光盘不能Auto Run。
根据网友的介绍, 0xdd 也很符合我的要求,也就是CDROM可以自动运行,不管是音乐CD还是多媒体光盘,而剩下的所有驱动器都禁止。

天才

看到一本书上提到一些天才作家,有些感慨。
(我曾经跟中书讨论过天才定义,我说的天才是指狭义的天才。)

在文化艺术领域,相比科学技术领域,天才似乎多些。
这些天才,他们生性敏感、聪慧,能体察很多常人体察不到的东西,当然,他们就必定得到很多常人感觉不到的痛苦、领悟。
因此,他们思维方式、处世之道可能跟常人格格不入。他们很累,他们看到了想到了常人看不到的东西;他们很无助,因为他们是少数。
所以,他们很多英年早逝,有些会走上自杀道路,有些则抑郁而终。

他们留给世人的是隽永的作品,让人惊叹的成就。
世人给他们的,有敬仰,有不解,有惋惜。

最后说一句:天赐企业的命运也类似。我记得当年有篇介绍Sun公司的文章,标题是《象太阳一样孤独和辉煌》。如今被Orcale收购,令人扼腕。

2009-08-31

F1比利时大奖赛

(由于一些原因,这次比赛未能收看直播。)新浪体育讯 北京时间8月30日,F1比利时大奖赛在斯帕赛道结束。法拉利车队芬兰车手莱科宁借助KERS赛车的优势力压杆位得主费斯切拉,取得本赛季首个分站冠军。

祝贺莱科宁!祝贺法拉利!

2009赛季车手积分榜
Pos Driver Nationality Team Points
1 Jenson Button British Brawn-Mercedes 72
2 Rubens Barrichello Brazilian Brawn-Mercedes 56
3 Sebastian Vettel German RBR-Renault 53
4 Mark Webber Australian RBR-Renault 51.5
5 Kimi Räikkönen Finnish Ferrari 34
6 Nico Rosberg German Williams-Toyota 30.5
7 Lewis Hamilton British McLaren-Mercedes 27
8 Jarno Trulli Italian Toyota 22.5
9 Felipe Massa Brazilian Ferrari 22
10 Heikki Kovalainen Finnish McLaren-Mercedes 17
11 Timo Glock German Toyota 16
12 Fernando Alonso Spanish Renault 16
13 Nick Heidfeld German BMW Sauber 10
14 Giancarlo Fisichella Italian Force India-Mercedes 8
15 Robert Kubica Polish BMW Sauber 8
16 Sebastien Buemi Swiss STR-Ferrari 3
17 Sebastien Bourdais French STR-Ferrari 2
18 Adrian Sutil German Force India-Mercedes 0
19 Kazuki Nakajima Japanese Williams-Toyota 0
20 Nelsinho Piquet Brazilian Renault 0
21 Luca Badoer Italian Ferrari 0
22 Jaime Alguersuari Spanish STR-Ferrari 0
23 Romain Grosjean French Renault 0

2009赛季车队积分榜
Pos Team Points
1 Brawn-Mercedes 128
2 RBR-Renault 104.5
3 Ferrari 56
4 McLaren-Mercedes 44
5 Toyota 38.5
6 Williams-Toyota 30.5
7 BMW Sauber 18
8 Renault 16
9 Force India-Mercedes 8
10 STR-Ferrari 5

2009-08-26

七夕

Bing的背景图是接吻鱼。
Google和Baidu的doodle都体现了七夕主题。

2009-08-24

F1欧洲大奖赛

2009 F1欧洲大奖赛在 西班牙 瓦伦西亚 街道赛场举行。
布朗GP车手 巴里切罗 从第三位发车夺冠,赢得了自2004年中国站以来的第一个分站冠军。
杆位起步的 汉密尔顿 因换胎失误、加上出站受阻最终获得第二名。
法拉利 莱科宁 季军。

感概一下:
Williams采用的Toyota的发动机。作为条件之一,Toyota要求Williams必须有一名日本车手上场。
日本没有最棒的车手,但是他们有发动机,所以,F1赛场可以看到日本车手。
中国还没有跑F1的车手,但也没有F1的发动机,所以,F1赛场看不到中国车手。

车队积分榜:
名次 车队 积分
1 布朗 126
2 红牛 98.5
3 法拉利 46
4 迈凯轮 41
5 丰田 38.5
6 威廉姆斯 29.5
7 雷诺 16
8 宝马-索伯 9
9 红牛二队 5
10 印度力量 0

车手积分榜:
名次 车手 国籍 车队 积分
1 巴顿 英国 布朗 72
2 巴里切罗 巴西 布朗 54
3 韦伯 澳大利亚 红牛 51.5
4 维泰尔 德国 红牛 47
5 罗斯博格 德国 威廉姆斯 29.5
6 汉密尔顿 英国 迈凯轮 27
7 莱科宁 芬兰 法拉利 24
8 特鲁利 意大利 丰田 22.5
9 马萨 巴西 法拉利 22
10 阿隆索 西班牙 雷诺 16
11 格洛克 德国 丰田 16
12 科瓦莱宁 芬兰 迈凯轮 14
13 海德菲尔德 德国 宝马-索伯 6
14 布埃米 瑞士 红牛二队 3
14 库比卡 波兰 宝马-索伯 3
16 波尔戴 法国 红牛二队 2
17 苏蒂尔 德国 印度力量 0
18 中岛一贵 日本 威廉姆斯 0
19 阿圭苏阿里 西班牙 红牛二队 0
20 小皮奎特 巴西 雷诺 0
21 费斯切拉 意大利 印度力量 0
22 格罗斯让 法国 雷诺 0


2009-08-21

A1324

国家无线电监测中心可以查询到Apple的iPhone(型号A1324)已经通过核准

标准证号 标准代码 设备型号 设备名称 频率范围 发射功率 占用带宽 杂散发射限值 生产厂商 核准日期 有效期
2009-1996 CMIIT ID:2009CJ1996 A1324 GSM/WCDMA/蓝牙移动电话机 885-915MHz 1710-1755MHz 1920-1980MHz 33/30dBm±2dB ≤200kHz ≤5MHz ≤-30dBm 美国 Apple Inc. 2009-5-7 0:00:00 五年

就差工信部发入网许可证了。

2009-08-12

舒马赫复出计划取消

舒马赫本人对于复出计划取消的解释为:"我不能代替马萨出场了。尽管我做出了巨大的努力来实现这次临时复出……在我第一次驾驶F2007进行训练之后,颈部的疼痛始终困扰着我。那是我2月份在摩托车比赛中经历的事故,很不幸问题至今依然存在。这直接导致我无法承受F1赛事带来的巨大冲击力。经过昨天下午和之前的几次检查,结果一致表明我的颈部伤势没有好转……很对不起车迷们,可我真的尽我所能了!

法拉利官方也宣布,由于舒马赫不能上场,由卢卡・巴多尔(Luca Badoer)取代巴西车手马萨上场。

2009-08-11

Allegro SPB 15.2安装及修复

安装时不指定license,安装后再安装补丁:先安装Update,再安装Hotfix。

手工增加环境变量 CDS_LIC_FILE ,值为license文件的完整文件名
环境变量 CDSROOT 是自动创建的,值为安装路径
程序还会在系统环境变量 Path 后加上 ;%CDSROOT%\tools\pcb\bin;%CDSROOT%\tools\specctra\bin;%CDSROOT%\tools\bin;%CDSROOT%\tools\libutil\bin;%CDSROOT%\tools\fet\bin;%CDSROOT%\tools\Capture;

应用程序的路径:
  • 画PCB的allegro 位于 %CDSROOT%\tools\pcb\bin
  • 做封装的apd 位于 %CDSROOT%\tools\pcb\bin
  • 做焊盘的pad_designer 位于 %CDSROOT%\tools\pcb\bin
  • ......(PCB相关的都位于 %CDSROOT%\tools\pcb\bin)
  • 画原理图的Capture 位于 %CDSROOT%\tools\capture
  • 帮助文件 位于 %CDSROOT%\tools\bin
重装Windows系统,如果Allegro的安装后的目录文件都在,则修复就可以了不需要重新安装,方法:创建上述环境变量并赋值,然后在应用程序目录下找到相应程序创建快捷方式就可以了。

让你意想不到的安装程序

我在找某个版本的WinRAR(我需要对RAR压缩包里面的文件重命名)安装文件,竟然找到了一个RAR格式的安装文件。
真是让人晕倒:如果有人需要下载安装WinRAR,就是因为RAR文件打不开,你倒好,整个RAR的,让别人咋弄?(如果是个ZIP格式的也就算了,Windows XP内建了对ZIP文件的支持。)

与此类似的还有:
我曾经看到过一台计算器自检时提示键盘不存在(或出错)之类的的信息,然后请用户按F1键(也可能是其他某个键)继续。

WinZIP, WinRAR

我曾经提到WinZIP, WinRAR两个软件一些功能差异。现在做一个小结:
重命名:WinZip 12.0之后支持;WinRAR 3.7版本之后支持;
删除文件:WinZip一直支持;WinRAR 3.0(瞎猜的,没有找到资料)版本之后支持;
兼容性:WinZip 11.1版本之后可以打开RAR文件;WinRAR 3.8(没有确切资料,可能更早)版本之后可以打开zip文件;

2009-08-10

重装VC后几个修改

安装VC和SP。之后,陆续遇到几个问题,整理如下。

1, shlobj.h
shlobj.h 的 SLR_FLAGS 添加以下枚举:
    SLR_NOSEARCH = 0x10,
    SLR_NOTRACK = 0x20,
    SLR_NOLINKINFO = 0x40,
    SLR_INVOKE_MSI = 0x80

2, wabtags.h
wabtags.h 最后乱码,会导致编译出错,请手工修改。

3, iphlpapi.h
提示缺少 iphlpapi.h 。安装SDK。
后来,编译出错,提示在 iphlpapi.h 中 PMIB_ICMP_EX 没有定义。
将sdk下的 Iprtrmib.h ,替换vc下的 Iprtrmib.h。


2009-08-09

硬盘安装方向(zz)

转自〔劳动最光荣〕之十三:DIY之硬盘安装也有技巧

看到此标题可能很多人会说硬盘谁不会安装,不就是把硬盘卡在插槽内拧上镙丝就得了吗。对没错的确如此,不过硬盘安装还是有两点要注意的。

硬盘安装方向有两种,一是把有电路板的一面向下金属壳一面向上水平安装,还有就是立式安装,硬盘内主轴承(液态轴承同样如此)工作方式就是按这两种安装方式度计的。硬盘盘片高速旋转时会产生明显的陀螺效应。硬盘如反着安装或安装不水平,这种情况在实际生活中很常见,其中硬盘反着安装占很大一部分,安装不正确会导致硬盘主轴承受力不均衡某一侧会承受比原来大的多的撑力。此时对轴承的磨损会比正常大数倍,这样振动也大对磁头的运作产生不良影响。这种不可靠虽然在短期内觉不出来,但不安定的因素时刻存在着。

2009-08-08

夺命线

[新浪杂谈]【石述思专栏】杭州斑马线从此改名夺命线 

跟外地同学聊天时,同学说:你在杭州,要注意安全!

2009-08-07

教育

看到 北大MBA夫妇带女儿隐居终南山 这则新闻,我很感慨。

想想自己也曾经多次对这个太过于功利的教育环境和制度表现出不满,但是却不得不向它低头。
有朋友也曾经提过类似的建议:自己教。
首先,我还没有完全实现财富自由。
其次,我对这个做法也不是很赞同。毕竟,孩子跟很多同龄人在一起的时光,是父母永远无法替代的(反之亦然)。

北大MBA夫妇带女儿隐居终南山(zz)

http://qjwb.zjol.com.cn/html/2009-08/06/content_39079.htm

北大MBA夫妇带女儿隐居终南山

失望现有教育系统 带7岁女儿深山读经

   一对眷恋传统文化的夫妇带着女儿在终南山中居住已近3年,他们用诵读经典的方式教育女儿,希望培养出人格完整的现代“君子”。在终南山海拔1300米 处,一个有3间土屋的农家院。这个农家小院,既是西西的家,也是她的学堂。妈妈孟尧是她的老师,每天教她背诵《论语》《易经》,在英文本子上抄写的是莎士 比亚的“仲夏夜之梦”。他们说,在女儿13岁前,不会送其进入那个让他们“非常失望”的现有教育系统。

  为何如此极端 商海打拼身心疲惫 挣钱不快乐

   孟尧今年47岁,最后的“学历”是北京大学的“MBA”。她和丈夫在上世纪80年代就“下海”经商,家境富裕。在西西之前,他们有个儿子。像所有望子成 龙的家长一样,他们给孩子选择的都是最好、最贵的学校。孟尧说:“我们那时忙于工作,儿子的教育几乎全交给了学校。”然而,儿子的成长最终让孟尧感到失 望,尽管儿子最后也上了大学。在外人看来,儿子的“毛病”不过是印象中“80后”常有的那些:以自我为中心、超前消费等。

  在对儿子的成长失望之后,孟尧夫妇决定再要个孩子。40岁这一年,孟尧如愿以偿生下女儿西西。

   2005年,孟尧带着女儿去了上海“观摩”了闻名一时的私塾孟母堂。孟母堂的孩子给她留下了深刻的印象。回来后,孟尧夫妇决定带女儿进山,自己教育孩 子。但为什么一定要选择进山隐居这样“极端”的方式?孟尧解释说,自己和丈夫多年来在商海中打拼,虽然挣了些钱,但身心疲惫,并不快乐。“到山里生活,一 方面是为了女儿的教育,另一方面是为了休整身心。” 

  生活方式怎样 没有电视 娱乐方式是听广播

  如今西西能背诵完两万多字的《易经》。妈妈孟尧认为,孩子如果在13岁前记住一部经典,13岁就可能“和世界哲人对话”。“如果只背一肚子儿歌、广告词,那就不一样了。”

  这个被妈妈称为“别人是爬山,她是跑山”的女孩,生活并非没有规律。早晨6点起床,6点半开始读书。

   7月14日这天,她读的是孔子《论语》,读诵的这个时段要两个小时,中途可以上厕所,但不能乱跑。母亲在一旁陪着,偶尔给她提提兴致。早晨8点半,西西 可以休息一下,到门口山路上带着狗跑一圈。9点开始读英语,到10点半,吃当天的第一顿饭。饭后如有时间,背背《诗经》。中午午休到两点,起来后开始写 字。内容是抄写英文和古汉语。晚上画画,或听妈妈讲《说文解字》。画画是用毛笔白描勾勒花卉、古装人物等。

  没有玩伴行吗 不担心孩子和人交流会有障碍

  家里没有电视,但西西也知道“美羊羊”。偶尔,妈妈会在电脑上给她放动画片。平均几个月才跟随父母下一次山的西西,对山下生活的向往是:可以吃冰激凌,吃汉堡包。

  可没有玩伴的生活,对7岁的西西公平吗?西西虽然已适应山里的生活,并不愿意去学校,但她期待着能和小伙伴们一起玩。每个周末,如有山下的孩子来,他们会一起好好地“疯”上大半天。

  每到周末,西西家的小院里会来不少父母的朋友。孟尧说,他们发现西西无论是和来访的大人还是孩子,都可以很好地交流。

  如今,经典的教育在西西身上已有效果。例如今年西西生日,山下的朋友带了蛋糕来。让孟尧没想到的是,第一块蛋糕西西端给了妈妈,还说:“谢谢妈妈的养育之恩,妈妈辛苦了。”孟尧说自己在那一刻掉了眼泪。


给晚点列车的嘉奖令(zz)

http://qjwb.zjol.com.cn/html/2009-08/06/content_39033.htm

  D175次列车全体乘务员:

  获悉你们4日从天津站出发时,发现列车启动钥匙丢失;由于你们处变不惊,沉着应战,妥善处理,最终成功地将列车开向沈阳。特向你们表示祝贺。

  你们在这起事故中表现出很高的素养,创造了紧急处理危机事件的宝贵经验,因此给予以下嘉奖。

  一、信息透明奖。你们在自己寻找钥匙无果的情况下,果断向旅客公开钥匙丢失的信息。由于你们公开信息及时,挽救了很多不明真相的群众,有效缓解了列车晚点带来的焦躁情绪,避免了事态激化,没有发生群体性事件。

  二、人性化服务奖。在等待北京送来列车启动钥匙的两个小时里,你们为旅客提供免费饮用的瓶装水,保证了旅客的身体健康,体现了铁路部门对广大人民群众的关怀。

  三、和谐奖。你们充分发动群众,号召大家一起找钥匙,得到了旅客的热烈响应,列车上出现了人人埋头找钥匙的动人场面,生动体现了"人民铁路为人民,人民铁路人民办"的精神。

  四、以上各项嘉奖,奖金总额为××元(配钥匙的费用从中报销,不另行拨款)。

   你们的做法,极大地提高了铁路在人民群众中的声望,增强了铁路的市场竞争力。由于一些航空公司在航班晚点后处置不当,对旅客不理不睬,一口水也不给喝, 因而经常引起旅客的愤怒投诉,被媒体曝光,市场形象已经降至最低点。我们早有进军航空运输市场的打算。你们处置钥匙丢失事件的成功经验,说明条件已经成 熟。我们将大力宣传你们的经验,为兼并航空公司打响舆论战。

  当然,钥匙丢失,也值得我们反思,领导也有责任。一是以后招考驾驶员要增加记忆力测试,二是每列列车要多配几个钥匙,驾驶员、列车长,第一节车厢的列车员每人都带一把,以防万一。更重要的是,在我们兼并航空公司以后,绝对不能再发生类似事件。

  本嘉奖令为内部文件,不属于信息公开范围;凡有外部打听者和内部泄露者,均以间谍论处。

  民办铁路局

  2009年8月5日

2009-08-05

杭州斑马线

打工妹在杭州斑马线旁被保时捷车撞死

一样是在城市的夜晚,华灯灿烂,万家笑语;一样是在斑马线上,一辆车与一个人发生了碰撞。你即便心里没有爱 也不能眼里没有斑马线 时青青

让人心寒的杭州。
中国应该开始成年人的素质教育了。

2009-08-04

到江南去

今天《钱江晚报》非常高调的报道了阿里巴巴搬到滨江的消息,C1到C4版

当年,UTStarcom也是信心满满的搬入滨江新大楼,如今边大幅裁员边将大楼卖出。

2009-08-03

如何让Firefox在向下拖动Tab时不自动打开新窗口(Disable drag tab to new window)

这个问题在3.5版本之后有。
通过安装https://addons.mozilla.org/en-US/firefox/addon/12276,选中其提供的"Disable detach tab"选项即可。

2009-08-01

8.1

向最可爱的人致敬!

Google.cn的doodle没有变化,贴个百度的。

百度有点恶,但到底是同胞。

2009-07-31

舒马赫重返F1

今天看报纸得知,法拉利计划让舒马赫重返F1赛场,替代受伤的马萨参加比赛直到马萨重回赛场。

我立刻去Ferrari的官方网站看了,消息属实。

Ferrari intends to put Michael Schumacher in Felipe Massa's car 

Maranello, 29 July 2009 - Scuderia Ferrari Marlboro intends to put Michael Schumacher in Felipe Massa's car until the Brazilian driver will be able to race again. Michael Schumacher said he is ready and, over the next few days, will undertake a specific training program at the end of which confermation will be given of his participation in the Championship with effect from the European Grand Prix on the 23rd of August.

2009-07-28

NTFS? FAT32!

记得我刚刚写过 FAT32? NTFS! ,现在,反过来了。

情况是这样的:
上次我为了存放ghost的镜像文件(大于4G),把D盘convert成NTFS了。
后来发现,其他用户不能写D盘文件了,这是因为NTFS的权限问题。

对于专业版,可以设置文件的权限,但是,这台电脑是XP Home版,无法设置。
于是需要把NTFS转换成FAT32。

convert命令不支持这个转换,于是我用Partition Magic转换。
正如所预知的,一些中文目录和文件名变成了问号。

我只备份了目录结构,但是我发现不能对这些有问号的目录或文件进行重命名。
于是只得用FinalData恢复。
恢复是恢复了,但是那些对于的有问号的文件和目录无法删除。

后来,我发现用Paragon Hard Disk Manager从NTFS转换成FAT32不会导致文件名错误(软件会自动识别时区和文件系统的语言)。
可惜,为时已晚。

2009-07-27

F1匈牙利站

这一站,意外很多。

排位赛时,巴里切罗车上减震系统一个部件(疑似一个螺母)脱落,砸到了可怜的马萨的额头。因此,马萨无缘正赛。据悉,马萨手术后情况稳定。

正赛时,取得杆位的阿隆索首次进站时由于右前轮没有装好,在坚持了几圈之后,右前轮完全飞出(所幸没有造成人员伤亡),最后只得退赛。
维特尔由于赛车故障退赛。
莱科宁和韦伯先后几乎同时进站。当莱科宁出站时,韦伯一看就急了,在加油枪还没有拔出时就试图起步,后来跟莱科宁险些相碰,落于莱科宁之后。
莱科宁第二次进站时,起步时似乎挂档有些问题(和讯上说熄火),耽误了几秒,还好对最终结果没有太大影响。

匈牙利站比赛结果:
排名 车手 车队 成绩 停站次数
1 汉密尔顿 迈凯轮 冠军 2
2 莱科宁 法拉利 +11.5秒 2
3 韦伯 红牛 +16.8秒 2
4 罗斯伯格 威廉姆斯 +26.9秒 2
5 科瓦莱宁 迈凯轮 +34.3秒 2
6 格洛克 丰田 +35.2秒 2
7 巴顿 布朗车队 +55.0秒 2
8 特鲁利 丰田 +68.1秒 2
9 中岛一贵 威廉姆斯 +68.7秒 2
10 巴里切罗 布朗车队 +69.2秒 2
11 海德菲尔德 宝马索伯 +70.6秒 2
12 皮奎特 雷诺 +71.5秒 2
13 库比卡 宝马索伯 +74.0秒 2
14 费斯切拉 印度力量 +1圈 2
15 阿古尔苏拉里 红牛二队 +1圈 2
16 布艾米 红牛二队 +1圈 2
17 维特尔 红牛 +41圈 3
18 阿隆索 雷诺 +55圈 3
19 苏蒂尔 印度力量 +69圈 1


车队积分:
名次 车队 积分
1 布朗-梅赛德斯 114
2 红牛-雷诺 98.5
3 法拉利 40
4 丰田 38.5
5 迈凯轮-梅赛德斯 28
6 威廉姆斯-丰田 25.5
7 雷诺 13
8 宝马-索伯 8
9 红牛二队-法拉利 5
10 印度力量-梅赛德斯 0


车手积分:
名次 车手 车队 积分
1 巴顿 布朗-梅赛德斯 70
2 韦伯 红牛-雷诺 51.5
3 维泰尔 红牛-雷诺 47
4 巴里切罗 布朗-梅赛德斯 44
5 罗斯伯格 威廉姆斯-丰田 25.5
6 特鲁利 丰田 22.5
7 马萨 法拉利 22
8 汉密尔顿 迈凯轮-梅赛德斯 19
9 莱科宁 法拉利 18
10 格洛克 丰田 16
11 阿隆索 雷诺 13
12 科瓦莱宁 迈凯轮-梅赛德斯 9
13 海德菲尔德 宝马-索伯 6
14 布埃米 红牛二队-法拉利 3
15 波尔戴 红牛二队-法拉利 2
16 库比卡 宝马-索伯 2
17 苏蒂尔 印度力量-梅赛德斯 0
18 中岛一贵 威廉姆斯-丰田 0
19 小皮奎特 雷诺 0
20 费斯切拉 印度力量 0
21 阿圭苏阿里 红牛二队-法拉利 0


最后,祝福马萨早日康复,期待早日看到马萨重回赛场。