早就在mono里跑过自己用.net 2.0编的一个命令行的身份证号码校验程序。
mono ID.EXE
请输入18位身份证号码:
123456789123456789
你身份证最后一位校验码应为:3
您输入的是:9
您的身份证输入校验失败!
跑得完全正常。但运行另一个用RichTextBox做的文本编辑器就提示找不到WinForm。今天在新立得里乱翻,居然看到有libmono-winforms2.0-cil一个包。.net 2.0下WinForm的mono实现?赶紧装上看看。安装完成后
mono Editor.exe
运行结果如图:

可以发现,菜单中文有一定的问题(猜测应该是字体问题,对话框中的中文正常)。中间的RichTextBox中无法输入中文,但粘贴进去的能正常显示。调整文字格式时有时会不正常。打开文件时只能正常显示英文部分。
尝试了一下运行官方版的飞信,报了很多错,打不开。
刚刚随手搜了一下,发现百度已经收录了本博客新域名:www.seebit.org下49个页面。总算是在旧域名到期前有了索引。
不过收录归收录,百度确实做的不规范。按月存档的页面内明明有All in one SEO生成的<meta name=”robots” content=”noindex,follow” />标签,却被收录了四五页进去。
百度不识别robots标签???
刚刚看《Full Circle》,提到五星级的游戏World of Goo出Linux版的Beta了。赶紧到2D boy上看了下,发现已经出正式版的。不过官网只有Demo版的下载。
不管三七二十一,DEMO版也下载下来看看。deb包,安装运行一点问题没出。大大地赞一个!
DEMO版貌似只能玩第一关,根据ubuntu中文论坛提供的情报,只要把Windows破解版下res文件夹复制过来就可以变成完全版。
另外官方还给了迁移Windows下游戏存档的方法。在”%USERPROFILE%\Local Settings\Application Data\2DBoy\WorldOfGoo”找到文件pers2.dat,复制到”~/.WorldOfGoo”即可。
真高兴这么好一个游戏会出Linux版。其Windows破解版可在此处下载。
从上月末启用新域名www.seebit.org并对www.seebit.cn进行301重定向至今10多天。到Google上搜site:www.seebit.org可以发现新域名下文章基本已经都被收录。Webmaster Tools中新域名下的sitemap也被正确收录,只不过因为更改过永久链接的结构,还有些404错误夹杂在里面,不过用了Permalink Redirect插件后问题应该会很快解决。
另外用一些站长工具分析了一下新域名的收录情况,新域名已经获得了旧域名的Google PR(谢谢各位朋友及时更新我的友情链接),Yahoo部分收录了新域名下35个网页,百度则只收录了首页。对百度我只能无耐。旧域名很快就要到期了,到期前被百度收录的可能性估计不大了。
不得不说,在搜索领域Google还是最好的,尤其对像我们这样的小博客。
PS:上周日去听Google在我们学校做的一次宣讲,领了一支带Google LOGO的小记号笔。回答了一个非常简单的问题,赢来了一本开复签名版的《做最好的自己》,这样加上在《希望泉》志愿工作时得的几本,凑齐了一套签名版的李开复系列书籍。
最近折腾Blog,先是换域名,然后把wordpress的固定链接格式改了。为了保证用老链接能访问到改变后的内容,不得不研究找些wordpress永久链接重定向的插件。
尝试了好几个插件。包括著名的Permalinks Migration Plugin。但这个插件在我这根本不起作用。WP后台的在线安装的其他Permalinks插件也不好使。最后终于找到了一个好用的:Permalink Redirect WordPress Plugin算是管用了。但这个插件在生成的新地址后会多添加一段post_id,我分析了一下,注释掉了额外添加post_id一段的代码。如果你出现了同样的问题,请下载我的修改版本。
ylsy_permalink_redirect_patch_riqe修改版
现在就等Google确认我的重定向了。
为了取出我那笔奖学金,今天在工行折腾了大半个下午。最终多亏工行系统一个小小的后门才将其搞定。
这件事的起源得追究到我家那的派出所,给我办身份证时居然把关键的身份证号给我打错了。因为这个错号,大学统一办的那张交学费的银行卡身份信息也是错的。我大一发现这个问题后用新身份证办了张新卡。几年下来学校发那张卡也不知道扔哪去了。
没了学校发那张卡,除了学费要亲自到财务上交之外,一直没出什么问题。直到上学期,学校突然改变了发奖学金的方式,不再发现金,而是直接划到学校发的卡上。于是为了把这笔奖学金取出来,可费了我不少时间。
18位身份证号最后是有校验位的,因此即便是银行的工作人员查看银行卡信息,能确认我是那张卡的主人,但因校验通不过,工行的电脑系统坚决不给我办理任何业务——不能挂失,无法补卡,连网上银行都办不出来。通过银行的正常手续,我完全无法把这笔钱取出来。
一筹莫展的时候,银行的工作人员帮我想出了一个“后门”——学校的一卡通系统。我们学校的一卡通是关联到工行的银行卡上的,可以用学校里的自助转账机把关联工行卡中的钱转到一卡通中。而这个关联操作是不需要刷银行卡的,认证工作完全由人工保证。
于是利用这个“后门”,我把那张丢失卡中的所有钱都转到了一卡通之中。银行的工作人员又帮我联系了一下学校的一卡通管理中心,最终将钱从一卡通中提了出来。
虽然工行效率之低让我非常不爽,但还是得谢谢这些工作人员,总算是把我的钱弄出来了。并且一分钱手续费没花。
事后,我在想。如果工行没有一卡通关键这一不完全受计算机控制的后门,我该怎么办?也许逐层上报,到哪一层可能有权力跳过计算机监管或有权力执行程序的“例外”路径(如果有的话),最终补出一张卡来。但这就不知道得等到猴年马月了。也许我到淘宝上看看,有没有传说中的知道卡号就能做出张银行卡的“特殊服务”,花点钱办个“兼容卡”?
而对于那个强悍的工行计算机系统,在信息化大行其道的今天。我们也不能不看到信息化的一个重大缺点——过分死板。程序只能按照设计时所定下的流程走,一点也不能通融。在绝大部分时间里,这确实是计算机系统的一个优势,但凡事总有例外,一但出现了像我这样的特殊情况,就会变得特别麻烦。
联想到上周帮人擦屁股的那个破系统,也不过是因为实际业务发生了一点点改变——本来由该系统处理的一类资金转给银行处理了。系统只需记录之前的数据就可以了。但这套系统还固执的每月汇总这些数据,每季度为它增加利息。导致系统显示的余额大于实际余额。
设计系统确实应该多为变化和例外考虑一下,留一两个安全的“后门”确实有必要。当然,这绝对不是一件简单的事。
多谢工行的这个后门了!
最近一段时间出了几件很“和谐”的域名事件。.cn域名,甚至在国内注册的域名都让人感觉靠不住了。正好seebit.cn这个域名马上也要到期,续费涨到¥55,与国外域名相比连最后的价格优势都没有了。于是借朋友的信用卡在国外注册了seebit.org这一新域名。现已将原seebit.cn下所有内容迁移到了seebit.org。
本博客的新地址为http://www.seebit.org!
总结一下wordpress更换域名的经验:
我只有一个空间,首先将新域名@和www两项解析到原IP,并在空间设置中绑定新域名。此时用新域名www.seebit.org已经可以打开原来的博客。但这时打开页面中所有的链接还都指向www.seebit.cn这个旧域名。
备份数据库,用文本处理软件将数据库中所有的seebit.cn替换为seebit.org,将原数据库清空后导入修改后的SQL文件。此时wordpress已经完全迁移到新域名下。
考虑到搜索引擎对网站的收录,要为旧域名做301永久重定向,因为新旧域名实际上指向的是服务器上同一个目录,要修改网站根目录下的.htaccess文件。在由wordpress生成的重写规则中添加以下两行:
RewriteCond %{HTTP_HOST} !^www.seebit.org$ [NC]
RewriteRule ^(.*)$ http://www.seebit.org/$1 [L,R=301]
变成:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www.seebit.org$ [NC]
RewriteRule ^(.*)$ http://www.seebit.org/$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
这样访问www.seebit.cn下所有链接都能自动转到www.seebit.org下对应页面。
然后就是用各种方式通知朋友们更换友情链接的地址,enjoy it!
PS:周五晚上,又是我们这宽带的噩梦,什么网站都打不开。幸好寒假包的流量剩了很多,用TD手机联网写的这篇blog。384kbps的网速上网的感觉还是不错的;-)
昨天被老师叫去给一个系统擦屁股,看到了一段实在是让我很无语的程序。不批一下难解我心头之不爽。
其实就是一个非常简单的功能:从数据库中读出一段时间内的流水,起始时间:(ayear, amonth, aday),结束时间:(byear, bmonth, bday)——变量的命名已经反映了这段程序的质量。
因为要从两张表里读数据,此仁兄居然写出了如此“高技术含量”的代码,大体如下:
for(int i=ayear;i< =byear;i++)
{
if(i-ayear>0)
{
amonth=1;
}
for(int j=amonth;j< =12;j++)
{
if((i-byear==0)&&j>bmonth)
break;
for(day=1;day< =31;day++)
{
sql="select * from lxd where jzrq ='"+String.valueOf(i)+"-"+String.valueOf(j)+"-"+String.valueOf(day)+"' and qymc='"+qymc+"' and qyzh='"+qyzh+"' and xhflag is null";
// 略去中间输出用代码
sql="select * from dwls where sj = '"+String.valueOf(i)+"-"+String.valueOf(j)+"-"+String.valueOf(day)+"' and dwmc='"+qymc+"' and qyzh='"+qyzh+"' and del is null "+order;
// 略去中间输出用代码
}
}
}
真不知此仁兄的数据库原理一课是怎么学的,为了把两张表的数据凑在一起居然写出了这么一陀代码。试问有哪本讲SQL的书中会不教联合查询。上面这陀东西不就是实现了这么点功能吗?
select * from lxd inner join dwls on lxd.jzrq=dwls.sj where lxd.jzrq between A and B
一个是查N天的数据生成2*N条SQL语句,另一个则不管查多少天一条搞定。
早就听说过一个说法,一个好的程序员和一个差的程序员写出来的代码效率会有上千倍的差距。此话果然不假。
刚刚在Ubuntu8.10下安装了Eclipse,结果在其中运行之前写的那些swing程序一运行就假死在那。所有界面元素都不响应,只能点窗口的关闭按钮强制退出。但自己在终端里用java命令运行则正常。
研究了半天算是找到了问题所在——虚拟机版本。Ubuntu源里默认安装的Eclipse使用的是java-1.5.0-gcj的虚拟机运行java程序。在Eclipse中选择Window-Preferences,在左侧找到Java-Installed JREs,点右侧Search按钮,定位到/usr/lib/jvm即可让Eclipse找到系统中安装的其他JRE,在选择java-6-sun后问题解决。
好长时间没写过blog了。正好今天升级了一下Wordpress。随便写点,也算是测试Wordpress的新功能了。
首先不得不说的是Wordpress2.7的管理界面确实飞跃了一把。非常的Web2.0风格,很养眼的说。线写Blog的时候感觉舒坦多了。
说到Web2.0,我其实一直感觉是个华而不实的新名词而已。不过这两天我终于感受到了它的好处——last.fm。只要输入一个自己喜欢的乐手的名字,电台上播的就全是自己喜欢的音乐。从此不用受那天吹的天花乱缀的音乐简介的迷惑了,而且省去了保存mp3的硬盘空间。What’s more, 这个网站还提供了所有平台的客户端。
另外今天看魅族m8相关新闻时不小心发现了一个Web2.0幕后的英雄EiCO。魅族m8、Google谷歌拼音 2.0、igoogle奥运主题、VeryCD、Cnbeta、Foxmail、超级兔子、比特精灵……这一大把响当当的名字,它们的视觉设计都出自这个团队之手。
就此打住,要干的活还不少呢。