Insert regular hexagon in Word

坑爹的 Word 插入的六边形竟然不是正六边形,即使按住 Shift 键拖出来的也不是正六边形。当然我也有责任,Word 在插入六边形时从来没说这是正六边形(Word 插入五边形时提示是正五边形)。

虽然不是正六边形,但在没有尺子、没有参照物的情况下,我也没发现它不是正六边形。我是在画一个以正六边形为基本形状的 logo 草图,以便向设计师传达我的想法。陆陆续续画了两天,发现某两条边总是不相等——如果是在正六边形上作图,这两条边会等长。

我以为我的平面几何知识已经退化成零,一遍又一遍地验算一道只有初一几何题难度的 logo 分解图,始终不能把两条边调成等长。我甚至怀疑我的显示器纵横比出问题了,耗了两天才想起来去量一量 Word 一开始插入的六边形是不是正六边形。一量,不是,晕厥!

My hotel logo draft
My hotel logo draft

知道它不是正六边形,把它调整为正六边形就很简单了——先插入一个六边形,不用按住 Shift,按住也没用,插入的宽高比不是 1:1,也不是正六边形的应有的√3/2,必须手动调整一下宽高比成 0.866 左右。作一条水平线,再旋转 30 度,以之为基准,按住六边形的黄点,拖动直到六边形的某边与基准线重合或平行。

Google Drive server rejected files uploaded in Windows

Google Drive server rejected file uploaded in Windows
Google Drive server rejects file uploaded in Windows

我发现在 Windows 下我无法上传文件到 Google Drive。我用的是 FireFox,提示的错误信息是 “Server rejected”。一开始我以为是 Google Server 停摆了,但转用 Fedora 下的 FireFox,一切正常。我不信邪,又在 Windows 下尝试上传各种后缀的文件,.jpg, .doc, .pdf 都试过了,全部失败。

我很少在 Windows 下操作,也不知道这个问题存在多久了。难道是 Google 跟 Microsoft 叫劲,给 Windows 用户一点颜色看看?我觉得 Google 不至于干损人不利己的事,但我不确定。于是我试图改变 Windows 下 FireFox 的 User Agent,在 about:config 里新建了一个名为 general.useragent.override 的字串,值为 Mozilla/5.0 (X11; Linux x86_64; rv:20.0) Gecko/20100101 Firefox/20.0。

Custom FireFox user agent
Custom FireFox user agent

这样 FireFox for Windows 看上去象 FireFox for Linux 了。

Forged user agent
Forged user agent

可是,Google Drive 依然是 “Server rejected”。证实 Google 并没有区别对待 Windows 用户。

接着,我继续研究了一下 FireFox 无法上传文件的原因,看来是多账户登录 Google 后的偶然结果。有人说是无法上传至默认账户以外的账户,但我亲自试了一下,这个说法也不准确。看来不要在这个问题上过于纠结,清空一下浏览器历史,一切都正常了。

I thought I lost Hotmail

Hotmail 今天给我惊了一身冷汗。

我不用 hotmail 很多年。今天由于某种需要,登录了一下 hotmail。我虽然牢记我的密码,但是 hotmail 过于热心地说,“您好久不来了,我给你发个验证码”。

Hotmail wants to verify me
Hotmail wants to verify me

验证码发到哪儿呢?hotmail 显示了以前留给 hotmail 恢复密码用的另一个邮箱。hotmail 显示了恢复邮箱@前的前 2 个字母结果,其他用一串星号遮住。那是很久以前我用的一个免费邮箱提供商提供的邮箱,我申请过多个,有些已经不属于我了。

天哪!hotmail 会把验证码发到哪儿?我诚惶诚恐地登录了其中一个,一堆垃圾邮件,但没有新邮件;退出再登一个,也没有。晕了晕了——要是 hotmail 把验证码乱发,那我的 hotmail 也要被别人拿去了。然后骗子可能拿着我的账号去借钱,然后……

还好,我再点一次让 hotmail 重发验证码,这次收到了,而且一次收到两个,不知道上一个验证码是发送延迟,还是接收延迟。哎,草草登录了事。hotmail 在欢迎页面上兴致勃勃地介绍起 outlook.com,我却有点哭笑不得。

I am not reading this welcome
I am not reading this welcome

xls is the best data import format for phpmyadmin

尽管我挺不愿意看到这个结果,但事实是 xls () 是在 phpmyadmin 中导入大量数据的最佳选择。xls 优于 csv 和 ods (Open Document Spreadsheet) 格式,尤其是在行数据差异比较大时(比如有 empty cell)。

尽管我用 Open Office Calc 生成原始数据,但保存为 Open Office 嫡出的 ods 格式再导入时,数据变得参差不齐。我正绝望时,试着保存为 xls 格式再导入,一切 OK。

回想 microsoft 所出的各种应用程序,确实有它强大的地方,至少有一点无人能及——在各应用程序间流畅地拷贝、粘贴。

Hotmail now open for POP3

微软被人诟病得比较多的地方,一是卖得贵,二是不开放。我觉得卖什么价是微软的事情,只要它觉得有市场,谋求利润最大化不该受到指责;但我深恶痛绝不开放的行为。

用户在选择一个产品前,不会了解这个产品的所有功能和限制。只有在使用产品的过程中,不停地发掘它的功能也了解到它的限制。如果发掘了一项功能是意料之外的,那就是惊喜,如果了解到一项限制是卖方强加的(不是因为成本高昂或技术不成熟),那就是不给用户自由——希望用“不开放”去限制用户不去选择竞争对手的产品?那是不可能的。我更甚之,如果哪个卖方敢这样干,我立马改投它竞争对手的环抱。

所以,我说 Google mail 比 Hotmail 好,主要是因为 Google 远比微软开放。

今天发现,有人博文说 Hotmail 支持 POP3 了。很久没用 Hotmail 了,我也不晓得它什么时候开始支持 POP3。我赶紧试了一下,果然,Google mail 里很轻松地把 Hotmail 帐号添加了进来,而且 Google mail 一见到是 Hotmail 帐号,直接把参数给设置好了。

Gmail add another account from Hotmail
Gmail add another account from Hotmail

看来微软也在进步,不过是不是太迟了点?我从不用 Hotmail 作邮箱 (only as IM),不过还是很高兴看到它支持了开放协议。

Connect to mdb under Linux

虽然没有实际意义,只想挑战一下自己,在 centos 下尝试连接 Access 数据库。装好了 unixodbc (原先就在 centos 里,可能是默认被安装的) 和 mdbtools、mdbtools-odbc,搞定了一切设置,可就是出不来。

我是用 php odbc_connect 去连接 ActinicCatalog.mdb,页面一片空白,连个错误提示也没有,刚开始我还以为 web server 出问题。折腾了好久,最后,自己新建了一个很简单的 mdb 文件,终于在页面上显示出来了。

总结经验,centos 连接 mdb 需要关闭 selinux,然后,如果页面空白(连跟数据库无关的内容也不显示)不要怪自己,要么怪 mdb 里的结构太复杂,要么怪 mdbtools 能力太弱,读不出来。

大概只有微软自己知道怎么连接 mdb,第三方是不可能完全读懂它的了。

How to open an mdb exclusively opened by others

Do not be over excited – my solution is not about how to open an mdb which is truly exclusively opened by others, but to cope with the situation when you can not open the mdb over the network.

For example, from time to time, Actinic crashes. And sometimes after crash, you see this message:

There was a problem with the database

Operation: Opening the table

The Microsoft Jet database engine cannot open the file ‘\\(netbios name)\Actinic v8\Sites\Site1\ActinicCatalog.mdb’. It is already opened exclusively by another user, or you need permission to view its data.

Action: Contact your Actinic reseller or Actinic Support as appropriate

The problem is caused by mdb, not Actinic specific. You may have seen something similar.

microsoft jet database cannot open file
microsoft jet database cannot open file

If you are sure no one else has opened the mdb file, you know Access is talking nonsense. To solve the problem, copy this file, delete the source file (you may have to operate on the local computer), move the copied file to the original place, and that’s it.

Do not ask me why this kind of problem happens, or why an duplicated file can solve the problem. I don’t know. That is one of the reason I do not like microsoft – too many times I do not know where problems come, and where they go.

Format date in merge field

Formating date correctly is one of the troublesome work in all computer languages because remembering how to format is difficult.

In Microsoft Word, the formatting process is –

  1. Press Alt+F9 to show the merge field code
  2. Add the format string to {MERGEFIELD mydate }
  3. The code looks like {MERGEFIELD mydate \@ “dd/MM/yyyy” }

Solution to chm file error of navigation cancelled or invalid address

最近我又对 plobe 起了兴趣,找来了一个说明文档竟然是 chm 格式。我这里用了“竟然”,因为 plobe 不是微软的技术,文档编写者却用了微软的 html help。用了微软 html help 也罢了,可它竟然打开后读不了。提示信息是:已取消到该网页的导航,或无效地址。

我试了很多办法,但都不切中要害:

  • 修改区域和语言为中国和中文
  • 注册文件关联
  • regsvr32 某些控件
  • 从微软网站下载 hhupd.exe 来安装
  • 降低 IE 安全级别

结果我的电脑搞得一团糟,还是没解决问题。Google 了好久(google 这回不聪明了,把好的答案藏起来了)最后解决问题的方法是:

在 CHM 文档上右键查看属性 -> 常规 -> 在下面有一个和属性相邻的安全:此文件来自其他计算机,可能被阻止以帮助保护该计算机。 右边有一个解除锁定的按钮。

单击一下 解除锁定 -> 应用 就可以了!

BTW, I found this chm file is not worth opening and reading at all. Does it imply whoever compiles documentation in chm for a non-microsoft technology is silly, and whoever tries to open such a chm is silly as well? I must admit I am silly.