猫的新窝

止心,少语,莫愁

正在浏览由 cat 发布的文章

早上收到jiaN的psp2000,兴奋地安装上了伊苏7,结果发现游戏被加速了,google一把后发现原来是因为系统版本不够高。然后不知道手上psp2000到底是v2,还是v3想想稳妥些,按v3的刷,理论上可以回头的。。结果刷到官方版本5.03后发现悲剧了,上不去,下不来。再问了jiaN,说是v2的版本-___-这么好刷的版本被我折腾的这么麻烦。。。也好的就是 v2似乎想变成砖头也挺难的(这也就是我为什么现在还买2000的缘故^_^,乐在折腾)
psp2000v2的破解,其实除了用神电外,还有个方法就是RF,关键问题就变成了RF如何在version5.03上面运行了。google了个下午,终于看到了希望。用HEN加载RF,问题是原版HEN屡屡失败(rpwt…失败了。。。起码2个小时吧)后来找到了个修改版的tiff(依旧需要原版的HEN)果然一次性ok…加载HEN后,在运行RF,刷回5.00M33,再升级为5.50Gen-D。一场挣扎落下了帷幕

继续阅读

工具->自定义->工具栏,勾选其中的快捷菜单,显示一条快捷菜单工具栏,然后切换到命令标签,拖动打印功能到菜单上的文字->文字的菜单子项目中即可。

看到galaxy的《在Win下用软件关闭显示器电源》,得到启发后,google到了比较真的真相。

下载: a.cpp
  1. #include <windows.h>
  2. int main(void)
  3. {
  4.     // Eliminate user''s interaction for 500 ms
  5.     Sleep(500);
  6.     // Turn off monitor
  7.     SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, (LPARAM) 2);
  8.     // Turn on monitor
  9.     // SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, (LPARAM) -1);
  10.     // Low power monitor
  11.     // SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, (LPARAM) 1);
  12.     return 0;
  13. }

另外看到个比较悲剧而和我无关的消息,iphone新的SDK明确的拒绝了第三方的,或者跨平台工具,语言。.
沧桑的传送门->>>>>点击这里

★ 用ghost光盘安装系统时,找不到硬盘或者光驱中的内容。
可能原因:因为SATA设置为ACHI模式。导致在dos下无法识别到该设备
解决方案:设置为IDE或者兼容模式(视不同BIOS描述)或者使用PE系统进行安装,使用一键备份软件同样需要注意该问题。

★ 500G的移动硬盘在DOS下无法识别。
解决方案:使用PE,或者分成若干个较小的分区(100G左右吧)

★ 旧设备需要串口,新笔记本未提供。
解决方案:购买一个USB hub+USB转串口的线来实现,需要折腾的是,串口有若干个COM1…COM8,很多软件只考虑到了某个COM口,所以必要时候还要调整为相应的口即可。

★ AOC的一体机未提供驱动。
解决方案:用雨林木风的ghost安装后,应该找不到无线网卡驱动,用随机带的vista的无线网卡驱动狸猫换太子

★ window下设置双网关。
解决方案:因为内外网使用不同网关,所以需要设置修改路由表,命令为:
route -p add 192.168.0.0 mask 255.255.0.0 192.168.11.253
-p参数为,永久性修改

★ 手机WIFI需要访问内外网。
解决方案:内外网网关不同,手机无法设置网关。买个DLINK的DIR-685(不是广告,我暂时遇到只有这个路由器有这个功能),其中可以设置路由表。(还有NAS。。。非常虎的路由器,就是太贵了)

★ python读取Unicode编码文件,中文乱码。
解决方案:不知如何下手,改成gbk先完成任务再说。。。

两个月多没写代码,这两天为了下载个500集的豆单,并把flv转化为mp3

第一,利用http://www.flvcd.com/,输入豆单地址,解析豆单的flv地址flvUrlParse.htm
第二,利用Internet Download Manager,解析flvUrlParse.htm,下载到
F:/download/flv/
第三,转化为Mp3
第四,正则提取flvUrlPasrse.htm,把转换后的mp3名字整理。
继续阅读

设计Qt风格的C++API

作者Matthias Ettrich,译者Googol Lee,原文地址在这里

在奇趣(Trolltech),为了改进Qt的开发体验,我们做了大量的研究。这篇文章里,我打算分享一些我们的发现,以及一些我们在设计Qt4时用到的原则,并且展示如何把这些原则应用到你的代码里。

设计应用程序接口,API,是很难的。这是一门和设计语言同样难的艺术。这里可以选择太多的原则,甚至有很多原则和其他原则有矛盾。

现在,计算机科学教育把很大的力气放在算法和数据结构上,而很少关注设计语言和框架背后的原则。这让应用程序员完全没有准备去面对越来越重要的任务:创造可重用的组件。

在面向对象语言普及之前,可重用的通用代码大部分是由库提供者写的,而不是应用程序员。在Qt的世界里,这种状况有了明显的改善。在任何时候,用Qt编程 就是写新的组件。一个典型的Qt应用程序至少都会有几个在程序中反复使用的自定义组件。一般来说,同样的组件会成为其他应用程序的一部分。KDE,K桌面 环境,走得更远,用许多追加的库来扩展Qt,实现了数百个附加类。(一般来说,一个类就是一个可重用组件,原文这里没有写清楚。)

但是,一个好的,高效的C++ API是由什么组成的呢?是好还是坏,取决于很多因素——比如,手头的工作和特定的目标群体。好的API有很多特性,一些特性是大家都想要的,而另一些则是针对特定问题域的。

好的API的六个特性

API是面向程序员的,用来描述提供给最终用户的GUI是什么样子。API中的P带表程序员(Programmer),而不是程序(Program),用来强调API是给程序员用的,给人类的程序员用的。

我们坚信API应该是最小化且完整的,拥有清晰且简单的语义,直觉化,容易记忆,并且引导人写出易读的代码。

  • 最小化:最小化的API是指一个类尽可能只拥有最少的公开成员且尽可能只拥有最少的类。这个原则可以让API更简单易懂,更好记,更容易除错,且更容易改变。
  • 完整的:完整的API是指要提供所有期望的功能。这个可能与最小化原则相冲突。另外,如果一个成员函数属于一个不应该属于的类,很多潜在的使用者都会找不到这个函数。
  • 拥有清晰且简单的语义:就像其他设计工作一样,你必须遵守最小惊奇原则(the principle of least surprise)。让常见的任务简单易行。不常见的工作可行,但不会让用户过分关注。解决特殊问题时,不要让解决方案没有必要的过度通用。(比如,Qt3中的QMimeSourceFactory可以通过调用QImageLoader来实现不同的API。)
  • 直觉化:就 像电脑上的其他东西一样,API必须是直觉化的。不同的经验和背景会导致在判断什么是直觉而什么不是时不同的感觉。如果 一个中级用户不读文档就可以使用(a semi-experienced user gets away without reading the documentation,没懂这里的get away该怎么翻译),并且一个程序员不懂API就可以理解缩写的代码,这种API就是直觉化的。
  • 易于记忆:让API易于记忆,使用统一且精确的命名方法。使用可识别的模式和概念,并且避免缩写。
  • 引导易读的代码(Lead to readable code):代码一经写就,会读(并且除错和修改)多次。易读的代码可能会花点时间来写,但是可以节省产品周期中的其他时间。

最后,记住,不同类型的用户会用到API的不同部分。虽然简单的实例化一个Qt类是非常直觉化的,让资深专家在试图子类化之前读一遍文档,是很合理的。
继续阅读

前不久,好朋友钟文将一篇谈Braid艺术风格的文章打印出来,给我看,我从那时起便多 方收集Braid的资料。直到最近,才在Xbox360上玩了它的试玩版,作者(Jonathan Blow对待这部作品的态度更像是一位作家,而不是游戏开发者)和画家David Hellman的完美配合更令我深深感动。也许不久后会有机会在PC或360上玩到这款出类拔萃的个人作品的完整版,不过,我迫不及待的要将这篇出自 David Hellman的文章介绍给你,希望你能喜欢这款作品。由于译者并不从事美术相关工作,有错漏之处,还请行家不吝指出。

Who has seen the wind?
Neither you nor I.
But when the trees bow down their heads,
The wind is passing by.

谁见到过风?
你没有,我也没有。
但当树儿低下头,
便是风儿经过的时候。


继续阅读

抛弃了winrar,使用7z,发现不少地方不够人性化,最郁闷的莫过于如下问题:

select_toopen

fail

看了快一个月7z的源码,终于找到问题的出处了,小修改了下,避免自动删除文件就好了。不过这样临时文件必须我们自己定期清理了。总比bug强

原因在于CPP7zipUIFileManagerPanelItemOpen.cpp中的StartApplication函数中process.Attach(execInfo.hProcess);这边返回的hProcess=NULL,但是execInfo.hInstApp>32是打开成功的。

CPP\7zip\UI\FileManager\PanelItemOpen.cpp中OpenItemInArchive中对if((HANDEL)(process)==0)的判断改为if (FAILED(res))即可解决该问题。

还有一处是拖动的也出现如上问题,解决思想也是一致的

把CPP\7zip\UI\FileManager\PanelDrag.cpp文件中OnDrag函数,最末尾加上tempDirectory._mustBeDeleted = false;当然把tempDirectory由class改为struct

不过 如何删除遗留的文件和文件夹,这个就是修改的副作用了。

笑笑而已

抢沙发

1:某楼主:如果叶倩彤和一个公务员,同时掉进水里,你救哪一个?(某某和某某掉水里真是经典问题啊^_^)
强大回复:

谁都不救!!

先拿一砖头把公务员拍死,

然后搬个小凳儿坐河边儿听小叶同学叫啊叫啊叫啊叫

个人感言:昨晚载段下来听听,觉得无爱,声音还好,普通话蛮标准的,主要读的书实在无爱,勾不起兴趣听下去。。。。还是 江山和妖刀大爱啊。。。

2:炫哥的签名:忙完这辈子,要好好放松下。。。

个人感言:忙完这辈子,以后老子不干了。。。尔乃上班族?非也,加班族而已。