En mi empresa llevamos desde ayer lunes 18 de mayo con problemas en la conexión de los clientes al servidor, sobretodo a la hora de enviar correo. Nos están llamando muchos clientes con problemas de que el servidor no responde o tarda mucho tiempo en responder. Monitorizando las colas de correo del servidor observamos que la cola SMTP de entrada está saturada de mensajes, como si los usuarios no acabaran de subir sus mensajes o lo hicieran muy lentamente o como si hubieran microcortes en la conexión.

Desde el Datacenter de Nixval en Valencia, donde tenemos alojados los servidores, nos comunican una incidencia en Telefónica con la gestión de tráfico de Internet (entrega de tráfico a carriers internacionales), con lo que parece que el problema es de la conexión de Telefónica con el Centro de Proceso de Datos. Nos detallan que el principal problema es la pérdida de paquetes, sobretodo al enviar correo, y que tanto los técnicos de Telefónica como los del CPD (Centro de Proceso de Datos) están investigando la causa del problema con carácter urgente. Más adelante nos dicen que han encontrado una solución provisional que ha mejorado la situación, aunque se sigue trabajando para solucionar el problema definitivamente.

En Internet comienzan a salir foros y artículos que hablan del tema como Banda Ancha, donde numerosos clientes de ADSL de Telefónica comunican su problema al acceder a Internet, incluso algunos ISP’s comentan «Lo que sucede es que se pierden paquetes, se duplican y llegan datos bits corruptos entre los mismos, una cosa rarísima, el ping dice que hay un corrupcion de datos, cada X pings…». Parece que Telefónica no admite incidencia alguna hasta que se insiste mucho.

Otros medios donde se habla del problema:

Menéame y aquí
Blog Kopernix
Proveedor de Servicios Internet (ISP) Dimensis
Vilaweb

Como digo en los comentarios, recomiendo a todos cambiarse al ADSL de Jazztel, mucho más rápido y más barato que Telefónica, si me dejáis un mensaje con vuestro e-mail os puedo dar mi DNI y teléfono de cliente Jazztel para conseguir un descuento de 30 euros. Más información en http://oferteca.com/oferta-adsl-jazztel-el-mas-rapido-mas-barato-y-con-router-wifi-gratis/.

Actualización (20/05/2009 11:00):
El ISP Serveis web informa que la incidencia parece que ha sido resuelta:

«Desde este Departamento de Atención al Cliente ponemos en conocimiento de nuestros Clientes que utilizan ADSL de Telefónica para conectarse a Internet, que las incidencias en algunos de los servicios que la mencionada compañía venía mostrando desde el pasado domingo día 17 a las 22:30, parece que han sido resueltas desde la pasada noche.

Si detectaran de nuevo problemas, puede hacérnoslo saber y del mismo modo abrir incidencia en Telefónica para que puedan actuar lo antes posible.»

Nueva incidencia (17/08/2009):
Acabo de ver por TV que vuelve a haber una incidencia masiva en el ADSL de Telefónica, pero como estoy con Jazztel en casa, ni me había enterado… En BandaAncha y Menéame se están haciendo eco de la noticia, parece que en un principio eran los DNS de Telefónica, pero también parece que se les pierden paquetes… Esperemos que los encuentren 😉 En fin, bastante parecido a la incidencia de mayo…

Etiquetas: , , , , , , , , ,

Comments 2 Comentarios »

A la hora de instalar PHP en Windows para funcionar sobre el servidor web IIS podemos encontrarnos con algunos problemas. Dejo aquí una recopilación de pasos básicos que recomiendo al instalar PHP en Windows si encontramos alguno de estos problemas. Al menos está comprobado que funciona hasta la versión de php 5.2.9:

1.- Descargar el archivo comprimido en zip de http://php.net.
2.- Descomprimirlo en la carpeta c:\php5, por ejemplo.
3.- En IIS, en Equipo Local / Sitios web / Propiedades / pestaña Directorio particular / Configuración, dar de alta la asignación .php con c:\php5\php5isapi.dll.
4.- En IIS, en Equipo Local / Sitios web / Propiedades / pestaña Documentos / Habilitar documento predeterminado, agregar index.htm e index.php, que suelen ser los documentos por defecto en webs que usan Apache y PHP.
5.- En c:\php5, hacer una copia del archivo php.ini-recommended y renombrarlo a php.ini.
6.- Modificar en el php.ini anterior:
– De ;cgi.force_redirect = 1 a cgi.force_redirect = 0 (descomentar y poner a 0).
extension_dir = «c:\php5\ext\».
– descomentar extension=php_mysql.dll para que funcione mysql.
– descomentar extension=php_mbstring.dll y extension=php_mcrypt.dll para que no dé error el PhpMyAdmin, por ejemplo (al menos la versión 3.2.3.0).
7.- Copiar el archivo  php.ini modificado a c:\windows.
8.- ver las dependencias de cada extensión, por ejemplo php_mysql.dll PHP >= 5.0.0, requires libmysql.dll (bundled) y copiarlas en c:\Windows\System32 (en este caso libmysql.dll). Para php_mcrypt.dll, Requires: libmcrypt.dll, copiar libmcrypt.dll a c:\Windows\System32.

Etiquetas: , , , , , ,

Comments 1 Comentario »

Recientemente he cambiado mi blog Chistes con buen humor de servidor Windows 2003 a Linux. Al intentar subir imágenes en el nuevo hosting me daba varios errores de permisos. Expongo aquí una lista de problemas que pueden darse y cómo solucionarlos.

– En primer lugar, hay que asegurarse que la carpeta «wp-content/uploads» tiene permisos de escritura 755.
– En el panel de control de WordPress, en Opciones / Misceláneas, en «Guardar los archivos subidos en esta carpeta» la ruta de archivos no debe ser formato Windows (C:\http\sites\…) sino Linux, lo mejor es dejar la carpeta por defecto, «wp-content/uploads».
– Por último, uno de los errores que más me trajo de cabeza era «No se pudo crear el directorio /var/www/vhosts/chistesconbuenhumor.com/httpdocs/wp-content/2009/05. Asegúrese de que el servidor tiene permisos de escritura para el directorio superior». Investigando un poco averigüé que el error se daba por tener el modo seguro de PHP (safe_mode) activado en el hosting, con lo que había que desactivarlo en las propiedades del dominio (http://de.php.net/features.safe-mode):

Modo seguro PHP en Plesk

Modo seguro (safe mode) PHP en Plesk

Etiquetas: , , , , , , , , ,

Comments No Hay Comentarios »

En una ocasión, instalando un servidor web con sistema operativo Linux Debian y soporte para PHP y MySQL, me encontré al instalar WordPress para un blog con el problema «Parece que tu instalación de PHP no cuenta con la extensión de MySQL, necesaria para WordPress». La solución al problema es descomentar una línea del archivo php.ini, como especifica Patob en su blog. Hay que descomentar en el php.ini, generalmente en /etc/php5/apache2/php.ini (eliminar el punto y coma ; de delante) la línea:

;extension=mysql.so

con esto PHP carga la extensión para MySQL automáticamente. Por último reiniciamos Apache y MySQL:

#/etc/init.d/apache restart
#/etc/init.d/mysql restart

y este problema debería solucionarse.

Etiquetas: , , , ,

Comments 1 Comentario »

Hoy viernes 13 de marzo se cumplen 20 años del nacimiento de las páginas web (WWW), tal como las conocemos. El 13 de marzo de 1989 una propuesta presentada por un físico del CERN (Centro Europeo de Investigaciones Nucleares) sentó las bases para desarrollar el lenguaje HTML, que en principio serviría para intercambiar información entre físicos de todo el mundo a través de Internet. El lenguaje HTML (HyperText Markup Language) es un lenguaje de etiquetas que permite establecer hipervínculos entre documentos de forma fácil y que los navegadores saben interpretar. Tiempo después vendrían nuevas tecnologías y lenguajes como javascript, flash, asp, php,…

El creador de la WWW, Tim Berners-Lee junto al ordenador que sirvió de primer servidor web

El creador de la WWW, Tim Berners-Lee, junto al ordenador que sirvió de primer servidor web

Pocos se imaginaban que aquel invento iba a revolucionar la tecnología y en el CERN lo están celebrando dando conferencias, haciendo camisetas y exponiendo el primer ordenador que albergó un servidor web, un navegador web y un editor para desarrollar páginas web.

Ejemplo de documento en lenguaje HTML

Ejemplo de documento en lenguaje HTML

Recuerdo mi primer contacto con la web en la Universidad Politécnica de Valencia (España), cuando inicié (y años después acabé) la carrera de Ingeniería Técnica en Informática de Sistemas, allá por el año 1994. En 1995-96 colaboré en el desarrollo de una página web de una asociación de la Universidad y desde la Facultad de Informática programábamos las páginas web con un editor de textos y editor de imágenes básicos… Escribía el lenguaje HTML totalmente a mano, qué recuerdos, <html><head><title>… <table border=»0″… Empezando de esta forma me ha servido mucho posteriormente, es mucho más fácil encontrar errores y problemas cuando se conoce el código.

Este artículo en una versión menos técnica también lo podéis encontrar en Tecnología de la Vida.

Etiquetas: , , , , , , , , , , ,

Comments 1 Comentario »

Hemos creado un experimento socio-tecnológico imaginando que el intento de Golpe de Estado en España del 23 de febrero de 1981 se hubiera producido en la actualidad.

Etiquetas: , , , , , , , , , , , ,

Comments 2 Comentarios »

Como ya sabe cualquier usuario avanzado de WordPress, el panel de control y algunas frases genéricas de este CMS se pueden traducir al español poniendo el archvio es_ES.mo en /wp-content/languages y definiendo en /wp-config.php la línea define(‘WPLANG’,’es_ES’);

Pero para traducir un tema en particular, es necesario poner todas las frases que se quieran traducir entre las funciones __() y _e(), generar el archivo .po a partir de una herramienta como gettext y traducir todas las expresiones con la ayuda de algún programa como PoEdit, que también genera el archivo .mo final. No es mi intención explicar este proceso en este artículo (más sobre la herramienta gettext), sino abordar un problema que se me ha planteado y me ha costado mucho de solucionar.

Cuando tenemos el archivo de traducción del tema al español es_ES.mo generado, suele ocurrir que al actualizarlo en Internet el tema sigue apareciendo en inglés. Después de buscar mucho por Internet y no hallar solución, me fijé en algunos temas ya traducidos como mandingo y encontré la causa del problema. Pensaba que por defecto cualquier tema buscaba en la carpeta raíz el archivo de traducción a partir del parámetro WPLANG (en nuestro caso ‘es_ES’), pero no es así, hay que indicárselo.

En primer lugar, hemos de cargar el archivo de localización .mo del tema y esto se hace con la función load_theme_textdomain(‘nombre_tema’), así que hay que poner en algún archivo que se cargue siempre (como header.php) la siguiente línea:

<?php load_theme_textdomain('nombre_tema'); ?>

A continuación, en todos los archivos php del tema donde se utilicen las funciones de traducción __() y _e(), hay que especificarle el tema en todas las llamadas a esas funciones, por ejemplo:

_e('This post was written by ');

cambia a

_e('This post was written by ','nombre_tema');

y eso es todo. Es un poco de trabajo adicional pero así conseguimos que funcione nuestra propia traducción del tema.

Para no tener que hacer esto con todas las llamadas a las funciones __() y _e(), pensé en ir a su definición y modificar directamente el $domain, que por defecto es ‘default’, es decir, en /wp-includes/l10n.php cambiar el tema por defecto:

function __($text, $domain = 'default')

cambia a

function __($text, $domain = 'nombre_tema')

pero esto hace que el panel de control de WordPress pierda la traducción, ya que deja de cargar el archivo es_ES.mo genérico de /wp-content/languages, así que no tendremos más remedio que modificar todas las llamadas a las funciones __() y _e().

Etiquetas: , , , , , , , ,

Comments 11 Comentarios »

Descargar utilidad para generar contraseñas

Podéis descargar la utilidad para generar passwords aleatorios y ejecutarla (sin necesidad de instalarla) en los navegadores más populares, como Microsoft Internet Explorer o Mozilla Firefox, haciendo doble clic sobre el archivo «generar_password.htm» o añadiéndola a Favoritos del navegador.

Este archivo contiene una de las funciones más útiles que suelo usar para generar passwords o contraseñas para correo, redes sociales, bases de datos,…, programada en Javascript:

function generarPassword(form) {
 var strCaracteresPermitidos = 'a,b,c,d,e,f,g,h,i,j,k,m,n,p,q,r,';
 strCaracteresPermitidos += 's,t,u,v,w,x,y,z,1,2,3,4,5,6,7,8,9';
 var strArrayCaracteres = new Array(34);
 strArrayCaracteres = strCaracteresPermitidos.split(',');
 var length = form.txtCampoLongitud.value, i = 0, j, tmpstr = "";
 do {
  var randscript = -1
  while (randscript &lt; 1 || randscript &gt; strArrayCaracteres.length ||
           isNaN(randscript)) {
   randscript = parseInt(Math.random() * strArrayCaracteres.length)
  }
  j = randscript;
  tmpstr = tmpstr + strArrayCaracteres[j];
  i = i + 1;
 } while (i &gt; length)
 form.txtCampoPassword.value = tmpstr;
}

Lo que hace esta función es escoger carácteres aleatorios del array strCaracteresPermitidos, hasta una longitud dada. En este caso concreto, se generan cadenas aleatorias con letras minúsculas y números, y no se incluyen carácteres que puedan resultar confusos, como la letra «l» (L, ele) que puede confundirse con el número «1», o la letra «o» (O) que puede ser confundida con el número «0». Se pueden añadir otros carácteres o letras mayúsculas ampliando el array strCaracteresPermitidos, así como la dimensión (número de elementos) del array strArrayCaracteres.

Para que funcione esta función tal como está, debe ir acompañada de un código HTML similar a:

<form>
 <input type="text" name="txtCampoPassword" size="20">&nbsp;&nbsp;
 <input type="button" value="Generar" onClick="generarPassword(this.form);">
 <br>
 Longitud password:
 <input type="text" name="txtCampoLongitud" size="4" value="8">
</form>

que contiene el campo con el password generado, el botón para ir generándolos y el campo donde se le especifica la longitud de la contraseña.

Podéis descargar el archivo HTML completo (con la función javascript en su interior) aquí y ejecutarlo en los navegadores más populares, como Microsoft Internet Explorer o Mozilla Firefox.

Etiquetas: , , ,

Comments 5 Comentarios »

Para todos los que se dediquen al mundo de la informática, llega esta gran ayuda para no tener que pensar excusas a la hora de dar explicaciones sobre el retraso en la finalización de un proyecto o en la reparación de una avería informática. Eligiendo cualquier combinación entre las 3 columnas se generará una excusa de digno significado técnico que nos puede sacar de más de un apuro…

Haz clic en la imagen para verla más grande.

Etiquetas: , ,

Comments No Hay Comentarios »

Bueno, me he adelantado a la Wikipedia y he detectado que entre ayer y hoy el PageRank de Google (importancia que da el buscador a las páginas web) se ha actualizado. Google suele actualizar el PageRank de las páginas que indexa cada 3 ó 4 meses y he observado que mis cuatro blogs principales (iniciados entre Octubre y Noviembre de 2008) han pasado en apenas tres meses desde la última actualización (3ª semana de Octubre de 2008) de PageRank 0/10 a:

http://programadorasp.com: 2/10
http://inversionyahorros.com: 3/10
http://tecnologiadelavida.com: 3/10
http://chistesconbuenhumor.com: 3/10

El PageRank de una página web se puede ver desde la barra Google instalada en el navegador (muy útil, la recomiendo) u otras webs que consultan directamente a los servidores de Google como la de nuestros amigos de Código Fuente o PageRankSites. El PageRank puede variar según el servidor de Google en el que se consulte, sobre todo durante el Google Dance, periodo de unos cuatro días en los que Google acutaliza el PageRank.

Así que es una muy buena noticia, porque demuestra que Google premia las webs con buen contenido, original y que se actualiza frecuentemente… Supongo que esta gran subida sólo es al principio, ya que según tengo entendido aumentar un PageRank ya de por sí alto cuesta más.

Un buen regalo para despedir el año… Por cierto,

¡¡¡Feliz año 2009!!!

Etiquetas: , , , ,

Comments No Hay Comentarios »