Life & Code

代码是咒语,我是魔法师

2011年6月20日

坐等芒果系统

   无可否认,现在手机越来越像电脑,电脑越来越像手机.当两种系统越走越近的时候,开发者当然希望为电脑写的程序可以不用改动(或改动很少)就可以在手机上运行.就这一点,非常看好Windows phone7.5.这将是微软翻身的最好机会.   坐等芒果系统,学习WTL.

   很多人认为C++过时了,不愿意再花时间学习.我不这样认为,C++能在移动设备开发上,能唤起第二春. 在windows上用VS用久了,要换个系统,换个环境,学习代价太高了.

   一条路走到黑得了...

posted @ 2011-06-20 01:50 橙子 阅读(301) | 评论 (0)编辑 收藏

2010年12月23日

开闭原则

  “开闭”原则是指软件实体应当对添加开放对修改关闭。即软件实体应该在不修改的前提下扩展,这个原则实际上为软件设计指明了目标。我们知道软件设计应当充分考虑软件的可维护性,即需求发生变化的时候软件结构能够灵活地适应这种变化。就评价软件的可维护性而言,“开闭”原则提供了一个依据。

我们的模块众多真的是因为这个原因吗? 我不赞同.

一个优秀的软件首先应该是易于测试的.只有方便测试,才能快速的定位问题.

posted @ 2010-12-23 23:52 橙子 阅读(1168) | 评论 (0)编辑 收藏

2008年10月26日

100行代码去除QQ广告

为什么写这个: 
     1,像我这么爱干净的人,当然不能容忍和MM聊天的时候,看到一个内衣广告在上面一闪一闪,这不引诱老纳么;
     2,为什么不用其它外挂?珊瑚虫已S,再没用过其它。现有的外挂实现了一些我不想要的功能,看IP也没必要,聊天的都是熟人。另外,不知道它做了些什么事情;
     3,打发这个无聊的周末。

怎样实现:
     1,万能的HOOK

现在用到的是全局的SHELL HOOK,Hook的是窗口创建完成的消息;

    g_hShellHook = SetWindowsHookEx( WH_SHELL,
                (HOOKPROC)ShellHook,
                g_hInstance,
                
0);

 ShellHook 的实现如下:

static LRESULT CALLBACK ShellHook(UINT nCode, WPARAM wParam, LPARAM lParam)
{
    
if(nCode < 0)
        
goto CallOrg;
    
    
if( HSHELL_WINDOWCREATED == nCode )
    
{
        
if!isQQWnd( (HWND)wParam ) )
            
goto CallOrg;
        
        EnumChildWindows( (HWND)wParam, EnumChildProc, (LPARAM)
0 );
    }

    
CallOrg:
    
return CallNextHookEx( g_hShellHook, nCode, wParam, lParam);
}
 


在收到窗口创建后的消息时,就判断这个窗口是不是QQ的,这里用到了 GetWindowThreadProcessId ,它返回窗口相关的进程ID

BOOL isQQWnd(HWND hWnd)
{
    
if( g_pContext == NULL )
        
return FALSE;

    
if( g_dwQQProcessID == 0 )
        g_dwQQProcessID 
= GetQQProcessID();
    
    DWORD dwWndProcessID;
    
if( GetWindowThreadProcessId( hWnd, &dwWndProcessID ) == 0 )
        
return FALSE;
    
    
return dwWndProcessID == g_dwQQProcessID;

}


然后枚举它的子窗口,看它的子窗口有没有广告控件,有的话就给子控件发送个WM_CLOSE的消息.

BOOL CALLBACK EnumChildProc(HWND hwnd, LPARAM lParam  )
{
    DWORD dwID 
= GetDlgCtrlID( hwnd );
    
if( dwID == 0x3e9 )
    
{
        HWND hPrarent 
= GetParent( hwnd );
        PostMessage(hwnd, WM_CLOSE, 
00 );
        Sleep( 
10 );
        PostMessage(hPrarent, WM_PAINT, 
00 );
    }

    
else if( dwID == 0x643f )
    
{
        PostMessage(hwnd, WM_CLOSE, 
00 );
    }


    
return TRUE;
}

其中的两个硬编码是用 spy++ 分析出来的,可能因为版本的不同,会有差异。所以我不确定能不能关闭其它版本的QQ广告。我使用的版本是QQ2008贺岁版。

--------------------------------------------------------------------------

后记:
   尽管实现的技术很简单,但还是花了我大半天的时间. 写完之后觉得枚举子窗口的方式太低效, 或者还有其它高效点的方式。另外还有全局钩子,可能没有必要。如果下午周末持续无聊,我会尝试改进一下。

   QQ的聊天对话框很简单,不像MSN的对话框,铁板一块,用spy++啥都看不到.但是可以用 AccExplorer 分析.想在MSN的对话框上加点东西进去,实现起来很困难。对这方面有研究的同学不妨与我讨论一下实现,一起学习、进步。
      
   代码的行数没数,有效代码估计也就百把行吧,呵呵,我承认我是标题党。

附:   源代码 + bin

posted @ 2008-10-26 20:18 橙子 阅读(2549) | 评论 (10)编辑 收藏

2008年2月19日

把头文件全部导出的脚本

 

# -*- coding: cp936 -*-
import re
from   os.path  import dirname
import shutil
import os
pattern 
= '^#\s*include\s+(<)(.+)(>)(.*)$'
prog    
= re.compile(pattern)
find_sets 
= []


def create_dir(file_dir):
    
#print dirname(_dir);
    _dir = dirname(file_dir)
    
if not os.path.exists(_dir):
        os.makedirs(_dir)

def copyHeadFile(root_dir, src_path, des_path, deep = 0):
    
if((root_dir + src_path) in find_sets): 
        
return
    
ifnot os.path.exists(root_dir + src_path) ):
        
return
    
    create_dir(des_path 
+ src_path)    
    shutil.copyfile(root_dir 
+ src_path, des_path + src_path);
    find_sets.append(root_dir 
+ src_path)
    
    src_file 
= open(root_dir + src_path, 'r')
    
print ''.rjust(deep) + des_path + src_path
    
for line in src_file:
        
if  prog.search(line):
            line 
= re.sub('(^#\s*include\s+(<))|(>)(.*)$''', line)
            line 
= line.replace('/''\\')
            line 
= line.rstrip('\n')
            copyHeadFile( root_dir, line, des_path, (deep 
+ 4))
        
copyHeadFile(
"D:\\Program Files\\Microsoft Visual Studio 8\\VC\\include\\""stdafx.h""d:\\need_hpp\\" )


Python偶而玩玩也很爽。 这个脚本的来例:我写的demo用到了不少boost的东西,代码交给领导检查的时候,又不能把整个boost 都拷贝给他,这个脚本能把引用到的头文件导出到指定的目录里面。

posted @ 2008-02-19 22:06 橙子 阅读(441) | 评论 (4)编辑 收藏

2007年11月23日

日记

 

20071122星期四  下午729

 

外面已经一片7黑。室友H君还没回来,他怕一回来就玩游戏。我不怕玩游戏,一个人,在哪都一样,只喜欢安静。

一段音乐,一杯咖啡,一本书,一段代码,一个晚上。有点喜欢这种感觉了。

    乐心说得对,要对生活有要求。呵呵。 看来我的要求也不高。

 

上次星期公司新员工培训,内容是“我的五样”,“七个习惯”。我的五样,就是先写下自己最在乎的五样东西,然后在忧怨的音乐声中,一个一个的划去,只留下最后一个,以期帮你找到自己的目标。 我只写了三样,而且一样都没有划去,我觉得它们并不矛盾,而且那就是我生命的意义。想知道是哪三样吗? 嘿嘿,我可不告诉你。 接着就是《高效能人士的七个习惯》,这本书我早就看过电子版的,当时一边看一边想:这不就是说我的习惯吗?kao 讲课的老师水平一般,很能忽悠,还不如给我们放陈安之老师的成功学。一堂培训下来,也没什么长进,浪费我一下午的时间。完了之后,集体去楼下的西餐厅吃蛋炒饭,味道还不错。这个星期又有培训,也不知道能不能吃到好吃的蛋炒饭。

 

想想最近还有什么有趣的事。前天项目组搞每月一次的聚餐,我们一行八人,去了附近的一家小肥羊。涮涮涮,很开心。喝了白酒+啤酒。回到宿舍,晕呼呼的睡着了,没盖被子,结果睡着睡着,半夜里两鼻孔被堵起来了,难受,翻出一粒感康,服下,半梦半醒到天亮。

posted @ 2007-11-23 16:42 橙子 阅读(409) | 评论 (4)编辑 收藏

2007年11月14日

我是一只小青蛙,呱呱呱呱呱

今天是星期五,来广州那天是星期二,离开TW是上个星期五,离开SPL是上个星期二。离开SPL的时候,实在没有想到自己会在这个陌生的地方开始谋生。短短的十来天,变化的东西很多,而不变的只有一心想成为优秀的程序员的理想(我想,这也是变化的原因)。

为什么离开SPL

一、              呆了两年多,对外面的事物很好奇,有些东西,如果不身临其境的去体会,永远无法知道;

二、              真的想知道,一个大的项目是怎么被分割成很多小部分,然后有条不紊被执行,然后一次交付,然后有计划的升级、维护;

三、              不喜欢三天两头的为程序加新功能;

四、              不喜欢一个星期上六天班;

五、              不喜欢宿舍太吵,一两点钟还被关门的声音震醒;

六、              不喜欢技术没有进步,整天干同样的活(一个游戏天天玩通关,你还喜欢玩吗?);

七、              不喜欢一个人在战斗的时候,看着旁边的胖子偷懒,而且工资比你还高。

 

为什么离开TW

一、对烟厂的业务实在没有兴趣,做得好还好,做得不好,被开除了,我应该去干嘛?我可以去干嘛?当初花那么多时间去学习的东西,然后离开的时候,一无是处,是不是浪费自己的时间;

二、对工控不感兴趣;看着那些电气设备,我想自己如果在这行发展,不会比那个有电子和计算机双学位的同学更牛;

三、对带头大哥的技术水平感到失望,尤其是看了他写的代码之后,本来一个很简单的东西,经过他的手就变得异常复杂,还故作高深。整个程序充满了硬编码,而且把逻辑和界面混淆在一起;可能他做为带头大哥,在别的地方,如业务、工控方面有所建树,但是我对那些一点兴趣都没,我怎能强迫自己跟着你?

四、感觉不会有太大的长进,我一向认为写低级界面是体力活;

五、不喜欢在烟厂职工面前装孙子讨好他们,凭什么?我在SPL还是爷呢。

够了,做自己不喜欢的工作,就像出卖自己的灵魂。不如早点结束,趁自己有选择的能力。

 

辗转来到广州:

只所以在这待着是因为:

一、我喜欢系统底层,我以前就喜欢,只是没有时间去了解;

二、项目组的同事相处起来不错,没什么架子,很好交流;

三、广州和长沙的消费似乎差不多,而且这公司还答应包住,所以,每月能剩下的钱就多点了。

四、即便是被开除了,在广州这地,混个饭似乎也不难,如果没有虚度时光的话。这边IT公司挺多的;

五、趁着年轻,想出来见见世面(如果这也是理由的话);

 

自己做出的这些决定,放了一些人的鸽子,我向你们道歉,你们都是好人,我辜负了你们对我的信任,那是因为我的优柔寡断和性格上的其它缺陷引起的。这里提到的一些人被定义为:TWHRYM大哥,还有雨花亭的杨大哥。

HR在给我办入职的时候和我说:你不会做两三天就走人吧?我说:应该不会吧。可是我走了,为了我所谓的理想,我对不起你;

YM:我们最后一次分开时,我对你说:做这个主要是对业务的理解吧?你拍拍我的肩膀对我说:所以你要每天下车间去看看。我知道你是为我好,如你所说,在长沙找个这样的工作不容易。可这并不是我想要的生活,也许在将来的某天,我会后悔自己失去了一次稳定的机会,但,决不是现在。再次向你说声对不起。

雨花亭的杨大哥:准备和你合租房子的前一天,我离开长沙了,所以你的鸽子不得不放。

      

想起来是自己的不对,就觉得挺难过,而且从心里开始BS自己,如果你看到这些,也请BS一下我,让我能在你BS的眼神中吸取教训,如果下次有类似的事情,会处理得好。 写着写着就觉得有些压抑,而我也不知道怎样才能不压抑些。

      

       放一些图片吧,作为记录,而这一切,都已经是回忆。

posted @ 2007-11-14 18:43 橙子 阅读(1216) | 评论 (2)编辑 收藏

2007年8月9日

改变应用程序的图标

今天发生一件有趣的事情,我要为程序换个图标..

程序有很多ICO资源,例如  ICO_1,ICO_2,ICO_3,ICO_4....
我新增了一个APP_ICO(程序图标要换成这个). 我把以前的图标删了,然后ID改为以前那个,可是ReBuild之后,程序图标竟然是 ICO_1。很奇怪。

找了半天,发现ICO_1的ID值是最小的。于是我把APP_ICO的ID值改为最小。Rebuild.终于把程序图标给换了过来。

posted @ 2007-08-09 18:40 橙子 阅读(658) | 评论 (0)编辑 收藏

2006年12月13日

搜索内存取得QQ号码

这样的帖子,不知道可不可以放到首页..如果不行,麻烦管理员清理. 谢谢.

HANDLE GetQQProcess();
bool  SeachQQNumber(HANDLE _hProcess, string   & strQQ);
int  _tmain( int  argc, _TCHAR *  argv[])
{
    HANDLE hProces 
=  GetQQProcess() ;
    
if (hProces ==  NULL)
        cout 
<< " No run QQ! " << endl;

    
string  strQQ;
    SeachQQNumber(hProces,strQQ);
    cout 
<< strQQ << endl;
    system(
" pause " );
    
return   0 ;
}


bool  SeachQQNumber(HANDLE _hProcess,  string   & strQQ)
{
    SuspendThread(_hProcess);
    
    DWORD dwBaseAddress; 
    MEMORY_BASIC_INFORMATION mbi;
    
char   process_mem[ 4096 =   { 0 } ;
    DWORD number_of_bytes_read 
=   0 ;
    SYSTEM_INFO si; 
    GetSystemInfo(
& si);
    dwBaseAddress 
=  (DWORD)si.lpMinimumApplicationAddress; 
    
while (dwBaseAddress  <  (DWORD)si.lpMaximumApplicationAddress) 
    

        mbi.BaseAddress 
=  (LPVOID)dwBaseAddress; 
        VirtualQueryEx(_hProcess, (LPVOID)dwBaseAddress, 
& mbi,  sizeof (mbi));
        dwBaseAddress 
=  (DWORD)mbi.BaseAddress  +  mbi.RegionSize; 
        
if (mbi.State  !=  MEM_COMMIT  ||  mbi.AllocationProtect  !=  PAGE_READWRITE)  // 跳过未分配或不可读写的区域 
        
            
continue
        }
 
        
        
// 搜索
         for (DWORD i  =  (DWORD)mbi.BaseAddress; i  <  dwBaseAddress; i += 4096 )
        
{
            
if ( ! ReadProcessMemory(_hProcess,LPCVOID(i),process_mem, 4096 , & number_of_bytes_read))
                
break ;            
            
for ( int  j = 0 ;j < 4096   -   9 ;j ++ )
            
{
                
if ( ! memcmp( & process_mem[j], " \\MsgEx.db " , 9 ) )
                
{
                    
// printf("begin\n");
                     for ( int  k = j - 1 ; k  >  j - 12 ; k -- )
                    
{
                        
if (process_mem[k]  >=   ' 0 '   &&  process_mem[k]  <=   ' 9 ' )
                        
{
                            strQQ 
=   process_mem[k]  +  strQQ;
                        }

                        
else
                            
break ;
                    }

                    
if (strQQ.length())
                    
{
                        ResumeThread(_hProcess);
                        
return   true ;
                    }
            
                }

            }

        }

    }

    ResumeThread(_hProcess);
    
return   false ;
}



HANDLE GetQQProcess()
{
    PROCESSENTRY32 pe;
    pe.dwSize 
=   sizeof (PROCESSENTRY32);
    HANDLE hSnapshot 
=  CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,  0 );
    Process32First(hSnapshot, 
& pe);
    
do {
        
if ( ! _tcsicmp(pe.szExeFile,_T( " qq.exe " )))
        
{
            CloseHandle(hSnapshot);
            
return  OpenProcess(PROCESS_ALL_ACCESS,FALSE,pe.th32ProcessID);
        }

        pe.dwSize 
=   sizeof (PROCESSENTRY32);
    }
while (Process32Next(hSnapshot,  & pe));
    CloseHandle(hSnapshot);
    
return  NULL;
}

posted @ 2006-12-13 00:36 橙子 阅读(1799) | 评论 (6)编辑 收藏

boost::filesystem的文件遍历

 

#include  " boost/filesystem/operations.hpp "
#include 
" boost/filesystem/path.hpp "
#include 
< iostream >
using   namespace  std;
namespace  fs  =  boost::filesystem;

void  PrintAllFile(fs::path  & full_path);



int  main(  int  argc,  char *  argv[] )
{

    fs::path full_path( 
" D:\\ "  ,fs::native);
    PrintAllFile(full_path);
}

void  PrintAllFile(fs::path  & full_path)
{
 
if (fs::exists(full_path))
 
{
  fs::directory_iterator item_begin(full_path);
  fs::directory_iterator item_end;
  
for ( ;item_begin   !=  item_end; item_begin ++ )
  
{
   
   
if (fs::is_directory( * item_begin))
   
{
    cout 
<< item_begin -> native_file_string() << " \t[dir] " << endl;
    PrintAllFile(
* item_begin);
   }

   
else
   
{
    cout 
<< item_begin -> native_file_string() << endl;
   }

  }

 }

}

posted @ 2006-12-13 00:29 橙子 阅读(5964) | 评论 (3)编辑 收藏

FTP扫描器(纯娱乐)

     摘要: #include  " stdafx.h " #include  < iostream > #include  " ace/INET_Addr.h " #include  ...  阅读全文

posted @ 2006-12-13 00:19 橙子 阅读(1619) | 评论 (1)编辑 收藏

2006年11月22日

近况

最近工作比较闲. 因此看了一些书,一些电影.

<设计模式>开始看第二遍.. 感觉实际开发中用不着.. 来公司一年多,项目实在少.真想找个高人带着我乘风破浪..不说乘风破浪,平时有个人讨论都好.
看了一会儿<wxWidgets>. 随便一个对话框程序都占了几M内存,文件牛大..算了. 跨平台现在还用不着,放弃.
看了一会儿<病毒入门>.汇编看得想死..罗云彬老师的Win32汇编书写得像个<Window程序设计>的翻版.
看了一会儿<Python>. .现在的开发用不着.. 屠龙之技.
昨天发现用Flash做界面真是好. 又漂亮又简单, 现在的Flash8.0可以很好的和本地程序交互了. 感觉是黑暗中的明灯.

看名字叫<越狱>的电影. 觉得外国连续剧可看性很高..T-Bag是只打不死的小强. 麦克.Scofield真牛. 外国政治也黑暗. 外国监狱真好.  司法制度真体帖.

觉得自己会用的形容词很少.尽是些 "真","很","好"

哈哈.

这周末王斌和周芬结婚了. 我要回家参加他们的婚礼. 心情有些许复杂. 难以名状. . 尽管如此,我还是要给他们献上杨某人最诚挚的祝福. 无论如何,一定要幸福.

posted @ 2006-11-22 23:08 橙子 阅读(485) | 评论 (2)编辑 收藏

2006年11月7日

<瓶中时光>.摘自<菊花香>

如果我能存时间入瓶    我最想做的事情   就是保存每个日子    直到我们老去 

只为能与你再次共度  如果我能让时光永驻  我会珍藏每个日子  然后  再一次  与你共度

你找到你想做的事情时  却总是发现  已没有足够时间   我历经寻寻觅觅  才发现

你就是那个  我愿共度一生的人  如果我有盒子 盛着从未实现的梦与希望

那么它将会空荡荡  除了那些  你为我圆梦的记忆

posted @ 2006-11-07 11:46 橙子 阅读(313) | 评论 (0)编辑 收藏

2006年10月27日

失眠

 一大早醒来,想了很多. 睡不着.

不能再玩游戏了.希望部门的技术氛围能浓一些, 在一起,不是讨论游戏,而是讨论技术.

玩了这么些年游戏,得到了什么,失去了什么.不想再作追究.只是不想再为了它失去一些宝贵的东西,譬如时间.
 

posted @ 2006-10-27 06:47 橙子 阅读(305) | 评论 (0)编辑 收藏

2006年10月25日

<Dive Into Python>节选.

例 7.14. 处理开始字符

				
...
>>> phonePattern = re.compile(r'^\D*(\d{3})\D*(\d{3})\D*(\d{4})\D*(\d*)$') 1 >>> phonePattern.search('(800)5551212 ext. 1234').groups() 2 ('800', '555', '1212', '1234')
>>> phonePattern.search('800-555-1212').groups() 3 ('800', '555', '1212', '')
>>> phonePattern.search('work 1-(800) 555.1212 #1234') 4
>>>
1 这个正则表达式和前面的几乎相同,除了在第一个记忆组(区号)前面匹配\D*,0或者多个非数字字符。注意,此处你没有记忆这些非数字字符(他们没有被括号括起来)。如果你发现他们,只是跳过他们,接着只要匹配上就开始记忆区号。
 2 你可以成功的解析电话号码,即使在区号前面有一个左括号。(在区号后面的右括号也已经被处理,它被看成非数字字符分隔符,由第一个记忆组后面的 \D*匹配。)
 3 进行仔细的检查,保证你没有破坏前面能够匹配的任何情况。由于首字符是完全可选的,这个模式匹配字符串的开始,接着是0个非数字字符,接着是一个有三个数字字符的记忆组(800),接着是1个非数字字符(连字符),接着是一个有三个数字字符的记忆组(555),接着是1个非数字字符(连字符),接着是一个有四个数字字符的记忆组(1212),接着是0个非数字字符,接着是一个有0个数字位的记忆组,最后是字符串的结尾。
 4 此处是正则表达式让我产生了找一个硬东西挖出自己的眼睛的冲动。为什么这个电话号码没有匹配上?因为在它的区号前面有一个 1,但是你认为在区号前面的所有字符都是非数字字符(\D*)。 Aargh.

posted @ 2006-10-25 10:17 橙子 阅读(353) | 评论 (0)编辑 收藏

2006年10月24日

罗马字母

<载自:Dive Into Python>

你可能经常看到罗马数字,即使你没有意识到他们。你可能曾经在老电影或者电视中看到他们(“版权所有 MCMXLVI” 而不是 “版权所有1946”),或者在某图书馆或某大学的贡献墙上看到他们(“成立于 MDCCCLXXXVIII”而不是“成立于1888”)。你也可能在某些文献的大纲或者目录上看到他们。这是一个表示数字的系统,他能够真正回溯到远古的罗马帝国(因此而得名)。

在罗马数字中,利用7个不同字母进行重复或者组合来表达各式各样的数字。

  • I = 1
  • V = 5
  • X = 10
  • L = 50
  • C = 100
  • D = 500
  • M = 1000

下面是关于构造罗马数字的一些通用的规则的介绍:

  • 字符是叠加的。 I表示1, II表示2, 而III表示3. VI 表示 6 (字面上为逐字符相加, “51”), VII 表示 7, VIII 表示 8.
  • 能够被10整除的字符(I, X, C, 和 M)至多可以重复三次. 对于4, 你则需要利用下一个最大的能够被5整除的字符进行减操作得到,你不能把4 表示成 IIII; 而应表示为 IV (比“51”)。数字40写成XL (比5010), 41 写成 XLI, 42 写成 XLII, 43 写成 XLIII, 而 44 写成 XLIV (比5010, 然后比51).
  • 类似的,对于数字 9,你必须利用下一个能够被10整除的字符进行减操作得到: 8 表示为 VIII, 而 9 则表示为 IX (比101), 而不是 VIIII (因为字符I 不能连续重复四次)。数字90 表示为 XC, 900 表示为 CM.
  • 被5整除的字符不能重复。数字10 常表示为X, 而从来不用VV来表示。数字100常表示为C, 也从来不表示为 LL.
  • 罗马数字经常从高位到低位书写,从左到右阅读,因此不同顺序的字符意义大不相同。DC 表示 600; 而CD 是一个完全不同的数字(为400, 也就是比500100). CI 表示 101; 而IC 甚至不是一个合法的罗马字母(因为你不能直接从数字100减去1; 比需要写成XCIX, 意思是 比10010, 然后加上数字9,也就是比 101的数字).
注意
本章译者注:“被5整除的数”这个译法并不严谨,因为所有被10整除的数也能够被5整除,此处表达的含义是:那些包含有5的含义的罗马数字字符。

posted @ 2006-10-24 09:52 橙子 阅读(2439) | 评论 (0)编辑 收藏

2006年10月20日

ACE_Rector + UDP 报错. .

 

#include  " stdafx.h "
#include 
" ace/OS_NS_time.h "
#include 
" ace/Log_Msg.h "
#include 
" ace/Reactor.h "
#include 
" ace/Event_Handler.h "
#include 
" ace/INET_Addr.h "
#include 
" ace/SOCK_Dgram.h "
#include 
" ace/TP_Reactor.h "
#include 
" ace/WFMO_Reactor.h "

class  ClientRecv :  public  ACE_Event_Handler
{
public :
    
virtual   ~ ClientRecv () {}

    
int  open ( const  ACE_INET_Addr  & bind_addr);

    
//  Get this handler's I/O handle.
     virtual  ACE_HANDLE get_handle ( void const
    
return   this -> udp.get_handle(); }

    
virtual   int  handle_input (ACE_HANDLE fd  =  ACE_INVALID_HANDLE);

    
//  Called when this handler is removed from the ACE_Reactor.
     virtual   int  handle_close (ACE_HANDLE handle,
        ACE_Reactor_Mask close_mask);
    
    ACE_SOCK_Dgram udp;
}
;


int
ClientRecv::open (
const  ACE_INET_Addr  & bind_addr)
{
    
if  ( this -> udp.open (bind_addr,  1 ==   - 1 )
        ACE_ERROR_RETURN ((LM_ERROR,
        ACE_TEXT (
" %p\n " ),
        ACE_TEXT (
" udp.open " )),
        
- 1 );
    
    
return   this -> reactor () -> register_handler
        (
this , ACE_Event_Handler::READ_MASK );
}



int  
ClientRecv::handle_close (ACE_HANDLE handle,
                          ACE_Reactor_Mask close_mask)
{
    
if  (close_mask  ==  ACE_Event_Handler::WRITE_MASK)
        
return   0 ;
    close_mask 
=  ACE_Event_Handler::ALL_EVENTS_MASK  |
        ACE_Event_Handler::DONT_CALL;
    
this -> reactor () -> remove_handler ( this , close_mask);
    
this -> udp.close();
    delete 
this ;
    
return   0 ;
}


int  
ClientRecv::handle_input (ACE_HANDLE fd )
{
    
char   buffer[ 8192 =   { 0 } ;
    ACE_INET_Addr  peer_addr;
    
if ( - 1   ==   this -> udp.recv(buffer, 8192 ,peer_addr))
        ACE_ERROR_RETURN ((LM_ERROR,
        ACE_TEXT (
" %p\n " ),
        ACE_TEXT (
" udp.recv " )),
        
- 1 );
    
    ACE_DEBUG((LM_INFO,
" %s\n " ,peer_addr.get_host_addr()));
    
return   0 ;
}


DWORD WINAPI LoopThread(LPVOID lparam)
{
    ACE_Reactor::instance ()
-> run_reactor_event_loop ();
    
return    0 ;
}


int  _tmain( int  argc, _TCHAR *  argv[])
{
    ACE_INET_Addr bind_addr(
10703 );
    ClientRecv  client;
        client.reactor(ACE_Reactor::instance ());  
    
if ( - 1   ==  client.open(bind_addr))
    
{
        
return   - 1 ;
    }

    
    CreateThread(NULL,NULL,LoopThread,
0 , 0 , 0 );
    ACE_INET_Addr send_addr;
    
for ( int  i = 1024 ;i < 3333 ;i ++ )
    
{
        ACE_DEBUG((LM_INFO,
" %d \n " ,i));
        send_addr.
set (i, " 192.168.3.147 " );
        Sleep(
5000 );
        
if (client.udp.send( " ttt " , 3 ,send_addr)  ==   - 1 )
        
{
            ACE_DEBUG((LM_INFO,
" %p " ));
            
break ;
        }

    }

    system(
" pause " );
    ACE_Reactor::instance ()
-> end_reactor_event_loop ();
    
return   0 ;
}




报错: 
udp.recv: connection reset 
p?: handle is not a socket 

莫非反应器只能用于TCP? , 没办法,先用WSAAsyncSelect吧。

posted @ 2006-10-20 10:10 橙子 阅读(944) | 评论 (0)编辑 收藏

2006年10月9日

<<回你身边>> -- 南拳妈妈

 

火车慢慢地往前
烟雾弥漫着思念
缠绕一圈又一圈
沉默的我睁开眼
看着窗外的蓝天
窗中的我在流泪
越过你曾说的田
种满了向日葵
突然哽咽一切一切
我多想回你身边
乘坐着旋转木马的乐园
看幸福转动得多么甜
我多想回你身边
走过最初相遇的地点
好让我再从头复习一遍

我早已没有感觉
如果想你多一天
就会伤我多一些
抛开了所有时间
让自己心情沉淀
好能飞出这世界
越过你曾说的田
种满了向日葵
我的眼泪抵不去从前
no

posted @ 2006-10-09 19:21 橙子 阅读(287) | 评论 (0)编辑 收藏

2006年10月8日

放假的最后一天

稀里糊涂的过完了七天。今天下午杰毛粒和他们家的香客发生争执,生猛的香客把杰毛粒的眼睛踢伤了;文鸡上午摩托车被撞了。害我晚上提心吊胆,生怕自己会有什么不测(我们三个同年同月同日生)。还好,现在能写下这些文字,就证明我什么事都没有。

晚上去吃铁板烧,王斌和个蒙古大夫一样,点了很多东西,吃又吃不完。

因为帮侄女配电脑,认识了一个叫刘昕的可爱小MM。

posted @ 2006-10-08 09:51 橙子 阅读(303) | 评论 (0)编辑 收藏

2006年10月5日

放假的第一天

今天7点半起床,到火车站8点,坐车到南站9点。南站人山人海。估计了一下, 排队要排半个小时,然后买张下午的票,再然后傍晚的时候回家。一天就毁了。毅然离开,坐了到暮云的车,在大托收费站下车,等了一会儿,就有一辆到南岳的中巴过来了。好happy的上了车。到家12点。

下午去见了几个朋友:杰毛粒做生意,忙得不行。灰老鼠在家砌房子。然后,我们一起去了自由地带吃东西。王斌过了一会儿也来了。吃完东西,帮灰老鼠的哥哥看电脑,原来电脑被流氓强X了,下了个超级兔子,解决问题,闪人。去伯伯家看爷爷。爷爷不在家,帮小红姐看电脑,电脑被流氓强X了,下了个超级兔子,除了中文上网,雅虎助手两个大流氓没赶跑,其它的都赶跑了。闪人。。。不知道闪到哪去,回家补睡。

晚上睡醒,去莉施剪了个头发。看到赵尉和她同学竟然也在洗头发,还带了个很PP的洋妞。剪完头发,打了个电话给猴子,喝了一厅可乐,看了一会儿街,我们决定去吃烤鱼。打了电话给徒弟,徒弟跟个精武馆的弟子约会,接了徒弟过来吃东西。转眼到十点。吃完东西,我决定去上网,在网上和希希讨论什么是BF。下线。吃了碗饺子,饺子店老板很面熟,名字好像叫荷花。

骑着小绵羊转了几圈,冷,回家。听了无数次《全世界失眠》,打开电脑,记下今天做了什么事情。万一失忆了,凭着这些,兴许会记起点什么。

posted @ 2006-10-05 14:03 橙子 阅读(297) | 评论 (0)编辑 收藏

2006年9月19日

<<飞逝的雄鹰>> 秘鲁民歌

《El condor pasa》 是一首反抗西班牙殖民者的南美秘鲁民歌,后被Paul Simon重唱组改编,用英文翻唱。这首旋律已经被列入联合国世界文化遗产了.宁静,深邃,高远. 让人心境明澈,是不可多的的优秀作品.

El Condor Pasa的原版据传是基于秘鲁自由战士Tupac Amaro的故事。1780年,他在领导一场反抗西班牙人的起义中被害,死后变成一只Condor,永远翱翔于安第斯山上。秘鲁人民暨此体现对自由的追求不息,而歌名的直译就是"雄鹰在飞"。



I\'d rather be a sparrow than a snail
Yes I would, if I could, I surely would, hm-m
I\'d rather be a hammer than a nail
Yes I would, if I only could, I surely would, hm-m



Away, I\'d rather sail away
Like a swan that\'s here and gone
A man gets tied up to the ground
He gives the world its saddest sound
Its saddest sound



I\'d rather be a forest than a street
Yes I would, if I could, I surely would
I\'d rather feel the earth beneath my feet
Yes I would, if I only could, I surely wou


下载

posted @ 2006-09-19 00:55 橙子 阅读(538) | 评论 (0)编辑 收藏

2006年9月17日

真的是随笔

找男朋友了.


今天在步行街吃了一碗酸辣粉+两串鱿鱼, 麻得不行, 好像是胃在疼了. 我亲爱的胃,我向你保证,下次再也不吃 酸辣粉+两串鱿鱼了.

posted @ 2006-09-17 21:47 橙子 阅读(215) | 评论 (0)编辑 收藏

2006年9月13日

生成的小程序的技巧

A:
t _tmain(int argc, _TCHAR* argv[])
{

 typedef 
int (WINAPI *myMsg)( IN HWND hWnd,IN LPCSTR lpText, IN LPCSTR lpCaption,IN UINT uType);
 HANDLE m_hDLL 
= ::LoadLibrary("user32.dll");
 myMsg msg 
= (myMsg)GetProcAddress((HMODULE)m_hDLL, "MessageBoxA"); 
 (
*msg)(NULL,"TEST","TEST",0);
 
 
return 0;
}

B:
int _tmain(int argc, _TCHAR* argv[])
{
    MessageBoxA(NULL,
"test","test",0);
    
return 0;
}



A生成的exe 的大小  < B

posted @ 2006-09-13 17:41 橙子 阅读(319) | 评论 (0)编辑 收藏

2006年9月8日

<蜥蜴>

韩片.

想起男主角用鞋带将女主角绑在凳腿上的那幕,就差没感动得掉眼泪.

posted @ 2006-09-08 09:47 橙子 阅读(221) | 评论 (0)编辑 收藏

2006年9月6日

我生病了

今天我生病了,好像是吃了什么坏东西,肚子不舒服。请了半天假在寝室睡觉。回想吃过的东西,早上面包,昨晚盒饭。前几天还开玩笑说,肚子疼不是我疼,我爱吃什么就吃什么。现在可好。


不喜欢住宿舍。一是因为没有自己的空间,二是因为最近又不能上网了。 隔壁宿舍把电脑当二手卖了,所以,他们也不关心能不能上网。可苦了我。

因为肚子不舒服,把我塞给它的东西都留着不消化,呕吐完,纳闷:我中午没吃什么呀,怎么能吐这么多。肚子呀肚子,你可真历害。

睡了一觉起来,头晕晕的。我应该去吃点容易消化的东西。

... ...

 

posted @ 2006-09-06 09:10 橙子 阅读(267) | 评论 (0)编辑 收藏

2006年8月31日

ACE_NT_Service

#include  " ace/Singleton.h "
#include 
" ace/Mutex.h "
#include 
" ace/Event_Handler.h "
#include 
< ace / NT_Service.h >
#include 
< ace / Log_Msg.h >

#include 
< iostream >
using   namespace  std;

class  MYService: public  ACE_NT_Service
{
    
bool  m_stop;
public :
    MYService():ACE_NT_Service(
" MyACEService_4 " , 0 ,ACE_NT_SERVICE_START_TIMEOUT,
            SERVICE_WIN32_OWN_PROCESS 
|  SERVICE_INTERACTIVE_PROCESS),m_stop( false ) {
        }

    
virtual   int  svc ( void );
    
virtual   void  handle_control (DWORD control_code);
    
virtual   ~ MYService() {}
}
;

typedef ACE_Singleton
< MYService, ACE_Mutex >  SERVICE;

int  MYService::svc ( void )
{
    report_status (SERVICE_RUNNING);
    
while ( ! m_stop)
    
{
        Sleep(
2000 );
        MessageBox(NULL,
" aaa " , " error " , 0 );
    }

    
return   0 ;
}


void  MYService::handle_control (DWORD control_code)
{
    
if  (control_code  ==  SERVICE_CONTROL_SHUTDOWN
        
||  control_code  ==  SERVICE_CONTROL_STOP)
    
{
        report_status (SERVICE_STOP_PENDING);
        m_stop 
=   true ;
    }

    ACE_NT_Service::handle_control (control_code);
}


ACE_NT_SERVICE_DEFINE (MyACEService_4,
                       MYService,
                       ACE_TEXT (
" MyACEService_4 " ));

int  main( int  argc, _TCHAR *  argv[])
{
    
    ACE::init ();
    ACE_NT_SERVICE_RUN (MyACEService_4,
        SERVICE::instance (),
        ret);
    
    ACE::fini ();

/*     安装服务
         ACE::init ();
    SERVICE::instance()->insert();
    ACE::fini ();
*/

    
return   0 ;
}


posted @ 2006-08-31 09:15 橙子 阅读(1482) | 评论 (2)编辑 收藏

2006年8月30日

ACE的内存管理

     摘要: 分配器 描述 ACE_Allocator ACE中的分配器类的接口类。这些类使用继承和动态绑定来提供灵活性。 ACE_Static_Allocator 该分配器管理固定大小的内存。每当收到分配内存的请求时,它就移动内部指针、以返回内存chunk(“大块”)。它还假定内存一旦被分配,就再也不会被释放。 ACE_Cached_Allocator 该分配器预先分配内存池,其中含有特定数...  阅读全文

posted @ 2006-08-30 14:43 橙子 阅读(2320) | 评论 (0)编辑 收藏

2006年8月21日

买了新书

《设计模式》
《ACE卷二》
《OOD》
《Effectivec++》第三版
早一段时候看《道法自然-面向对像》,看到后面几章看不下去了,通篇的设计模式。没折,我得好好补上这珍贵的一课。 今天看到第一个模式,抽象工厂。

星际不玩了,每天中午和同事打帝国时代。:)很多人哦。
晚上也不知道玩什么才好。玩了一会极品飞车,老是最后一名,真没劲。

最近没有IE了,换了一个新的浏览器. "Opera", 挺方便的,看起来也大方.  按住右键摇两下,页面就关闭了,很适合我这样的懒人.你不知道每天找小XX,关闭窗口,得浪费我多大力气.  真方便呀真方便.

posted @ 2006-08-21 23:01 橙子 阅读(335) | 评论 (0)编辑 收藏

爆笑武侠

“咦?兄台,在下有一事不知道当问不当问?”   “嗯……有什么事,老兄你尽管说。咱们江湖兄弟不必那么文绉绉的,直接点。”   “好!兄台果然是爽快之人!我想问的是:兄台是不是河北神腿门的弟子?”   “嗯……正是!不知道老兄怎么知道的?”   “呵呵,我看兄台这蹲马步的姿势--双脚脚尖微微向内,双腿的膝盖却向外,小腿与大腿之间的角度成一直角,上身前倾,这便是河北神腿门的基本功嘛。”   “哈哈,老兄好眼力!嗯……不知道老兄是哪个门派的啊?”   “说起来咱们算是本家。”   “哦?”   “我是唐山地趟门的。三十年前,咱们本是一家,都属于神腿门。后来你们神腿门的老掌门沈半城过世之后,他的儿子接管了神腿门,他的侄子沈公子离开神腿门开创了唐山地趟门。”   “嗯……原来如此,怪不得看老兄你蹲马步的姿势跟我差不多呢。嗯……”   “呵呵,我蹲的姿势和兄台还是有些区别的。神腿门注重的练腿的力量,我们地趟门练的是轻巧,所以我们蹲马步和你们有一点不同,我们的双脚不是平行的,而是一脚微微在前,一脚微微在后,为以后的[急行花步]打基础。”   “哈哈,看来老兄是悟性很高的高手啊。嗯……俺是个粗人,不管这些,只管苦练。嗯……”   “呵呵,兄台过奖了!悟性是一方面,苦练才是最重要的啊!”   “嗯……”   “嗯……嗯……”   “蹲茅房能遇你这样一个知已,真的很开心!……嗯……”   “我也是……嗯……”

posted @ 2006-08-21 22:43 橙子 阅读(250) | 评论 (0)编辑 收藏

2006年8月4日

回家前夜

一年一度的鬼节,按我们家乡的说法,每年这个时候,先人就会趁着鬼门关开着,来家里做客. 而我们这些后人就准备好香火纸钱供奉. 今年我在长沙,离家不是很远.家人打电话要我回家,就为这事. 
我要请两天假. 当时BOSS正在看SOFTICE,看都没看请假条,签了名,啥也没问,以至于准备好的请假词汇打了水漂.

在看电影的时候收到一个短信,来自康荣,内容触目惊心,原文如下:
杨其屋里跟别个打架,杨某给别人砍了!现在在派出所. 你姐夫肖军也来了.我还不懂为什么事打架.

随即回了个电话,他说杨旗在医院,我说明天上午回去.

回去再看看是怎么回事.

往昔与他共渡的日子,历历在目.上次见他是刘杰结婚,他喝了个烂醉,抓住刘杰乱说胡话.现在他在医院.. 我应该怎么办? 上次打架都是三年前的事情了.  小时候天不怕地不怕,一个混混欺负我, 我回家拿了菜刀,用报纸包着,插在腰间..   现在的我,每天坐在电脑前码字的我,还能回去吗? 我不知道.

一晚吧,明天早班车回家.

posted @ 2006-08-04 03:28 橙子 阅读(301) | 评论 (0)编辑 收藏

2006年7月18日

错误: use of undefined type 'boost::STATIC_ASSERTION_FAILURE'

在编绎BOOST::Serialization 例子的时候,遇到的错误.

    // if your program traps here, it indicates taht your doing one of the following:
    // a) serializing an object of a type marked "track_never" through a pointer.
    // b) saving an non-const object of a type not markd "track_never)
    // Either of these conditions may be an indicator of an error usage of the
    // serialization library and should be double checked.  See documentation on
    // object tracking.

解决:
BOOST_CLASS_TRACKING(MyClass, boost::serialization::track_never)

posted @ 2006-07-18 10:20 橙子 阅读(1356) | 评论 (0)编辑 收藏

2006年7月5日

工作一年整

做个记号!

太晚了. 明天再写.

posted @ 2006-07-05 01:41 橙子 阅读(279) | 评论 (0)编辑 收藏

2006年6月29日

乐心

乐心真是个才女,还会呤诗

无题
    昨夜又去互动,
   盒饭基本没动。
   坐好不许乱动,
   累得不想再动。

好诗,好诗..

我决定好好向她学习.

posted @ 2006-06-29 22:46 橙子 阅读(265) | 评论 (0)编辑 收藏

2006年6月28日

在公司过夜

因为宿舍停电,热得要S,又要爬十七楼.所以昨天留在公司里了.

发哥和石英男在玩魔兽,我本来是等他们玩完,再一块回去的.没想到他们玩到两点钟.于是我就躺在沙发上睡着了.

因为没有枕头,所以一起来,脖子有点不舒服..酸酸的. 加上一晚上冷气都开着,一晚上都觉得冷,一晚上都没睡好.

下楼去买早餐了. ..

posted @ 2006-06-28 08:39 橙子 阅读(259) | 评论 (0)编辑 收藏

2006年6月27日

三张壁纸

2901_04.jpg

2901_09.jpg

1631200_472733.jpg

posted @ 2006-06-27 00:25 橙子 阅读(267) | 评论 (0)编辑 收藏

2006年6月26日

很不幸, 又失眠了

今天白天只睡一小会阿. 怎么又睡不着了. 

晚上的菜好像放了不少盐,睡着睡着爬起来喝水.   一点睡意都没阿.  明天上班又要犯困了. 决定明天去买个牛奶.  睡前给喝一杯,也不知道管不管用. 

临睡前吼一声: 让我的健美的身材都长满肥肉吧!!!(,减肥计划失败,,泡不到妞了)

啥P事都没有. 也不知道写些什么..

认真睡觉才是王道阿.. 不JJYY了.  .

posted @ 2006-06-26 02:32 橙子 阅读(305) | 评论 (1)编辑 收藏

远程线程插入,获得其它进程ListCtrl信息

     摘要: 因为进浩方玩星际,每次都要挤房间,所以做了一个挤房间的小工具.VC7.1 工程下载关键代码如下:   1 typedef  struct  _remoteparameter   2 {     ...  阅读全文

posted @ 2006-06-26 02:07 橙子 阅读(1033) | 评论 (0)编辑 收藏

2006年6月22日

<转帖> 小蛆找妈妈

暖和的春天来了,万物都苏醒了。苍蝇妈妈睡了一个冬天,也醒来了。她从泥洞里爬出来,嗡嗡的飞到厕所里,在大便上生下了很多黑黑的、圆圆的卵。
   春风轻轻地吹过,太阳光照着。厕所里的粪水越来越暖和了。苍蝇妈妈下的卵慢慢地都活动起来,变成一群又白又胖的蛆,它们在粪水里游来游去,非常快乐。
   有一天,蛲虫妈妈带着她的孩子到化粪池中来游水。小蛆们看见小蛲虫跟着妈妈在水里划来划去,它们一起游到蛲虫妈妈身边,喊: “妈妈!妈妈!”
   蛲虫妈妈说道:“我不是你们的妈妈。我是小蛲虫的妈妈。”小蛆们问蛲虫妈妈:“蛲虫妈妈,蛲虫妈妈,您看见过我们的妈妈吗?请您告诉我们,我们的妈妈是什么样的呀?”
   蛲虫妈妈回答说:“看见过。你们的妈妈和你们长得不一样,你们自己去找吧。”说着,急急忙忙地和它的孩子们游走了。
   “谢谢您,蛲虫妈妈!”小蛆们高高兴兴地向前游去。
   这时,一条蛔虫游过来了。小蛆们看见蛔虫和它们长得不像,它们想一定是妈妈来了,追上去喊妈妈:“妈妈!妈妈!”
   蛔虫笑着说:“我不是你们的妈妈。我是小蛔虫的妈妈。你们的妈妈有六条腿,到前面去找吧!”
   “谢谢您啦!蛔虫妈妈!”小蛆们再向前游去。
   一只蚊子飞过来了。小蛆们看见蚊子有六条腿,心里想:这回真的是妈妈来了。就追上去喊:“妈妈!妈妈!”
   蚊子笑着说:“我不是你们的妈妈。我是小蚊子的妈妈。你们的妈妈长的胖胖的,到前面去找吧。”
   “谢谢您啦!蚊子妈妈!”小蛆们再向前游去。
   蹲坑边一只屎壳郎“哼哼”地叫着,推着粪走了过来。小蛆们看见屎壳郎长的胖胖的也长着六只脚,高兴地想:这回可真的找到妈妈了。追了上去,连声大喊:“妈妈!妈妈!”
   屎壳郎笑着说:“小朋友,你们认错了。我不是你们的妈妈,我是小屎壳郎的妈妈。你们的妈妈头顶上有两只大眼睛,穿着黑衣服在空中飞,唱起歌来‘嗡嗡嗡’的,你们到前面去找找吧!”
   “谢谢您啦!屎壳郎妈妈!”小蛆们再向前游去。
   小蛆们游呀、游呀,游到一泡稀屎边,看见一只苍蝇坐在黄黄的大便上“嗡嗡嗡”地唱歌,它们赶快游过去,小声地问:“请问您:您看见了我们的妈妈吗?她胖胖的,和我们长得一点都不像,头顶上有两只大眼睛,有六条腿,穿着黑衣服,唱起歌来‘嗡嗡嗡’的………”
   苍蝇听了“嗡嗡嗡”地笑起来,她说“唉!傻孩子,我就是你们的妈妈呀!”
   小蛆们听了,一齐摇摇尾巴说:“奇怪!奇怪!我们的样子为什么跟您不一样呢?”
   苍蝇妈妈笑着说:“你们还小呢。过几天你们会变成蛹;再过几天,你们又会长出六条腿来,等腿长齐了,就跟妈妈一样了,就可以飞到任何大便上细细地品尝了。”
   小蛆们听了,高兴地在水里翻起跟头来:“啊!我们找到妈妈了!我们找到妈妈了!好妈妈,好妈妈,您快到我们这儿来吧!您快到我们这儿来吧!”
   苍蝇妈妈在小蛆们的旁边飞来飞去,和她的蛆孩子们一块儿游玩去了。


在天涯看到这个奇恶心的帖子!  我决定转过来.

posted @ 2006-06-22 00:54 橙子 阅读(278) | 评论 (2)编辑 收藏

6.22

实在想不出有什么好的标题.就写了个日期了. :)

再过两个星期,我就上了一年班了.去年7月4号第一天上班.整整一年. 一年里,成长了!成熟了? 或者还有其它变化.. 想不出个所以然来.



posted @ 2006-06-22 00:40 橙子 阅读(294) | 评论 (2)编辑 收藏

2006年6月12日

毫无意外的睡了一天

这一觉睡得可真爽。睡足之后打星际也特别带状况,这不,一回都没输。 呵呵,尽选菜鸟揉阿。

晚上去赵尉MM去堕落街吃口味虾,味道美美的,我决定下个星期再去。

花花最近上班很忙

李国帅最近在泡杨小荣

虫子最近要考英语

赵尉要考四级

刘杰在家忙着生孩子

王斌在家和周芬甜密

何康在家混日子

婷婷在干嘛呢

还有眼镜妹,放暑假不知道会不会回来

小谭新泡一妞,成天在家ML

... ...

posted @ 2006-06-12 00:45 橙子 阅读(366) | 评论 (2)编辑 收藏

2006年6月11日

Sleepless

明天星期天,现在是凌晨三点多. 打算睡一整天的,所以,现在无论如何都不能睡.

最近一个星期,几乎每天都是2,3点睡.早上8点半起床..咚咚咚跑到公司.持续一天脑力的消耗.还不觉得累.很久没有像现在这样不受打扰的写下一些文字,记下心情,发发牢骚. 大多数的时候,宿舍会冷不丁的冒出来一个人,对着你的屏幕看两眼,感到无趣之后,旋即离开.住集体宿舍就是这样吧.

当我同时想说几句话的时候,往往一句话也说不出来. 因为不知道先说哪一句才好.  就像载波侦听协议,一个总线,但要几台机器要使用.. 还是要分个条理出来.

现就以下几点说明近况.

生活:  
       衣:因为夏天来了,所以买了两背心. :)  坦胸露背的,不敢穿去上班.虽然我挺喜欢的.凉快嘛. 
       食:我姐说我再胖,就看不得了. 我也这样想. 所以决定少吃点.早餐就吃一麦片,好容易捱到中午,中午的饭菜比起学校来,要丰富很多.厨师也很到位的搞点有营养的菜色,只是味道嘛.. 不敢恭维.  晕. 这半夜三更说得吃的,还真有点馋了.晚上没有公司的吃了. 所以,形式多样化. 一,去菜市场买菜,自己DIY一顿晚饭(当然大多数时候是室友动手,我负责发表赞美或批评的言论,当然啦,大部分是赞美).  二,去"一家面馆"吃面.我喜欢面食 > 喜欢米粉. 三,回到宿舍,打电话叫盒饭. 四,去朋友那蹭饭.五, 去西饼屋买面包,饼干充饥.
      住:住宿舍.有蚊子咬我,蚊子傻B,放着O型血不吸,专吸我这AB型的.怕是想换换口味.如果真是这样,我就原谅它们.
      行:奔波于宿舍与公司之间,倒也不远, 步行<10分钟.

工作:

感情:

未完成.. 4点了. 困了,睡了..

posted @ 2006-06-11 04:17 橙子 阅读(244) | 评论 (0)编辑 收藏

仅列出标题  下一页
<2024年3月>
252627282912
3456789
10111213141516
17181920212223
24252627282930
31123456

导航

统计

常用链接

留言簿(10)

随笔分类

随笔档案

相册

收藏夹

搜索

最新评论

阅读排行榜