Category Archives: IT

IT related

刷票浏览器

IMG_20130116_074410_1.jpg

电梯上看到的某浏览器的广告,广大网民用手刷12036都已经这样了,要是大家都用这个你让人家怎么活啊???

不过估计用得人一多这浏览器自己的服务器就受不了了,比较去刷票也是要耗资源的。

PS: 处于安全和隐私考虑,不建议使用;为避免广告我隐藏掉了名字

X61T清灰

10年下半年在澳门的时候,X61T启动的时候报Fan Error,要清灰了(拿起机器发现桌子上有好多灰尘,看来经常擦桌子还是有意义的),看了看澳门还是有Thinkpad的维修点的,于是送过去看看。人家先问我啥时候买的,我说大概一年多以前吧,人说那好,应该下午就能弄完,结果一查序列号说你这机器是美国买的,已经过保修期了要收费,而且要3-5个工作日才行。我说收费我没意见,但是这时间也太久了吧,也就是清个灰而已。人家死活不答应,说规定就是如此,于是拿回家自己拆。

其实如果有HMM的话拆起来还是挺容易的,当然拆风扇得要把主板拆下来,已经算是拆得比较彻底了。当时没有润滑油,只是在轴上涂了一点橄榄油。

最近时不时又出Fan Error,索性买了一点润滑脂,上午拆开清理了一下,装好键盘之后想插电试一下,结果屏幕下方的指示灯不亮,按电源键也没反应,难不成悲剧了?拆得还是比较小心的,应该也没弄坏东西啊。DC-in进来之后有两组线,看接头也没坏啊。放上电池试了一下,开不了机,说找不到硬盘。于是就是检查硬盘,发现HDD connector和主板之间是有一个插口没有插上,插上之后就好了。

希望这次风扇能够多坚持一点时间。

Windows Update失败之后Live Messenger 2011不可用

周二下午开的Windows Update,昨天早上来的时候发现Windows Update死掉了,强行退出,最后说成功N项,失败3项,当时也没在意,重启之后Live Messenger登陆不上了,开始也没在意,登录不上也是常事儿,但是过了好一会儿他自己也没登录上去,再一看似乎不太寻常:一点登录马上就报错了,感觉根本没去联网,而且Connection Tester也说可以连到Window Live Messenger Service。根据错误信息:

Error 80040154: Signing in to Windows Live Messenger failed because the service is temporarily unavailable. Please try again later.

试着来重装Live Messenger,添加删除程序里头找不到Windows Live了,那估计是Windows Update把Messenger搞坏了,用Windows Install Clean Up删掉Live系列之后重装,结果到了99%之后安装失败:

windows_live_messenger_login_failed_2.jpg

这个A49B6681220C2EA49826看起来像是一个注册表项,搜了一下还真找到了,但是删除的时候出错:

windows_live_messenger_login_failed_4.jpg

之后再安装也还是这个问题。后来在微软网站找到一篇讲怎么重装的:

http://answers.microsoft.com/en-us/windows/forum/windows_7-windows_programs/signing-in-to-windows-live-messenger-failed/db5c300b-b06a-43c0-8b8e-bef680657bbe

照做了也还是不行,连看起来比较无厘头的Reset Internet Explorer Settings俺也照做不误,结果也还是这个问题,而且失败的那三个Update和Windows Live也没啥关系:

windows_live_messenger_login_failed_1.jpg

点安装失败界面上提供的帮助得到:

One or more Microsoft programs didn’t install. What went wrong? – Program didn’t install

居然说要打开Windows Fire,我本来就是开着的。

后来根据错误代码0x80070643找到了这篇,看得时候感觉很靠谱,结果还是不行:

How to resolve “Unable to open Sub key” Error when installing an MSI package?

试着用System Restore,但是已经找不到更早的恢复点了,发现似乎和Silverlight有点关系:

windows_live_messenger_login_failed_3.jpg

但是又失望了,卸了Silverlight之后还是无法安装。

最后俺承认失败,老老实实装了Live Messenger 2012了事儿。这问题似乎无解,如果出现还是早点System Restore比较划算,要不然只能重装系统了,还好2012还能用。

控诉微软,搞得什么烂东西,躺枪的别怪我啊,嘿嘿

Defy+CM10 图库为空和无法播放音乐

很久没有用手机听音乐了,最近在整理电脑上的MP3,想把整理完了的放在手机上再听一遍,结果常用的MiniLyrics死活都无法播放音乐,不管是把MP3放在SD卡的Albums还是Music文件夹都不行,试了系统自带的Apollo也不行。

后来想起来似乎图库也无法找到突破,不过一般都用快图浏览(主要就是因为快图浏览可以指定文件夹),猜测可能和媒体存储(Media Storage)有关,试了一下清除数据,清除之后Media Scanner是需要事件来触发的,比如重启或者插入SD卡,CM10上好像没找到移除SD卡的选项(反正Defy也不支持热插拔SD卡),Play市场下了一个Rescan SD,但是清除之后重新扫描也没啥用。试着禁用了媒体存储,MiniLyrics显示正在扫描SD卡,但是卡住了没反应,而且铃声都用不了了。

没办法只好放狗,发现答案也是五花八门,有人说要放内存,也有人说是ICS以来的BUG,最后还是在XDA上CM10的那个帖子上找到了答案:http://forum.xda-developers.com/showpost.php?p=29668749&postcount=3529

About the empty gallery bug… It is not sd-card related as someone of you guessed. This is issue of jelly bean in general.
New Media scanner is crashing on some files that are damaged in its point of view and stops scanning without updating Gallery. One of known examples of these “damaged” files are photos taken with Camera 360. My solution was :
1. Move all photos with name starting with C360* to a different folder.
2. Put .nomedia file in that directory, so it won’t be scanned. If this bug is fixed you can bring back these photos just by moving them back to main folder.
3. Delete Camera360 folder from sd card just in case, because I don’t use this crappy software (Picasa had troubles with its files too). It holds some photos too in it’s sub folders.
4.force media scanner update using SD Rescanner from Play Store. You can accomplish this by rebooting too I think or just wait.. Your call.

答案原来是相机360。。。按照他说的可以解决问题,可是鉴于相机360有时候拍的照片比较讨好,比如说HDR模式(Sigh,俺什么时候变得这么庸俗了???),还想保留一下这个应用,在照片文件夹下面添加.noname文件时可行的(.noname可以避过Media Scanner,当然代价就是图片看不到这些图片了),问题是他自己还有一些数据文件位于/sdcard/Camera360下面,每次程序启动的时候似乎都回去更新这个文件夹,添加的.noname文件会被他删掉,真是恶心,再想想这程序启动的速度,果断删除之,这下清净了,图库和音乐都能用了。

后来看了一下,还有某些国内应用也有这个问题,有人怀疑是exif信息,俺怀疑里头还有别的道道,唉,国内软件还是要少用啊。。。

如果非得用相机360的话那就只能自带媒体扫描的应用了,比如快图浏览和天天动听

用软链接共享网盘文件

在Dropbox等共享文件的时候推荐用软链接,这样可以保持原有文件的位置,而且如果不需要共享了在别的机器删除或者转移文件之后也不会影响原来机器上的文件,被删除的也只是文件链接。

Linux下面建软链接很容易,直接ln -s就可以。

Windows下面有Junction,但是得要在Dos下操作,不太习惯。

作为TC用户当然会想到去找找有没有类似插件,在TotalCommander官网还真没找到,后来在非官方的网站上找到一个NTFS Links,做成一个命令之后再弄个快捷键,还是挺方便的。

招行安全支付插件不支持64位的IE8

平常都用Firefox基本不用IE,网购一般都用支付宝快捷支付,上午在京东买了点橄榄油,京东不支持支付宝了(原来记得是支持的,可能是为了推自己的支付平台),那就只能开IE了,没多想就打开了64位的,结果安全支付插件总是出不来,不管是怎么重装插件、修改IE安全级别、修改ActiveX配置,还是重启IE、重启机器,他就是不行。后来猛然想起不会因为是64位的吧,结果打开32位IE 8一看,果然没问题。

后来一查,倒也不是招行一家的问题,64位的IE对很多ActiveX控件的支持都有问题,好多网银都用不了。

虚拟主机用Dropbox传文件

Tropics公司的网络不好,经常需要在虚拟主机上下载点东西再传回来,但是往回穿的时候也很麻烦,SCP很慢,而且经常断;于是想起了Dropbox,装起来也很简单,可以看官方的介绍:https://www.dropbox.com/install?os=lnx

命令行启动dropboxd之后给你一个连接提示你用浏览器访问来绑定帐号,绑定之后就会在你的根目录~下生产一个Dropbox的文件夹,要同步文件的话直接把文件copy过去或者ln -s建个链接就行。那边同步很快,速度几个MB吧,然后就可以在PC客户端慢慢同步了。

为了管理方便可以下载官方提供的 CLI script,可以查看状态。

还有一种方法是第三方提供的Dropbox-Uploader ,是一个shell脚本,通过cURL直接把文件发送到Dropbox,功能比较单一,但是用起来也比较简单。

解决新浪连接(sina-connect)插件无法自动同步微博的问题

刚才把新浪连接(sina-connect)装完之后也没有测试,就发了上一篇文章 WordPress连接新浪微博插件:wp-tsina和sina-connect,结果悲剧了,微博上没有同步更新。

于是找原因,上面要求说WordPress 3.0以上、PHP 5.2以上和支持CURL扩展,看了一下也都没问题。

后来在日志里找到一行:

[24-Oct-2012 07:39:22] PHP Fatal error: the-problem-when-sycn-wordpress-post-to-tsina-via-sina-connectin /home3/shelunet/public_html/wp-content/plugins/sina-connect/sina-connect.php on line 359

打开sina-connect.php 到359行是这样的:

function get_sina_short_url($long_url){
$api_url = ‘http://api.t.sina.com.cn/short_url/shorten.json?source=744243473&url_long=’.$long_url;
$request = new WP_Http;
$result = $request->request( $api_url);
$result = $result[‘body’];
$result = json_decode($result);
return $result[0]->url_short;
}
这行看不出问题来,但是应该是解析取短链接结果时出错了,所以就试了一下在浏览器中输入:

http://api.t.sina.com.cn/short_url/shorten.json?source=744243473&url_long=https://shelu.net/sync-wordpress-to-tsina-wp-tsina-and-sina-connect/

结果得到:

{"request":"/short_url/shorten.json","error_code":"401","error":"40109:consumer_key_refused!"}

看起来是这个AppKey出了问题,这个好办,网上找一个AppKey试试(我就不给具体的key了,可以自己搜一下新浪微博 AppKey,应该能找到一大堆的),结果就是

[{"url_short":"http://t.cn/zluzKQn","url_long":"https://shelu.net/sync-wordpress-to-tsina-wp-tsina-and-sina-connect/","type":0}]

应该就可以了,所以只要把sina-connect.php 354行的那个Source=后面的数字改掉就可以了。

当然最保险的还是自己去申请一个AppKey,那样你可以保证他不会过期,:)

PS: 刚才看到新浪连接下面的评论里头也有好多人说遇到了这个问题。。。希望大家能用我的方法解决

WordPress连接新浪微博插件:wp-tsina和sina-connect

最近其他的社交网站都不太上了,也就是新浪微博每天还会看看,顺便也把自己的文章同步到微博上,就当是打广告了。

原先用的一直是wp-tsina,主要是功能比较单一,用起来也比较简单,但是似乎不太稳定,感觉好像从草稿箱发布post的时候有问题;最近是彻底不行了。网上也没找到什么资料,作者的主页也打不开了,似乎是太监了。

试着自己修复一下,但是没什么有用的信息,只在error_log里头找到一行:

[11-Sep-2012 11:11:04] PHP Warning: session_start() [<a href=’function.session-start’>function.session-start</a>]: The session id is too long or contains illegal characters, valid characters are a-z, A-Z, 0-9 and ‘-,’ in /home3/shelunet/public_html/wp-content/plugins/wp-tsina/wp-tsina.php on line 12
但是是9月11日的,可是这插件是10月份还能用,而且后面发Post他没有同步也没有报错,只有放弃了。

在他的源文件夹下有一个connect_issue.txt,上面说:
如果你正在使用sina-connect插件,可能会出现无法登陆的状况。
暂时的解决办法:
打开sina-connect下的sinaOAuth.php,把下面这行:
require_once(‘OAuth.php’);
改为:
if( !class_exists( ‘OAuthToken’ ) ){
require_once(‘OAuth.php’);
}
即可。

新浪连接(sina-connect)我没用,但是既然提到了那我就看看吧,功能比wp-tsina要多一些,不但可以自动同步到新浪微博,也可以让评论者用微博帐号来登录,也可以选择是否同步评论到微博,这功能也还是蛮有意义的,可以提高评论率,先试试看吧,看他是不是稳定。

装完了配置也很简单,安装激活之后,你应该在留言框处可以看到用新浪微博登录的按钮(注意要先退出原来的WordPress登录)。如果没有的话按照说明自己改一下comments.php

Linphone Android 编译

准备搞搞VOIP的业务,看了一下开源的VOIP客户端,觉得Linphone还是不错的,同时提供Android和IPhone客户端,所以决定下源代码编译一下。

我用的是我的T400上32位的CentOS 6虚拟机,首先当然是git下载源代码,不知道是我的无线网卡抽风还是公司的无线路由抽风,反正那几天网不停的掉,每次下载到半路就失败了。看了一下.git文件夹下的config文件,实际上它也是根据这个config文件分submodule递归下载的,所以理论上下载失败之后是可以分submodule下载的,但他是递归的,实在是太麻烦了,而且也容易出问题,放弃。

最后没办法,只好去我自己的服务器上下载,共享主机也没法用yum,不过自己编译安装也不麻烦,后来遇到无法连接的问题,发现是防火墙封了git默认的9418端口,居然连往外访问也封,下班前给HostMonster客服发了个邮件,第二天早上来收到回复说已经打开了。美国的网速就是快啊,几分钟就搞定了,顺带下载了iphone的源代码,然后scp到本地虚拟机上。

后面的准备过程就比较简单了,按照README操作即可。那些依赖库直接yum安装即可,ndk我用的是最新的r8b。prepare_sources过程中还要下载一些东西,网络不好的话也容易出问题,比较大的一个是SILK_SDK_SRC_v1.0.8.zip,可以用工具下载之后放到./submodules/mssilk/sdk/里头。

最后编译的时候报错:
jni/..//submodules/linphone/build/android/../../coreapi/linphonecore.c:49:40: error: expected ‘,’ or ‘;’ before ‘Devel’
jni/..//submodules/linphone/build/android/../../coreapi/linphonecore.c:1519:29: error: expected ‘,’ or ‘;’ before ‘Devel’
主要其实是常量LIBLINPHONE_VERSION没有定义,不知道是版本管理问题还是故意留着让你修改的,看了一下也就这两个地方定义了,所以直接复制一个字符串就行了,我用的是”1.3.2-20120919″

然后是另外一个错误:
jni/..//submodules/linphone/build/android/../../coreapi/linphonecall.c: In function ‘linphone_call_start_audio_stream’:
jni/..//submodules/linphone/build/android/../../coreapi/linphonecall.c:1236:64: error: expected ‘)’ before ‘Devel’
jni/..//submodules/linphone/build/android/../../coreapi/linphonecall.c: In function ‘linphone_call_start_video_stream’:
jni/..//submodules/linphone/build/android/../../coreapi/linphonecall.c:1334:64: error: expected ‘)’ before ‘Devel’
这回是LINPHONE_RTCP_SDES_TOOL,他用到的LINPHONE_VERSION没定义,直接赋值”Linphone-1.3.2-20120919″了事儿。

后面的就很顺利了,就是稍微有点慢。

有点奇怪的是我第一次编译成功的时候没有缺一些包,包括liblinphone.so等,当时也没报错啊,第二次编译就好了,但是已经不能重现了,不知道为什么会这样。