标签归档: IT

两个在线字符转换工具

编写了几个在线字符转换工具:

全角、半角字符转换工具

这个小工具用于全部转换一篇文章中的字符,包括字母、数字、中文标点符号之外的常用符号等。为了快速打字,很多人不太在意打的字符是全角的还是半角的。但这样一篇不讲究的文章,读起来十分难受。本工具就是为了快速整理一篇这样混乱的文章而开发的。

日语片假名全角、半角转换工具

依照本人的观点,半角的日语片假名是十分早期和陈旧的技术,应该早就被淘汰了。不过,直到现在,半角片假名还是经常用于以下两种情况中:

  • 银行汇款
  • 面向手机的网站

银行汇款时,输入的收款人姓名等信息必须用半角片假名。可能是长期以来一直使用的银行系统很难普遍替换的原因吧?如果不是所有的银行的软件系统及其自动提款机都普遍地换成全角片假名的话,估计这一点很难改变。

而面向手机的网站,由于必须把网页显示在十分窄小的屏幕上,为了尽可能多地显示信息,文章中出现片假名时,人们大多使用半角片假名。这样虽然有效地增加了单屏显示的信息量,但是,看上去的确十分不舒服。设想一下,夹杂在全角汉字和平假名字符中的半角片假名字符,是多么的不协调。我记得以前甚至看到有人在普通的电脑程序里也为了缩短文字而夹杂半角片假名,更妙的是,单词长时就用半角片假名,而单词短时则全角片假名又隆重登场,感觉十分不伦不类。

不管怎么说,看来在日本生活,短时间内是无法彻底摆脱半角片假名了。尤其是在网上汇款时,收款方为了能正常显示他们的汇款信息,在网页及电子邮件中,往往使用全角片假名来通知你。但是,你在输入时,却必须输入半角的片假名(及英文字母和其他字符等)。这样一来,跟拷贝&粘贴比,自己输入时有可能打错,同时,如果你使用的电脑恰巧无法输入日文,就更麻烦了。其实,无法输入日文时还是有办法的:找出银行在接受汇款时能使用的字符表,然后一个一个地拷贝粘贴。当然,这么麻烦的办法只有在实在没有其他方法时才使用。我曾经这样做过,也厌烦于自己用半角片假名输入,深知汇款时的种种不易,因此开发了这个在线小工具。

这两个工具,再加上中文简体、繁体转换工具苏州码子转换工具,构成了本网站的在线转换工具集。:-)

苏州码子--中国古代商用语言,及在线转换工具

网上流传一篇令人有些汗颜的文章,说的是“国立台湾师大附中九十一学年度第一学期期末考高一历史科试题”,其中有一道选择题是:

王威翰为宋代“附中宝号”商人,为了便于记帐,他使用商业数字,请问若他买进598本的书籍,他该如何记帐?

(A)〤〧卄 (B)〣〤〧 (C)〩〢〦(D)〥〩〨

对大陆的绝大多数人来说,该题犹如天书,令人费解。其实,上面的四个选项用的是中国古代的一种商用数字写法,称为“苏州码子”。

苏州码子是中国早期民间的商用数字写法。它脱胎于算筹,在宋代形成于苏州。现在在港澳地区的街市、旧式茶餐厅及中药房还偶尔可见,但随着传统小店铺逐渐被超市取代,苏州码子也逐渐消失,被更先进的阿拉伯数字代替。

苏州码子与算筹不同的是,它不像算筹那样用在数学和工程上,而是用在商业领域里,常见于公文、契约、帐表、官帖、私钞、当票、中药方子中,主要是为了速记(跟用汉字书写的数字比较一下便知),同时,由于它简单易学,不识字的人也很容易看懂。因此,你如果能读懂本文,就不需要自卑,因为苏州码子的难度绝对在汉字之下。

苏州码子与数字对照表:

0 1 2 3 4 5 6 7 8 9 10 20 30 40
〡/一 〢/二 〣/三 十/〆

据说最初没有“零”,都是用空格或“☐”代替,到了明代,才添加了“〇”。

记忆方法很简单:

0~3:自不必说

4:叉。1~3都三道杠了,再加就太麻烦了,于是改一下写法,打个叉。

5:阿拉伯数字“5”写草点就是了。当然,原来没有阿拉伯数字,我认为,这个字符来自古代的代表5的计算符号,样子是在圆圈上方加一个竖,好像把“♂”的箭头去掉头部一样。写草点就是“〥”了。

6~8:在1~3上加点。这个点相当于5

9:像汉字“久”

10、20、30、40:自不必说

为避免1、2、3写在一起时多个竖道引起的混淆(想象一下“〡〢〣〣〢〡”写在一起时的样子),而规定连在一起的1~3的数字中,第偶数个用“一二三”书写。例如:123记为“〡二〣”。

苏州码子的两行记法

苏州码子没有小数点。它采用两行记法,在数字下面标注单位。“12.34元”可记为下面各种形式:

〡二〣〤  〡二〣〤  〡二〣〤  〡二〣〤

 〇    十元      △     毛

记住了这些,上面那道题就很容易解答了:

(A)〤〧卄:4720

(B)〣〤〧:347

(C)〩〢〦:926

(D)〥〩〨:598

显然,正确答案是D。

这套数字书写系统还是十分先进的,几乎可以媲美现在世界通用的阿拉伯数字体系。把“〡二〣〤〥”跟“一万两千三百四十五”甚至“壹萬貮仟叁佰肆拾伍”比较一下,多么简单快速啊!

站在今天的认识角度,批评一下其缺点:

  • 最开始时缺乏“零”,且“十卄卅卌”十分笨拙
  • 缺乏小数点,而不得不分两行,在第二行标注单位。
  • 当然,跟阿拉伯数字相比,还是笔画太多。不过,阿拉伯数字的“4”和“5”也不得不分两笔,“7”上如果不加一小横,则容易与“1”混淆,加了小横,则也是两笔。如果这三个数字改为类似于“φ”,“S”和“τ”的写法,则可一笔就写好,势必会提高书写效率。
  • 为避免混淆而将“〡〢〣”和“一二三”交错书写:如果横排都用“一二三”、竖排都用“〡〢〣”不就可以了吗?

我编写了一个在线苏州码子转换小工具,可用来自动转换苏州码子。这里不把小数点转换成两行格式,而是保留小数点;且不处理苏州码子中“〆卄卅卌”等败笔,而都以“〇”处理。

俄罗斯方块

俄罗斯方块是一位俄罗斯科学家发明的,风靡全球。现在也还有很多人在玩。该游戏十分简单,却百玩不厌。它利用人们喜欢整洁的特点,制造出各种不同的杂乱状态,驱使着玩家拼命地去摆平这些虚拟的砖头瓦块。

本人不但爱玩该游戏,还爱编写它。最开始是在大学读书时的一个无聊的暑假,老婆跟同学出去旅游数日,于是就用C语言写了一个最初的版本,在DOS下绘制游戏。后来,来日本后,干了好多的VB的活,就闲着没事时用VB写了一个Windows版的,有同事还午休时玩一玩。后来为了练习VC++,就又写了一个。这些现在都已遗失。

之后,转职进了一家美国的小公司,开始用Java编程。那是非常愉快的一段时间,可惜,去年该公司的日本分公司关门了。这是题外话了。进公司后,经过一番磨合(主要是跟C++抵触),终于逐渐掌握了Java,于是就又用Java写了一个俄罗斯方块游戏。后来有时间时又不断完善了几次,最后的修改是针对计算机玩俄罗斯方块的人工智能部分,使其能更合理地演示玩法。这虽然是很久以前写的程序了(近来不再对GUI太感兴趣,因此只改进了人工智能的算法),但由于是Java程序,跟互联网有天生的亲和力,因此找出来放到网站上公开,以便大家同乐:

http://www.idogicat.com/game/tetris.html

过滤广告的方法

如果只放一点Google广告,总的来说不算烦人,而且也可以理解,因为站长付出了劳动,提供了信息,希望得到一点回报也是很合情理的。但是很多网站的广告是主要内容,要找到网站自己“插播”的文章,倒像大海捞针,眼力不好找不到。这里给出解决方案,在Firefox里把所有广告屏蔽掉!

首先,我们应下载并安装“Adblock Plus”插件。然后,做如下设置:

  1. 在工具条上打开其下拉菜单,选“Preferences…”
  2. 在弹出的对话框中点击“Add filter…”按钮
  3. 在列表中出现的文本框中输入“http://*.googlesyndication.com/*”(以常见的Google广告为例,不包括引号)
  4. 点击“OK”按钮关闭对话框。

设置完毕。重新启动Firefox,你就会发现广告都不见了。

自己动手修理索尼笔记本

(相关照片参见相册的“自己修好Sony VAIO PCG-Z505NR笔记本电脑”部分)。

还是在去俄罗斯之前,由于需要跟老婆保持联系,手头缺一个笔记本电脑,就把这台尘封已久的笔记本找了出来,决定修理一下。

这台Sony VAIO PCG-Z505NR笔记本电脑是我在2000年5月,在黄金周前买的,花去了自己差不多全部的日元积蓄(还有大部分的用日元换的美元留在手里:-p),为了在假日期间玩玩游戏什么的,我也在考虑转职,需要学习和复习一些编程知识。当时好心疼啊,可那时笔记本电脑就是贵,没办法啊。这台电脑在当时还是很好的,奔腾3的500MHz的CPU,128MB内存,12GB硬盘,12英寸的显示器,坚固的钛合金外壳,上面刻着VAIO的Logo,纤薄的机身,重不到两公斤,当时实在是喜欢极了。后来一直使用它,不够用时扩充了256MB的内存,又配了一个外接火线口的80GB的硬盘。该机上曾装过Windows 98、2000和XP,装过Office,装过Visual Studio,游戏也玩过暗黑破坏神和赛车等,还在上面玩过Slackware的ZipSlack,是我第一次玩的Linux。大约两三年前突然坏了(用了大约5年),表现为拉电源开关时毫无反应,弄得我束手无策,因为只有它给了出错信息我才能收拾。根据经验我判断是CMOS电池出问题了。打开过,没看见CMOS电池!到索尼网站上查,也没给出具体的原因,只是说修理得花费大约3万日元,这显然太贵了。后来比较懒,就扔在一边,有台式机,后来又买了一台配置很好的14英寸的NEC笔记本,就再也没动过这台笔记本电脑,但是由于用了很长时间,没舍得出手。

老婆去加拿大,给她带走了那台NEC笔记本,我到俄罗斯就没有电脑带了,于是就想起这台笔记本电脑。把它取出来,打开,还是没发现那块神秘的电池。笔记本电脑的装配是很精细的,要打开,很麻烦。后来一想,反正是死马当活马医,就干脆把能拆的都拆了,把整个主板都取下来,终于看到了粘在背面的那块电池。于是把它取了下来,拿到前面,又四处搜索该电池。该电池是松下产的,由于这不属于零售的电池,在Yodobashi等电器店都买不到,后来终于在秋叶原的一个角落里找到了。找了一个周末,到秋叶原,发现由于那里庆祝一个当地的节日,该店不开!只好下周再去,终于顺利买到。顺便买了电烙铁和焊锡。

回到家里,把笔记本电脑里面用吸尘器打扫一新。里面的风扇好脏啊。然后焊上电池,再给CPU涂上新的导热胶。一通电门,指示灯亮了!可是,显示器没显示!这可遭了,赶紧再拆开,心想怎么回事呢?终于发现悬在主板后面的显示器电缆,忘了插到主板上了!连好电缆,顺利地启动到Windows XP。

CMOS电池放在主板后面,不是故作神秘,是有道理的。笔记本电脑为了做得尽可能小,厂家可谓是费尽了心思,里面基本上是“多一分则太肥,少一分则太瘦”,而以纤细见长的索尼505系列尤为如此。主板前面实在很难找个空闲地方,但放在后面实在太不方便了,要是以后再得换怎么办?因此我决心放在前面。但是,我发现两个用金色的隔板盖着的芯片在使用中极其热,热得很烫,基本不敢摸。我一看,把充电式的纽扣电池放在这高温的元件旁边,不但阻断了空气的对流换热,而且弄不好还有把电池烧爆了的危险,那可不是闹着玩的,于是想方设法把电池弄得远了一点,致使键盘的空格键感觉有点鼓。。。

把它重新装好,终于又能用了,虽然在现在,这台电脑的配置已经太落伍了,但是,用它来当一个免费的国际电话装置还是够用的。而且,在俄罗斯时,还能用来简单地处理一下照片,并上传到我的网站上来。总之还是很有用的。

附带的一个好处是,它救活了我的那台外接式硬盘。老婆把NEC笔记本带走后,由于我的台式机和服务器都没配火线接口,没法用这台硬盘,而老婆又嫌这外接硬盘太麻烦,而自己买了一个很小巧的USB口的外接硬盘,不用电源线等,就如U盘一样方便。于是该硬盘也被尘封。这次这台笔记本修好,这台硬盘终于又可以通过这台笔记本接入网络了(理论上如此,但实际上由于本人太懒,一时尚未重新启用)。

计算一下,买了电池、电烙铁、焊锡和CPU导热胶,共花费大约一千多日元,比厂家开出的至少3万日元便宜了不少。不过,要算上我的人工费的话就不好说了。。。不过,DIY终究是不计个人劳动成本的,反正周末闲着也是闲着,也没出去打工。。。

iDog“翻译”的编程之道节选

“编程之道”(The Tao of Programming)(参见アマゾン JapanAmazon US) 是Geoffrey James以中国古代(主要是春秋时期)哲学、散文名篇的笔触写的IT幽默文章,现在iDog再尝试把它们还原一下。:-)

The Tao of Programming

Book 4, Chapter 4

Price Wang’s programmer was coding software. His fingers danced upon the keyboard. The program compiled without an error message, and the program ran like a gentle wind.

“Excellent!” the Price exclaimed, “Your technique is faultless!”

“Technique?” said the programmer, turning from his terminal, “What I follow is the Tao — beyond all technique. When I first began to program I would see before me the whole program in one mass. After three years I no longer saw this mass. Instead, I used subroutines. But now I see nothing. My whole being exists in a formless void. My senses are idle. My spirit, free to work without a plan, follows its own instinct. In short, my program writes itself. True, sometimes there are difficult problems. I see them coming, I slow down, I watch silently. Then I change a single line of code and the difficulties vanish like puffs of idle smoke. I then compile the program. I sit still and let the joy of the work fill my being. I close my eyes for a moment and then log off.”

Price Wang said, “Would that all of my programmers were as wise!”

iDog的译文:

编程之道 第四部 第四章

尝有程序员为价格王编程。手之所触,击键騞然,莫不中音:合于《桑林》之舞,乃中《经首》之会。程序编译而无误,运行如三月之风。

王曰:“嘻,善哉!技盖至此乎?”

程序员面终端,转而对曰:“吾之所好者,道也;进乎技矣。始吾之编程之时,所见无非程序者;三年之后,以函数故,未尝见全程序也。方今之时,吾以神遇而不以目视,官知止而神欲行。依乎天理,无需筹划,因其固然,吾未尝编程而程序自现焉。虽然,每至于难解处,吾见其难为,怵然为戒,视为止,行为迟。击键甚微,豁然已解,如土委地。编译程序,抚键而坐,为之踌躇满志,闭目而登出之。”

王曰:“善哉!吾闻子之言,得悟焉。”

Ubuntu系列Linux发行包的中文译名

Ubuntu系列Linux发行包目前没有官方的中文译名。在[name]Wikipedia, http://zh.wikipedia.org/w/index.php?title=Ubuntu_Linux&variant=zh-cn[/name]上看到一组比较有趣的中文译名,比广泛流行的非官方译名“班图”有趣多了,因为“班图”既没什么实际意义,又不能完全代表其发音,故离翻译的“信雅达”标准相距甚远。

这组中文译名是:

Ubuntu – 吾帮托

广东话“帮拖” 有提供协助之意,而普通话字面上,“帮托”也有帮助、支持的意思,涵义与Ubuntu的原意(非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人道待人”)暗合。

Kubuntu – 酷帮托
Xubuntu – 小帮托
Edubuntu – 爱就帮托

这个“帮托”系列的确妙趣横生。

不过,其意思有点“广式”,且有误以为谐音“脱”的可能性,那样就不太好了。。。:-p 因此,本人提出下面的系列译名:

Ubuntu – 五斑图

Ubuntu的Linux使用了非洲的色彩,给人灿烂夺目的效果,美轮美奂。因此,以“五斑图”称之,表示五色斑斓的图画的意思,直接描绘出该操作系统的GUI的特点。

Kubuntu – 酷斑图(枯斑图)

其实,我更想说的是“枯斑图”,这正是我对KDE的感觉。。。坦率地说,感觉KDE比较粗糙难看。本人用Gnome。不过,为了不触怒广大的KDE爱好者,这里也不能免俗,用一下不能再俗的“酷”字吧。

Xubuntu -素斑图

这是轻量级的Xfce版,因而得此名。也可以叫“细斑图”或“修斑图”,都表示比较细小轻量的意思,不过那是不正确的发音,官方的发音是zoo-bun-too,因此译为“素斑图”。

Edubuntu – 爱教斑图

这是教学版,故译为“爱教斑图”。多么的热爱教育啊!