善意提醒

如果您打开本站很慢,布局排版混乱,并且看不到图片,那么可能是因为您还没有掌握用科学的方法上网的本领。

2008-06-12

日记2008.06.12

Chapter One

房东打电话来要房租了。上海的房东们不知道为啥都喜欢现金不喜欢转帐。
呜呜,这个月要赤字了,入不敷出了,要用信用卡周转了。

Chapter Two

今天像模像样地主持了一次会议。当然,会议的规模很小,不过讨论的事情并不小。最终的效果挺好,要达到的目的都达到了。
难道我以后真的该去做管理了?

Chapter Three

发现我招行专业版里面的文件证书用户全部都不见了。难道是被入侵了?
在数据目录中逛了一圈,无果。果断地上Google,果然有效果。原来招行专业版在刷过主板BIOS之后文件证书用户就会丢个光光,我端午节刚刚刷过……

Chapter Four

表妹发来短信,问基金是不是该赎回。真是后知后觉啊,才百来块钱,告诉她别赎回了,安心等反弹吧。
近来很奇怪的股市,看不懂了。量低得吓人,价也跌得吓人,可券商股却连着拉涨停。算了,懒得去想了,反正我最近没钱用也不急用钱,管都不想管了。

Chapter Five

在Google上找招行问题的时候,偶尔看到一篇博客。博主是个典型的技术人员性格,对招行网银的64位OS问题以及键盘驱动问题死死抓住不放。心想招行专业版的问题多了去了,比如虚拟机里面不能用啊,还有这次的BIOS清证书啊等等。不由得回想一下自己是不是以前也是这么一根筋。
好像有时候在梦里面还是这样,现实中已经很现实了。

2008-06-04

出差前夕

明天要去江阴出差,早上七点要在龙之梦集合,因此五点就得起来。准备了一下,除了换洗衣物,也没有什么东西要带,因此还是决定背平常上班用的包。忙活完之后,来收一下邮件,顺便更新一下多日未曾写过的Blog。

大约周五回来吧,不过也不确定到底什么时候能回来。如果RP攒得足的话,说不定明天晚上就能回上海了。若真是如此的话,可是要感激不尽了。不过这次出差不需要我背电脑,呵呵,呼呼。

最近不是一般的忙。两个直接领导都出差去了,他俩的责任和义务全落到了我一个人身上,快趴下了都。昨天有个小伙子又请假,于是干到晚上快十二点才回家。只能说相比起某些人来还算好了……。周末在joyo上买的游戏昨天收到了,但居然连拆包装的时间都没有,只好留到周末当大餐了。

于是,回见吧。

2008-05-22

日记2008.05.22

Chapter One

早上猛然醒来,07:21,昨晚居然忘了上闹钟。还好生物钟比较准,自我唤醒比较及时。不然要是07变09就只好浪费半天调休了。

Chapter Two

昨晚加班的成果仍然不够,眼看周五完成任务的希望越来越渺茫了。然而峰回路转地通知我不用那么紧张,原因是高层有别的考虑,于是手头的工作允许延延。早说嘛,早说我就不用加班加得连闹钟都忘上了。
今天把可信U盘的代码部分和手上正在做的Explorer进行了整合,基本上属于可以用的产品了。剪贴板的功能相当好用,于是Drag&Drop决定放一放了。不过我还是列出了长达22项的TodoList。今天只完成了3项,果然是革命尚未成功,同志仍需努力啊!

Chapter Three

中午尝试了一下「麦甜」新推出的冷面。优点是速度超快,几乎是坐下的同时就端过来了。不过味道比较一般,送碗小汤,要填饱肚子还行。
晚上得知莉莉在徐家汇,过去汇合后找了家「棒约翰」吃比萨。感觉没必胜客的好吃,不知道是不是我没有选饼底的缘故?

Chapter Four

家里终于换上了空调被,估计距离打开空调的日子也不远了。单位上今天已经开空调了。没办法,这两天实在是闷啊,浑身都像涂了胶水似的。

Chapter Five

招行信用卡缴费似乎已经开始逐步推广开了。前段时间还只是看到有重庆电信和重庆移动,现在再去看,重庆的水电费都可以缴了。成都也是已经有一大堆的缴费项目。北京上海稍稍慢一点,不过估计也会做起来的。

2008-05-20

日记2008.05.20

Chapter One

就捐款的事情和粪青在网上某论坛干上了。其实是自己主动的,实在是很久没有骂过人了,心里痒痒。而粪青刚好又是一个很好的出气筒,怎么骂都不会有心理负担。
也在此衷心希望大家不要做一个新时代的子贡。

Chapter Two

进入TCDiskExplorer开发的第二天。
虽然上班之前打好主意要丢开ShellFolderView,但后来还是延着原来的道路走了下去。主要是把驱动器图标的问题解决了,为了美观和偷懒也就暂时在性能方面屈服一下了。
今天基本上把ListView显示部分完成了,排序和换Style还没做。换Style很简单,而排序可能会伤些脑筋。右键菜单做了删除和重命名,删除也支持MultiSelection了。不过对于Folder还不支持,没有现成的函数可用,看来要自己写递归rmdir了。
这些准备好之后,就可以做重点的Copy和Move了。主要工作量是进度条和递归,以及ClipBoard和Drag&Drop的支持,看来也不是明天一天可以完成的。加上集成TCDisk的工作,也许还需要一天吧。
还有海军的文档要准备,计划明天先做掉,免得拖到后面来麻烦。

以上都是工作上的事情,工作笔记吧,权当本貉的自言自语了。

Chapter Three

晚上去看莉莉,不料却接到一个电话要求加班。无奈,十点过打Taxi到公司干活。事情本身没什么工作量,但就是不得不来一趟。也罢,反正加班产生的Taxi是可以报销的。

Chapter Four

觉得有的地方人际关系还真的是复杂,相比之下,自己的工作环境简直单纯得像白纸。嗯,算是值得欣慰的一件事。

2008-05-15

捐款这事儿

捐款这事,本身很简单。然而却被某些人搞得挺复杂。

在网上看到有人把某些企业对印度洋海啸的捐款和这次汶川地震的捐款金额进行对比,从而「抒发」所谓的「愤青热忱」。看到了(不是「看了」)后,心里很不舒服:人家捐款赈灾,还要骂人家捐得太少。做了好事还要被当成汉奸骂,以后要再受了灾,谁会来捐?冒着损失RP的危险不厚道地扣顶帽子——我觉得这种愤青其本质已经几乎近似于国之害虫了!
就算非要比较,是不是应该把,伤亡人数经济损失受灾面积等等也拿来比较一下呢?那次海啸,死亡近30万人,波及印度洋沿岸周边各国,算得上是罕见的世界级特大灾难。连一向「一毛不拔」的「铁公鸡」我都破例掏了腰包。事后国内却有人拿印尼虐华事件、印度威胁论等来说事,大有把捐款者打成汉奸之势。还好我早已沦为「非国民」,所以无论如何也不觉得难堪。

相对于以上行径而言,「组织捐款」也让我颇为不爽,不过程度就差了很多。毕竟这只是一种不满,而远非愤怒。规定人头捐款,强制摊派,是一件很能体现我国特色的事情。小学的时候,就开始组织捐款申办「亚运会」(我最后一个缴,¥0.5,被迫)。我只想说,东西变质了就要坏,好心一样可以办成坏事。这种组织捐款的形式,搞坏人心,还不如不捐。

还有一句话要说:日本要是7.8级地震了,没准咱们不少国民不旦不捐钱还会幸灾乐祸火上浇油呢,所以现在就请别去在意其他国家的态度了。

2008-05-13

在地震的时刻

2008-05-12 14:33:19

正在上班,突然收到老豆发来的短信:「刚才感觉楼在摇晃,地震了。」
心想大概是哪里在爆破吧,老头子现在的状态就是唯恐天下不乱,稍有一点动静就大呼小叫大惊小怪。不过也有可能真的地震了。如果是那样,那么也的确是一个值得关注的事件。正好今天工作并不繁忙,于是打电话拨过去问个究竟。
拨家里固定电话,无法接通。心里咯噔了一下。呵呵,该不会是通讯已经断了吧?打手机,手机也无法接通。不过我马上就想到是网络繁忙的缘故,看来老爸所言非虚了。
博客也无法访问了,让我意识到了问题的严重性。

2008-05-12 14:45:39

正在我不停地拨打电话却打不通的时候,又有老爸的短信到了:「地震了!恐怖!」
说实话,收到短信我倒不是特别担心了。老爸的手机是手写输入。有时间写短信,人肯定无大碍。

2008-05-12 14:48:32

家里终于打电话过来了。问了下情况,说震级比较大,家具什么的都晃得厉害。不过墙还没裂,说明对建筑物还没有实质性的影响。现在正在切断电源和燃气,准备逃亡。我让他们带上手机和一些必备品去人民广场呆一下,因为肯定会有余震的。
打完电话,公司有在上网的同事反映说全国还有很多地区都有震感。看了看地区,到处都有。而震感的强度都各自说不清楚,闹不清楚是哪里震了。
网易比新浪快了一步发布了消息。得知震中是四川汶川,松了一口气的同时又吸了口冷气——离成都实在是太近了。

2008-05-12 15:23:16

总算是拨通了在成都的表妹的手机。不过比我想象中的要容易一些。
她在睡梦中就被震醒了——这个呆子,两点半了还睡!现在撤离到了体育场,应该算是比较安全的地方。据说大家基本上都跑出来了。由于人人几乎都在打电话,所以通讯成了大问题。她还没联系到家人。

……

终于把所有人都联系上了。好在没有人出事。表妹家里因为是高层,屋顶天花板上的吊灯都震碎了。另外昨天半夜的余震导致表妹在仓皇出逃中摔得鼻青脸肿。除此之外没有更大的损失了。不过灾区肯定很惨,全国都感觉到了,那一定是一次大灾!

2008-05-07

日记2008.05.07

Chapter One

又有一个同事要离职,还有一个月的时间,真希望新来的人能够快点顶上来。我想去年这个时候其他人也是同样的心情吧。
最近减员蛮严重的。离职的离职,结婚的结婚,还有同事请长假去陪家人动手术。不知道到时候我会不会给忙坏掉。

Chapter Two

中午实在是没什么好吃的,最后还是去吃萨莉亚了。尽管上次把我的菜给点漏掉,搞得我很火大,不过口腹之欲总是要填的。我的习惯是辣罗勒面+大虾多利亚饭+冰镇牛奶,有时会加上一盘裙菜色拉。份量很多吗?也许有一点吧,不过也不是很出格嘛。
晚餐就不好意思再奢侈了,乖乖去吃面。结果一天下来还是用了30+的饭钱。换成我老妹要破产了。

Chapter Three

都准备睡觉了,客户打电话过来。原来是头儿办事出了点小差错,现在电话又关机了,大概陪小儿子睡觉去了吧。还好不算棘手,花十分钟给帮忙处理了。
这帮客户也真是,着急的事情就早点联系嘛。这个点儿上打电话,不关机才怪。

Chapter Four

貌似Windows XP SP3今天发布了。昨天帮大舅的电脑Update的时候好像都没有看到,今天给自己的电脑升级的时候就有了。不知道多了些啥,看看再说。

2008-05-06

日记2008.05.06

Chapter One

早晨出门,有个手机忘了带,正在懊丧期间,猛然看见50米开外有一辆隧道一线正在上客。撒腿飞奔过去,前面两个欧巴桑左右晃动挡住去路。眼瞅着车开走,真是郁闷!!!

Chapter Two

本周末公司组织游玩的事情终于正式通知了。浙东某地,有大峡谷和温泉浴,呵呵,要带泳裤了。

Chapter Three

查了电信的话单,意外地发现只有9.9元。问过10000才知道,原来移机之后连分帐序号也变掉了。只好等那张迟早会到的天价话单了。

Chapter Four

困扰我多日的文档总算是写完了。长出一口气的同时,又有新的任务产生了。真是一毫也不肯教人放松啊!可惜不能「愈有钱」。
其实今天没有什么太多事情好写。不过总算是心中轻松了一些,权当作庆贺吧。

2008-04-29

在Windows服务中以SYSDBA无需密码登录本地Oracle

因为客户的特殊需求,导致我们要在一个Windows服务中以SYSDBA权限去访问本地的Oracle数据库,并且不能输入任何密码。通常情况下,当Windows的用户帐号是ORA_DBA组成员时,直接用sqlplus "/ as sysdba"的方式就可以登录本地Oracle数据库,无需输入sys的用户名和密码。因此我计划用这种方式来实现无密码登录Oracle。但是得到了如下的错误信息:
ORA-01031: insufficient privileges
很明显,权限方面出了问题。想想也应该,我们的Windows服务使用的应该是NT AUTHORITY/SYSTEM(S-1-5-18)的权限在运行。于是方案A出台了。

方案A:将SYSTEM帐户加入ORA_DBA组。

从UI是看不到SYSTEM帐户的,只有用命令行的方式加。
net localgroup ORA_DBA system /add
结果还是得到了ORA-01031。分析了一下,有可能是因为操作系统认证需要从操作系统的用户帐号来进行,而SYSTEM帐号是个内置帐号,在用户管理里面是看不到的。于是这个方案宣告失败。

方案B:切换到别的帐户运行。
基本上,方案A走不通的话,那就只有这种办法了。首先是建立一个Windows帐户,并加入ORA_DBA组中。密码自己随便定一个就好。
net user dbauser 1qaz2wsx /add
net localgroup ORA_DBA dbauser /add
但是具体怎么切换呢?

方案B.1:用runas切换帐户。
一般RunAs服务(也就是Secondary Logon)都是启动的,所以首先想到用Windows 2000/XP/2003自带的命令runas来实现。
runas /user:dbauser "sqlplus \"/ as sysdba\" ……"
没报错,可是没反应。噢,麻烦来了。这个runas命令是要问密码的。
上Google找了一下解决方案。试了一下用vbs的SendKeys那种,手动状态下似乎勉强可行,但要放在Windows服务中,没戏。因为它毕竟是模拟客户端的输入来键入密码的。有个自称可以让runas支持管道输入密码的小工具sanur也没戏,感觉它俩的原理是类似的。

方案B.2:用第三方工具替代runas切换帐户。
既然runas这条路走不通,就彻底抛开它另寻出路了。
有个工具lsrunas自称可以替代runas,于是下载下来一试。虽然参数比较罗嗦,但的确是可以替代。不过这个替代也仅限于通常情况下,一旦放到我们的Windows服务中,就没有反应了。
另外有人推荐了一个cpau。这个工具还是不行,不过它倒是留下了一个提示信息,这个信息成了重要的线索:
ERROR: CPAU doesn't support running from LocalSystem.
看来还是SYSTEM的权限问题。

方案B.3:自写工具切换帐户。
看来这些工具都没问题,但是应该都不支持在SYSTEM的权限下面切换用户。听说以前某个同事也为这个问题研究了好些天,最后还是放弃了。老实说,听到这个消息我有一点点绝望感。
这SYSTEM权限吧,说它低,却能操作很多系统级别的东西。可要说它高呢,有些本来很容易的事情它又做不了。不过理论上通常还是认为SYSTEM的权限比较「高」,所以很多黑客都以获得SYSTEM权限为目标在半肉鸡上奋斗着。于是,我以SYSTEM降权为主要话题,去黑客站点看了看。
还真是有收获,得到了一段代码,是一个利用API自己实现的runas工具程序。在命令行下使用了一下,感觉挺好,比Windows那个runas好用多了。
不过,放进Windows服务里面,还是不行。真的是快绝望了。

方案B.4:用API直接切换帐户。
由于我们的系统有现成的接口用来启动一个PipeCmd,所以到目前为止我都是用它去运行了一个批处理,然后在批处理中去做上述操作。该接口其实是用CreateProcess实现,因此新建的进程就继承了父进程的权限,也就是SYSTEM。
但,在那段黑客代码中,切换帐户其实是使用了CreateProcessWithLogonW来完成。估计各个工具都类似,因此应该可以跳过中间的多余步骤,用API切换帐户来直接运行sqlplus。
经过多次实验,总算是成功了:
HANDLE hToken;
LogonUser("dbauser", NULL, "1qaz2wsx", LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT, &hToken);
STARTUPINFO si;
si.cb = sizeof(STARTUPINFO);
GetStartupInfo(&si);
PROCESS_INFORMATION pi;
CreateProcessAsUser(hToken, NULL, cmdbuf, &sa, NULL, TRUE, NULL, NULL, NULL, &si, &pi);
想偷懒的人还是看看代码稍微理解一下吧,因为我也想偷一下懒,直接Copy/Paste可能会有问题的。
另外说明一下,CreateProcessWithLogonW应该也是可以做到的,但是我一直没能试成功。倒是CreateProcessAsUser一次成功,于是就这样用下去了。

本来在这里就应该作结了,不过后面还有一点小插曲:这段代码在Windows 2000/XP上可以运行得很好,但是在2003上有问题。在2003上用这种方式运行sqlplus的时候看起来一切正常,但sql的内容没有被执行。最终的解决方案是把dbauser也给加到了Administrators组里面。
net localgroup Administrators dbauser /add
但是在XP下面要这样做的话,就有可能会让Windows把dbauser当成了主管理员,特别是在某些装好之后默认用Administrator用户登录的系统上。这样会给用户带来不小的困扰哦,所以最佳的做法应该是判断一下操作系统的版本再去做相应的处理。

2008-04-28

日记2008.04.28

Chapter One

从招行订购的「外交官」拉杆箱组合,今天送到了。下班扛回家,拆开后玩弄了一下。感觉不错,一个20寸箱子加一个16寸的包包。风格和我现在的箱子、包包都不大一样,正好互补,要是一样就不好玩了。

Chapter Two

上周末搞定的CreateProcessAsUser,居然在2003 Server上会有问题。运行sqlplus没有报错,就是sql的内容似乎没有执行。
在Google上查了查,有的说什么CreateProcessAsUser在2K3上不能用了,要用CreateProcessWithLogonW替换。我CreateProcessWithLogonW和CreateProcessWithTokenW都用了,报错,ERROR_ACCESS_DENIED,而且在XP下都报这个错了,看来是行不通。绝望之前,试了一下给用户加上Administrators组,居然通过了,三个操作系统下都OK。看来2003是加强了账户安全性,一个ORA_DBA已经不够了。

Chapter Three

从公司电脑3389到家里,然后再3389到重庆家里处理问题。居然速度还不错,嘿嘿。

Chapter Four

下午忙到吐血,全是小问题,但堆起来就很讨厌。好在明天可以不用纠缠在这其中了。
晚上吃萨莉亚吃得好饱,回到家躺在床上休息,不知不觉就睡着了。所以现在来补日记。