Selasa, 18 November 2008

Evolution of Programmer

Guys, gue lagi bingung mau nulis apa. Jadinya, gue sedikit mengambil dari sini. Inti tulisannya kayak gini. Nikmati aja.

High School/Jr.High

  10 PRINT "HELLO WORLD"
20 END

First year in College

  program Hello(input, output)
begin
writeln('Hello World')
end.

Senior year in College

  (defun hello
(print
(cons 'Hello (list 'World))))

New professional

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

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

Seasoned professional

  #include 
#include

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

string() : size(0), ptr(new char[1]) { ptr[0] = 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 << endl;

return(0);
}

Master Programmer

  [
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();
importheader();
importheader();
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
#include
#include
#include
#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
", 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
#include
#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
#include
#include
#include
#include
#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);
}

Apprentice Hacker

  #!/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;

Experienced Hacker

  #include 
#define S "Hello, World\n"
main(){exit(printf(S) == strlen(S) ? 0 : 1);}

Seasoned Hacker

  % cc -o a.out ~/src/misc/hw/hw.c
% a.out

Guru Hacker

  % echo "Hello, world."

New Manager

  10 PRINT "HELLO WORLD"
20 END

Middle Manager

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

Senior Manager

  % zmail jim
I need a "Hello, world." program by this afternoon.

Chief Executive

  % letter
letter: Command not found.
% mail
To: ^X ^F ^C
% help mail
help: Command not found.
% damn!
!: Event unrecognized
% logout
Menurut kalian, gimanakah programmer2 di atas itu?? Termasuk manakah kalian?? hahaha

Minggu, 02 November 2008

Battle on Highway.. PUK..PUK..

Hoy, balik lagi ama gue di blog guila ini. Hwhwhw... Kali ini gw mw cerita tentang sebuah pertempuran di jalan tol yang sumpah, menurut gw goblog abis. Ini ceritanya (serasa lagi di acara kismis = KISah aMIS).

Jadi, battle ini antara temen gue, Yonki ama cewenya (Tim A) VS Dua-Orang-Cina-Naek-Mobil-Mewah-Belaga-Belagaan-Di-Jalan-Tol (Tim B).

Tim A lagi di jalan tol setelah mereka nyari ribut ama polisi. Sebenernya ga nyari ribut. Jadi, si Yonki kena tilang terus ngajak damai ama polisinya. Tapi, cewenya ga stuju ampe2 si polisinya dikatain. Mungkin begini kali dialognya:

Yonki : Ok, deh pak. Kita damai aja.
Polisi : Hmm.. (belaga2 mikir)

(cwenya Yonki dateng)
C-Yonk : Eh, udah tinggalin aja.
Polisi : Hmph (masang muka cabul ama pengen sembelit). Anda apa2an??
C-Yonk : Lo yang apa2an. Gw tw. Polisi macem lo tuh cuma pengen minta duit doank. Dasar lo. Chux.. PUK..PUK.. (Hwkakakaka, lebay abis gw)

Nah, gitu lah cerita singkatnya. Akhirnya mereka bisa lepas juga dari cengkraman tuh polusi, eh polisi. Nah, waktu mereka lagi di jalan tol, tiba2 ada mobil (gak tau gw mereknya apa) yang ngelewatin mereka dengan seronoknya (ini dia lawan kita hari ini, Tim B and anyway, seronok itu gue maksudkan dengan arti dari bahasa Malaysia, jangan dari Indonesia. OK??) Nah, perkara dimulai di sini. THE BATTLE BEGINS!!!

1st Round (gue bikin dalam bentuk dialog aja ya)
Yonki : Anjrit! Tuh mobil ngajakin berantem banget!
Moderator (gw) : Nafsu (birahi) Yonki muncul untuk ngebalap tuh mobil.
*Ngeeeeeng, ngeeeeng, ngeeeng, nciiiiiiiiiiiiiit!!!!!! (bunyi mobil balap2an)
Moderator : Lalu Yonki langsung berada tepat di samping mobil tim B, membuka jendela...
Yonki : PUK YU!!! (ente ngertilah dia ngomong apa sambil mengacungkan jari tengah. Hwajajajaja)
Moderator : Lalu, mobil tim A melaju dengan cepat ke depan menuju garis finish (lebih tepatnya kabur biar ga ditimpuk bata ijo dari tim B). Dengan reflek yang sangat baik, tim B langsung mengejar tim A dengan kesetanan. Hingga di suatu lokasi dengan bujur (xxx,yyy) dan lintang (aaa,bbb), tim B berada tepat di samping mobil tim A, membuka jendela...
China-Boy : PUK YU (sambil mengacungkan jari tengah lalu ngebut takut dilempar kolor ijo. hehehehe)
Moderator : Hwjajajajajaja. Skor kedua tim sama bung. 1-1. Lalu, dengan dendam membara, tim A langsung melejit ke depan mengejar tim B. Seketika di samping mobil tim B, Yonki dengan panasnya langsung ....
Yonki : Woy, bangke lo. Slow aja naek mobilnya. Doggy!!! Chux!!! PUK!!! PUK!!! (sumpah serapah dah pokoknya)
Moderator : Lalu, tim A melejit dengan mangstabnya lalu keluar dari tol. Skor 2-1 bertahan hingga akhir pertandingan.

Nah, gitu dah pertandingannya. Bagaimana komentar Anda??

PS: Ternyata emosi yang begitu menggebu-gebu bisa mengakibatkan kita memunculkan pertandingan mutakhir yang mengasah skill, ego, dan juga sumpah serapah.