分类 其它 下的文章

[转]简明批处理教程

一.简单批处理内部命令简介

1.Echo 命令

打开回显或关闭请求回显功能,或显示消息。如果没有任何参数,echo 命令将显示当前回显设置。
语法
echo [{on|off}] [message]
Sample:@echo off / echo hello world
在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用> >> ^)结合来实现输入一些命令到特定格式的文件中.这将在以后的例子中体现出来。

- 阅读剩余部分 -

QQ面板不能一次性弹出来的问题

困扰我几个月的问题终于解决了,这几个月QQ的面板缩到上面隐藏后,然后把鼠标放上去,QQ面板怎么都不能一次性弹出来,总是要慢慢的滑才能出来,很是烦人,总以为是QQ的问题,原来是显示器设置的问题,桌面右键-屏幕分辨率-高级设置-屏幕显示-取消“启用自动滚屏”,解决问题。

美国的夏令时和冬令时时间介绍

玩美国股票的、玩域名抢注生意的、玩google adsense的,每年当中都要经历下美国人的夏令时和冬令时,在美国和加拿大,夏令时永远是在3月和11月的第二个星期天开始和结束。

美国存在于夏令时和冬令时,也就是说现在已经进入夏令时时间,每天的时间于国内时间调整增加一个小时时差!玩股票的可以看看美国的开盘时间,玩GG的可以看看adsense的收入结算时间,夏令时时间,adsense的结算时间是每天下午的3点,其他时间是每天下午的4点钟结算。过期域名也就是说以前每日国内时间2点开始删除COM NET域名,现在是北京时间3点开始!

2010年的夏令时是3月14日的凌晨2点开始,也就是说吧表向前拨一小时变成3点,然后到11月7号凌晨两点时再把表往回拨一小时.

PR:美国冬令时和夏令时分别是什么时候开始的?每年不一样,如下:
Year   Spring Forward           Fall Back
2004  2 a.m. April 4          2 a.m. Oct. 31
2005  2 a.m. April 3          2 a.m. Oct. 30
2006  2 a.m. April 2          2 a.m. Oct. 29
2007  2.a.m. March 11         2 a.m. Nov. 4
2008  2 a.m. March 9          2 a.m. Nov. 2
2009  2 a.m. March 8          2 a.m. Nov. 1
2010  2 a.m. March 14         2 a.m. Nov 7
2011  2 a.m. March 13         2 a.m. Nov. 6

from:http://www.piaoyi.org/other/xialingshi-time.html

几个国外不错的一次性邮箱

注册论坛,网站验证需要E-mail?又不想收到垃圾邮件,用一次性自爆邮箱就OK了,推荐一个不错的。

10minutemail:极有名的一次性邮箱提供商。10分钟自爆,还支持中文。打开网页就为你提供了一个邮箱地址。复制下来就OK了。
spam.la:简单易用,DreamHost的副产品。邮件都是公开的,这点不是很爽,用了一下收信有时也很慢。
jetable:也是比较老的一个服务了,期限从1个小时到一个月。 推荐
Spambox:邮箱自爆时间可以自定义,可以从30分钟到1年。推荐

Mailinator:临时邮箱格式:M8R-xxx@mailinator.com。不错,推荐,收信速度快。
tempemail:很简洁。
mailexpire:自爆时间可以从12小时到3个月自行选择。
spamfree24:最大特点是域名后缀选择性多一些。收信速度还不错。
guerrillamail:15分钟自爆,国内访问速度比较慢。

.net framework2.0,3.0,3.5的CookieContainer的bug解决方法

用HttpWebRequest发送请求,附上了CookieContainer(CookieContainer里面确定已经包含了所有需要的Cookie),但是当发送请求后某些Cookie并没有发送出去,调试了两天,一直觉得是请求的网站设了什么古怪的限制,使请求老是发送不成功,最后用SocketSniff抓包发现少发送了几个Cookie(因为这些cookie涉及到几个子域名),检查CookieContainer,里面确实有这几个Cookie,最后只好反编译HttpWebRequest,在类CookieModule里发现方法OnSendingHeaders的如下代码,这个是把cookie设置到headers里面的关键地方:

internal static void OnSendingHeaders(HttpWebRequest httpWebRequest)
{
try
{
if (httpWebRequest.CookieContainer != null)
{
string str;
httpWebRequest.Headers.RemoveInternal("Cookie");
string cookieHeader = httpWebRequest.CookieContainer.GetCookieHeader(httpWebRequest.Address, out str);
if (cookieHeader.Length > 0)
{
httpWebRequest.Headers["Cookie"] = cookieHeader;
}
}
}
catch
{
}
}
问题出在GetCookieHeader这个方法里面,某些Cookie的domain判断错误导致没有附加上去。.Net framework4.0以下的都存在此问题。最后把程序框架调到4.0的,就没有这个问题了。当然4.0以下的框架版本可以用下面的方法处理一下CookieContainer里面domain。
  1. Don't use .Add(Cookie), Use only .Add(Uri, Cookie) method.
  2. Call BugFix_CookieDomain each time you add a cookie to the container or before you use .GetCookie or before system use the container.

    privatevoidBugFix_CookieDomain(CookieContainercookieContainer){   System.Type_ContainerType=typeof(CookieContainer);   Hashtabletable=(Hashtable)_ContainerType.InvokeMember("m_domainTable",                               System.Reflection.BindingFlags.NonPublic|                               System.Reflection.BindingFlags.GetField|                               System.Reflection.BindingFlags.Instance,                               null,                               cookieContainer,                               newobject[]{});   ArrayListkeys=newArrayList(table.Keys);   foreach(stringkeyObjinkeys)   {       stringkey=(keyObjasstring);       if(key[0]=='.')       {           stringnewKey=key.Remove(0,1);            table[newKey]=table[keyObj];       }   }}

笔记本空格键左边或右边失灵的问题(x61空格键)

前天晚上发现空格键下面有点东西,就把空格键掰了下来,清理完后把空格键扣上后,发现空格用起来怎么都没有以前的那种感觉了,按下去哗哗的响,而且左边和右边不起作用了,只能按中间才行,当时折腾了半天也不知道是怎么回事,以为是把空格键掰坏了,用了两天,实在受不了了,我打字什么的都喜欢用空格键的左边,现在失灵了,超级郁闷。在百度上搜,没找到结果,还是强大的51nb论坛好,搜到几个人发帖问同样的问题,原来是空格键没有装好,我一直以为空格键上面卡的那根铁丝是用来强化支撑空格键的,原来它是可以动的,安装时先要把它弄起来,两边的勾勾要卡在盘底的两个卡子上,卡好后再按下空格键让x形支架卡住,这样就好了,又恢复了以前舒服的手感,按下去也没有声音了,左边和右边都起作用了。

在美国Apple Online Store订购iPad的攻略

原创文章,转载请注明出处 http://wuhongsheng.com/

在美国Apple Online Store订购iPad的攻略

文章开篇前,我们先来算个帐:32G Wifi+3G版本的iPad,在淘宝上面销售的均价是人民币7850元。官方售价为美元729,折合人民币4980元。中间奸商赚取差价2870元。

然后我们再算算,从美国购买iPad发国际快递回国内,价格为官方价格729美元+国际快递费用27美元,折合人民币5162元。

足足比淘宝上面便宜了2688元。如果购买两台,那么省下来的钱,足够买第三台了。

相信大家都比我会算数。

当然,也有很多人想到这点了。但是他们没法买。为什么?因为在美国的Apple Online Store购买iPad,必须要有美国的地址。身在国内的人们,运气好的在美国有朋友可以帮忙代购,运气不好就只能干瞪眼。那些找美国朋友的,也会欠下一 个人情,早晚要还。而且现在美国全境大部分的线下商店的iPad都早已脱销了,就算有钱也不一定能买到。最后还是需要在Apple Online Store预定。

OK,我们来总结下在Apple Online Store订购iPad所需要具备的条件吧。

1.一个美国的地址
2.一张支持美元支付的信用卡,国内国外的无所谓,卡上的额度必须要够,为你所购买的iPad价格的2倍。比如购买32G Wifi+3G版本,价格是729美元,那么卡上就必须要够729*2=1458美元(等额10000人民币)。为什么要这么多,我会在后面说明。
3.关税问题
4.足够的耐心,把本文看完,并且可以等待10个工作日的订货周期

我们继续,先解决第一个也是最重要的一个问题,美国的地址。

中华民族的智慧是无穷的,包括身在海外的华人。在遥远的大洋彼岸,有为数众多的,华人开的快递公司,比如AAE。他们除了运营着中美之间的快递业务 外,还提供了一些增值服务,比如为你提供美国地址,然后把美国地址所收到的包裹快递回国内。

看到这里,你就知道,美国地址的问题有解了。

当然,Apple也不是吃素的。由于提供转运服务的快递公司能提供的收件点有限,一个地址被无数人使用,所以是绝对过不了苹果的审核关的。因为 iPad现在的产能严重不足,全球严重缺货,所以苹果使用了机器+人工的方式对地址进行识别。对于同一个地址,一定时间内订购超过2台以上iPad的,就 会被取消订单。

还是那句话,中华民族的智慧是无穷的。

废话说了很多,我们先开始吧。既然是攻略,总要有步骤的。

我们先去gels注册一个帐号。gels是AAE旗下一家专门提供运转服务的公司,他们为不同等级的会员提供美国各个州的收件地址。我们要知道,在 美国买东西,都是有消费税的,每个州的税率都不一样,有些州还免税,比如阿拉斯加、俄勒冈,都是免税的州。gels就提供了两个俄勒冈的收件地址,这样我 们用来购买iPad就不用交税了,可以省下至少7%的消费税。

gels的注册地址(必须要从这个地址注册,而且要在推荐注册人里面留下我的ID,没有推荐人的话你是无法注册成功的): http://url.cn/2038Ab

gels注册完后,你是看不到任何可用的收件地址的。提供运转服务毕竟不是什么光明正大的事情(从推荐注册的方式就能看出来)。你需要先充值一定的 金额,获得相应的会员级别后,才能看到对应级别会员可用的地址。等级越高,可用的地址就越多,而且会有免税州的地址,费用也能更加便宜。充值进去的金额会 被直接充当快递费。如果你不需要用他们的服务了,充值的费用可以退还,但必须要扣人民币50元的手续费。

这里我建议大家直接充值1000块钱升级为白金会员。因为只有这个等级的会员才能拥有免税州的地址,这样购买iPad才能免税。等iPad到手后, 再要求他们把剩余的钱都退回来,也就只需要再付50块钱而已。

OK,这里我假设大家都升级为白金会员了。这时可以在个人页面上看到“美国俄勒冈州GELS仓库(OR)收货地址”,我们就选这个地址吧。但这个地 址不能直接用,还需要单独处理下。

注意!!请不要使用备用地址里面的OR收货地址!!这个地址可能会导致收货失败!!血的教训,不止我一 个人因为寄送到这个地址而导致无法收货!!

然后就是激动人心的下订了。我们打开 http://store.apple.com/us/browse/home/shop_ipad/family/ipad ,选上一款自己心仪的iPad,丢进购物车,然后去结算。

结算页面,首先是填收货地址。要注意的地方来了,我们!!千万!!不能按照gels给的地址原样填上。

首先是为了确保收货人的唯一性,gels给每个会员分配了一个ID,比如ABCDE,这个ID必须要填写到名(First Name)上。如果你这个地方填错了,那么你就收不到货了。切记,这个ID不能填写到别的地方,包括填到姓(Last Name)里面。原创文章http://wuhongsheng.com/

把ID填写到first name里面后,last name就没关系了。我们可以随便乱填,不填你的名字都无所谓,这个不影响收货。比如我们可以在last name里面填上kelwen甚至ungi啥的。但如果万一订单出了问题,你要打国际长途查询,对方要求你的名字,你就要能正确说出来,避免杯具。

接着是Area Code和Primary Phone,这里填写的是电话号码。最好我们直接使用gels给的号码,或者你对自己修改后的地址很有信心,那么可以自己填一个。比如前阵很流行的 Google Voice,注册成功的朋友肯定都搞到了一个美国的电话号码。如果没有,可以把gels给的号码后面四位改改填上去。最后Area Code里面填写电话号码的前三位数字,如503,Primary Phone填写电话号码的后四位,如666-6666。反正这里自己发挥想象力,确保电话号码是一个格式上合法的假号码,或者真号码,都可以。

Email Address和Company Name都可以留空不填

最重要的地方来了,地址填写部分。地址填写一共有两栏,一栏写不下可以写另外一栏。按照gels给的地址,肯定是一栏可以写下的,但我们不能这样 干,否则Apple第一关,电脑自动检查重复地址就过不去了。Apple的程序对地址的自动识别率还是非常高的。原创文章 http://wuhongsheng.com/

我们在这里要做的,就是把地址改为程序识别不出来,但快递员人工又能正常的阅读并且投递。

聪明的小朋友一定想到了,我们加一些无关紧要的话进去不就好了吗?bingo!

比如,我们可以把地址拆成两部分,然后在第一部分的开头加上一些东西,在第二部分结尾也加上一些东西,地址里面的数字改改(当然不是单纯的把 first改为1st这么简单,这样的话程序也是可以识别出来的)。

再说明白一点。比如gels给出来的地址是1 NW 3 ST,那么拆成两部分就是1 NW和3 ST,我们把第一部分改为PLS SHIP TO #1 NW,第二部分改为#3 ST PORTLAND OR,这样就可以了。但我建议大家还是继续发挥自己的想像力,尽量区别开来。

改了地址后,请到http://maps.google.com/,输入修改后的地址,看看google搜索出来的地址是否还是原来的位置。如果 是,那么就没问题。

最难的一部分已经搞定了,后面的Zip Code输入邮编,然后把This is a business address选上,点击Continue保存并且进入到下一步的信用卡信息填写。

信用卡资料填写,大部分的地方都和收件地址一样。但是First Name和Last Name必须要填写你信用卡上面的英文名字。因为信用卡支付要匹配这部分的。所以这里必须要填写真实信息。其余部分照抄收件信息即可。

之后就是Continue,然后苹果会对你的信用卡进行两次1美元的扣款(也有一次的),以确认你的信用卡可用。然后苹果会再扣你所购买的iPad 的金额(比如729美元)。这三次对信用卡的扣款都是预授权形式的。也就是并没有实际进行消费,只对信用卡里面相应的金额做冻结。只有在苹果给你寄出 iPad以后才会正式扣款

只要扣款成功,苹果就会给你显示一个订单概况。但这个概况不代表苹果和你之间的合约已经构成。

说说文章开头提到额度的问题。不知道是因为国内信用卡在苹果上面走的通道有问题,还是其他原因。我的几张信用卡(中行和招行)在苹果寄出iPad后 正式扣款的时候,并没有对原先做的预授权进行完成预授权,而是重新扣了一次同样额度的刷卡消费。这样造成的后果是,产生了两笔同样金额的消费,但只有后面 一笔是刷卡消费,前面一笔仍然是预授权冻结的状态。所以造成了我中行的卡上没有留下足够的额度,造成苹果扣款失败。之后打了中行的电话要求临时提额,并且 打了一个国际长途用我蹩脚的英语找苹果的人给重新扣款,但最后还是因为成功扣款太晚,fedex没收到扣款后的结果,最后把我这个订单给退回了苹果的回收 站ELK GROVE, CA,导致购买失败。原创文章http://wuhongsheng.com/

所以为了保险,建议大家一定要在卡上留有足够的额度,以防出现意外的情况。

继续回到刚才的流程。支付后,在苹果销售部门正常上班的情况下,你会在一个小时内收到苹果发来的一封名为“Order Acknowledgement”的邮件。收到这封邮件表明苹果已经收到你的订单和付款,并且订单已经通过了初步的审核。同样,这封邮件也不会构成苹果和 你之间的任何合约,苹果一样能随时取消你的订单。

之后的时间就是看人品了。在订单提交成功的3个工作日内,苹果会有人工对订单进行复审。只要在3个工作日内你没收到苹果发来的,标题为 “Action Required”的邮件,那么恭喜你,你的订单基本上已经成功,并且已经提交到富士康进行生产了。之后你会有两个星期的漫长等待,中间你不会收到任何苹 果发来的邮件,就跟石沉大海一样。在后台查询订单的状态都是 Not yet shipped 原创文章http://wuhongsheng.com/

在9-10个工作日左右,登录Apple Online Store查询订单的Status,订单状态会变为 Prepared for Shipment,在这个状态下,就是iPad生产好,准备从富士康发货了。一般会在1-2天内从富士康通过fedex发到美国。

所有发出来的iPad,都是先从深圳,过关到香港,然后从香港空运到美国,之后在美国中转几次,最后送到gels的地址。

gels在签收后,会对货物统一整理,然后到他们的大仓库。这个时候在gels的网站就可以对货物进行操作了。在gels上面提交运单,等上几 天,iPad就会原包送到你手上。因为没有你的允许,gels是不会拆开包裹的。他们寄送的时候,会在原有的fedex包装上面重新打包一层寄给你。真正 做到了原包未拆封。原创文章http://wuhongsheng.com/

OK!整个购买iPad的攻略就到此为止。如果你不再需要gels的帐号,可以联系他们的客服要求退回余额。

最后说说关税,一般情况下,你需要如实申报寄送的物品,但是否需要交关税主要看海关抽查,运气不好被抽上的话,只要属于正常的自用范围,是不需要征 税的。如果超出范围,那么一台iPad需要交600-1000的关税。但就算要缴税,也比淘宝上面买的便宜1000多。

用BirdNest在Google App Engine上搭建一个twitter API

想在手机上看看twitter,下了个程序,但登录不上去,网上找来找去也找不到一个可以放心使用的api,看到一篇教程,用birdnest在google app engine上搭建一个api就好了,幸好gae还没有被封。

环境准备:Google App Engine

先要注册Google App Engine,注册地址 http://appengine.google.com/ ,然后建立一个application,目前第一次使用需要验证用户手机,输入手机号码就收验证码即可,之后,就可以用 yourid.appspot.com来访问你的app应用。

此外,还需要下载安装Google APP Engine的开发环境,注意Python的版本,需要是2.6系列的,不能使用3.1系列的,否则运行会出错。

Google App Engine SDK 下载地址 http://code.google.com/intl/zh-CN/appengine/downloads.html

Python 2.6.5 下载地址 http://www.python.org/download/releases/2.6.5/

环境准备:BirdNest

下载birdnest要注意是下载分支branches/gae,别下载主干trunk,否则更新到GAE上也不能用,会报错。可以使用一个SVN工具下载。例如TortoiseSVN等。 将其放到一个目录中,进入目录,编辑app.yaml文件,将第一行的application里的参数修改为自己的应用名。

发布应用到GAE

准备好了上面的一切后,就可以发布这个应用到自己的Appspot上了,打开Google App Engine Launcher。点击菜单创建一个新的application(这里创建的application名称要和上面修改的app.yaml应用名一样),然后把下载的birdnest文件复制到这个application的目录里面,(ps:在复制文件到这个application目录下面的之后,在我的电脑上发现Google App Engine Launcher里面的这个应用无效,最后把app.yaml用记事本打开重新保存一遍就好了,可能是文件编码的问题,如果你也出现了这个错误,可以试试把文件重新在记事本里面打开再保存一下),最好在Google App Engine Launcher里面选中这个应用后,点击Deploy按钮把代码上传到网上去,等待上传完毕后,你创建的API地址应该是:应用名.appspot.com/api/

打开api可能出现的错误提示和解决办法

出现“internal server error”错误,这个看别个说是代码里面有问题,你可以尝试删除code.py里面的下面一段代码:

import socket
import re
ua = web.ctx.environ.get("HTTP_USER_AGENT", 'None')
if ua.find('jibjib') >= 0:
socket.setdefaulttimeout(60)
elif ua.find('zh-CN') >= 0:
#raise Exception('unknown error')
socket.setdefaulttimeout(2)
else:
socket.setdefaulttimeout(2)

如果不想去下载birdnest或者运行时程序出现错误,可以试试本站提供的压缩包:birdnest.rar
注意把app.yaml文件里面的你的应用名字改成你自己的。

支付宝导入数字证书出现Microsoft Visual C++ Runtime Library

windows 7 x64操作系统,用IE8登录支付宝导入证书的时候出现Microsoft Visual C++ Runtime Library错误,貌似是因为IE8的安全选项默认设置的问题,导致了这个错误。进入internet选项,修改一下安全设置就可以了。

IE8浏览器的菜单:工具 -> Internet选项 -> 安全 -> 自定义级别 -> 将本地文件上载至服务器时包含本地目录路径,选中启用即可。