博文

目前显示的是标签为“心得”的博文

WZR-HP-AG300H安装OpenWRT和自动翻墙代理

图片
前两天在淘宝入手了一个2手的AG300H,是日产的中古货,比行货便宜了接近一半,比较超值,加上那惊人的128M内存,由衷的打动了我,于是入了一个开始准备折腾OpenWRT 寄过来的时候就刷好了DD-WRT,理论上这个时候去下载一个Factory升级包直接升级就能到OpenWRT了,但是我脑一抽,给升级到 官方的1.78版 了,这下无论选择退回到官方的1.77,还是选择升级到其他的版本的DDWRT,它统统报告说是不合法的Rom了 不得已,我选择使用TFTP来进行升级,这个方法 网上也都有 ,大致的操作流程如下: 修改本地IP到192.168.11.2(必须是这个IP,可以同时添加多个IP地址,Windows、Linux下都可以,不妨碍操作) 添加固定路由,arp -s 192.168.11.1  02:AA:BB:CC:DD:20 (必须是这个硬件地址,后面连接TTL的时候看路由器启动的命令行就明白为什么了,如果是Windows 7或7以上的话,命令有所不同,参看 这里  ——反正就是它禁用了arp命令,必须要改用netsh命令来完成) 下载你要升级的Rom的TFTP版本,DD-WRT的话,下载地址在 这里 ,如果是OpenWRT的话,下载地址在 这里 ,选择带tftp字样的下载链接。 如果是Linux下,首先安装tftp,yum install tftp、apt get install tftp……,然后拔掉路由器的电源,输入 tftp 192.168.11.1 verbose bin put xxxx(这是你下载的rom的名字) 然后你不要回车,开始接通你的路由器电源,盯着它开机,你会看到依次是红灯点亮、然后红灯灭一下然后所有的灯都亮了……这时候立刻回车,等着它提示完成 如果是在Windows下,如果是Win7,首先到控制面板、系统组件中安装TFTP组件,然后到命令行输入tftp -i 192.168.11.1 put xxxx(这是你下载的rom的名字) 然后也是一样的,不要回车,接通你的路由器电源,盯着它开机,你会看到依次是红灯点亮、然后红灯灭一下然后所有的灯都亮了……这时候立刻回车,等着它提示完成 提示上传完毕之后,等待10分钟左右(一定有这么长的时间,文件上传之后,系统会先解包,然后格式化所有扇区、写入操作系统,然...

我的蹭网之旅之——在网络风暴中蹒跚前进

这一两个月,我的蹭网生活一直并不顺利。 如我之前所提到的,华北电大这边提供了IPv6的接入。但是也如他们自己校内论坛上抱怨的一样——这里的内网环境十分的糟糕。 各种攻击源源不断,直接导致我的IPv6连接不稳定。最初还好,还能够稳定的使用半小时左右,最近半个月更加的变本加厉,连10秒都坚持不了了。刚开始还可以ping通,仅仅过去不到10秒钟,马上就没办法连接了。 最初,我感觉到是有网络攻击,因为接收到的网络数据包的数量远远的大于我所发送的,而我并没有开始下载,而且就算是断网了,我也可以持续不断的收到数据包。 我之前尝试了各种办法,包括用tracert跟踪路由,用show route分析路由表等等……但是只有一个结果那就是:只有那么极其短暂的几秒,我能够上网,其他的一概不可以。然后网关可以ping通,但是第二跳只有在那短暂的几秒内可以ping通,然后很快就挂掉了…… 于是我有段时间甚至放弃了,认为这可能是学校对于蹭网者做的某些限制而放弃了挣扎…… 但是我内心中的极客之魂让我不能停止尝试啊!! 于是今天再次不甘心的在网上搜索——不得不说,这鬼地方没外网,而且3G信号极其糟糕让我难上加难——但是皇天不负有心人,终于让我搜索到有人反映IPv6也有同样的时断时续的问题,虽然他所提供的办法并没有解决我的问题,但是他很明确的指出了这个问题的结症是在多网关和多IP地址导致的。 这一下至少让我更加坚定的相信我是可以去搞定这件事情的。于是我到处寻找解决方案。 网上提供了很多,最接近的提示说:所有带2002开头的IPv6地址都是错误的,而对应的网关也是假冒的一些地址。但是他给出的解决方案是修改前缀策略:即将2001的级别提高,让它能够被优先选择到。 这个很明显解决了我一部分的问题——之前访问PPG这种既有IPv4地址又有IPv6地址的网站,该死的收费系统就提示我登陆了,就是这个一直干扰了我的想法,让我认为是学校针对蹭网者做出了硬性限制。 但是问题并未完全解决,但是至少已经能够把上网的时间延长到1分钟左右。我虽然不断的删除那些涌现出来的假的网关,但是我使用delete route的速度明显没有攻击者的快,我甚至感觉不到自己已经把那个网关删除了,它就又再次恢复了。面对如此疯狂的进攻,我又不得不回到了我最初尝试的方案上,使用防火墙。 首先,我很容易...

用PHP处理EXCEL的利器:PHPExcel

这几天在帮单位里开发一个小程序. 既然是为单位开发的,那么一定会涉及到报表... 毕竟,公文流转类的程序其实在现实中一直缺乏意义,作为领导而言,他们永远更加信任纸质文件而并非是看得见摸不着的电子档. 所以,这次的任务主要是开发一个业务的数据管理系统.涉及到Excel文件的处理基本上成为了必然.于是上网查找,很多人说自己写函数,因为Excel2007采用的开源的文件格式,而且现在已经成为了ISO,但是单位里更多需要处理的是EXCEL2003,同时,自己编写类无疑太麻烦了.于是锁定了现有的一个强大的PHP类:PHPExcel. 这里 是它的官方地址,我看到最新的版本是1.72,虽然它的名字依然叫做PHPExcel,但是它的处理文档的能力是显然超过了Excel文件的,这个版本可以读取和生成.XLS,XLSX,PDF,CSV等...官方也提供了详细的文本和说明.我列举一下普通需要使用到的就好了. <?php include  "PHPExcel.php" ; include  "PHPExcel/Writer/Excel5.php" ;  //如果需要处理XLSX文件,那么 include "PHPExcel/Writer/Excel2007.php"; //创建excel $objPHPExcel  = new  PHPExcel (); //如果你需要直接写入硬盘,那么使用以下方法: //$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel); //$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);//for XLSX //EXCEL文件属性 //创建人 $objPHPExcel -> getProperties ()-> setCreator ( "创建人" ); //最后修改人 $objPHPExcel -> getProperties ()-> setLastModifiedBy ( "最后修改人" ); // 标题 $objPHPExc...

苍天哪,大地啊,列祖列宗啊...我终于也突破重围了

最近比较火热的就是IPv6的翻墙技术了... 虽然我一直都认为IPv6的翻墙与我无缘,因为在我的概念中,IPv6和IPv4一样,应该都是在拨号的时候才能够获得的东西...加上想到自己的路由器根本不支持IPv6,同时也因为一直有比较稳定的VPN,所以一直都放弃了尝试. 但是小裤裤却坚持不懈的一直在尝试着IPv6的翻墙计划...于是知道今天中午他过来通知喜讯,告诉我他的IPv6终于顺利的越狱成功..于是我开始第一次问这东西到底具体怎么用. 方法其实和我之前所见到的大同小异,简单的说就是: 在Vista和Win7上,啥也不需要干,直接把Host文件修改一下,就过去了... 在XP下需要执行以下几个语句,并且在网络属性中添加IPv6 netsh netsh>int netsh interface>ipv6 netsh interface>ipv6>install netsh interface ipv6>isatap netsh interface ipv6 isatap>set router isatap.sjtu.edu.cn (利用上海交大的IPv6通道) (以上的语句未经测试,我现在没有XP的机器了..........) 结果裤衩子说了一句让我无语的...根本不需要路由器做任何事情...OTL 于是我抱着尝试的态度,把Blogger的IPv6地址加入了列表....然后开启我的IE(FF下默认自动翻墙)...竟然就这样...顺利的通过了...OTL 这一刻,我泪流满面...苍天哪,大地啊!!时隔1年多,我又再次直连了我的Blog...OTL 另,HOST文件太长了,我就不贴了....网上一搜到处都有 附:昨晚摸索了一晚上得到的结果... XP下安装IPv6,如果你还是XP的最普通版本,那么才需要在命令行下执行Install,如果你版本大于SP1,那么直接打开本地连接属性,添加一个协议,然后选择添加IPv6就可以了. 如果你不是教育网环境,上面那个Isatap也不要轻易启动.理论上这个时候应该可以直接就能够ping得通Google的IPv6地址了(如果你拥有的是公网IP的话),如果你是用路由器上网的,那么你现在应该开启的是Teredo,最简单的方式就是打开你的µTorren...

不会拿来主义的程序员不是好程序员

之前虽然我一直以自己写为主,很少用别人现成的API,但是我也深知,仅仅只是依赖于自己的手工劳动这样虽然在很大程度上保证了代码量的精简和高速,但是在大批量的编程和大项目上是无法胜任的,好的程序员必须要快速的能够把别人现成的可以用的东西拿过来用,而不是拘泥于自己去写。 于是这次在写这个局内部的管理程序的时候,我更多的想到是API,首先确定要玩的是JQuery这个大名鼎鼎的Javascript API,于是找来了它的中文参考手册( 这里 ),研究了一下发现,这个家伙确实提供了很多简化的写法,虽然并不是非常的困难,但是如果用在编程上,确实减少了很多的代码书写量。 然后为了实现类似Google的Serach Suggest功能,使用了Jquery Autocomplete( 这里 )。这个家伙相当的强大,可以非常轻易的实现单词自动补完甚至可以实现拼音首字母的快速检索。这里有详细的手册。 其次用到了 TipsWindow ,一个基于Jquery的浮动层API,提供了相当强的设置和功能。 同时,在研究它的代码的时候,我发觉,它和我之前看Google 的Gmail一样,采用了一张大的背景图,把所有的背景和图标都集中了在里面……这个难道有什么蹊跷么?我最初怀疑是可以便于客户端缓冲,但是考虑一下明显不可能,因为客户端载入一张小图片当然比载入一张大图片要大,那为什么都采用这样的设置,而使用CSS的图片分割功能呢? 求助于Google终于知道,这样的最大的好处就是可以减少HTTP服务器的Request量,因为HTTP在高并发的时候对Request的数量相当的敏感,这就和我们拷贝小文件数量越多越慢一样,如果全部压缩成RAR一次性拷贝可能只需要几秒,但是分开来的几千甚至几万个小文件甚至可以用上几十分钟才能拷贝完。 另外不得不记一笔,之前曾经解决过同样的问题但是因为没有记录最后自己也忘了怎么解决的了。 很简单的JavaScript的字符串查找替换为问题,很简单的使用replace方法就可以了,但是关键是那个用来匹配的正则表达式对象,那个并不是字符串,如果是字符串的话匹配一定不成功,在类型中它准确的类型应该是Function,而并不是String。 这样就导致了一个问题,在匹配的字符串不断的改变的情况下你无法简单的用字符串连接的生成一个Function啊! 结果最后还是自己发现了最初这个函数在讲解...

用Google Analytics查看完整的来源URL

不得不说Google Analytics比较好用. 毕竟Google并不在乎推广它的这个免费工具,所以也不会像其他的统计工具一样强制性的生成几个难看的图片挂在网页上,它只是在背后默默的统计网站的访问者信息就足够了.就近凭借这一点,我就觉得它是最好的了 当然,它也有很多问题在里面.首当其冲的,统计的时效性很糟糕,它并不是实时的,甚至会延迟2~3天才能把数据统计上来,所以它默认是显示2天前的数据...同时,更加有点无语的是,它拒绝所有的来源链接中问号之后全部的字符串...也就是说它绝对无法记录下来自一些动态网页,比如说论坛的数据的准确地点,比如说来源本来是http://popgo.net/bbs/forumdisplay.php?s=&forumid=18,那么它只会记录下http://popgo.net/bbs/forumdisplay.php,当然,这样的数据是毫无意义的,因为访问它只会得到一个错误提示而已... 为了解决这个问题我翻了很多地方,国外的网站上有很多人提供了两种解决方案 其一,修改JS文件,直接把它要省略掉的链接直接强制性的给它加上去. 其二,在设置中增加一个过滤器,然后实现这个功能. 我选择了2,因为毕竟Js改动了之后未来如果设置改变还不知道出什么问题,同时,我的Body的Onload事件中已经有了需要执行的语句,再附加上去觉得不大爽,等我需要修改自己的语句的时候我还要顾及它的... 增加Filter的方法很简单,原文在这里: http://www.reubenyau.com/google-analytics-hack-obtaining-full-referring-url/ 配合着图看不懂也能懂了...大概意思就是写一个正则表达式,然后把这个正则表达式所取得的变量放到一个$A1中. 确实,我做了这一步之后满以为自己已经搞定了.结果过了三天...我还耐心的等了三天(因为Google的统计非实时),结果还是在访问者的选项中无法找到我所需要的结果,本以为应该会显示完整链接的地方还是写着(referral)...于是不得不闷苍蝇一样继续乱找. 后来还是到这个站点仔细的看了看,它提示说要到"uses the User Defined Report"这个东西上去查看结果,但是我找遍了就是找不到这个东西,自定义报告,就只是让我新建一...

拐弯抹角的解决Share站XSLT+XML搜索引擎收录问题

正如我之前所说的,XSLT+XML的站点无论从结构上而言还是从实际运用来说,都是非常理想化的一个东西..当然,也很好..但是有个非常实际的问题那就是... 搜索引擎的收录. Share站还在内部测试的时候,hiei就已经把站点提交到了baidu和Google,但是时至今日,百度的收录条数为1.内容为"<![CDATA[ gundam uc 01 ]]>"毫无意义的一些XML中的字符..而Google则干脆没有收录. 现在基本的功能都完善了,解决share站的搜索引擎检索功能自然成为了当务之急. 于是想到了用PHP来拼接XSLT与XML. 这个函数早在PHP4中就已经存在了,我也一直知道它,但是却从来未用过..只是知道有这么个东西. 今日一试,果然才知道它的强大. 简简单单的几行代码,可以说就是用了XSL类里面ImportStyleSheet方法的示范代码就解决了这个问题. 用DOMDocument类的load方法来载入已经在磁盘中存在的缓冲,然后再同样的载入XSL文件.接着用XSL类的ImportStyleSheet方法拼接二者,再用transformToDoc方法转换拼接结果为DOMDocument,接着最后用saveHTML方法直接Echo出来,任务就完成了. PHP拼接的结果可以说是非常的完美...包括了XSL里面全部内含的JS文件,以及做的一些小手脚都很精确的展现了出来...其实我原本最初认为它可能做不到这么好的,以为我需要重新写一个较为简单一点的XSL来方便它拼接,没想到这么简单,这么完美...大大出乎了我的意料..orz 最后用$_Sever变量判断客户端的User Agent,判断为是蜘蛛之后就给出合并了之后的页面,而普通用户继续访问XML核心页面..作为服务器端我自然是希望负载越小越好..如果我直接让客户端载入XML文件,我每次就给个不到2K的XML,其余的完全依赖客户端已有的缓冲就可以生成页面了,理想状况下我甚至连一个SQL查询都不需要,这何乐而不为呢? 至此,这个XML+XSL的大难题也算是告一段落了..不过最近听闻到一个消息,那就是StratCraft2的首页也是采用这个架构的...但是很不幸的是,它明显只是看中了XSLT可以比较完美的隐藏页面内容而已,并没有严格的按照"表现与结构分离,数据与表现分离...

在Windows 7上安装PS3的DualShock 3手柄

虽然是败了PS3,但是因为没有显示器的原因,所以一直没办法玩.不过放着就放着也无所谓了. 但是手柄放在这里,而且还是USB口的...这让我有点心里痒痒的... 到网上搜索一下,果然有对应的PS3的手柄驱动,甚至还支持振动.. 当然,出品人自然不会是Sony了.不过可惜的是下载了安装了,却还是无法使用... 今天趁着重装机会手机的机会来摸索了一下这个手柄的驱动.原来并不是简简单单的安装这么简单.. 原文在这里: http://www.motioninjoy.com/help/sixaxis-dualshock-3-connecting-usb 这个手柄驱动相当的强大,甚至还支持蓝牙无线连接. 安装方法大概可以概括成这样: 1.下载并且安装软件. 2.如果是Windows 7的64bit版,需要进入带驱动程序的安全模式下,运行以下步骤,32bit则直接跳过本步骤. 3.插入手柄,并且确认系统寻找到了手柄的驱动,当然,这个驱动是无法使用的. 4.找到"开始菜单-所有程序-MotioninJoy-Install USB driver",右击它,使用管理员模式运行之. 5.会提示一个红色的警告框,告诉你这个驱动没有经过微软的签名.点我要安装之. 6.之后再打开"开始菜单-所有程序-MotioninJoy-DS3 Tool",把手柄的类型选择为DualShock 3,这个时候在开始菜单-设备与打印机的选项中就可以看到手柄的选项了 但是奇怪的是,如果不一直把这个DS3 Tool一直开着,按键的对应就不正常....这个可能是作者故意而为之吧... 总之,这东西算是可以正常使用了.总算是给我这个看着PS3不能玩的可怜人一点点精神上的慰籍

写在Share站基本完成之后

Share站的策划始动于08年.一眨眼,过了2年了. 但是真正动手做了也只有三个时期.08年始动的时候,09年年初以及现在...中间因为hiei不大愿意换导致我的编程的热情也不是很高. 这个程序自从最开始的时候就确认的两个方针. 1.要使用XSL+XML技术.这个东西我窥视了很久了...这个东西是个不算新的东西,但是使用的人却并不多.优点很明显,数据和显示完全的隔离;模板很容易修改;客户端可以使用大缓存时间来缓冲XSL文件,而XML文件非常小.于是每次访问的时候只需要下载很小的一个文件. 但是缺点也很明显.那就是这个技术对编程要求很高,必须要写非常标准的XHTML,只要XSL文件有一点错误,页面就会直接报错而不会被任何浏览器掠过错误.同时XSL文件对流的要求很高,不能流式载入,也就是说页面是一次性显示出来的,而绝对不能如同HTML一样慢慢的一点点的载入进来,而这个问题在网速很慢的时候就很大.因为这个时候网速很慢导致XSL长时间无法载入的时候,页面就会报告未知的错误.然后最后一点.没有任何搜索引擎可以支持对XML+XSL文件网站的检索. 2.要使用类编程.这个只是探索.因为PHP最初就并不是面向对象的.所以我也一直只是一个面向过程的程序员而已.面向对象需要新的思想和新的思考方式.我觉得这个是个必须要跨越出来的步骤,虽然有悖PHP一向的高速高效的理论,我认为这个是一条必由之路.于是就要在这里尝试一下. 整个编程中让我学到了很多,特别是在Javascript在XSL中的应用方面,同时也对XSL有了更加深入而不是仅限于概念的理解..同时,因为采用了XSL+XML的架构,整个服务器也可以非常容易的使用XML文件做高速缓冲处理.这样明显优于使用HTML文件缓冲.因为毕竟在磁盘空间的消耗量上,XML文件要远远小于HTML文件的. 但是整个编程的过程中也暴露出来了很多问题,最大的问题就是文档的编写存在巨大的问题...因为整个编程的过程跨越的时间很长.某些时候要回忆起以前的一些构思反倒非常有难度.而且一些函数和方法的设置在当时就定义模糊,仅仅只是依赖于函数中的一些注释语句,有时候根本无法让人回忆起当时的构思. 比如说最简单的一个事例:取得种子文件的Hash值.Hash值分为两种,一种是底层服务器所承认的二进制的Hash数值,另外一种是表现在外面的以十六进制表现出来的数值.但是为了将二...

该死的工信部屏蔽了隐藏域名转发之后

今天过去解决单位里的门户网站域名的问题 今年1月间发现的这个问题.突然门户网站的域名就无法使用了. 门户网站本身是托管的,但是很不幸的是托管的服务器上开了IIS,但是我们需要用的是Tomcat,于是不得不使用了8080端口 但是领导可不愿意看到这个:8080,于是之前用了 隐藏域名转发,但是现在这个东西被工信部封闭了...所以只能用别的办法解决 我们试过了在防火墙上做端口映射.结果原因不明的还是无法访问.因为那台服务器确实有点复杂,光本机就有5个IP.所以他们技术提议直接把端口换成80得了,结果很明显的...无论你有多少个IP,端口总只有那么一个... 于是所有人都放弃了,剩下了我这个甲方在这里独自奋斗了...囧 于是我开始尝试用IIS做转发,很明显,很简单的就成功了...但是这个有个最大的问题,那就是在最上面显示的域名不对.于是只能当无头苍蝇到处在Google上查找解决方案. 办法永远比问题多.但是最大的问题在于找到解决问题的方法.找到解决方案才是最重要的. 于是最后发现了....有人在CSDN上提到了用Iframe...并且提到了这个是个"烂办法" 很明显,听到这个词就很烂了,但是对于只需要忽悠领导的我来说,这很明显是根救命的稻草..于是查阅了一下,很简单,只需要在IIS上建立一个对应的80端口的网站,然后写个Iframe,将8080端口的网站直接载入进来. 但是这个又有一个小问题,那就是Iframe出现了滚动条,而页面本身不出现滚动条了.... 不过这个很好解决.直接搜索一下,用JS定义了侦测页面高度和宽度的,很简单的隐藏了滚动条.至此,问题解决. 然后就是另外一个小问题.需要把服务器的FTP权限给出来.因为这个服务器不允许远程连接(安全限制),所以为了便于上传文件,不得不使用FTP,本来IIS的FTP就是一个非常弱智的简单的FTP,但是就是这么个简单的FTP,却让我怎么都无法登陆进去. 最先,我怀疑是目录的权限不对,因为给出的提示是用户的home目录不存在.但是看了看文件夹的所有人就是我所用的用户名...上网搜索,给出的绝大部分结果也都是说目录没有权限而已...这个搞得我很木然,为了测试,我开了匿名用户,居然给我提示同样的错误.... 没办法,不得不仔细的检索搜索引擎,看看有没有别的可能性. 结果就在一个站里,我发现了一个突破点...

嗯,关于OTL事件的经验总结...

今天向几个曾经当兵的同事请教了一下关于上次骑车摔的半死的时候应该如何处理的问题. 最初我以为可以用类似立定卧倒的方式来处理,也就是在要落下的时候手掌击地,然后用手肘缓冲的方式来平稳落地,后来同事解释说,在那种情况下其实不能那样,因为直接立定趴下的时候是没有向前冲的惯性的,那时候的正确处理方式应该是双手撑地然后向前翻滚,用滚动的方式来释放前冲的惯性能量..想想也确实...不过要做到估计还是需要很熟练的动作了,否则根本不可能在那么短的时间内还要去回顾技术动作...orz 不过比起这个...近期准备去把刹车调整一下,某种意义上把右手的刹车设置为前煞无疑是埋炸弹啊...我又不是左撇子,在情况危急的状态下第一反应当然是右手用力了,所以...前煞,然后我就飞出去了...囧rz 打算找时间把左右手的刹车位置切换一下,从根本上避免类似情况再次出现吧...orz

XSL继续学习

继续总结一些XSL中比较实用的经验: 1.多用用属性比直接增加节点来的方便,也更加爱节约流量,但是属性中无法增加CDATA,所以必要的节点还是必要的 2.在XSL中所有的HTML必须要转义,特别用的多的有&要写成&amp,空格应当写成&#160; 3.输出XSL中的CDATA必须要用到JS才可以跨浏览器 <div id="test"><xsl:value-of disable-output-escaping="yes" select="//node"/></div> <xsl:if test="system-property('xsl:vendor')='Transformiix'"> <script language="JavaScript"> var el = document.getElementById("test"); el.innerHTML = el.lastChild.data; </script> </xsl:if> 其实很简单的一个东东,从上面的一个节点处取得这个节点的值,然后用innerHTML方法把它塞回元素里面,于是就能完整显示了,上面那个if test="system-property('xsl:vendor')='Transformiix'"其实是在测试浏览器是否是FF,因为IE直接就用disable-output-escaping="yes"这个属性让HTML直接输出了.

我果然是抱着不玩成砖头不罢休的理念来玩手机的...

买了三天了,这已经是第五次刷机了... 这款Blackberry 8820是周一的时候入手的,当时就发现系统还停留在4.2,不过本着先玩内容再玩系统的原则,我一直忍着没刷机...刚开始就是安装一下MSN啦,QQ啦,浏览器啦,Gmail啦一类的东西. 不过,不愧是走私的黑手机...BB官方提供的Live Messenger,官方提供的GoogltTalk一个都不能用,全部提示未与服务运营商绑定...这一刻我只能泪流满面了...只能安装非定制的版本,虽然也可以用,但是实际操作起来,起码就那个登录界面而言,就已经比官方的版本差了不是一星半点了...orz 于是,当这一切都搞定了的时候,终于...还是要开始刷机了...光刷机用的桌面管理器我就装了三个版本...到最后才发现最新的中文版是4.6...然后就随便下了一个官方提供的4.5.0.52的版本开始刷...刷机的时间确实非常的漫长...每次大概都需要40多分钟.不过黑莓有个很大的好处就是..变成砖头都不用怕,只要设备还是好的,通过刷机把OS灌进去就行了..很快的,第一次就刷完了.. 检查一下,确实比4.2版本的进化了很多,很多隐藏的很深,但是又需要经常用到的设置都很人性化的放到了一个地方.不过浏览器依然还是不支持PPG的Cookies,完全让人摸不清头脑...而且惊讶的发现GPS没办法使用了,找不到卫星....想尽了办法,但是还是没辙...这个时候我倒是想起来了,之前4.2的时候也没有手动刷星...没辙了,只能考虑是不是OS本身出问题了...于是又在找别的版本来刷 之后又在闲逛的过程中发现,原来最新版的OS是4.5.0.81,迫不及待的下载了下来,再刷机...结果竟然发现刷出来还是52...郁闷,再刷,还是52...于是我泪流满面了...开始寻找为什么... 结果在"C:\Program Files\Common Files\Research In Motion\Shared\Loader Files"找到了整个OS的源程序存放地...名字也非常的清楚"8820-v4.5.0.81_P2.7.0.78"标明了是什么机型,OS的标号等...我一看我的文件夹,还是写着4.5.0.52嘛...于是删除,再安装一下4.5.0.81的安装包...结果发现...桌面管理器中,系统的程序包是消失了...

今天碰到的疑难杂症&解答

同事给过来一个U盘,是前几天我用过了的,当时尝试着拿这个东西从U盘启动然后直接安装系统,所以拿USBoot格式化成HDD模式启动,结果没成功,于是就还给他了.当时也没仔细的看,结果今天他拿过来的时候说容量变成了2G了...orz 果然,插上去一看容量变成2G了...打开Windows的管理控制台-磁盘管理,发现8G的内容还在,但是只有一个2G的空间被分区了,而且是主引导扇区,剩下的还有5G多的空间,可以看得到,但是无法格式化..我试图用磁盘管理器来删除之前的2G的空间,但是这个选项是黑色的,只能格式化,格式化之后容量依然保持在2G没变. 于是我甚至开始怀疑这块USB是扩容的了....但是后来证明是错误的,扩容的U盘看样子是8G的,但是可能实际并没有那么大,而且绝对是无法装下超过它原有容量的数据的,而这块U盘实际上曾经装过6G左右的东西,而且在磁盘管理中可以看到那5G的空间,说明这个U盘并不是扩容的,而结症还是在分区上. 于是我去下载了PartitionMagic,老牌的分区软件了,但是安装上去之后发现,竟然完全无法识别到我那块USB...无奈之下只能歇工了,到网上到处找其他的软件看看有没有别的解决方案. 到最后突然想到,是不是USBoot捣的鬼,既然是它这么做的,能不能也能用它把这块U盘恢复?抱着尝试的心态重新开启了USBoot,选择了"用0重置参数",操作过了一段时间后,重新插上U盘,系统识别为"未格式化的驱动器"容量显示为8G...OK,这就完成了... 原因大概就是之前用过了USBoot这个软件制作了启动U盘,可能是因为FAT最高到2G的缘故,所以它默认的划出来了一个2G的空间作为启动盘.剩下的空间就被废黜了. 于是只能再用USBoot重置U盘的分区信息,把整个U盘变成未格式化状态,再格式化一次就好了.

Vista一周手记

心血来潮的装了Vista SP1,虽然这个版本的Windows操作系统都要接近退役了,注定成为了一个过渡型的操作系统,但是我仍然希望在最后它消逝之前还能够真正的用一用它... 虽然之前也玩过几次,不过总共加起来的时间还不超过4小时,大学的时候就装过Vista的测试版,和我现在使用的SP1还是有着很明显的不同的...起码最基本的WinFS文件系统都被精简了.. 不过在使用上还是能体现出很多心机,比如说新版的任务管理器,显示出了所有任务的名字和他们的功能,特别是Windows自带的任务,这样便于了普通用户识别他们的功能,并且快速的找到那些非常明显的病毒程序..同时也默认提供了映像地址功能,方便用户快速的寻找到正在运行的程序的位置,加强识别的有效性. 再一个显著的改变就是开始菜单栏了,取代传统的层层分级的菜单的是希望用户更多的依赖于搜索来找到自己所需要启动的程序,很多实用了很多次的程序甚至只需要你打出他们的首字母就可以快速的启动...当然,我用这个还是比较少,因为μtorrent的μ实在是太难打了,同时我在启动程序的时候也比较懒得把手从鼠标重新挪回到键盘上,不过很不错的就是,默认的那些经常使用的程序不会再给Windows自带的那几个程序加权了...XP里面默认就会显示的那么几个东西有着非常高的优先级,甚至需要使用很多次别的程序才能把它们挤下去...这点我很郁闷的... 接下来引人注意的是"我的文档"的改变,去掉了"我的"两个字,同时增加了另一些经常使用的文件夹默认位置,比如下载,游戏,等等...但是因为这些东西默认都是放在C:\,反倒让我设置起来的时候麻烦多多,同时,文件夹的视图也默认采用了树状视图,虽然可以快速的跳转,但是我感觉还是没有纯文件夹视图的速度快,地址栏的更新也是很明显的,但是我觉得用的地方也很少,或者说我还没有用习惯吧..毕竟我来回的在子目录和上级目录切换的时候是很少的. 控制面板也是大变样了..网络的设置变得更加复杂了,管理工具中的性能监视器更加强化,日志分析更加完善,防火墙似乎变得更加完善了(如果启用高级防火墙的话)不过还不知道具体的性能如何.. 很可惜的是,这几天就要保密检查了...很明显我那满硬盘的动画是不可能作为涉密网通过的...没辙,只有格式化了重装成Ubuntu了...暂别了我的Vista... 总体上感...

Firefox 3.1初接触

虽然Firefox的3.1版早就进入了测试版阶段了,也了解了不少的相关的改变的内容,对这些改变也非常的感兴趣,但是却一直没有什么太大的冲动去尝试,毕竟一直停留在Alpha测试阶段,这些天,终于看到了Beta1露面了,于是再次的...当小白鼠.... 首先是下载地址: 点这里 (如果下不下来就用迅雷下~) 安装完毕之后,自然是...除了更新的最勤快的Adblock Plus还能继续使用之外,其他的统统挂掉了... 我用Firefox一直追求一种平滑过渡的感觉,也就是说希望可以保持我在TheWorld上的各种习惯,包括鼠标拖拽搜索和打开新页面以及鼠标手势和单窗口浏览等等.于是,装完的第一件事情还是变成了去寻找插件的旅程. Adblock Plus 最常用,更新的最迅速的FF反广告插件,几乎是跟着Firfox的测试版一路更新的,我一直都很佩服这个作者的速度,基本上你只要让它自动更新就不会在升级的过程中让它被因为不配套而屏蔽.订阅广告屏蔽列表一般只需要订阅中国和基础列表就可以了. Tab Mix Plus 这家伙是负责标签页浏览的,可以让整个Firefox的操作变成如同Opera或者TheWorld一样,在同一个窗口中打开任何页面.这家伙在Firefox的add-on页面的更新速度并不是很快,但是他在论坛的更新却十分的迅速,所以我这里给出的是他主页的链接,如果更新了Firefox之后发现它不能用了,就直接去它的论坛下载最新的dev版即可.如果要改为类似TheWorld的浏览习惯,只需要"启用单窗口模式"即可. Easy DragToGo 替代了FF 3下面的Super DragdeGo的拖拽功能插件,虽然名字里说的是Easy,但是实现的功能却一点也不比Super差,设置也非常的简单,基本上实现了TheWorld中的全部功能,甚至可以更加自由的让它进化. FireGestures 替代了 All-in-One Gestures 成为了鼠标手势功能插件的首选.设置起来更加简单,同时还提供了更多的功能,我反正现在爱上了"按住右键的同时按下左键"来切换标签页的方法..其他的设置完全类似了,也没有太多需要说的. 通过安装和设置这些插件,基本上Firefox已经和Maxthon/TheWorld差不多了,剩下的就是设置Firefox之中的...

Windows XP 密码恢复攻略

昨天保密检查,全局上下慌慌张张设密码,今天就好了……保密室自己把密码给搞忘了…… 开始了麻烦的密码恢复工作…… 找了一堆相关资料,有说删除SAM文件的(不对,可能这招在2000下有用,但是XP下删除了会提示密码文件不可读什么之类的,然后反复重启) 也有说编写Script文件的(也不对,XP下根本不存在对应的文件夹) 最后尝试了暴力破解,可惜,保密局要求8~14位的密码,算了两个多小时,也就算到7位,还没办法自定义位数,直接Pass…… 最后不得不寻找外部工具,结果就找到了Windows Key http://www.lostpassword.com 结果这个软件的非注册版实在是太BT了,根本就无法恢复常用密码,就只是给你演示一下罢了~ 然后终于在霏凡找到了一个家伙…… http://www.crsky.com/soft/1079.html 同样的公司出产的东西……不过这次就有Key了,而且是企业版,自带了N多软件的Key寻找工具……(我发现我最近总是在找密码破解软件,昨天还在找ZIP密码破解软件,结果找到了Visual Zip Password Recovery Processor,这东西很好找破解版,就不用多说了) 然后加上莫名好人提供的序列号( LBSMM-RNN62-SYJSL-HFRSD-7Z4HEJ )就如虎添翼了~ 简单的安装之后,发现一堆的破解密码的东东,不管它,启动Windows Key,提示可以做出来三个东西,1.ISO文件,从光盘启动杀密码;2.USB启动盘,从USB启动;3.启动软盘…… 当然最简单的选2,放进去一空的U盘,这个时候找你要一个文件……我把番茄的XP-SP2放进去,提取他要的文件,他竟然不认……后来才知道,这家伙还需要一些其他的文件,必须要把原版光盘放进去才行……没辙了,翻箱倒柜找出来正版的2003放进去……这下顺利的就制作成功了。 开机,启动,从USB加载,进入一个类似XP安装的界面,然后出来一大堆的DOS字符,提示你,是否重置密码,然后让你选择重置谁的密码,再让你确认一下,最后还问你,是否把所有人的密码都抹掉?挨个选就是了,很简单的操作之后,重启…… 这回没问密码,直接就进XP了,问题解决……orz

找到的一些不错的Python学习资料

首推:《Python编程金典》 难得的一本中文的Python编程教材。涉及的方面也比较全,基础的到GUI、多线程编程都有涉及到,很不错的入门级书目。 当然,也有应该比它还要好的东西,可惜都是英文原版的影印本了。英文苦手的就阅读困难了……

昨天被捣鼓死了...

一直在捣鼓IE 6.0下的表现问题,因为盒模型的问题结果导致IE 6和IE 7显示效果不同. 结果是:IE 7=FF 2=Opera 9.2的显示效果,IE 6是独立独行... 试过了N种CSSHack甚至IE才能识别的CSS选择器,结果发现...无效... 加上还需要远程求人帮忙调试,真是痛苦无比,到最后才发现这个地方: http://browsers.evolt.org/?ie 基本上涵括了全部版本的IE浏览器的绿色版下载...调试者的福音啊~ 解决了调试困难的问题,开始专注于表现问题.. 试过了无数的方法,理论上其实用!important属性就应该可以搞定的,因为IE 7已经修正了这个属性了,理论上它的表现应该是等同于FF了,但是实际中我发现,他的表现竟然和IE 6一样的...半拉子糟糕.. 什么叫半拉子糟糕,意思就是说可以识别,但是还是没用...比如: div{ color: #FFF !important; color: #000; } 在IE 7和IE6中均识别为#000,而FF和Opera可以顺利识别为#FFF 但是如果这样写: div{ color: #FFF !important; } div{ color: #000; } 那么,在IE 6和IE7中均识别为#FFF... 呵呵,可能专业人士要发话了,"这怎么可能!",但是我发现就是可能的,在处理XHTML的时候确实没有这个问题,但是在处理XSL的时候...就变成了这样的半拉子状况.. 而且类似*+HTML,*DIV,_#,*HTML,这类的可以用在HTML中的Hack统统在XSL中失效了... 绞尽脑汁没结果的状况下,我决定利用已知的BUG,把IE 7和IE 6的表现统一,然后再用important属性来区分IE系列和其他浏览器...结果,把宽度改为100%,把float属性去掉,用margin居中...竟然就OK了...然后对FF使用important让width变为auto...世界就这样和谐了... 简直是无语...白白浪费了我一个晚上的时间...

继续学习充电

图片
这次是关于Tab标准化布局的心得...之前发现怎么样也无法吧表格之间的间隙去掉,无论怎么样做出来的都是双线的表格,后来发现原来是要这样解决: tab的属性: border-collapse:collapse; border-color:#999999; 内部表格的属性: border: 1px solid #999999; 这样就OK了,还害得我捣鼓半天.. 还有就是关于PHP直接echo出XML文件的问题,现开始直接echo怎么都无法输出XML文档,输出格式都是正确的,但是浏览器并不识别为XML,后来终于发现...原来是Header的原因.只要在PHP的输入头文件修改Header就好了,语句是: header('Content-Type: text/xml'); 这样就不需要PHP 4.x的版本打开一些特殊的XML类来生成类了,直接echo就好了,但是解析还是存在问题就是了...不过解析也可以用正则来完成的...具体可以查看IBM站的这帖,写的很基础 http://www.ibm.com/developerworks/cn/opensource/os-xmldomphp/ 现在所需要做的就是实现鼠标移动到对应表格之后的浮动效果了... 结果找到这么一个站: http://www.dyn-web.com/ 实在是太强大了...orz JS原来还可以实现这么多功能...我算是开了眼界了...以后看来需要恶补一下JS的编写了..orz 不过美中不足的是,有加密....不允许使用在非Localhost的站点上..不过JS最多也就是一个16进制的加密而已,随便就搞定了,上网,找了一个JS的16进制转换器,OK了~ 这个是存档,下载这张图片然后把扩展名改为RAR即可解压.. 另外就是在XSL中加载JS文件和直接写入JS的问题.. 加载要使用: <script src="'"></script> 而直接写入JS需要: <script langauge="'"> <![CDATA[ ..................... ]]> </script> 有些地方会画蛇添足的给中间再加上XSL的注释,但是这样的话FF反到不能识别了(FF是矫枉过正..内...