振宇's profileJUST FOR FUNPhotosBlogLists Tools Help

Blog


    是谁在做神都做不下去的事?

    一个程序员在海滩上发现了一盏神灯。他在灯上擦了几下,一个妖怪就从灯里跳出来
    说:“我是世界上法术最强的妖怪。我可以实现你的任何梦想,但现在,我只能满足
    你一个愿望。”

    程序员摊开了一幅中东地图说:“我想让中东得到永久的和平。”

    妖怪答道:“哦,我没办法。自打创世纪以来,那里的战火就没有停息过。这世上几
    乎没有我办不到的事,但这件事除外。”

    程序员于是说:“好吧,我是一个程序员,我编写的程序有许多用户。你能让他们对
    我的程序表示满意,并且只提那些可以实现的需求吗?”

    妖怪说:“唔,我们还是来看中东地图吧。”

    随便写写

    读文可以写写闲话散文,可以为赋新词强说愁;读理可以逛逛天地宇宙,可以上下五千年;读工可以熬夜编程,可以加1减1忙半天。如果我是超人,我会选读工,可惜我不是。

    谁制造了混乱

    晚上,一个建筑师、一个钓鱼的和一个程序员坐在一起聊天,并
    开始比较他们各自的职业哪一个更为古老。

    “嘿,兄弟们!大家都晓得钓鱼是最古老的职业。”钓鱼的说。

    “啊,”建筑师说,“但在你的职业诞生之前,总要有人才行吧。
    那么,人类诞生之前,这世界上又有谁呢?”

    “你在说什么呀?难道是上帝吗?”钓鱼的说。

    “对呀,难道上帝不是这整个宇宙的建筑师吗?”建筑师自鸣得
    意地问。

    程序员一直在沉默,这时,他突然插话说:“那么,在上帝成为
    建筑师之前,这世界上有什么?”

    “黑暗和混乱。”钓鱼的说。

    “那么,你知道是谁制造了混乱吗?”程序员说。

    programming

    下图是树叶,或者看上去像树叶,事实上它仅仅是被模拟的赝品. 核心算法如下:

    int leaf()
    {
       int i;
       float x=0,y=0,r,u=0;
    
       srand(time(0));
       for(i=0;i<=500000;i++)
       {
          r=rand()%100;
    
          if (r < 1)
          {
             x = 0;
             y = .16 * y;
          }
          if (r>=1 && r<86)
          {
             u = .85 * x + .04 * y;
             y = -.04*x + .85 * y + 1.6;
             x = u;
          }
          if (r>=86 && r<97)
          {
             u = .2 * x - .26 * y;
             y = .23 * x + .22 * y + 1.6;
             x = u;
          }
          if (r>=97)
          {
             u = -.15 * x + .28 * y;
             y = .26 * x + .24 * y +.44;
             x = u;
          }
             putpixel(45*x+230,480-45*y);
       }
       return 0;
    }
    

    苦恼..的需求分析

    软件工程课程实践就要开始启动了`~第一次会还不知道怎么开。
    组里有6个人,3男3女(说实话没打算让那3女的做什么,只要不添麻烦)。3个男的中我和周XX都是课代表。。另外一个技术也不错。。但是大家都很忙,现在连项目内容都还在犹豫。。。
     
    本来打算今天完成需求分析。
     
    需求真TMD难做,实际中就更变态了,记得有这样一个故事:
     
    一个程序员在海滩上发现了一盏神灯。他在灯上擦了几下,一个妖怪就从灯里跳出来
    说:“我是世界上法术最强的妖怪。我可以实现你的任何梦想,但现在,我只能满足
    你一个愿望。”
    程序员摊开了一幅中东地图说:“我想让中东得到永久的和平。”
    妖怪答道:“哦,我没办法。自打创世纪以来,那里的战火就没有停息过。这世上几
    乎没有我办不到的事,但这件事除外。”
    程序员于是说:“好吧,我是一个程序员,我编写的程序有许多用户。你能让他们对
    我的程序表示满意,并且只提那些可以实现的需求吗?”
    妖怪说:“唔,我们还是来看中东地图吧。”
     
     职业问题:
    物理学家的问题在于他们总是试图用作弊的方法获得结果。
    数学家的问题在于他们总是试图获得最幼稚的问题的结果。
    软件测试工程师的问题在于他们总是试图用作弊的方法获得最幼稚的问题的结果。

    三种谎言

    谎言一共有三种:谎言、恶意的谎言、软件评测报告。

    程序员字典

    【α版】软件α版测试的目的是收集用户的初步反馈。α在拉丁语中的意思是“不能工作”。

    【β版】软件的β版测试在软件发布前进行。β在拉丁语中的意思是“还不能工作”。

    【计算机】一种秘密武器。第一台计算机是英国科学家Roger Duffy Billingsly发明的。在
    一次推翻希特勒的秘密行动中,Duffy伪装成德国人的盟友,把计算机作为礼物送给了大独裁
    者。秘密行动获得了成功:1945年4月8日,希特勒被计算机显示的错误信息“不兼容的文件
    格式”激怒后,开枪自杀。希特勒死后,战争很快就结束了。战后,Duffy为IBM公司工作。

    【CPU】中央处理器,是计算机的引擎。它是由一块硬盘、一块接口卡和一台微型纺车组成
    的。纺车由一只啮齿类动物推动——老式CPU上是一只小白鼠,“奔腾”上是一只雪貂,
    “安腾”上是一只吃了激素的雪貂。

    【缺省目录】一个黑洞,有用的文件将在那里消失得无影无踪。

    【错误信息】程序出现故障时,程序员对用户提出的简短而严厉的批评。

    【文件】一份档案,档案名总与其内容无关。你通常会认为文件存储在某个文件夹中,但当
    你想从文件夹里删除文件的时候,你会大吃一惊:文件夹报错“未知的文件格式”。

    【硬件】泛指与计算机相关的,可以踢碎或者打扁的任何东西。

    【帮助】帮我们制造更多问题的功能。在正确使用帮助的情况下,用户可以浏览一系列的帮
    助页面,并最终回到开始页面——但没有获得任何有价值的信息。

    【输入/输出】从键盘输入有序的、可读的数据,从打印机输出成堆的乱码。

    【临时版本】为了便于程序员反悔而发布的版本。

    【内存】计算机的元件之一。内存的品种很多,但内存的容量总比你想像的少。

    【打印机】一个庸俗的笑话。打印机由三部分组成:机壳、卡纸的托盘和闪烁的红灯。

    【程序员】计算机复仇者。在高中里,他们都是小阿飞,把磁带缠在眼镜上,扮演《龙和地
    下城》里的角色,梦想着充满刺激的星际旅行。现在,这些创建了“伟大”软件的百万富翁
    们开始向当初鄙夷过他们的人复仇了。

    【参考手册】用来垫高显示器的玩意儿,有时也用来垫桌脚。

    【预定发布日期】经过精确计算的日期,通常是在实际发布日期的基础上,减去六个月的时
    间后得来的。

    【用户友好】可以使程序员满意的那些特性、设备或概念。

    【用户】那些茫然若失地盯着显示器的人。用户有三种:菜鸟、玩家和大虾。

    【菜鸟】惟恐敲一个键就会弄坏计算机的人。

    【玩家】敲一个键就弄坏了计算机,又不知道如何修理的人。

    【大虾】敲一个键就弄坏了别人的计算机的人。

    天书

    /*********************************************************
    你能猜出这段程序的输出结果吗?

    许多人都坚信,只要有源代码,他们就总能搞懂代码里所有的玄机。
    下面这几行C语言代码就是对这一类人的最大嘲弄:
    *********************************************************/

    #include <stdio.h>
    main(t,_,a)char *a;{return!0<t?t<3?main(-79,-13,a+main(-87,1-_,
    main(-86,0,a+1)+a)):1,t<_?main(t+1,_,a):3,main(-94,-27+t,a)&&t==2?_<13?
    main(2,_+1,"%s %d %d\n"):9:16:t<0?t<-72?main(_,t,
    "@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l+,/n{n+,/+#n+,/#\
    ;#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l \
    q#'+d'K#!/+k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# \
    ){nl]!/n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#n'wk nw' \
    iwk{KK{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c \
    ;;{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+;#'rdq#w! nr'/ ') }+}{rl#'{n' ')# \
    }'+}##(!!/")
    :t<-50?_==*a?putchar(31[a]):main(-65,_,a+1):main((*a=='/')+t,_,a+1)
      :0<t?main(2,2,"%s"):*a=='/'||main(0,main(-61,*a,
    "!ek;dc i@bK'(q)-[w]*%n+r3#l,{}:\nuwloca-O;m .vpbks,fxntdCeghiry"),a+1);}

    成长之路~

    程序员的进化:
    大学一年级

              program Hello(input, output)
                begin
                  writeln('Hello World')
                end.
    --------------------------------------------------------------------------------
    大学高年级

              (defun hello
                (print
                  (cons 'Hello (list 'World))))
    --------------------------------------------------------------------------------
    初级程序员

              #include <stdio.h>
              void main(void)
              {
                char *message[] = {"Hello ", "World"};
                int i;

                for(i = 0; i < 2; ++i)
                  printf("%s", message[i]);
                printf("\n");
              }
    --------------------------------------------------------------------------------
    编程老鸟

              #include <iostream.h>
              #include <string.h>

              class string
              {
              private:
                int size;
                char *ptr;

              public:
                string() : size(0), ptr(new char('\0')) {}

                string(const string &s) : size(s.size)
                {
                  ptr = new char[size + 1];
                  strcpy(ptr, s.ptr);
                }

                ~string()
                {
                  delete [] ptr;
                }

                friend ostream &operator <<(ostream &, const string &);
                string &operator=(const char *);
              };

              ostream &operator<<(ostream &stream, const string &s)
              {
                return(stream << s.ptr);
              }

              string &string::operator=(const char *chrs)
              {
                if (this != &chrs)
                {
                  delete [] ptr;
                 size = strlen(chrs);
                  ptr = new char[size + 1];
                  strcpy(ptr, chrs);
                }
                return(*this);
              }

              int main()
              {
                string str;

                str = "Hello World";
                cout << str << end

                return(0);
              }
    --------------------------------------------------------------------------------
    编程高手

              [
              uuid(2573F8F4-CFEE-101A-9A9F-00AA00342820)
              ]
              library LHello
              {
                  // bring in the master library
                  importlib("actimp.tlb");
                  importlib("actexp.tlb");

                  // bring in my interfaces
                  #include "pshlo.idl"

                  [
                  uuid(2573F8F5-CFEE-101A-9A9F-00AA00342820)
                  ]
                  cotype THello
               {
               interface IHello;
               interface IPersistFile;
               };
              };

              [
              exe,
              uuid(2573F890-CFEE-101A-9A9F-00AA00342820)
              ]
              module CHelloLib
              {

                  // some code related header files
                  importheader(<windows.h>);
                  importheader(<ole2.h>);
                  importheader(<except.hxx>);
                  importheader("pshlo.h");
                  importheader("shlo.hxx");
                  importheader("mycls.hxx");

                  // needed typelibs
                  importlib("actimp.tlb");
                  importlib("actexp.tlb");
                  importlib("thlo.tlb");

                  [
                  uuid(2573F891-CFEE-101A-9A9F-00AA00342820),
                  aggregatable
                  ]
                  coclass CHello
               {
               cotype THello;
               };
              };

              #include "ipfix.hxx"

              extern HANDLE hEvent;

              class CHello : public CHelloBase
              {
              public:
                  IPFIX(CLSID_CHello);

                  CHello(IUnknown *pUnk);
                  ~CHello();

                  HRESULT  __stdcall PrintSz(LPWSTR pwszString);

              private:
                  static int cObjRef;
              };

              #include <windows.h>
              #include <ole2.h>
              #include <stdio.h>
              #include <stdlib.h>
              #include "thlo.h"
              #include "pshlo.h"
              #include "shlo.hxx"
              #include "mycls.hxx"

              int CHello::cObjRef = 0;

              CHello::CHello(IUnknown *pUnk) : CHelloBase(pUnk)
              {
                  cObjRef++;
                  return;
              }

              HRESULT  __stdcall  CHello::PrintSz(LPWSTR pwszString)
              {
                  printf("%ws\n", pwszString);
                  return(ResultFromScode(S_OK));
              }

              CHello::~CHello(void)
              {

              // when the object count goes to zero, stop the server
              cObjRef--;
              if( cObjRef == 0 )
                  PulseEvent(hEvent);

              return;
              }

              #include <windows.h>
              #include <ole2.h>
              #include "pshlo.h"
              #include "shlo.hxx"
              #include "mycls.hxx"

              HANDLE hEvent;

               int _cdecl main(
              int argc,
              char * argv[]
              ) {
              ULONG ulRef;
              DWORD dwRegistration;
              CHelloCF *pCF = new CHelloCF();

              hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);

              // Initialize the OLE libraries
              CoInitializeEx(NULL, COINIT_MULTITHREADED);

              CoRegisterClassObject(CLSID_CHello, pCF, CLSCTX_LOCAL_SERVER,
                  REGCLS_MULTIPLEUSE, &dwRegistration);

              // wait on an event to stop
              WaitForSingleObject(hEvent, INFINITE);

              // revoke and release the class object
              CoRevokeClassObject(dwRegistration);
              ulRef = pCF->Release();

              // Tell OLE we are going away.
              CoUninitialize();

              return(0);
              }

              extern CLSID CLSID_CHello;
              extern UUID LIBID_CHelloLib;

              CLSID CLSID_CHello = { /* 2573F891-CFEE-101A-9A9F-00AA00342820 */
                  0x2573F891,
                  0xCFEE,
                  0x101A,
                  { 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }
              };

              UUID LIBID_CHelloLib = { /* 2573F890-CFEE-101A-9A9F-00AA00342820 */
                  0x2573F890,
                  0xCFEE,
                  0x101A,
                  { 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }
              };

              #include <windows.h>
              #include <ole2.h>
              #include <stdlib.h>
              #include <string.h>
              #include <stdio.h>
              #include "pshlo.h"
              #include "shlo.hxx"
              #include "clsid.h"

              int _cdecl main(
              int argc,
              char * argv[]
              ) {
              HRESULT  hRslt;
              IHello        *pHello;
              ULONG  ulCnt;
              IMoniker * pmk;
              WCHAR  wcsT[_MAX_PATH];
              WCHAR  wcsPath[2 * _MAX_PATH];

              // get object path
              wcsPath[0] = '\0';
              wcsT[0] = '\0';
              if( argc > 1) {
                  mbstowcs(wcsPath, argv[1], strlen(argv[1]) + 1);
                  wcsupr(wcsPath);
                  }
              else {
                  fprintf(stderr, "Object path must be specified\n");
                  return(1);
                  }

              // get print string
              if(argc > 2)
                  mbstowcs(wcsT, argv[2], strlen(argv[2]) + 1);
              else
                  wcscpy(wcsT, L"Hello World");

              printf("Linking to object %ws\n", wcsPath);
              printf("Text String %ws\n", wcsT);

              // Initialize the OLE libraries
              hRslt = CoInitializeEx(NULL, COINIT_MULTITHREADED);

              if(SUCCEEDED(hRslt)) {

                  hRslt = CreateFileMoniker(wcsPath, &pmk);
                  if(SUCCEEDED(hRslt))
               hRslt = BindMoniker(pmk, 0, IID_IHello, (void **)&pHello);

                  if(SUCCEEDED(hRslt)) {

               // print a string out
               pHello->PrintSz(wcsT);

               Sleep(2000);
               ulCnt = pHello->Release();
               }
                  else
               printf("Failure to connect, status: %lx", hRslt);

                  // Tell OLE we are going away.
                  CoUninitialize();
                  }

              return(0);
              }
    --------------------------------------------------------------------------------
    黑客初阶

              #!/usr/local/bin/perl
              $msg="Hello, world.\n";
              if ($#ARGV >= 0) {
                while(defined($arg=shift(@ARGV))) {
                  $outfilename = $arg;
                  open(FILE, ">" . $outfilename) || die "Can't write $arg: $!\n";
                  print (FILE $msg);
                  close(FILE) || die "Can't close $arg: $!\n";
                }
              } else {
                print ($msg);
              }
              1;
    --------------------------------------------------------------------------------
    黑客有成

              #include <stdio.h>
              #define S "Hello, World\n"
              main(){exit(printf(S) == strlen(S) ? 0 : 1);}
    --------------------------------------------------------------------------------
    黑客高手

              % cc -o a.out ~/src/misc/hw/hw.c
              % a.out
    --------------------------------------------------------------------------------
    黑客大虾

              % cat
              Hello, world.
              ^D
    --------------------------------------------------------------------------------
    初级经理

              10 PRINT "HELLO WORLD"
              20 END
    --------------------------------------------------------------------------------
    中级经理

              mail -s "Hello, world." bob@b12
              Bob, could you please write me a program that prints "Hello, world."?
              I need it by tomorrow.
              ^D
    --------------------------------------------------------------------------------
    高级经理

              % zmail jim
              I need a "Hello, world." program by this afternoon.
    --------------------------------------------------------------------------------
    首席执行官

              % letter
              letter: Command not found.
              % mail
              To: ^X ^F ^C
              % help mail
              help: Command not found.
              % damn!
              !: Event unrecognized
              % logout