最近迁移blog到VPS, Web服务器用的是Nginx。与之前的apache不太一样。迁移过来后主页可以打开,但是链接都进不去,因为用的不是p?id=xxx的形式。所以需要rewrite功能。但是nginx上面这点需要自己配置。 在网上搜索了一下。找到这篇文章: Nginx支持WordPress3.0.1的永久链接(Permalink) Nginx没有Apache特有的mod_rewrite,因此不能由WordPress自动配置。 在nginx配置文件中加入如下行即可: location /wordpress/ { … rewrite ^index\.php$ – last; if ( !-e $request_filename ) { rewrite . /wordpress/index.php last; } … }
Author: Lu Jun
80后男,就职于软件行业。习于F*** GFW。人生48%时间陪同电子设备和互联网,美剧迷,高清视频狂热者,游戏菜鸟,长期谷粉,临时果粉,略知摄影。
123systems.net的VPS试用
?????123systems.net?VPS????????$21.6???openvz???,256M,10G,500G?????????????????????Chicago?Singlehop???????????????lbuyvm??????????????buyvm?????????fremont??????????????Cancel?123systems.net???$21.6????????????TOS? 7????????????????????VPS????????????refund????????ticket?????????7?????? ???????7???????????????????????????$20?????????????????????7-10??2checkout??????$19.95???????????9????10???355*21.6/365 =$21??????$1.05??????????????$19.95??????????7??????? ?????????????????????TOS???????????????????? ?????????? 2checkout???2??????1???????credit???????????????????????????????????????????$1?????????????????????????????????????????????????????????????????????????non-refundable????????????????????????????????????????????????????$19.95???????????????????????????????????????????????123systems?vps??????????????????????????????$20????????$19.95????????????????????????????????????????????????7??????????????????????
CALLBACK(__stdcall)调用方式
今天写一个程序,用到HOOKPROC,HOOKPROC的定义是必须使用CALLBACK定义的。结果我在写一个键盘钩子的时候忘记了加上CALLBACK,也正是因为没有加CALLBACK,使我在__declspec(dllexport)后这个函数在DLL中的名字也没有变形,一般加了CALLBACK后,即使声明为extern “C”也没用,必须要用上module definition file 来LINK才行。这是等会儿讲。先说漏了这个CALLBACK的事情。我写好了DLL,dumpbin一看函数都导出了。于是在主程序中开始LoadLibrary GetProcAddress等。这里要说一下GetProcAddress这个函数,其返回值是FARPROC,FARPROC的定义中是有WINAPI的,也就是__stdcall的,但是如果要求从DLL中Get一个没有__stdcall定义的函数出来也不会有问题。然后传给HOOKPROC类型的函数指针也没问题。于是这样就把一个原本没有CALLBACK的函数用于了SetWindowHookEx。而要是没有这样一圈兜下来。原本将没有__stdcall定义的函数传给SetWindowHookEx是会编译错误的。这里错误主要还是在将FARPROC的函数强转成了HOOKPROC。导致最后我的程序对于键盘事件总是没有钩住。可能在,还有莫名奇妙的crash,最后甚至蓝屏了,SYSTEM_SERVICE_EXCEPTION(0x3B)。后来仔细看了HOOKPROC的声明,发现了CALLBACK,加上。这次是自己基本功差了。发现DLL的名字总是不能以C方式输出。其实加了extern “C”后对于__stdcall的函数还是会加上一些修饰的,形如_Function@2,要彻底没有修饰,仅以Function名字出现还需要在LINK时加上/DEF:”hooh.def” (在VS的LINK中的INPUT中有Module definition file)。这样名字就对了。问题就都解决了。
postfix + dovecot + mysql 建立邮件服务器
参照的Linode上的文章。在我的Debian的VPS上建立了一遍。只是走了一下步骤。原理还是很模糊。我跟着这个步骤走下来之后发现竟然不能发送邮件到我建立的邮箱。日志中的错误信息如下: postfix/local[4961]: 498E62DC04E: to=<l@yourdomain.com>, relay=local, delay=0.07, delays=0.05/0.01/0/0.01, dsn=5.1.1, status=bounced (unknown user: “l”) 一时郁闷,静下心来仔细观察日志,发现有这样一行在之前的错误信息上方: postfix/trivial-rewrite[4960]: warning: do not list domain yourdomain.com in BOTH mydestination and virtual_mailbox_domains 第一次看见是warning也没有仔细去看。后来突然想到会不会是这个原因呢。于是将mydestination修改了一下变成server.yourdomain.com,反正只要在mysql表domains中的virtual_mailbox_domains不要和mydestination有重复就可以了。一改,一重启postfix,还真灵验。可以接受邮件了。在这里多谢linode上有如此详细的文章。虽然没有用linode的vps(性价比不是很高)。但是有那么好的社区文件可以给我们参考,真是大家风范。
vs2010中臃肿的ipch和sdf文件
使用VS2010建立C++解决方案时,会生成SolutionName.sdf和一个叫做ipch的文件夹,这两个文件再加上*.pch等文件使得工程变得非常的庞大,一个简单的程序都会占用几十M的硬盘容量,交换项目文件时很不方便。 那么,该怎么解决呢?其实可以关闭它。方法: Tools->Options->Text Editor->C/C++->Advanced->Disable Database,设置为True 但是这样的办法会产生另外的一些问题,可能会导致其他的一些功能不能使用。例外一种解决方法是: Tools->Options->Text Editor->C/C++->Advanced,在 Fallback Location 的属性组中,将”Always Use Fallback Location”设置为 true,将”Do Not Warn If Fallback Location Used” 设置为 true ,然后删除解决方案目录下的 sdf 文件和 ipch 目录,再次打开解决方案,发现这些烦人的东西已经不见了。 Indicates that browsing databases and IntelliSense files should always be stored in your “Fallback Location”, not next to the .sln file. 可以在 “Fallback Location” 属性中,设置一个固定的路径来存储这些文件,比如E:\temp\vsdatabase,这样也比较好管理这些庞大的臃肿的文件,可以定期清理掉它们,释放出硬盘空间!
DELL Studio 1558电脑终于差不多修修补补好了
昨天换掉了主板。目前为止,终于不会自动重启也不会CPU load 到100%之后一定时间就自动关机了。原先的自动关机问题应该是主板的原因了。真是霉。。这都能碰上。昨天晚上回去测试一下,EVEREST显示CPU温度能到96度。以前到不了88度就关机了。i7凶猛起来温度确实了得,功率从23W到46W。不过也侧面反映了DELL(戴尔)的这款机器散热不好。 昨天换了主板后,装回去发现多了2个螺丝。维修人员说每天拆拆装装基本都会多螺丝出来。属正常情况。我汗,算了,后来也没装回去,我也不想再把机器大卸八块再去找那两个螺丝位置了。艾。DELL维修不知是否也是外包给外面的维修厂家。不过以前Vostro 1500换过几次显卡也是大拆的。那时就没有螺丝多出来啊。 今天发现本站上关注这款机器或者已经买了这款机器的用户也不少,基本都是有重启的问题。我在A08后的BIOS就已经一直没有出现这个问题了。A09又修复了A08的休眠后不能调节屏幕亮度的问题。是一个小更新。之后的自动关机是主板的硬件问题,和BIOS无关。希望也买了这款的朋友能找到自己症状的原因,早日修复。有更多问题也欢迎留言讨论。 更新0:购买时间很短的用户可以考虑换机试试,因为BIOS A09也重启的话,如果没有什么软件问题那就是主板问题了。估计和我自动关机一样。能换就换,拆了可是会有多螺丝出来的风险的。:(
VC6.0 + SP6 + sdk feb 2003 + msdn 2001
根据微软网站的介绍,目前已经不支持VC6.0了,最后一个支持vc6.0的windows sdk是2003年2月版的。最后一个支持vc6.0的MSDN是2001年10月版的。最新的VC6的SP补丁是Sp6。所以如果现在还有遗留项目需要用到vc6来开发的话,最好的开发环境就是VC6.0+sp6补丁+feb 2003的SDK + oct 2001 msdn。 msdn在某BT网站下载 vc6.0随便一搜索就能下载到,推荐英文企业版。 feb2003 sdk在微软官方下载。地址比较隐蔽,这里放出,有效期未知,目前有效。 http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.1.cab http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.2.cab http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.3.cab http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.4.cab http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.5.cab http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.6.cab http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.7.cab http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.8.cab http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.9.cab http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.10.cab http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.11.cab http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.12.cab http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.13.cab http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.bat http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/Extract.exe http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.1.cabhttp://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.2.cabhttp://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.3.cabhttp://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.4.cabhttp://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.5.cabhttp://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.6.cabhttp://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.7.cabhttp://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.8.cabhttp://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.9.cabhttp://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.10.cabhttp://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.11.cabhttp://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.12.cabhttp://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.13.cabhttp://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.bathttp://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/Extract.exe 输入PSDK-FULL E:\2003.2.SDK ,注意后面要给出解压到的文件夹,如 E:\2003.2.SDK 然后用窗口方式进入E:\2003.2.SDK找到Setup就可以安装了 sp6补丁在微软官方还有。容易找到。 不过VC6真的是在IDE中功能太弱了。用了后来的版本的VS后,觉得用回VC6很不顺手。还是建议能在有条件的情况下能够将项目升级到新版本的VS下。VS2008之后还是很不错的。
异常的使用场合
什么时候应该用异常,如果不用异常,直接用返回值来代表各种各样的错误是否合理?这个问题曾经在程序语言的学习阶段问过自己,后来也就含糊的理解了。今天看到了MSDN中有这样的一段话,又自己过了一下异常这一个概念,感觉对于加深理解有帮助,MSDN引用如下: When to Use Exceptions Three categories of outcomes can occur when a function is called during program execution: normal execution, erroneous execution, or abnormal execution. Each category is described below. Normal execution The function may execute normally and return. Some functions return a result code to the caller, which indicates the outcome of the… Continue reading 异常的使用场合
第三台戴尔DELL Studio思跃 1558
今天下午刚收到换新的第三台机器。接下来测试下看看还有没有问题。第二台机器在更新了DELL的A08 BIOS后的3天里面没有出现自动重启的案例。但是发现另外一个问题,这个问题也是在之前的2台机器中都存在的,就是装了dell提供的驱动后windows update会有问题。刚装完windows 7后可以顺利的update,但是如果刚装完windows 7后先安装了dell的驱动,那么windows update后提示restart computer后就不能成功重启了。需要硬关机。 发现Synaptics驱动和Logitech setpoint x64驱动有冲突,其中synaptics的驱动不管是DELL提供的还是从synaptics官网下载的,都一样。一旦2个都装上后就会发生触摸板及其不听使唤的情况。卸载了Setpoint驱动就好了。或者卸载synaptics驱动也行。 这第三台机器的左下角的CTRL按键也有问题。其他按键还好。可见这个按键是这个系列的通病。 更新0:发现这次的内存换成三星的牌子了。上次是现代的,这次的显示屏换成了LG的。上次是台湾的某牌子,忘记了具体的。今天发生过一次自动关机的情况。当时在打游戏《星海争霸2》,比较郁闷。。。 更新1:游戏时自动关机问题在我换用了DELL提供的显卡驱动后基本没有出现了,之前用的是ATI官网下载的截止8月8日最新的10.7版本。看来ATI的驱动真的不如nvidia,每次更新都是一个不定时炸弹。 更新2:基本上上了A08 BIOS重启现象没有了。已经一个星期没有重启了。目前留下的问题是这个系列的不足之处,估计每台机器都有这些问题:键盘按键不爽,边缘做工粗糙,触摸板过热。
DELL Studio 1558主板A08前BIOS存在设计缺陷:自动重启
7月9日收到了DELL换来的新机,一样的一台DELL studio 1558, 但是这台外观上比原先的那台有改进:触摸板的左右按键没有高低不平,这次做到了一样。开机之后发现的另外一个改进是这台新机的BIOS已经刷到了A07版本,而到目前(2010/07/22)为止,DELL网站上能下载的最新的BIOS是A06的。我满心期盼着这次BIOS的升级可以解决之前的机器自动重启问题。当然如果也能解决显卡的温度过高问题就最好了。但是之后用了2天,10号,11号,就发觉并没有解决这些问题。机器在七月11日的早上我起床后就发觉已经自动重启过了。是在通宵下载的过程中重启的。DELL studio 1558这个型号的配置很奇怪,我实在搞不懂到底为什么会重启,因为我对于之前那台机器(6月10号收到的第一台机器)进行过严厉的拷机。事情是这样的:当我发现那台机器会自动重启后,我下载了3Dmark 06, Prime95这两个软件,分别对显卡和CPU进行长时间的折磨,但是在被折磨的时间段中,从来没有发现有重启的案例,折磨时间也不短,都是12小时以上的。折磨的时候用everest查看CPU,显卡,内存,硬盘的温度,基本上都在80度左右,硬盘略低,约55度。但是并不会自动重启,往往是在我让机器安静的下载一些东西的时候。CPU,显卡都没有任何压力,就自动重启给我看。难道这系列机器只能吃苦,不能过于安逸?至少现在发现这个问题应该不是个例,原本以为我很倒霉的拿到了第一台机器是某部件坏了。现在换了一台依旧还是这个问题,其他方面除了外观上触摸板的按钮有所改进外都和第一台一样,可见DELL的生产线下来的东西还是挺公平的,不会有质量太参差不齐的表现。最近也在网上搜索了一下,发现dell800网站上也有兄弟抱怨1558每日必死一次的问题。当初看中了这个系列也面世挺长一段时间了,我想应该不会有太严重的问题,艾。。没想到。。。明天电话DELL换机部门可以退货了。其实对于这台机器的这个价格和这个配置我还是挺满意的。但是这个问题太不可容忍的,其实对于这台机器的显卡温度过高导致触摸板在手摸的时候之间感觉很热我已经忍了,只要它不会随机的自动重启。艾。。。DELL studio 1558想说爱你不容易啊。。。 更新0:屏幕转动时,左边的连接点会有些声音,估计内部有些连接不牢。。。 更新1:另外还有一个小问题就是新机器的左Ctrl按键不太好。不过相比之前那台的左ctrl按键和左shift按键和回车键同时有问题的情况,这次又让我泪流满面。。。我告诉自己DELL还是在短时间里有进步的,虽然进步不是很大,没有解决最严重的问题。 更新2:今天(7月12日)早上打电话给之前换机部门的陈小姐,先是答应可以退,但是要到检测部门电话检测一下,由于上午电脑不在身边,下午有电话了一个过去,然后转到检测部门,检测部门的人认定只要DELL系统的System diagnotics认为没有问题的机器就是硬件好的。我说这不是明明有病的人难道医院检测不出来什么毛病就认定是没病吗?然后再打电话给换机部门暂时没有接通,后续进展稍候继续更新。 更新3:刚才在网上闲逛了一会儿发现了很多人说Powerplay的问题。提及如果powerplay开了但是显卡的体质不是很好的话就会产生黑屏重启现象。我之前那台机器尝试过关闭powerplay,但是后来发现有蓝屏,也有重启的现象。这台机器在退之前我先试着关闭看看吧。 更新4:7月15日下午6点多DELL(戴尔)的一位先生打电话过来说退机请求被拒了。具体原因不明,他只负责通知。需要知道具体原因还要自己在工作日的工作时间拨打以下电话8008582060转2转4,之后我现在网上搜索了一下这个电话,搜索出来的结果皆是对DELL(戴尔)的一片骂声。看来要是拨打这个电话的结果是凶多吉少。7月16日上午戴尔所谓的客户关怀部门一位小姐电话过来问之前的问题处理的怎么样了,问我满意程度,我回答非常不满意,然后她说那行,会再有技术工程师过几天电话过来的(真会拖时间)。 更新5:之前的故事情节继续讲,后来我没有拨打那个800的电话,觉得和DELL自身的投诉部门或者客户关怀部门打电话也是浪费时间,还是和技术再谈谈这个事情吧。这次遇到的技术是一个DELL声称的高级技术工程师。不过前前后后至少给我的感觉还是在尽量将问题说得和DELL无关。不过至少态度还可以。目前在我的一再要求下还是答应给我换台机器试试,其实我也很好说话,DELL不给退机,这点我也没有一再强求。只求能够解决现在的这个问题就可以。我提出2点,1:再换台一样的试一下,2:换个系列。其实在DELL这里除了Studio系列的机器,我还看得中的只有外星人的。可是这个系列中国的价格和美国差的太远了。实在不划算。要达到我目前的1558的配置需要16000的价格。抢钱了。 更新6:今天看见一个DELL网站放出了1558机器的BIOS更新,A08, 之前DELL官网的版本一直都是A06,从来没有在网站放出有A07的版本,而这次直接到了A08,可见中间一定有一个A07,只是可能不是那么稳定就没有发布,但是这个版本正好被我获得了。我6月10日收到一台机器预装的是A06,后来换机,7月9日收到一台机器装的就是A07,看来DELL内部非常激进,还没有测试好的版本直接就在新出厂的机器上预装了。这次的更新列表如下: Fix: 1. Device Manager will show yellow bang of Intel Turbo Technology when resume from S3. 2. Fix System will hang up after lid open in DOS mode issue. 3. Clarksfield CPU does not have dim… Continue reading DELL Studio 1558主板A08前BIOS存在设计缺陷:自动重启