Entradas

Mostrando entradas de marzo, 2009

Validar un email con PHP

Bueno hoy realmente estoy productivo, tenía bastantes cosas pendientes y aprovecho para escribirlas. Hace unos días leí el que es a mi entender el mejor artículo de validación de correos electrónicos con PHP , básicamente el mejor porque piensa como yo el autor, y me ha dado por profundizar en este artículo con algunas implementaciones que yo mismo he realizado. Es totalmente cierto que validar un correo electrónico es algo complejo, de echo me encantaría tener el código que utilizan en email valido para tener tanta efectividad en sus comprobaciones, conmigo realmente no ha fallado, pero como no lo tengo os planteo las posibles soluciones. Lo primero es validar con una expresión regular el formato del email, la expresión la pueden tener en mi artículo Extraer emails de un texto . Luego vienen los problemas. Dependiendo de lo que queramos hacer es más útil o no una validación más estricta, yo voy a plantear el caso de suscribirse a un boletín lo cual nuestro objetivo es recibir m

Algoritmo para contraseñas pronunciables

Siguiendo el post anterior contraseñas pronunciables voy a explicar brevemente los pasos que seguí para crearlas, los archivos fuente los subiré luego pues aún tengo que comentarlos y quitarles todas las pruebas. Obtener el contenido del archivo fuente (en mi caso con 257 palabras) Limpiar este archivo quitando caracteres especiales, acentos y poniéndolo en minúsculas. Separar todas las palabras Para cada palabra mayor de 3 caracteres (por decisión propia) obtengo las dos primeras letras y las guardo en un array. Recorro letra a letra hasta el final – 1 los caracteres de la palabra y guardo en un array en el índice las letras 1 y 2 concatenadas y luego de valor la letra 3, y en otro array la letra 1 de índice y la letra 2 de valor. Nota: guardo la letra 1 en un array y la siguiente como valor y lo mismo pero con las 2 primeras letras porque mi algoritmo no se basa en la letra anterior se basa en las 2 letras anteriores en caso de que exista, sino entonces busco

Contraseñas pronunciables

Hace un tiempo leí en el blog El Ornitorrinco Enmascarado el artículo contraseñas pronunciables y como no, me piqué para implementar este sistema en PHP pues como todo buen ciudadano y cumplidor de la LOPD si tengo un sistema de usuarios deben tener contraseñas seguras y encriptadas. Pues muy bien, manos a la obra. Anoche en casa me estaba rompiendo la cabeza y me acosté un poco tarde para implementar todo esto y recabar todos los datos posibles de los cuales daré una breve sinopsis aquí pues el algoritmo fuente, los archivos de texto, el diccionario así como el Excel de estadísticas lo subiré luego a mi carpeta de dropbox para que lo podáis tener y mejorar. Los resultados fueron bastante prometedores, utilicé para la generación de las claves un fichero con 257 palabras, tal vez podían ser más pero me pareció bastante completo. Luego para la medición de las estadísticas utilicé un archivo de palabras del castellano con 86017 palabras. ¿Por qué no utilicé este para generar las c

Driver de Microsoft para PHP y SQL Server

Muy útil este driver que mejora considerablemente el rendimiento de cualquier aplicación de PHP que actualmente utilice el driver ODBC, la ganancia de rendimiento y velocidad se puede ver incrementada en hasta un 70%, por lo menos en mi caso a sido así, aunque hay que tener algunas cosas en cuenta con este nuevo driver que puedes descargar desde este enlace . Este tipo de driver por ejemplo aún no implementa saber el número de datos que devuelve una consulta del tipo SELECT, para UPDATE o DELETE si pero no para los SELECT, el típico mysql_num_rows, pues esto aún no existe aunque es muy probable que en este 2009 en la versión 1.1 sea implementado junto con la compatibilidad con PHP 5.3, estas noticias se pueden ver en su blog original . Otra de las características interesantes es que las fechas no las devuelve como un simple string sino como un objeto del tipo DateTime, de tal manera que si queremos utilizar esta fecha como una cadena y no tratamos este tipo de datos obtenemos el si

Pasar float a decimal en SQL Server 2005

El error más común cuando queremos cambiar el tipo de datos de un campo de una tabla del tipo float a decimal es Arithmetic overflow error converting numeric to data type numeric . Este error se produce por una simple razón los datos float almacenan una mayor cantidad de información que los datos del tipo decimal por tanto debemos de modificar estos datos float (tamaño) para que se puedan meter dentro de campo decimal. Los campos float por defecto en sql server 2005 tienen tamaño 53 pero se pueden definir tamaño 23 que si permite un decimal normal, los valores decimales tienen un máximo de 38. Entiéndase estos números en float[(n)] y en decimal(p,[s]), dónde n por cualquier número que pongamos estará entre 2 valores 23 ó 53 (entre 1 y 23 siempre n=23, entre 24 y 53 n=53), p son la cantidad de dígitos que tendrá el decimal tanto a la izquierda como a la derecha de coma y s es el máximo número de caracteres decimales tal que s se mantiene entre el rango 0 a p. También suele ocurrir

P2P ¿el verdadero martirio de los estrenos?

Después que el gobierno francés pusiera en marcha su nuevo plan con la descarga de contenidos ilegales y planee enviar cerca de 10 mil advertencias diarias a internautas creo que es meritorio aclarar que no toda la descarga ilegal puede venir del protocolo P2P y que el P2P es para intercambio de archivos de cualquier clase y que su reciente inclusión en metaversos como SecondLive permitirán que en un futuro no se vea como un protocolo de piratería sino como un protocolo de intercambio de archivos hasta niveles de transacciones empresariales. La descarga de contenidos como estrenos de cartelera de cines , mejores películas o con una calidad un poco más decente películas en DVD o música, es también, y cada vez más, utilizada por blogs o sitios de alojamiento de contenidos siendo estas cada vez más utilizados por ser de descarga directa y ya si tienes una cuenta premiun en los mismos esto se puede hacer mucho más rápido. Generalmente estos sitios están alojados fuera de la comunid

Tanto invento en GPS ¿para qué?

Soy usuario de GPS desde mucho antes que fueran un aparatico de uso tan masivo y la verdad que muchas veces me quedo asombrado de todos los avances que han tenido y por ello me pregunto ¿realmente utilizamos todo ese potencial? o mejor aún ¿realmente es tan útil? Acabo de leer que Navigon a lanzado un nuevo sistema muy similar a Tom Tom Go Live para identificar el tipo de conductor y sugerirle rutas personalizadas según el día y la hora en que se esté moviendo. Se creen que voy a perder 1 minuto de mi vida en encender este aparato y decirlo que soy yo el que conduzco, total para entrar en un túnel de la M30 y que pierda la ruta que me pasé preparando otro minuto o peor aún que se bloquee y mientras conduzco estar 45 segundos pulsando el botón de apagar para que se reinicie. En fin que no veo tan practicas estas innovaciones porque en medio de una ruta no voy a estar parando para agregar un nuevo POI, a diciéndole que esta calle ahora no es de 50 sino de 60 o que cambio de sentido,

Microsoft y Yahoo vuelven al ataque

En estos últimos tiempos dónde el predominio de Google en ciertos temas de internet es predominante me reconforta saber que su competencia directa no está inactiva sino que se vuelve más agresiva y cambiante. El echo de mi afirmación es por los recientes cambios en Yahoo y en Microsoft la cual es la que más a diversificado estas estrategias. Yahoo sigue en su línea, después de muchos años como portal web se mantiene en este ámbito sin cambiar si línea de negocio lo importante es que está cambiando su motor principal que le dio fuerza en Latinoamérica, el buscador, que después de años sin una mísera actualización lleva 2 críticas desde diciembre del 2008. Esperemos que le funcione. Microsoft por su parte ha diversificado tanto sus productos que en parte era lógico es fracaso de algunos entre ellos los cambios en su plataforma Windows Live en buscador y en antivirus con su herramienta online Windows Live Safety + aplicaciones Windows Live One Care. Supongo que para los de Richmond te