分类“未分类”的存档

  • 15
  • 3月

可能是前些天尝试在Windows 7上安装IE7失败的后果吧,桌面右键“个性化”时出现“不支持此接口”错误(我用的是英文版64位Win7 pro,对应的错误是personalization – No such interface supported)。另外Office 2010打开doc文件时提示“文件损坏”无法打开。

在差点格掉重装系统前找到了这么一条命令,居然成功把这两个问题都搞定了

FOR /R C:\ %G IN (*.dll) DO "%systemroot%\system32\regsvr32.exe" /s "%G"

提示:32位、64位通杀,此命令运行完需要相当长时间,中间系统可能会失去响应一段时间,并会弹出暴多错误对话框。但运行完毕后确实解决了问题。

2011年5月3日更新:

最近又遇到这个问题了,发现已经有人编写好了脚本:

http://iefaq.info/index.php?action=artikel&cat=42&id=133&artlang=en

在“attached files:”里根据自己的系统下载对应的脚本。比如我的是64位,就下载了“ie8-rereg.32on64.zip”和“ie8-rereg.64on64.zip”。运行里面的脚本,秒杀。

  • 16
  • 11月

不得不说,Ubuntu做得越来越不错了,对中文的支持也越来越好。但我这个从Ubuntu9.10 beta一路升级过来还是遇到了一点问题——grub2 的新式开机配置文件,另外64位版下flash对视频拖动支持有问题。

先从grub2说起。Ubuntu 9.10将系统默认的启动管理器升级为了grub2,至少从7.10到9.04一直用的是grub。好不容易习惯了改menu.lst,现在突然改为grub.cfg。确实让人有些不适应。不过在总结grub2配置方法前先总结一下我看到的grub升级策略。

全新安装Ubuntu 9.10正式版时会正确地安装grub2,使用/boot/grub/grub.cfg配置;而从老系统升级时ubuntu会沿用原先的grub,继续使用menu.lst配置。但像我这样全新安装Ubuntu 9.10 beta再一路升级过来的就出了一点问题:引导用的是grub2,但系统中自带的grub工具还是grub1版的。因此为确保正确使用最新版的grub2,执行以下命令

sudo apt-get install grub2

这样系统中的工具和硬盘的引导记录都会被正确地设置为grub2。

关于grub2的设置,ubuntu中文论坛上有一些不太合适的文章,或直接修改grub.cfg,或修改/etc/grub.d/下的文件。但Ubuntu 为grub2准备了一个专门的设置文件“/etc/default/grub”,用这个文件的最大好处是当内核更新时,不会丢失原来的配置。以下是这个文件的默认值,及我对其中最常用两项的注释:

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.

GRUB_DEFAULT=0 #将0改为saved,可让grub记住上次启动时选择的系统
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT="5" #显示启动选择菜单的时间
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entrys
#GRUB_DISABLE_LINUX_RECOVERY="true"

修改完这个文件后,使用命令

sudo update-grub

应用更新。

更新:最近发现最近Ubuntu 9.10 64位版中的flash-nofree包是会自动下载最新版64位flash的。可能是我从beta版开始安装所以有些遗留问题吧。以下内容参考而已,已经无用。

至于flash拖动问题,貌似64位版里用的是32位flash的包装版,包装器的设置有点问题,有人已经给出方案了,但考虑到我们伟大的墙,我只好再引用一遍:

来源:http://www.ubuntugeek.com/fix-for-flash-is-not-recognizing-mouse-clicks.html

方法1:
注意:此方法在每次你的系统升级后可能均需重做才可生效
修改 /usr/lib/nspluginwrapper/i386/linux/npviewer
在其中添加语句 export GDK_NATIVE_WINDOWS=1

方法2:
注意:此方法可能破坏你的系统
将如下脚本存储入文件,授权执行:

#!/bin/bash
# Script created by
# Romeo-Adrian Cioaba romeo.cioaba@spotonearth.com
# Jaša Bartelj jasa.bartelj@gmail.com

echo “Stopping any Firefox that might be running.”
sudo killall -9 firefox

echo “Removing any other flash plugin previously installed.”
sudo apt-get remove -y –purge flashplugin-nonfree gnash gnash-common mozilla-plugin-gnash swfdec-mozilla libflashsupport nspluginwrapper
sudo rm -f /usr/lib/mozilla/plugins/*flash*
sudo rm -f ~/.mozilla/plugins/*flash*
sudo rm -f /usr/lib/firefox/plugins/*flash*
sudo rm -f /usr/lib/firefox-addons/plugins/*flash*
sudo rm -rfd /usr/lib/nspluginwrapper

echo “Installing Flash Player 10.”
sudo cd /tmp
sudo wget http://labs.adobe.com/downloads/flashplayer10.html
sudo wget `cat flashplayer10.html | egrep -o “http:.*”|cut -d\” -f1|grep linux-x86_64.so.tar.gz`
ARCHIVE=`ls libflashplayer-*.linux-x86_64.so.tar.gz`
echo “Version is $ARCHIVE.”
sudo tar zxvf $ARCHIVE
sudo cp libflashplayer.so /usr/lib/mozilla/plugins/
echo “Linking the libraries so Firefox and apps built on XULRunner can find it.”
sudo ln -sf /usr/lib/mozilla/plugins/libflashplayer.so /usr/lib/firefox-addons/plugins/
sudo ln -sf /usr/lib/mozilla/plugins/libflashplayer.so /usr/lib/xulrunner-addons/plugins/
# now doing some cleaning up:
sudo rm -rf flashplayer10.html
sudo rm -rf libflashplayer.so
sudo rm -rf $ARCHIVE

PS:自打开始折腾毕业、出国以来,已经好久没有更新过这个博客了。初到美国,很多事得做,也一直没静下心来写点东西。难得现在心情平静一些,赶紧写点。等以后学习、生活安定下来还是要坚持更新的。

  • 13
  • 4月

用了一年的LunaPage空间马上就要到期了,在淘宝上买了一个新的DreamHost合租空间。花了点时间将Blog完整地转移到了新空间中。

其实步骤非常简单,大部分时间都花在了文件上传、下载上。

具体步骤如下:

1.用faisun_zip将原空间中除sitemap和各种日志外打包下载,再用faisun_unzip全部上传到新空间。

2.修改hosts文件,将www.seebit.org指向新空间IP

3.浏览器打开www.seebit.org,运行wordpress安装程序。

4.用wp-db-backup导出原数据库,新空间中用PhpMyAdmin清空wordpress自动生成的数据库内容,导入原数据库内容。

5.测试一切正常后,到域名注册商修改域名A记录。删除hosts文件中手动添加的记录。

一切都像没有发生过改变一样。

PS:为什么我的空间总是换来换去,因为淘宝上最便宜的空间合租总是做不长久……

  • 19
  • 3月

刚刚随手搜了一下,发现百度已经收录了本博客新域名:www.seebit.org下49个页面。总算是在旧域名到期前有了索引。

不过收录归收录,百度确实做的不规范。按月存档的页面内明明有All in one SEO生成的<meta name=”robots” content=”noindex,follow” />标签,却被收录了四五页进去。

百度不识别robots标签???

  • 18
  • 3月

刚刚看《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破解版可在此处下载。

  • 11
  • 3月

从上月末启用新域名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的小记号笔。回答了一个非常简单的问题,赢来了一本开复签名版的《做最好的自己》,这样加上在《希望泉》志愿工作时得的几本,凑齐了一套签名版的李开复系列书籍。

  • 02
  • 3月

为了取出我那笔奖学金,今天在工行折腾了大半个下午。最终多亏工行系统一个小小的后门才将其搞定。

这件事的起源得追究到我家那的派出所,给我办身份证时居然把关键的身份证号给我打错了。因为这个错号,大学统一办的那张交学费的银行卡身份信息也是错的。我大一发现这个问题后用新身份证办了张新卡。几年下来学校发那张卡也不知道扔哪去了。

没了学校发那张卡,除了学费要亲自到财务上交之外,一直没出什么问题。直到上学期,学校突然改变了发奖学金的方式,不再发现金,而是直接划到学校发的卡上。于是为了把这笔奖学金取出来,可费了我不少时间。

18位身份证号最后是有校验位的,因此即便是银行的工作人员查看银行卡信息,能确认我是那张卡的主人,但因校验通不过,工行的电脑系统坚决不给我办理任何业务——不能挂失,无法补卡,连网上银行都办不出来。通过银行的正常手续,我完全无法把这笔钱取出来。

一筹莫展的时候,银行的工作人员帮我想出了一个“后门”——学校的一卡通系统。我们学校的一卡通是关联到工行的银行卡上的,可以用学校里的自助转账机把关联工行卡中的钱转到一卡通中。而这个关联操作是不需要刷银行卡的,认证工作完全由人工保证。

于是利用这个“后门”,我把那张丢失卡中的所有钱都转到了一卡通之中。银行的工作人员又帮我联系了一下学校的一卡通管理中心,最终将钱从一卡通中提了出来。

虽然工行效率之低让我非常不爽,但还是得谢谢这些工作人员,总算是把我的钱弄出来了。并且一分钱手续费没花。

事后,我在想。如果工行没有一卡通关键这一不完全受计算机控制的后门,我该怎么办?也许逐层上报,到哪一层可能有权力跳过计算机监管或有权力执行程序的“例外”路径(如果有的话),最终补出一张卡来。但这就不知道得等到猴年马月了。也许我到淘宝上看看,有没有传说中的知道卡号就能做出张银行卡的“特殊服务”,花点钱办个“兼容卡”?

而对于那个强悍的工行计算机系统,在信息化大行其道的今天。我们也不能不看到信息化的一个重大缺点——过分死板。程序只能按照设计时所定下的流程走,一点也不能通融。在绝大部分时间里,这确实是计算机系统的一个优势,但凡事总有例外,一但出现了像我这样的特殊情况,就会变得特别麻烦。

联想到上周帮人擦屁股的那个破系统,也不过是因为实际业务发生了一点点改变——本来由该系统处理的一类资金转给银行处理了。系统只需记录之前的数据就可以了。但这套系统还固执的每月汇总这些数据,每季度为它增加利息。导致系统显示的余额大于实际余额。

设计系统确实应该多为变化和例外考虑一下,留一两个安全的“后门”确实有必要。当然,这绝对不是一件简单的事。

多谢工行的这个后门了!

  • 11
  • 12月

好长时间没写过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、超级兔子、比特精灵……这一大把响当当的名字,它们的视觉设计都出自这个团队之手。

就此打住,要干的活还不少呢。

  • 30
  • 7月

今年5月我博客空间提供者的网站被黑过两次,导致seebit.cn的域名一度乱指。因此seebit.cn下的所有索引全部被Google删除。而且一直到7月初在Google上搜索”site:seebit.cn”都是没有结果。

终于在最近一周,Google逐步恢复了对本博客的索引。先是只有首页和最新的两个页面,然后逐步增多。到今天终于恢复了绝大部分页面的索引。Google Webmaster Tools中也只剩下个位数的感叹号了。

这一次删除索引对本Blog的访问影响实在是非常之大,本来访问量就很少,这几个月更是门可罗雀了。没办法,对于我这样喜欢写技术问题的小博客,还是Google带来的流量最多。这也从一个方面证明了awflasher说的“Google更注重原创、时效性好的文章”。

看着Analytics中Blog那点可怜兮兮的访问量,内心不禁颇为失落。不过回想当初写Blog的原因──记录自己的学习轨迹,总结、分享其中的经验 教训。既然本来就不是为了流量这种虚无缥缈的东西,只要被Google收录了,当别人遇到问题时能从我这里得到帮助,这一切就足够了:-)

  • 15
  • 7月

今天升级了下wordpress,发现多了一样功能“加速器”,试着启用了一下,先转到Google的网站,给FireFox中安装了一个Google Gears插件,然后让它从我blog上下载了211个文件下来。换来的结果是后台管理界面的打开速度明显提升。

研究了一下这个东西的原理,其实非常简单,不过是把网站上用到的静态文件(html、css、js及图片)全部下载到本地机器。到用的时候直接从本地读取。对于我这种使用国外主机的用户,加速效果那可是非常明显。

这一下子让我想起了两个软件开发中及其常用的名词:B/S模式和C/S模式。在这次升级之前,wordpress是一个“标准”的B/S(浏览器/服务器)应用程序。所有的操作都必需使用浏览器从服务器下载相应的页面,并在服务器提供的网页中完成工作。而相对的,像QQ这类传统的C/S(客户端/服务器)模式应用程序,需事先在客户端的电脑上安装对应的软件,操作界面基本是由存储在本地的软件生成,与服务器交换的仅仅是内容数据。但现在“加速”后的wordpress以上两条都沾了边,又都不完全是──页面是事先下载到客户端的,但使用的依然是浏览器进行操作。那些动态页面还是得从服务器获取。

事实上,这不过又是一个解决网络软件布署/更新的及时性与易用性这一矛盾的方案。

最传统的C/S应用优点在于程序在客户端安装执行,功能强大,反应迅速,只要使用者的电脑不至于过于古董,使用时只有与服务器交换数据的那一丁点时间会让人等一下,而且这点等待时间还可以通过使用多线程,后台预读取等技术被完全消除掉。但其缺点也产生于它的客户端,每当系统有任何升级,必需下载安装新版的客户端软件。布署时很不方便,而且难以保证客户端完全、及时地更新。

而B/S模式则完全抛弃了客户端,一切都是浏览器从服务器上现下载。只要服务器更新了,使用者用到的一定是最新版本。但限于浏览器的功能,B/S软件使用起来往往不那么方便,而且一旦与服务器之间的连接不那么高效,B/S模式的反应速度就会极其让人不爽。近年来兴起的Ajax技术虽然通过javascript后台异步传输及对浏览器功能的挖掘,使得B/S软件用户友好度有了极大的改善,但动则几十上百K的javascript框架文件和一大把的图片还是让人每次进入时等上老半天。

对于这一对矛盾,其实很多公司都推出过自己的解决方案。最早的可能是Java的applet,用它可以在浏览器中执行Java程序。然后有微软.net中的ClickOnce部署,实现了客户端软件的自动更新,而且程序员不需要为其多写半行代码。另外Sun还发布过一个Java Web Start。但由于这些方案都需要在客户端事先安装一个体积庞大的运行库,它们都没能在互联网上流行起来。

这两年随着Web2.0的兴起,又有一些崭新的解决方案出现在了我们面前:Flex、JavaFX、Silverlight、Adobe Air、Google Gears…不管它们的宣传是如何地花哨,把自己的功能吹得有多神奇,其根本目的都还是一致的──为用户提供更好的易用性,同时保证程序能被及时更新。

所以,作为一名软件开发人员,在为这些新技术兴奋的同时,不要忘记我们的根本使命:为客户提供高质量的问题解决方案。只有新技术能比原有技术更有效地解决问题时,才应该使用它。而更有效的评价标准包括效率、稳定性和安全性等很多方面。我们不能因为新技术更炫、更酷就去追求它。软件技术的创新一浪接着一浪,你不可能永远处于浪尖之上。

一句老话:不管黑猫白猫,抓得到老鼠的就是好猫。

此文与不断学习技术的同学共勉。

PS:刚升级完就发现了wordpress2.6的一个Bug──新增的字数统计功能不会算汉字。我写了这么半天才显示有17个words…

所有标签:.net Ajax Java javascript Linux map MySQL RSS TD-SCDMA Ubuntu vim web Win7 乱码 基础知识 备份 奥运会 希望泉 性能 缓存 编程