如何在 Outlook 2007 中打开 .EXE 附件

Posted on the 十二月 9th, 2009 under 操作系统 by Tommy

有的时候,我们要通过 Outlook 发送 .EXE 的附件,但是由于 Outlook 2007 的安全属性设置,导致到无法打开。在网上搜索后,得到如下的解决办法:

  1. 打开注册表编辑器:开始 -> 运行 -> REGEDIT
  2. 找到 HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Outlook\Security
  3. 在右边的空白处,按鼠标右键,新建 -> 字符串值 -> Level1Remove
  4. 在新建的字符串中,输入:.exe
  5. 如果还要解除其他附件限制,可用分号分隔需要的附件扩展名,如:.exe;.com
  6. 重启 Outlook 2007,就可以正常访问 .EXE 的附件了

参考资料:

t 分布

Posted on the 十二月 9th, 2009 under 未分类 by Tommy

背景

最近上课的时候,用了很多 Excel 的功能来解决统计分析的问题。之前很多的二项分布,正态分布,用 Excel 都很好的解决了。就是这个 t 分布,一直没有能用 Excel 解决,老是要通过查表的方式来做,觉得很不爽。今天又仔细看了一下,终于知道怎么用 Excel 来做 t 分布的计算了。

要做 t 分布的计算,主要有两个函数,一个是 TDIST,一个是 TINV,前者用来计算概率,后者通过概率计算 C 值。

TDIST

TDIST(x,degrees_freedom,tails)

X  是需要计算分布的数值。
Degrees_freedom  是一个表示自由度的整数。
Tails  指定返回的分布函数是单尾分布还是双尾分布。如果 tails = 1,则 TDIST 返回单尾分布。如果 tails = 2,则 TDIST 返回双尾分布。

如果 tails = 1,TDIST 的计算公式为 TDIST = P( X>x ),其中 X 为服从 t 分布的随机变量。如果 tails = 2,TDIST 的计算公式为 TDIST = P(|X| > x) = P(X > x or X < -x)。

要计算 P(|X| < x) 则,公式为 1 – TDIST ,示例:=1-TDIST(2.074,22,2)

TINV 函数语法

TINV(probability,degrees_freedom)

Probability   为对应于双尾学生 t 分布的概率。
Degrees_freedom   为分布的自由度数值。

TINV 返回 t 值,P(|X| > t) = probability,其中 X 为服从 t 分布的随机变量,且 P(|X| > t) = P(X < -t or X > t)。 单尾 t 值可通过用两倍概率替换概率而求得。如果概率为 0.05 而自由度为 10,则双尾值由 TINV(0.05,10) 计算得到,它返回 2.28139。而同样概率和自由度的单尾值可由 TINV(2*0.05,10) 计算得到,它返回 1.812462。

要计算P(|X| < x),则,公式为 TINV(1-p, d),示例:=TINV(1-95%,22)

研究 BlackBerry 的 ROM

Posted on the 十月 9th, 2009 under 数码时代, 程序开发 by Tommy

最近有点痴迷 CDMA,所以想买个 BlackBerry 支持 CDMA 的手机。

但是好像从 9630 开始,BlackBerry 的机子都不能改 ESN 了。

为了能在国内顺利使用 BlackBerry 的机子,就开始研究 BlackBerry 的 ROM 了。

研究历史,不定期更新:

  • 2009.09.28 BlackBerry ROM Checksum 问题解决
  • 2009.10.09 BlackBerry ROM 数字签名剔除成功
  • 2009.10.13 BlackBerry ROM 签名算法 RSA-SHA1 1024bits,找到公钥

联通通话时长计算工具 v0.1a

Posted on the 六月 3rd, 2009 under 数码时代, 程序开发 by Tommy

最近办了一个联通 WCDMA 的号码,从6月1号开始186套餐正式生效,该套餐包含510分钟的通话时长,但是联通的网上营业厅却没有办法查询剩余多少时长,于是乎自己就写了个小工具,可以计算已经打了多长时间的电话。

  1. 首先登陆到联通的网上营业厅,用自己的186号码登录,然后查看通话详单。
  2. 在页面的下部有一个“导出”的按钮。点击后,会提示保存一个名为“通话详单.xls”的 Excel 文件。将该文件保存到任意目录。
  3. 下载 CUCalc v0.1a 这个小工具,将该压缩包内的文件解压缩到与“通话详单.xls”相同的目录。
  4. 点击运行“run.cmd”,即可生成一个新的名为“时长统计.xls”的 Excel 文件。
  5. 用 Excel 打开“时长统计.xls”,查看时长统计。

说明:run.cmd 实际上是一个脚本文件,你可以用记事本打开。如果文件名不是“通话详单.xls”的话,请自行修改。

注意:当前版本,仅针对09年6月3日联通导出的通话详单有效,不确定何时会失效。

已知的或可能存在的问题:

  1. 无法区分普通语音通话和 3G 视频通话,因为联通的详单上面没有列出来。
  2. 因为我没有打过单次通话超过1个小时的情况,所以不知道超过一个小时,时间是如何表示的,这个处理上可能有问题。如果有哪位朋友一次通话时间在1个小时以上的,还请告诉一下我,超过一个小时,时间是如何表示的。
  3. 很多异常用例都没有检查,因为是 Alpha 版本,所以,可能会出现奇怪的问题。

    如果您有任何的建议或者在使用过程中发现任何 Bug,欢迎与我联系。

    联通 WCDMA 186 号段入网

    Posted on the 五月 30th, 2009 under 数码时代 by Tommy

    话说那是2009年5月24日,一个瓢泼大雨的日子,一个终于不用加班的日子。下午2点多,顶着狂风暴雨去联通办了 WCDMA 的入网。现在属于友好用户和VIP用户入网,最便宜的套餐是 186 大洋,相当昂贵。对于首月入网的用户,186套餐下个月才开始生效,所以这个月是按照标准收费来收取的。填写了几份协议书,就拿到了传说中的联通 WCDMA WO 卡。废话不多说了,上图:

    3G客户入网协议
    图1 3G客户入网协议

    3G客户试商用友好体验协议
    图2 3G客户试商用友好体验协议

    3G客户入网登记单
    图3

    3G全家福
    图4 3G 全家福

    Touch Pro 3G 信号
    图5 Touch Pro 3G 信号

    Touch Pro HSDPA 信号
    图6 Touch Pro HSDPA 信号

    可以看到联通直接上马的就是 HSDPA,也就是俗称的 3.75G 网络。不过这个月不送流量,实在不敢乱来,1M10块钱,不是一般人消费得起的,只好等6.1以后套餐生效了再上网了。在信号不好的地方,偶尔会显示“3G”的标志,而不是 HSDPA 的“H”标志。在地铁站等没有 WCDMA 3G 网络覆盖的地方,会自动切换到 GSM 2G 网络。

    视频通话效果还是不错的,感觉比较流畅,就是费用贵啊!0.9/分钟,相当于1分钟1块大洋啊!比较烧钱。测试视频通话使用的 HTC Touch ProSamsung Omnia i900Sharp 903SH,个人比较满意。下个月看一下,如果真的是套餐包含漫游费长途话费的话,那还真的是蛮划算的,可以考虑以后主打186的号码。

    利用点讯输入法实现 Windows Mobile 下的韩文输入

    Posted on the 四月 24th, 2009 under 操作系统, 程序开发 by Tommy

    最近联通的WCDMA要放号了,心一横,新入手了一台手机,HTC Touch Pro。我是坚决支持水货,不支持行货的,没办法,因为行货报价太离谱了。Dopod 官方的报价是 6,980,还要没有 WCDMA,没有 Wi-Fi,没有前置摄像头的,骗钱!!

    自从买了以后就天天折腾,这不脑子进水,韩文没学会呢,先想怎么样在 Windows Mobile 上面显示韩文和输入韩文呢。韩文显示的问题,折腾了几天,比较完美的解决了。就是这个输入法的问题比较麻烦,恼人。找了好几个解决办法:

    1. Effy-CJK 4.0,输入运行,显示,一切都是相当的完美,可惜,试用期只有15天,没破解……残念,(╯﹏╰)
    2. MOAKey,一个据说是 Samsung 的什么输入法,能用是能用,不过是 QVGA 尺寸的,显示只有1/4屏幕大小,无法正常使用
    3. Kor_IME_VGA,一个据说最完美的解决办法,没错,是据说。安装了以后,不但自己不好用,还破坏系统设置,导致所有输入法的删除键,都会打什么“P O 體”到屏幕上,还删除不能,完全无法正常使用!!!
    4. Effy-CJK 3.1,比较难用,不支持硬键盘,跟 MOAKey 一样,只有 QVGA 尺寸的,屏幕缩到很小,也无法用
    5. 海鹰飞翔(这个没找到官网?),这个好像也是要付费的一个软件,本来这个是用来输入五笔的,但是因为它可以自己写 ini 文件,和设置码表,所以很多人在这个的基础上进行修改。OK,这个版本确实可以用了,VGA 屏幕也正常了,但是,速度很慢,而且也是无法支持硬件键盘,显示的时候也只能使用虚拟的软键盘,横屏的时候,显示很难看。不过还好,起码能用了。
    6. 点讯输入法,大家都知道这个是用来输入中文的,不过它现在可以自定义字库,所以,从这里我们就能输入韩文了。显示很漂亮,操作很流畅,支持硬键盘,再没有别的要求了。

    最后还是用了点讯的自定义词库的方式,实现了韩文输入。唯一有点麻烦的,就是每个字都要按一下空格,或者点选一下。不过怎么说,都比不能正常输入的好。最后,附上一个小软件,用来恢复点讯编码过的 def 文件的,通过这个工具可以将编码过的 DEF 文件,还原成文本的码表文件。官方的点讯词库生成工具,请参考这里。使用方法,启动命令行(我写的软件就是喜欢命令行啊~O(∩_∩)O哈哈~),进入程序所在目录,运行 DEF2TXT def def.txt,搞掂。

    附件:DEF2TXT

    2009.04.30 更新:
    最新的 DEF2TXT v0.1b 版本,用 Visual Studio 2008 重写过的。:)

    2009.12.04 更新:
    上传了 def 文件,直接下载覆盖到手机的 \Program Files\PlumSIP61 目录,不过覆盖后,五笔就不能用了,自己取舍一下吧。

    Touch Pro 上的运行图片:

    dayhand01

    dayhand02

    dayhand03

    dayhand04

    dayhand05

    用移动硬盘安装 Ubunut 8.10 Intrepid LiveCD

    Posted on the 三月 16th, 2009 under 操作系统 by Tommy

    背景

    最近在研究如何用原版的 Leopard 安装光盘来在我的 Lenovo IdeaPad Y510 上安装 Apple 的操作系统。既然 Leopard 都要装了,那就连 Ubuntu 一起装吧,结果把房间翻了个底朝天,也没有找一张能用的 CD-R 碟片。最后终于找到了几张 Sony 的 CD-RW 碟片,欣喜若狂,结果刻录的时候才发现,磁盘容量只有 650M,装不下 Ubuntu 那个 700M 的镜像,又不想再上网重新下载其它镜像。于是乎,就上网搜索,看看能不能用移动硬盘来安装 Ubuntu Desktop 的光盘镜像。搜索了不少资料,大部分都是将如何将 Ubuntu 安装在移动硬盘上的,比较郁闷。不过功夫不负有心人,最终还是找到了从移动硬盘安装 Ubuntu Desktop 的方法。

    准备工作

    1. 移动硬盘1个,用来启动计算机和存放 Ubuntu 安装镜像里面的内容
    2. Syslinux 拷贝一份,用来制作可引导的分区,和加载 Ubuntu 镜像。下载地址
    3. WinRAR,用来解压缩 Ubuntu Desktop 的光盘镜像。(有人要这个的下载地址吗?⊙﹏⊙b汗)

    开工

    1. 整理移动硬盘

    首先在移动硬盘上选择一个分区,用来安装 syslinuxUbuntu 镜像,并将选择好的分区格式化成 FAT32 格式,容量 1G 左右就可以了。

    如果你想无损分区的话,请使用 PM,PQ 等常用工具自行划分,但是使用的分区必须是主分区,不能是逻辑分区,切记!

    完成后的样子,如图1所示:

    ubuntu-from-usb-01

    2. 安装 syslinux

    将下载回来的 syslinux-3.73.zip,解压缩到任何你喜欢的目录,比如 C:\syslinux-3.73

    打开一个 DOS 窗口,进入刚才 syslinux 的目录,并执行如下命令

    syslinux -f -m -a X:

    ubuntu-from-usb-02

    注意,其中的 X 是你要安装 syslinux 引导的磁盘,比如 E 盘,如图2,其中各个参数的意义如下:

    -f 表示强制

    -m 表示写入磁盘的 MBR

    -a 表示激活该分区

    完成后,会在 BOOT 分区中,生成一个隐藏的 ldlinux.sys请不要删除,否则将无法启动系统。如图3

    ubuntu-from-usb-03

    3. 将 Ubuntu 光盘内容复制到 BOOT 分区

    这步用大家最常用的 WinRAR 就可以了,用 WinRAR 打开已经下载好的 ISO 文件。然后选择解压,将所有的文件解压到 BOOT 盘(E盘)根目录下。如图4

    ubuntu-from-usb-04

    解压完成后,在我的电脑中,打开 BOOT 盘,将根目录下的 isolinux 重命名为 syslinux

    进入 syslinux 目录,将 isolinux.cfg 文件重命名为 syslinux.cfg,改好后的效果如如图5

    ubuntu-from-usb-05

    4. 安装

    在 BIOS 中,设置为从 USB-HDD 启动,启动后效果就跟光盘启动一样。安装速度飞快

    需要注意的是,安装完成后,需要手动修改一下 /etc/fstab 这个文件

    因为安装的时候,系统会将 BOOT 分区认成光驱,而把真正的光驱映射成 cdrom1,自己手动修改一下即可。

    修改 Lenovo Y510 BIOS

    Posted on the 三月 4th, 2009 under 操作系统 by Tommy

    导读

    最近非常的想在自己的笔记本上装 Mac OS X 10.5.6 Leopard,也看了很多资料,好不容易,终于下载了2个光盘镜像回来,结果昨天折腾了一晚上,没有成功,很是郁闷。弄到1点多的时候,使用 -v cpus=1 的参数,竟然能用光盘启动了。没有使用这个参数之前,iPC OS X 10.5.6 总是不停的重启。但是 cpus=1 还是很不爽的,于是乎就上网查,发现,还要改 BIOS 里面 ACPI 里面的 DSDT,很是不爽!但是,为了能尽可能完美的使用 Leopard,那就改吧。

    本文用到的工具

    1. MMTOOL V3.22 BKMOD,用来修改 AMI BIOS 的东西。下载地址
    2. WinHex,用来提取,编辑和合并 DSDT 的东西。下载地址
    3. Intel ASL Compiler,用来反编译 DSDT.aml 文件,并编译修改后的 DSDT.dsl。下载地址

    参考文献

    1. Modified BIOS to get all cores working
    2. MMtool + iasl解决cpus=1(仅限AMI的BIOS)
    3. Advanced Configuration and Power Interface

    友情提示

    刷新 BIOS 有风险,操作不当,有可能导致无法正常开机。
    如因个人操作失误,导致计算机无法启动,本人概不负责。

    开始修改 BIOS

    1. 取得要修改的 BIOS

    访问如下地址,获得最新版的 Lenovo Y510 BIOS:

    http://consumersupport.lenovo.com/en/DriversDownloads/drivers_show_1044.html

    2. 提取 Single Link Arch BIOS

    打开 MMTOOL,点击 Browse 按钮,打开刚才下载的 BIOS 文件,如图1

    hack-lenovo-y510-bios-01

    选择上面 Tab 里面的 Extract,然后点选下面 ID 为 1B 的模块,点击 Browse 按钮指定一个输出文件名,我这里设置的文件名为 SingleLink.bin。另外,Extract Module 选项一定要选择 In uncompressed form,参考图2:

    hack-lenovo-y510-bios-02

    最后点击 Extract 按钮,得到 SingleLink.bin 文件。

    3. 提取 DSDT.aml 文件

    WinHex 工具打开刚才得到的 SingleLink.bin 文件,按 Ctrl + F 搜索“DSDT”,忽略第一个搜索到的结果,然后按 F3,继续搜索,第二个 DSDT 就是我们要找的 DSDT 开始的位置。

    在此位置,按鼠标右键,选择 Beginning of block,将此处设置为 block 的起始点,如图3所示:

    hack-lenovo-y510-bios-03

    然后搜索“WAKh”,应该有三个记录,在最后一个记录处停下。这里跟网上大多数说的 “WAKh.”(注意,这个是多一个点的) 不大一样。实际上 Lenovo Y510 的 DSDT 后面多了一个 OEM 信息。在最后一个 WAKh 之后,还要多加 21 字节,才是完整的 DSDT。在 DSDT 的末尾(注意,是在字母 h 上)按鼠标右键,并设置为 End of block,如图4:

    hack-lenovo-y510-bios-04

    设置好以后,已经选择的区域会高亮显示。选择文件菜单上的 Edit -> Copy Block -> Into New File,将选择的区域保存为新的文件,并命名为 DSDT.aml,如图5,6:

    hack-lenovo-y510-bios-05

    hack-lenovo-y510-bios-06

    至此,伟大的 DSDT.aml 文件,终于诞生了!~(≧▽≦)/~

    4. 修改 DSDT

    得到 DSDT.aml 文件以后,我们请出 Intel ASL Compiler,打开一个 DOS 窗口(别问我怎么做……),运行如下命令反编译 DSDT.aml,并得到 DSDT.dsl 文件(图7):

    iasl.exe -d DSDT.aml

    hack-lenovo-y510-bios-07

    用任何你喜欢的文本编辑器打开 DSDT.dsl,找到如下的代码片段:

        Scope (_PR)
        {
            Processor (P001, 0x01, 0x00000810, 0x06) {}
            Alias (P001, CPU1)
        }
    
        Scope (_PR)
        {
            Processor (P002, 0x02, 0x00000810, 0x06) {}
            Alias (P002, CPU2)
        }

    修改为:

        Scope (_PR)
        {
            Processor (P001, 0x01, 0x00000810, 0x06) {}
        }
    
        Scope (_PR)
        {
            Processor (P002, 0x02, 0x00000810, 0x06) {}
        }

    也就是说,删除所有的 Alias(别名)。

    然后,用查找替换功能,将所有的 CPU1 替换为 P001CPU2 替换为 P002,保存文件。

    接着,我们再用 Interl ASL Compiler 重新编译刚刚修改过的 DSDT.dsl 文件,并得到一个全新的 DSDT.aml,如图8:

    hack-lenovo-y510-bios-08

    如果编译以后不是 0 Errors 的话,就需要检查一下是不是哪里写错了。新生成的 DSDT.aml 比原来的文件要小一点。到这里,我们已经得到了我们需要的 DSDT 文件。

    5. 将 DSDT 重新插入 SingleLink.bin 中

    当我们完成了上述的工作后,重新切换到 WinHex,这时,WinHex 会提示文件已经被改动,是否重新加载,确认并重新加载,如图9:

    hack-lenovo-y510-bios-09

    选择 DSDT.aml 文件,然后按键盘的 Ctrl + A 选择整个文件,然后按 Ctrl + C 复制所有的内容。然后选择 SingleLink.bin 文件,回到刚才步骤3中所找到的 DSDT 的起始位置,如图10所示:

    hack-lenovo-y510-bios-10

    选择菜单 Edit -> Clipboard Data -> WriteDSDT.aml 文件的内容覆盖原来 SingleLink.binDSDT 的内容(图11)。

    hack-lenovo-y510-bios-11

    插入完成后,我们将光标移动到 DSDT 的尾部,可以看到新的 DSDT 比原来的小了一些。网上的教程都是说在 h 后面补上一个点(2E),后面的数据都写0,不过我个人觉得其实改不改都行。图12中红色的部分为冗余的内容。

    hack-lenovo-y510-bios-12

    修改后,保存 SingleLink.bin 文件,此步骤完成。

    6. 将 SingleLink.bin 重新插入 BIOS ROM 文件

    终于到最后一个步骤了,跟第1个步骤一样,还是 MMTOOL。不过这次选择 Replace 而不是 Extract 了,基本的设置跟步骤1类似,设置好后,按 Replace 按钮即可用 SingleLink.bin 替换原 BIOS ROM 中的 1B 模块。参考图13:

    hack-lenovo-y510-bios-13

    替换完成以后,可能会有些略微的不一样,将修改好的 BIOS 文件,另存一份,如图14:

    hack-lenovo-y510-bios-14

    哒哒~~~ BIOS ROM 修改完毕。

    7. 刷新 BIOS

    将修改好的 BIOS 放到 C 盘根目录,或者你喜欢的地方,重启电脑,按 F2 进入设置模式。

    选择 Start easy flash,找到 ROM 文件,刷~~~~

    后记

    终于写完了,累死了……

    其实,在我写完本教程以后,我还没有刷 BIOS 呢,O(∩_∩)O哈哈~

    晚上更新了自己修改后的 BIOS,iPC OS X 10.5.6 不用加任何参数可以直接启动。用原版的 Mac OS X 10.5.6 Leopard 的安装盘也可以安装了。~(≧▽≦)/~

    附上修改后的 BIOS 文件,解压密码为 tommy.net.cn06CN33WW_Tommy.ROM

    体验腾讯 Linux QQ

    Posted on the 三月 2nd, 2009 under 互联网络 by Tommy

    最近在网上看了很多关于 MacOS X Leopard 的资料,看得有点心血来潮,有点想装 MacOS 的冲动。不过冲动归冲动,看完了以后发现,要想安装 MacOS X Leopard 还真有点麻烦,因为驱动着实是一个大问题,而且貌似 Intel 3945ABG 现在还无解,得更换无线网卡才行。但还是不死心,每天乐此不疲的翻看如何安装 MacOS 的资料,结果又发现了很多关于一台机安装 Vista + Ubuntu + Leopard 的教程。于是乎,又跑去翻看 Ubuntu 的资料,结果在搜索的时候,发现了 Linux QQ。没想到 Tencent 现在竟然真的推出 Linux 版本的 QQ 了。

    话说当年,大家都鄙视 Tencent 为什么不出一个 Linux 下面的版本,现在终于有了。赶紧试用了一下,感觉还是很不错的。基本的聊天通信功能都有了,个人和群组也都支持。不过一些高级的功能还不完善,不过总的来说还是很好的。现在这个版本,跟 TM 比较类似,希望能尽快增加一下群共享,备注这些功能。

    附:安装步骤

    1. 腾讯的官方网站,下载最新的 Linux QQ 1.0 Beta1。因为我自己用的是 Ubuntu 8.10,所以,下载了一个 DEB 的软件包
    2. 下载完成后,双击运行,按照提示安装。
    3. 在菜单中选择互联网,腾讯QQ

    是的,现在在 Ubuntu 下用QQ就是这么简单。赶紧把 MacOS X Leopard 弄好,就可以体验一下 Mac QQ 了。:)

    Mario Party DS

    Posted on the 二月 3rd, 2009 under 休闲娱乐 by Tommy

    Mario Party DS

    Mario Party DS

    年前的时候,败家了一部 NDSi 回来,最近在乐此不疲的玩 Mario Party DS,还是很爽的。

    更多的 Mario Party DS 的相关信息,可以参考维基百科的介绍。:)

    该 ROM 可以从如下地址下载:
    http://i.ndsbbs.com/down/ds/200809/27-8191.html

    该游戏是单卡联机的,其中一个人进游戏,然后选择联机,其他玩家(最多支持到3个,就是总共4个玩家),在 NDS 的主菜单上选择 Download Play 的方式,就可以进行游戏了。

    需要注意的是,烧录卡必须要支持 Clean Rom,否则可能会出现问题。我现在用的卡是 AceKard2i,在联机玩 Mario Party DS(马里奥聚会DS)的时候,需要在特殊选项中选择提高单卡联机兼容性的选项,否则将无法正常进行游戏。