Category: 小小草

IT 技术领域学海无涯。其实任何领域都学海无涯,无非 IT 发展太快了,让我有更多嘘唏。希望我掌握的技术有如小小草,虽然渺小,却有旺盛的生命力。

  • Why does screen scroll for no reason?

    近段时间用电脑上网,网页自动滚屏。我以为是无意中打开了 Firefox 自动滚屏的选项,找了一圈,发现 Firefox 确实有此类选项,不过我的 autoscrolling 并未选中,smooth scrolling 倒是选中的。我不清楚它们的区别,不过即使把两个 scrolling 都去除,网页仍在滚屏。后来发现,不光 Firefox 在滚屏,Chrome 也滚屏;LibreOffice 是来回跳屏,PDF Document Viewer 却是正常;打开地址栏下拉列表,立马自动关闭;打开菜单,却是正常。

    Firefox preference for autoscrolling
    Firefox preference for autoscrolling

    我转而搜索电脑无故滚屏或跳动的原因。网上有微弱的线索指向“鼠标滚轮出问题了”。我握在手中的是 Microsoft Wireless Mobile Mouse 3500,我以为是电力不足了。关闭了鼠标电源,问题依旧。

    我再仔细一看,这个电脑上还插着一个 PS2 鼠标,只不过搁置着,把它拔了,一切正常了。

  • Remove php-eaccelerator before updating php 5.3 to 5.4

    今天用 yum update 升级基于 CentOS 的服务器碰到一系列的 errors。

    Yum update errors
    Yum update errors

    我用了 –skip-broken 这个开关,不能解决问题。

    因为 errors 太多,我实在没兴致仔细看,曾经想重装 OS 得了。但终究有一条 error 引起我的注意:

    Error: Package: 1:php-eaccelerator-0.9.6.1-17.el6.remi.x86_64 (@remi)
    Requires: php-common(x86-64) = 5.3.16

    我尝试着卸载了 php-eaccelerator:

    
    yum remove php-eaccelerator
    
    

    然后再升级:

    
    yum update
    
    

    竟然错误没有了。升级成功!

    那就再把 php-eaccelerator 装回去吧。

    
    yum install php-eaccelerator
    
    

    装不上。可能是 remi 的 php 和 epel 的 php-eaccelerator 不兼容吧。

  • Is Google spreadsheet secure?

    Ctrl+Drag in Google Spreadsheet
    Ctrl+Drag in Google Spreadsheet

    今天我在 Google spreadsheet 操作时发生一件奇怪的事情,让我对 Google spreadsheet 的安全性产生了怀疑。

    我选中了最后一行的两个单元格,“70”和“否”两格,按住了 Ctrl 键,鼠标指向右下角,然后向下拖曳了三格,原想是复制三行“70”和“否”两格。结果出现了如图所示的结果。重试了几次,仍是这样的结果。非常奇怪!是不是复制了别人某个单元格里的内容?

    后来我发现,要复制“70”和“否”两格,不用按住 Ctrl 键,直接拖曳就好了。

    按住了 Ctrl 键,出现的文字是从哪里来的?谁能告诉我?

  • Find and share in Google Drive

    我今天才意识到,Google 域用户 Google Drive 共享设置里的 People at some domain find and view / find and edit,指的是用 link 去 find。我一直误以为是可以按 keyword 去 find,或许它会自动出现在域内所有用户的 Shared with me 列表里。

    Google drive share setting
    Google drive share setting

    如果做域内用户共享,应该手动发送 link 给他们;任何一个用户访问过该 link 以后,他的账号会出现在 Who has access 列表里。

    如果手动添加用户账号在 Who has access 里,他才能在 Shared with me 里看到该共享资源。这大概是 Shared with me 之所以叫 Shared with me 而不叫 Shared with us 的原因吧。

  • Social login plugin for WordPress, which one is the best?

    My client is asking a way to manage 3 WordPress sites in one place. I could use WordPress multisite feature by creating a network of sites. However, I felt difficult to control those sites when WordPress multisite was turned on. I would rather have those sites installed into separate databases but have a SSO feature. It is actually what my client is asking for.

    I started looking for a social login plugin for WordPress. I shortlisted four plugins.

    Social login plugins for WordPress
    Social login plugins for WordPress
    • Social Login
    • Social Login for wordpress (LoginRadius)
    • Social Login & Social Sharing by Janrain (Janrain Engage)
    • WordPress Social Login (WP Social Login)

    All installation, I found the first three plugins require create an account with a federal login service provider site of the author, I assume. Although a basic account accommodate 2,500 users or less is free, I do not want to create such an account. It adds risk – everyone can not login if the federal login service provider server is down. Meanwhile, social login is to eliminate create more and more account. I do not want to achieve this goal by creating an intermediate account myself.

    Luckily, I have the forth plugin – WordPress Social Login. It asks me to create Application ID and Applicate Secret with each login service provider. That is what I was expecting.

    It is a coincidence that all the first three social login plugins sit themselves in a top level menu in WordPress sidebar. Are they so important? I am not an aggressive person and I do not like aggressive software.

    WP Social Login modestly sit under Setting menu. That is the way I like!

  • AnTuTu Benchmark on my devices

    I am looking for a suitable hardware for Hotel TV project, so I am keen to know the candidate devices performance. Raspberry Pi Model B has been already ruled out. At moment the first choice is FX5. As comparison, I benchmark all android devices I got.

    Samsung Galaxy S3: AnTuTu Benchmark 15912
    Samsung Galaxy S3: AnTuTu Benchmark 15912
    Samsung Galaxy S2: AnTuTu Benchmark 7513
    Samsung Galaxy S2: AnTuTu Benchmark 7513

    KuYouLe FX5: AnTuTu Benchmark 5215. It is very disappointing as it does not meet what manufacturer claimed benchmarch.

    Geniatech ATV1000 (A80KW): AnTuTu Benchmark 2005.

    Motorola MB200: AnTuTu Benchmark 605
    Motorola MB200: AnTuTu Benchmark 605
  • Rescue a VBox missing l_intl.nls

    有人求助说一台 Windows 虚拟机坏了,启动不了。我去一看,黑屏白字,说,missing C:\Windows\System32\l_intl.nls,要我用 Windows 启动盘里的故障修复台修复。

    Missing l_intl.nls
    Missing l_intl.nls

    怎么修复呢?没有说。我手边一时没有启动盘,自作聪明地把坏掉的虚拟机的硬盘文件 vhd 挂载到另一台虚拟机下做第二硬盘,查看 \Windows\System32\l_intl.nls 还在不在。在另一台虚拟机下看这硬盘挺健康的,\Windows\System32\l_intl.nls 也在。

    我仍是复制了一份 l_intl.nls 给它,还是启动不了。

    还是 Google 来一个办法,去取来 Windows 启动盘,在故障修复台命令行执行

    
    chkdsk c: /r
    
    

    30G 的硬盘,花了 1个多小时修理完毕,没提示有什么磁盘错误。重启,非常遗憾,仍是黑屏。

    接着又试着把坏掉的虚拟机的硬盘文件 vhd 挂到另一台虚拟机下,直接在它的 Windows DOS 里执行

    
    chkdsk c: /f
    
    

    这跟故障修复台环境不同,chkdsk 能接受的参数也不同。这次修理快了很多,提示了一堆 Index 错误,看不懂,也不知修复了没有,看重启,仍是黑屏。

    之后又尝试种种工具,无一有效。直到看到一个论坛的角落里(因为我花了几小时才看到,所以是角落)有人说,”YET ANOTHER Microsoft screw up”。一语惊醒梦中人!

    那人建议试试 BIOS 重置、测试下内存(换下有问题的内存条)。我的是虚拟机,没有 BIOS 重置一说。我就新建了一个虚拟机,加载既有的 vhd,mamma mia,重见 Windows 的徽标在飘扬,舒了口气。

    但是,我高兴得太早了,我很快发现此 Windows 非彼 Windows——我忘了这是虚拟机。刚才新建的虚拟机,加载的 vhd 文件,是有问题的虚拟机下的硬盘的最初状态!最初状态非常健康。这也是之前种种努力,把它挂载到其他虚拟机下尝试修复,修复时没发现问题,l_intl.nls 文件也在,而在有问题的虚拟机下真正加载的不单是这个 vhd,而是一个 Current State。修来修去,修的都不是 Current State。

    明白这个道理之后,剩下的事情就很简单了。

    我赶紧把 Current State 生成一个独立的 vhd 文件。在有问题的虚拟机的目录里,找到 [虚拟机名].vbox 来查看一下,从中找到 Current State 对应的文件名,我的是 {991f2a80-9fbe-48b5-9c02-27f745bdf81c}.vhd。这个 vhd 不是独立的,它是从最初状态,经过一次次 Snapshot (如果有的话),diff 得到的 Current State。

    怎么把这些 diff 合并得到一个独立的 vhd 文件?VirtualBox 有个简单的命令:

    
    VBoxManage clonehd \{991f2a80-9fbe-48b5-9c02-27f745bdf81c\}.vhd currentstate.vhd -format VHD
    
    

    这命令必须在原 host machine 上运行,否则哪里去找 {991f2a80-9fbe-48b5-9c02-27f745bdf81c}.vhd 的 parent,parent 的 parent…

    这次做的 currentstate.vhd,再次挂载到其他虚拟机里作第二硬盘,一看,果然,\Windows\System32\l_intl.nls is missing,赶紧,复制一个给它。

    然后以 currentstate.vhd 为第一硬盘,加载到坏掉的虚拟机里,终于又见 Windows 的徽标在飘扬——这一次是真的真的真的 Windows!

  • Enable desktop sharing in Fedora 18

    I remember in Fedora 16, desktop sharing is pre-installed with the system. Now I am on Fedora 18, and I want to use it as a VNC server. I don’t want to install tigervnc-server. I just want to use the same one comes with Fedora 16.

    On Fedora project site, it still says

    To activate desktop sharing, select System > Preferences > Internet and Network > Remote Desktop from the user menu.

    However, in Fedora 18, the path has changed, so I thought the name of desktop sharing might have changed as well, but I assumed it should be pre-installed in Fedora 18. It took me hours trying to find remote desktop before I found somewhere it says remote desktop comes in Vino. I could not remember what Vino was, but afterwards was quite simple:

    yum install vino

    Then I found Desktop Sharing in Internet (no longer in Preferences).

    P.S. After I wrote this post, I realised I learned Vino 4 years ago! But I totally forgot it.

  • DeVeDe is the only software I made it working to burn MP4

    我有一些 MP4 文件,想把它们刻录到 VCD 片上,在 DVD 机上演示用。

    我在 Fedora 18 下想用 Brasero 直接刻录 MP4,不成功。

    有人说,把 MP4 转成 MPEG 格式就可以了,我用 VLC 转换 MP4 成 MPEG,只有一个 MP4 成功,其他 MP4 转换时总有个我看不懂的 error message。但即使是已转换成功的唯一一个 MPEG 格式文件,用 Brasero 刻录时又有一个 我看不懂的 error message。

    Devede
    DeVeDe

    我开动 Windows,想找一款 Windows 平台下的视频格式转换软件,由于对此类软件缺乏了解,最终还是无功而返。无奈中,发现有人提到 Fedora 下的 Devede 软件,我几乎不抱希望,却还是安装了。结果,它顺利地把所有的 MP4 保存为一个 VCD 格式的 ISO 文件。接下来的事情就简单多了,我用 Brasero burn image,VCD 片就做好了。在 DVD 机上一试,播放成功,好像还是 VCD 2.0。

    安装 Devede 非常简单哦:

    
    yum install devede
    
    
  • Raspberry Pi development kit arrived

    关注 Raspberry Pi 有段时间了,最近碰到一位教授,在 University of Lincoln 教书,说他就是教学生们玩 Raspberry Pi;而我也在想,Hotel TV project 是不是也可以在 Raspberry Pi 上实现。兴趣加需求,就买了一套 Raspberry Pi development kit 测试。今天货到了。

    Raspberry Pi Development Kit
    Raspberry Pi Development Kit

    我虽事先知道 Raspberry Pi 只有信用卡大小,见到实物还是再次震惊她的小巧玲珑——鄙视一下其他 PC 厂商。

    开机进入 LXDE 桌面 31 秒,稍有失望,我希望是 15 秒。得看看能否再精简一下启动,或用 PXE boot 提高启动速度。

    Raspberry Pi 一开始没有占到全屏 1920 x 1080,我开始研究 /boot/config.txt。有前人说要在里面增加

    
    hdmi_mode=16
    hdmi_drive=2
    disable_overscan=1
    
    

    而我看到 /boot/config.txt 里就有一句注释

    
    # uncomment this if your display has a black border of unused pixels visible
    # and your display can output without overscan
    #disable_overscan=1
    
    

    我就把 disable_overscan=1 给 uncomment 了,重启后完美全屏!

    用了 Raspberry Pi 才知道,她没有 Firefox,但可以装 iceweasel(没听说过,大概是 Firefox 在 Raspberry Pi 上的另一种称呼?)。她不支持 flash player(或者说 flash player 不支持她),但可以装 browser-plugin-gnash。

    网页版 Youtube 慢得像蜗牛,看来要用好 Raspberry Pi 还挺周折,我才刚刚开始。