La evolución de un programador

Los diferentes avances de códigos creados por un programador a lo largo del tiempo….

The Evolution of a Programmer
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 <stdio.h>
  void main(void)
  {
    char *message[] = {"Hello ", "World"};
    int i;
    for(i = 0; i < 2; ++i)
      printf("%s", message[i]);
    printf("\n");
  }
Seasoned professional
  #include <iostream.h>
  #include <string.h>
  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(<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
", 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);
  }
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 <stdio.h>
  #define S "Hello, World\n"
  main(){exit(printf(Drunk == strlen(Drunk ? 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
Anonymous

Fuente

No se ven las imágenes en el BlackBerry Messenger

Luego de un cambio de teléfono o tal vez con una actualización muchos usuarios han manifestado que no ven las imágenes de sus contactos en el blackberry Messenger. He aquí una posible solución a este inconveniente:

1.- Tener paciencia, y no hacer caso a las cadenas con códigos para solucionar el problema pues no tienen nada que ver.

2.- Tener por lo menos un correo registrado en el celular, es decir que los correos lleguen al teléfono, para ello consulte con su operador local los pasos adecuados para registrar un correo y asociarlo a su equipo.

3.- El problema es a nivel de la RIM, por lo visto es como si el servidor no respondiera a la solicitud de cambio de imágenes, por lo que se buscara hacer que el teléfono pregunte nuevamente por la imagen para que se actualice, para ello ir a opciones del bbmsn, como se muestra en la figura de abajo y ubicar la parte de copias de seguridad.opciones 4. Entrar a copia de seguridad y seleccionar realizar copia de seguridad de forma remota.

copia remota 5. Registrar por lo menos un correo para que se hagan respaldos y debe quedar algo como lo siguiente:

correosYa con esto tendremos una copia automática de seguridad en el servidor para los casos de perdidas de contactos.

6.  Descargar nuevamente el bbmsn, para ello recomiendo la siguiente versión que pueden descargar directamente desde el celular: bbmsn 5.0.0.54 esta versión puede que sea inferior a la que actualmente tienen instalada, pero úsenla pues la idea es forzar a que el teléfono descargue las imágenes.

7. Reiniciar el celular.

Saludos

Bloquear pin de BlackBerry Robado Movistar

En vista a los muchos casos de robos existentes a nivel nacional Movistar tomo la iniciativa de realizar acuerdos importantes con la gente de RIM de forma tal de ser capaces de bloquear el pin de cualquier blackberry comprado en Movistar, lo que ha generado una mayor tranquilidad a los clientes de esta compañía telefónica pues teniendo en manos un equipo de esta categoría y en caso de ser hurtado tendremos la certeza de que no podrán usarlo mas nunca ni si quiera abriéndole las bandas, solo les quedara para usarlo como pisa papeles pues solo servirá para enviar y recibir mensajes de texto y llamadas.

Ahora cuales son los pasos para poder lograr esto en caso de perdida por robo o extravío?

1. Llamar al 811 y reportar el celular como robado.

2. Ingresar al siguiente portal http://www.movistar.com.ve/bloqueoblackberry/ y rellenar la información solicitada tal cual se muestra en la imagen de abajo:

bloqueopin

Seria interesante que las otras compañías telefónicas como Molvilnet y Digitel realizaran un trabajo como el iniciado por Movistar y de esta forma luchar en contra de la delincuencia.

Saludos

RB Tecnologías en FB

Archivo del blog

Red Social