-
其实有半年没写博
在某日突然发现大巴没了,才想起这个地方
今天发现大巴又回来了,觉得还是记上一笔
如果某一天,这里再be hexied
如果某一天,大中华局域网建成
如果某一天,只有4000万的大小姐陪伴我们
也算是给自己留点纪念
-
2009年09月10日
有的时候心情会很不好 - [X 生活]
有的时候心情会很不好
莫名其妙的,抑或是有原因的不爽
没有工作的心情
我就是这么悲观R总说
我应该改变自己的性格
应该把压力看成是动力
老生常谈了
不知什么时候才能改变自己
有些东西
是成熟的代价今天得知mm同学的老公过世
几天前尚且鲜活的年轻的生命
就这么消失了
乔布斯说
要把生命中的每一天都当做最后一天来过
做自己想做的事情
才有意义
才不至于当真的只有一天时
才发现还有太多太多的事情没有做过不管如何
还是珍惜生命吧
就这么一次
别为了别人活着 -
达到年底100万日活跃的目标,要靠产品品质,要靠用户体验,要靠推广,要靠合作。
一个也不能少
但是,如果我们达到了目标,我们就可以自信地说,一年之后我们能做到1000万的日活跃!
我曾经说过,现在摆在我们面前的机会是:创建一家国内最好的互联网安全公司,创建一家5亿美金市值的上市公司。这个机会也许我们这一生只有一次,也许很渺茫。但是它确实有可能性,而且很清晰!
我总是告诉自己,如果错过这个机会,我会终生后悔。我相信大家也会很后悔
那么,就不要让“后悔”发生。
如果大家每天晚上睡觉之前,对自己说,我尽力了,今天过得不后悔
那么,只需要说一千次,我们就成功了
只要大家不浪费时间,只要大家每天过得不后悔
要求自己成长,要求自己进步!
我和大家都一样
互相监督,互相鼓励
这样,我们就能一起见证公司的成功!加油,天佑贝壳!
-
话说某上市公司一助理总裁F总很郁闷
为什么自己给这家公司创造了无数奇迹
却只有这家公司区区不到1%的股份
于是,F总请教公司CFO,副总裁K总
K总大笑,心中暗道:“Naive!”,于是清清嗓子,说出如下的话:
第一,你要承认剥削
第二,那么多钱,你花的完吗?
F总终于释然了
若干日后,F总在海边购置了一套别墅,价值500余万
从此与新交的小女友过上了性福的生活
-
据说昨天立秋
貌似真的是秋天了
希望北京的秋天会很美丽 -
2009年08月05日
[转帖]小邓能救很多中国孩子的命 - [X 行业]
小邓能救很多中国孩子的命
广西一对父母因15岁的儿子小邓爱玩电脑游戏,认为儿子有了“网瘾”,父母受到媒体“戒除网瘾”的误导,于2009年8月1日花7000元将小邓送入一“戒网瘾治疗中心”,次日,小邓在戒网瘾中心被虐待致死:
http://news.sina.com.cn/s/2009-08-04/040918357527.shtml
小邓健康善良,曾经在大海里救过濒临溺水的妇女,就是这样一个阳光男孩,就由于爱玩电脑游戏,被父母送入戒网瘾中心,强制戒除网瘾。最终导致命丧黄泉。“网瘾”真的戒除了。
我们不能责怪小邓的父母,他们绝对爱自己的孩子。害死小邓的,是那些披着“戒除网瘾”外衣的专家。他们出于赢利目的大肆渲染“网瘾”的危害,甚至将“网瘾”和毒瘾赌瘾甚至某些心理疾病相提并论,危言耸听,蛊惑人心。网络是科技进步的产物,只有妖魔才会将上网妖魔化。
小邓的死,能让痴迷给孩子戒除网瘾的家长猛醒,能让患有“戒除网瘾瘾”的家长挽救孩子的性命。
只有父母的爱,只有父母和孩子平等相处,才能让孩子恰到好处的玩电脑游戏。花钱让“戒网瘾专家”用药物和体罚治疗孩子玩游戏过度,只会让你永远失去你的孩子,不管他活着还是死着从“戒除网瘾中心”出来:他活着出来,你在他心中已经死了。
小邓,到天堂好好玩电脑游戏。天堂没有害你的“戒除网瘾中心”,因为那些人死后去另一个地方——地狱。
-
2009年08月02日
atl8.0中minicrt的bug - [O 学习]
7月3号晚上,刚出炉的XX木马专杀出现有史以来最严重的bug,现象为退出时报heap被破坏,于是....
- 约晚上12点:和bbc两人相互注释代码,试图确认可以破坏heap的任何缓冲区溢出可能
- 约凌晨4点:发现随机注释一部分代码后崩溃消失,两人平时写代码都算严谨,内存使用都极为谨慎,还是无法找到可能的溢出
- 约凌晨6点:两人崩溃了,bbc躺在沙发上睡觉,我继续调
- 7点过:用gflags.exe –p /enable xxx.exe跟踪堆使用异常,居然不崩溃了...然后发现在某个全局对象的构造里面产生一个First Chance,于是鬼使神差的跟进了一个crt函数,最终确定问题所在,傻眼了....
最终bug定位结果:
环境:Visual Studio 2005 sp1,Atl8.0,Minicrt
Bug表现:在单个模块内不支持16个以上的全局对象(16个尚可)
出现Bug的源文件:%ProgramFiles%\Microsoft Visual Studio 8\VC\atlmfc\src\atl\atlmincrt\atlinit.cpp
函数:int __cdecl atexit(_PVFV pf)
详细分析:从203行开始,atexit函数全文如下:
int __cdecl atexit(_PVFV pf)
{
size_t nCurrentSize;
int nRet = 0;
EnterCriticalSection(&g_csInit);
__try
{
if(__onexitbegin == NULL)
{
__onexitbegin = (_PVFV*)calloc(16,sizeof(_PVFV));
if(__onexitbegin == NULL)
{
LeaveCriticalSection(&g_csInit);
return(-1);
}
__onexitend = __onexitbegin;
}
nCurrentSize = _msize(__onexitbegin);
if((nCurrentSize+sizeof(_PVFV)) < ULONG(((const BYTE*)__onexitend-
(const BYTE*)__onexitbegin)))
{
_PVFV* pNew;
pNew = (_PVFV*)_recalloc(__onexitbegin, 2,nCurrentSize);
if(pNew == NULL)
{
LeaveCriticalSection(&g_csInit);
return(-1);
}
}
*__onexitend = pf;
__onexitend++;
}
__except (1)
{
nRet = -1;
}
LeaveCriticalSection(&g_csInit);
return(nRet);
}这个函数会被编译器编进所有全局对象的构造函数
__onexitbegin 和 __onexitend 两个指针指向的是一个数组,这个数组保存着所有全局对象的指针,可以看出第一次申请的内存足够放置16个对象。当申请第17个对象时,_recalloc函数有可能会将原来__onexitbegin指向的内存释放,返回给pNew。但是minicrt并没有将这个新指针重新赋给__onexitbegin,以及pNew加上已使用内存大小后的值赋给__onexitend。所以当第17个全局对象构造时,__onexitend指向的无效内存被写入了新内容,堆被破坏了
至此这个bug算是找出来了,在没办法修改crt的情况下,解决办法就只有把所有的全局对象改成指针,并不考虑回收,这样可以比较简单
找出bug来以后google了一下,发现这个bug的还比较少,只有在http://news.rsdn.ru/forum/atl/82885.1.aspx有一个俄罗斯人提到了这个问题,估摸着没人跟我这么变态,搞一堆全局对象来吧....

-
喜欢这首歌
但第一篇文章就提到它
并不是因为它的好听
而只是因为那一句——转眼又到北京的炎夏,什刹海又开满了荷花
连续下了几天暴雨
本来以为北京的夏天已经过去
今天的太阳又仿佛提醒着我们
夏天还没过去...真的是转眼
去年今日在珠海
刚刚做了决定的我
坐在情侣路的栏杆上
遥望大海
耐心的等待
今年今日在北京
忙得焦头烂额的我
躲在海淀一个又脏又乱的角落
盯着屏幕
幻想着未来G大调的悲伤
其实并不悲伤
当四季风景在我的窗前悬挂
人海涨落在我的心里变化
流转的时光
褪色的过往
岁月有着不动声色的力量







