Monthly Archives: July 2008

Microsoft Kid's Corner

Buscando información en internet para el próximo capítulo de la serie de documentos J2ME encontré algo interesante del otro lado de la de las plataformas de desarrollo.

Microsoft Kid's Corner es una sección de documentación para enseñarle a programar a niños pequeños utilizando, obviamente, las herramientas de .NET que el mismo Microsoft desarrolla.

Sin profundizar en estos temas por ahora, se encuentran ya disponibles dos libros electrónicos acerca de la programación con C# y VB, así como varios cursos didácticos relacionados con estas tecnologías y haciendo énfasis en el desarrollo de aplicaciones de escritorio y aplicaciones web.

Para algo podrán servir en el futuro estos documentos, todo lo relacionado con educación es siempre bienvenido.

Enlace: Microsoft Kid's Corner.

Creative Commons International

Revisando el sitio web de Creative Commons International en búsqueda de opciones de licenciamiento para mis documentos educativos encontré que el sitio provee de un selector de licencias que ayuda a determinar que tipo de licencia se desea para una obra.

Las licencias disponibles para Colombia por parte de la CC son las siguientes actualmente.

Otras licencias de difusión mundial son:

En este documento se enuncian las generalidades de las licencias de Creative Commons y se detallan sus características.

Enlace: Creative Commons en Wikipedia.

Introducción práctica a Google Mapplets

Siguiendo mi premisa "de lo que no se pueda aprender entonces es inútil y prescindible" tuve el deseo este fin de semana de escribir una introducción a Google Mapplets con que he jugado un poco en el último par de meses.

Fruto de ese deseo surgió la Introducción práctica a Google Mapplets la cual introduce los conceptos básicos del servicio y lleva de la mano al desarrollador a través de la implementación de una demostración simple que ejemplifica de manera sencilla los conceptos expuestos y parte del API del servicio.

El lector deberá estar familiarizado con el desarrollo de software en general, la utilización de JavaScript y XML.

Introducción al desarrollo de Mapplets.

 

● Que son los Mapplets.
● Ventajas y desventajas frente a Google Maps.
● Diferencias importantes con el API de Google Maps.
● Requerimientos para el desarrollo.
● Como es un Mapplet (estructura).
● Herramientas para el desarrollo.
● Acceso a Mis Mapas y al Directorio de Mapas.
● Como desarrollar Mapplets.
● Plantilla base de un Mapplet.
● Enlaces de interés.

Desarrollo de Mi Primer Mapplet.

 

● Plantilla base de un Mapplet.
● Desarrollo e implementación de MiPrimerMapplet.
● Publicación de Mapplets con Google Pages.
● Agregar el Mapplet a Mis Mapas.
● Compartir el acceso a los Mapplets desarrollados.
● Enlaces de interés.

El ejemplo práctico de esta presentación puede consultarse en el siguiente enlace.

http://maps.google.com/ig/add?synd=mpl&pid=mpl&moduleurl=http://demo.jorgeivanmeza.com/GMaps/MiPrimerMapplet/ultimo/MiPrimerMapplet.xml

Mientras que el código fuente del mismo ejemplo puede consultarse a través de este enlace.

http://demo.jorgeivanmeza.com/GMaps/MiPrimerMapplet/ultimo/MiPrimerMapplet.xml

Enlaces:

Disección del midlet HolaMundo en J2ME

  • Introducción.
  • Importación del API.
  • Un midlet básico.
  • Acceso a la pantalla.
  • Caja de texto.
  • Comando aceptar.
  • Constructor para el midlet.
  • Método startApp().
  • Problema: CommandListener.
  • Manejo de eventos del Command.
  • Método pauseApp().
  • Método destroyApp(boolean).
  • Fin de la implementación.

Para mas información consulte el curso Introducción al desarrollo de aplicaciones móviles con J2ME.

Sincronizar Twitter y Windows Live Messenger

Esta semana instalé un programita que sincroniza el mensaje de estado del Microsoft Windows Live Messenger con el último comentario realizado en Twitter.

Su instalación es muy sencilla.

  1. Descárguelo: http://kunal.kundaje.net/twessenger/.
  2. Ejecute el instalador: Twessenger.msi.
  3. Abra el Messenger y acceda a su configuración: Herramientas > Opciones.
  4. En la sección de Accesorios presione el botón Buscar accesorio (o Agregar al messenger si ya está seleccionado).
  5. Buscar el archivo Twessenger.Twessenger.dll en la ubicación donde se instaló el paso #2 (por defecto en C:\Program Files\Twessenger).
  6. Seleccionar el accesorio Twessenger en la sección Administrar.
  7. Acceda a la configuración presionando el botón Configuración.
  8. Ingrese su usuario Twitter en el campo Twitter Username y el periodo de refresco en el campo Update Interval (Ejemplo 10 minutos).
  9. Seleccione la casilla de verificación Ignore replies beggining with @ y presione el botón Ok.
  10. Acceda al menú de estado del Messenger presionando el nombre del usuario en la parte superior de la ventana.
  11. Active la opción Activar "Twessenger xx.xx.xxxx".

    Listo.

    Enlace: http://kunal.kundaje.net/twessenger/

    Desactivar la creación de usuarios en MediaWiki

    Para desactivar la creación libre de usuarios en MediaWiki es necesario realizar la siguiente modificación en el archivo LocalSettings.php.

    # Prevent new user registrations except by sysops
    $wgGroupPermissions['*']['createaccount'] = false;
    

    Después de realizar esta modificación es posible que los administradores (sysops) creen usuarios siguiendo estos pasos.

    1. Ir a la sección [[Special:Userlogin]].
    2. Hacer click sobre el enlace Create an account.
    3. Ingresar un nombre de usuario, una dirección de correo electrónico y hacer click sobre el botón by email.
    4. La cuenta será creada con una contraseña al azar que será remitida por correo al usuario.

    Enlace: MediaWiki User's rights.

    Oracle's Server Technologies Curriculum

    Dando una vuelta por el blog de Informatics, art, graphics, desing, drawing … blog me encontré un enlace muy interesante de Oracle, el Server Technologies Curriculum desde donde se puede obtener tutoriales en línea de algunos de los productos de Oracle.

    Otros sitios interesantes relacionados con la educación son Oracle University y Oracle by Example que complementan a los ya conocidos Documentation, Getting Started y Downloads.

    Oracle es una de las muchas cosas que voy a aprender cuando tenga un tiempo libre, empezando por el Express Edition.

    Internet Explorer Developer Toolbar

    Desarrollar software es mi hobby y mi profesión. Desarrollar software web es interesante y divertido. Desarrollar software web para Internet Explorer es una pesadilla real e interminable.

    Ese "navegador" no sólo no incluye la implementación completa de las especificaciones y los estándares sino que las que supuestamente incluye funcionan mal, peor aún, la distribución estándar de IE ni siquiera indica que hubo un error, simplemente falla, o se limita a decir que tuvo uno sin indicar en donde o su naturaleza. Como si fuera poco no cuenta con las mismas herramientas de desarrollo con que cuenta el glorioso Firefox. Me refiero por supuesto al Web Developer Extension de Chris Pederick y a Firebug, sin ellas no hay vida en el mundo del desarrollo de software web.

    Pero como si la vida fuera perfecta no sería vida, no existen versiones de estos paquetes para IE. Ya que es imposible deshacese del soporte para ese navegador en algunos lugares: "tiene que soportar IE porque no nos imaginamos a los usuarios instalando otro software diferente, seguro se confunden", he tenido que buscar algunas herramientas que mitiguen el ya muy conocido: "en IE no funciona, pero si en FF funciona perfecto".

    Hace unos meses estuve probando un par que eran comerciales pero que se podían utilizar libremente a nivel personal, sin embargo nunca funcionaron como esperaba cuando realmente las necesité. Ahora voy a empezar a probar el Internet Explorer Developer Toolbar desarrollado por el mismo Microsoft. Parece ser una versión reducida de Firebug y parece no haber sido actualizada desde su versión 1.0.x en 2007/09.

    Por lo menos he visto que permite realizar en cierta medida algunos de mis principales requerimientos:

    • Inspección de elementos gráficos.
    • Recorrido por el árbol DOM.
    • Modificación del documento en ejecución: estructura y CSS.
      Manipulación del caché.
    • Toma de medidas en pantalla.
    • Captura de color en pantalla.
    • Cambio de tamaño de la ventana para simular diferentes resoluciones.
    • Algunas validaciones.

    Enlace: Internet Explorer Developer Toolbar.

    Leyes epónimas acerca del desarrollo de software

    Leyendo en Haacked encontré un compendio interesante acerca de 19 leyes epónimas del desarrollo de software. Es interesante ver como se pueden resumir algunas cosas obvias de la vida diaria en frases muy concisas.

      Be conservative in what you send, liberal in what you accept. Postel’s Law.

        Work expands so as to fill the time available for its completion. Parkinson’s Law.

          Work expands so as to overflow the time available and spill on the floor leaving a very sticky mess. Haack’s Law.

            For many phenomena, 80% of consequences stem from 20% of the causes. Pareto Principle.

              Ninety percent of everything is crud. Sturgeon’s Revelation.

                In a hierarchy, every employee tends to rise to his level of incompetence. The Peter Principle.

                  A task always takes longer than you expect, even when you take into account Hofstadter’s Law. Hofstadter’s Law.

                    If anything can go wrong, it will. Murphy’s Law.

                      Adding manpower to a late software project makes it later. Brook’s Law.

                        Any piece of software reflects the organizational structure that produced it. Conway’s Law.

                          In cryptography, a system should be secure even if everything about the system, except for a small piece of information — the key — is public knowledge. Kerchkhoff’s Principle.

                            Given enough eyeballs, all bugs are shallow. Linus’s Law.

                              The utility of large networks, particularly social networks, scales exponentially with the size of the network. Reed’s Law.

                                In network theory, the value of a system grows as approximately the square of the number of users of the system. Metcalfe’s Law.

                                  The power of computers per unit cost doubles every 24 month. Moore’s Law.

                                    The cost of a semiconductor chip fabrication plant doubles every four years. Rock’s Law.

                                      Software gets slower faster than hardware gets faster. Wirth’s law.

                                        Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can. Zawinski’s Law.

                                          The time to acquire a target is a function of the distance to and the size of the target. Fitt’s Law.

                                            The time to make a decision is a function of the possible choices he or she has. Hick’s Law.

                                              Una recopilación -realmente- ampliada de estas frases epónimas se puede obtener de Wikipedia (lista de leyes epónimas).

                                              Browsershots

                                              Según su creador Johann C. Rocholl, Browsershots es un servicio gratuito y de código abierto para verificar como se ve cierto sitio web utilizando diferentes navegadores (Firefox, Flock, MSIE, Opera, Safary, etc.).  Para esto cuentan con una red de computadoras distribuidas que se distribuyen la labor de consultar los sitios y remitir los screenshots.

                                              El servicio se ve útil, en particular con las diferentes versiones de IE las cuales son ampliamente conocidas por su incompatibilidad con los diferentes estándares mundiales y con la paz mental del desarrollador web.  También lo encuentro útil para verificar como se ve un sitio web desde la plataforma Windows cuando se desarrolla enteramente utilizando Linux o Mac OS.

                                              Habrá que experimentar un poco con este servicio para determinar su precisión y utilidad.

                                              Enlace: Browsershots.