Monthly Archives: September 2008

Mis primeras estrellitas

Entre viernes y sábado gané mis primeras estrellitas del Desarrollador Cinco Estrellas.  Pude sacar el tiempo para presentar los siguientes exámenes.

Estrella #0:

Fundamentos de la programación.

Estrella #1:

.NET Framework.

C#.

Estrella #2:

Aplicaciones web con ASP.NET.

Aplicaciones Windows con WinForms.

Mi segunda estrellita.

Esta semana va a estar un poco difícil que vuelva a dedicar un tiempo a estas labores astronómicas, sin embargo voy a hacer mi mejor esfuerzo.

Transacciones de base de datos con Kohana

Aparentemente la versión actual de Kohana (2.2) aún no cuenta con soporte para transacciones en su clase Database.

Buscando entre los foros encontré una solución sencilla, rápida y elegante, sin embargo me preocupa que, a pesar de que utiliza la sintaxis de CodeIgniter, no vaya a ser compatible con la siguiente liberación de Kohana de la cual no encontré documentación.

Así que por ahora voy a establecer las transacciones de manera manual y -espero- compatible con las bases de datos y futuras liberaciones de Kohana.

Iniciar la transacción.

$this -> db -> query('SET AUTOCOMMIT=0');
$this -> db -> query('BEGIN');

Aceptar/ejecutar la transacción.

$this -> db -> query('COMMIT');
$this -> db -> query('SET AUTOCOMMIT=1');

Cancelar/devolver la transacción.

$this -> db -> query('ROLLBACK');
$this -> db -> query('SET AUTOCOMMIT=1');

Nota: para Microsoft SQL Server los comandos deberán ser BEGIN TRANSACTION, COMMIT TRANSACTION y ROLLBACK TRANSACTION. Las modificaciones al AUTOCOMMIT no son válidas para este motor de base de datos.

Enlaces:

Comparación entre cámaras digitales de fotografía

Con lo económicas que están hoy en día las cámaras digitales, es importante contar con un buen servicio de referencia de especificaciones técnicas que permita comparar las características de las candidatas para elegir la mejor opción.

Este servicio lo encontré con LetsGoDigital quienes permiten realizar la comparación de características técnicas entre cuatro cámaras digitales diferentes.

Por ejemplo, me permitió comparar a los modelos C713, C813 y M853 de Kodak contra el ya conocido DSC-S600 de Sony: ver reporte.

Enlace: LetsGoDigital comparación de cámaras.

Activar consulta de archivos ocultos en Windows

Ultimamente se han convertido en moda los virus que se transportan en las memorias USB.  Esos molestos virus que no dejan a las personas abrir las unidades dándoles doble click desde la ventana de Equipo, crean un archivo autorun.ini para perpetrarse y ponen por allí un archivo .exe o un .com con su información virulenta, probablemente bajo \RECYLER como los últimos que he tenido la oportunidad de eliminar.

Lo bueno es que remover estos viruses es sencillo, el procedimiento acostumbra a limitarse a la eliminación de los archivos mencionados y listo.  Lo malo es que algunos dejan modificaciones indeseadas en el registro.  Uno de estos molestos cambios deja una imposibilidad crónica de ver los archivos ocultos a través del Explorer a pesar de que uno lo instruya para ello.  Por suerte nuevamente, la solución a esta consecuencia del virus es muy sencilla.

  1. Abra regedit.exe.
  2. Navegue por las ramas del árbol de llaves a través de la siguiente ruta.
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\Advanced\Folder\Hidden\SHOWALL
  3. Elija la llave CheckedValue haciendo doble click sobre ella.
  4. Asígnele el valor de 1.
  5. Cierre el regedit.exe y reinicie al sistema operativo.

Captura de regedit.exe modificando la llave necesaria

Captura de regedit.exe modificando la llave necesaria

Alfabeto Griego

Alfabeto Griego

Alfabeto Griego

Tomado de Wikipedia.

Lo que buscan las empresas de TICs

Dando una vuelta por Navegapolis encontré un artículo interesante acerca de los perfiles de tecnología mas solicitados en CarreerBuilder.

Según esto los lenguajes de programación mas apetecidos fueron en orden: Java, VB, Perl, C#, PHP, C++, Cobol y Ruby.

Lenguajes de programación mas solicitados

Lenguajes de programación mas solicitados

En cuanto a metodologías de trabajo ágiles, las mas solicitadas fueron XP y Scrum mientras que figuraron en muy bajas proporciones FDD y DSDM.

Metodologías ágiles mas solicitadas

Metodologías ágiles mas solicitadas

Las proporciones serán similares en Colombia ?

Enlace: Los conocimientos que andan buscando las empresas TIC.

Will it blend ?

Estos estudiosos del tema prueban si una buena diversidad de elementos cotidianos pasan o no la prueba de la licuadora.  Se dejarán licuar ?  Cómo le irá al iPhone 3G ?

Para su documentación, las pruebas se encuentran registradas en video y separadas en dos grupos: las pruebas que puedes realizar de manera segura en casa y las que no debes nunca intentar.

Enlace: Will it blend ?

Abusos al "informático"

Escogencia de sistema operativo

No sabemos qué sistema operativo usa Dios, pero nosotros usamos Linux.
Hermana Judith Zoebelein, webmaster del Vaticano.

Tomado de Amén hermana.

Agregación y remoción de registros de tablas con campos validables

Como podía esperarse, el siguiente paso era obvio: la integración entre las tablas manipuladas con DOM para agregar y remover fácilmente registros y la validación de campos utilizando Really easy field validation library y Prototype.

Las tablas pueden ser validadas de dos maneras: la interna, incluida en la versión 0.1 de la distribución verifica que se intenta ingresar en el campo y permite o impide su digitación según el validador especificado, no muestra mensajes de error.  El segundo tipo de validación, la externa, se basa en RWFVL y verifica el contenido del campo cuando se pasa el foco sobre él, mostrando mensajes de error si no se cumple la validación.

Para determinar el método de validación a usarse, se verifica la existencia de la clase Validation del validador externo, en caso de encontrarse se utiliza este método, en caso contrario se utiliza el interno.

    
    

Tan pronto como se cargue el árbol DOM se debe especificar cuales de los formularios (con las tablas incluídas) serán expuestos al sistema de validación.

    document.observe('dom:loaded', function()
    {
        /* Determina cuales
van a ser incluidos para la validación (externa) */         if(typeof(TDActivarValidacion) != undefined)             TDActivarValidacion(new Array('formulario1', 'formulario2'));     });

El resto de información configurable en la página cliente no ha cambiado desde la versión anterior.  Se deben definir las siguientes funciones.

  • TDObtEstructuraRegistro(tablaId): determina la estructura de las filas o registros de la tabla cuyo id es tablaId.
  • TDObtPropiedadesCampo(tablaId): determina las propiedades o atributos de un campo de la tabla cuyo id es tablaId.
  • TDObtPropiedadesFila(tablaId): determina las propiedades o atributos de una fila de la tabla cuyo id es tablaId..

La validación de los campos se activa incluyendo los parámetros apropiados en la variable validador del campo específico en el retorno de la función TDObtEstructuraRegistro.  Los posibles valores de esta variable son los siguientes.

Método de validación interno.

  • requerido
  • enteros
  • reales
  • no_numeros
  • letras_minusculas
  • letras_mayusculas
  • letras_todas
  • numeros_letras
  • email
  • telefono
  • url
  • fecha

Método de validación externo.

  • required (no vacío)
  • validate-number (un número válido)
  • validate-digits (sólo digitos)
  • validate-alpha (sólo letras)
  • validate-alphanum (sólo letras y números)
  • validate-date (una fecha válida)
  • validate-email (una dirección de correo válida)
  • validate-url (un URL válido)
  • validate-date-au (una fecha con formato; dd/mm/yyyy)
  • validate-currency-dollar (un valor de moneda)
  • validate-selection (una opción válida seleccionada)
  • validate-one-required (al menos un textbox/radio seleccionado)

Las opciones de validación externa pueden combinarse como por ejemplo en "required validate-number".  Ver campo Edad del formulario de demostración.

Enlace: