Ayuda de escritorio Enero 30, 2008
Posted by cheipol in Frikadas, de risas, informatica.4 comments
Supongo que muchos de vosotros ya habreis visto este video, pero tenia que ponerlo en mi blog si o si, porque es simplemente genial.
Se representa perfectamente como nos sentimos los informaticos al intentar explicar cualquier cosilla a los desconocedores de nuestro mundo.
Evolucion del codigo de un Informatico Enero 24, 2008
Posted by cheipol in Frikadas, de risas, informatica.1 comment so far
Instituto
>>
>> 10 PRINT “HELLO WORLD”
>> 20 END
>>
Primer año de carrera
>>
>> program Hello(input, output)
>> begin
>> writeln(‘Hello World’)
>> end.
>>
Terminando la carrera
>>
>> (defun hello
>> (print
>> (cons ‘Hello (list ‘World))))
>>
>>
Profesional amateur
>>
>> #include
>> void main(void)
>> {
>> char *message[] = {“Hello “, “World”};
>> int i;
>>
>> for(i = 0; i < 2; ++i)
>> printf(“%s”, message[i]);
>> printf(“\n”);
>> }
>>
Profesional curtido
>>
>> #include
>> #include
>>
>> class string
>> {
>> private:
>> int size;
>> char *ptr;
>>
>> public:
>> string() : size(0), ptr(new char(”)) {}
>>
>> string(const string &s) : size(s.size)
>> {
>> ptr = new char[size + 1];
>> strcpy(ptr, s.ptr);
>> }
>>
>> ~string()
>> {
>> delete [] ptr;
>> }
>>
>> friend ostream &perator<<(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);
>> }
>>
>>
Programador Experto
>>
>> [
>> 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\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
>> #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 */
>> 0×2573F891,
>> 0xCFEE,
>> 0×101A,
>> { 0×9A, 0×9F, 0×00, 0xAA, 0×00, 0×34, 0×28,
>> 0×20 }
>> };
>>
>> UUID LIBID_CHelloLib = {
>> /* 2573F890-CFEE-101A-9A9F-00AA00342820 */
>> 0×2573F890,
>> 0xCFEE,
>> 0×101A,
>> { 0×9A, 0×9F, 0×00, 0xAA, 0×00, 0×34, 0×28,
>> 0×20 }
>> };
>>
>> #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] = ”;
>> wcsT[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);
>> }
>>
Aprendiz de 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;
>>
Hacker curtido
>>
>> #include
>> #define S “Hello, World\n”
>> main(){exit(printf(S) == strlen(S) ? 0 : 1);}
>>
>>
Hacker experto
>>
>> % cc -o a.out ~/src/misc/hw/hw.c
>> % a.out
>>
>>
Guru Hacker
>>
>> % cat
>> Hello, world.
>> ^D
>>
Manager amateur
>>
>> 10 PRINT “HELLO WORLD”
>> 20 END
>>
>>
Manager medio
>>
>> mail -s “Hello, world.” bob@b12
>> Bob, could you please write me a program that
>> prints “Hello,world.”? I need it by tomorrow.
>> ^D
>>
Manager experto
>>
>> % zmail jim
>> I need a “Hello, world.” program by this
>> afternoon.
>>
Director ejecutivo
>>
>> % letter
>> letter: Command not found.
>> % mail
>> To: ^X ^F ^C
>> % help mail
>> help: Command not found.
>> % damn!
>> !: Event unrecognized
>> % logout
Via: download72