Olvídate de la Comic Sans, llega la Comic Neue!

Desde hace ya 20 años, por allá el 1994, tenemos entre nosotros la grandísima Comic Sans! Esa fantástica fuente para hacer carteles de lo más cools! Desde invitaciones para fiestas infantiles, hasta carteles para ofrecernos para dar clases de repaso!

El culpable de todo fue Vicent Connare (el mismo de la Trebuchet), trabajador de Microsoft, que se inspiró en los tipos de letra que se había viniendo usando durante años en los cómics americanos, de ahí su nombre. Desde la aparición de Windows 95, esta tipografía ha acompañado a todas las versiones de Windows hasta el día de hoy.

Pues bien, ya no tienes excusa para seguir usando esta fuente! El australiano Craig Rozynski ha presentado una nueva fuente inspirada en la Comic Sans, pero algo menos chunga y más puesta al día... La Comic Neue

Craig Rozynski ha querido hacer un poco mejor este mundo, liberando al dominio público su tipografía, disponible para descargar desde su página web comicneue.com

Categorias: 

En busca de los 100Mb con Fibra Óptica

Como comenté la semana pasada, después de la instalación de FTTH de 100Mb/10Mb de Movsitar, la velocidad del sobremesa de casa se quedaba bastante por debajo de esa cifra, alrededor de los 30Mb.  

En cambio con el MacBook conectado via Ethernet, la velocidad sí que llegaba a esa velocidad prometida, por lo que queda claro que no es problema de la conexión,  si no de ese PC en cuestión. Se trata de un PC que empieza a tener ya cierta edad, alrededor de los 5 años, y funcionando con Vista.

El instalador que vino a hacer la instalación de fibra, me comentó que muchas veces quien está limitando la velocidad de la conexión es la tarjeta de red del ordenador. Cosa que tiene toda su lógica, y teniendo en cuenta que el PC empieza a tener una edad, es bastante probable que la velocidad de la tarjeta no sea demasiado alta.

Así que voy a hacer la prueba, y a instalar una tarjeta Ethernet de tipo Gigabit (compatible con conexiones de red de 1000Mbps), para ver si así la conexión que se establece con el router es más rápida, y puede aprovechar todo el potencial de la Fibra Óptica. 

La elección de la tarjeta

No hace falta que sea nada del otro mundo, simplemente que tenga conectividad Gigabit y de alguna marca más o menos conocida. Buscando por Amazon, de entre las más vendidas encuentro una por 10€, que cumple ese requisito, conectividad Gigabit y marca reconocida (D-Link): 

D-Link DGE-528T Tarjeta Red PCI Gigabit Ethernet 10/100/1000 Mbps

Además con bastantes comentarios positivos, así que es la perfecta candidata. La pedí el sábado, y ayer al mediodía la tenía en el trabajo. 

Test a priori

Vamos a hacer una prueba de velocidad antes de cambiar la tarjeta, para ver exactamente qué velocidad de bajada y subida tenemos. Estos son los resultados:

Test velocidad antes de cambiar ethernet

Intervención

La actual tarjeta Ethernet va integrada en la placa base, así que ahí se quedará si uso, y montaremos la nueva en uno de los puertos PCIs libres. Cerramos el PC, conectamos el cable Ethernet a la nueva tarjeta, encendemos el ordenador.

Windows Vista nos avisa de la detección de un nuevo hardware, nos pide el CD que venía con el producto, y en unos 5 minutos (que es Windows Vista!) nos avisa que el dispositivo está listo para ser usado. Probamos si tenemos conexión a Internet, y efectivamente está funcionando! 

Test a posteriori

Volvemos a repetir la prueba de velocidad, en la misma página, testvelocidad.eu, para ver ahora si el tema ha mejorado o qué (esperemos que así sea), y este es el resultado:

Test velocidad posterior al cambio

Bingo! Pues queda más que probado que efectivamente la limitación de velocidad venía originada por una tarjeta de red no suficientemente rápida. 

Así que si despues de instalaros fibra en casa no conseguís los 100Mb ni de casualidad, pensad en la posibilidad de cambiar la Ethernet por una compatible con velocidades de Gigabit. 

 

 

De vuelta con los comentarios

Un tiempo atrás tuve problemas de ataques masivos de spam, que llenaron el blog de comentarios publicitarios por todos lados. Como solución rápida, deshabilité la posibilidad de hacer comentarios y borré absolutamente todos los comentarios existentes, por lo que quedó el blog sin posibilidad de comentar nada de nada. 

Lo que fue una medida temporal, a la espera de instalar algun sistema antispam, se dilató en el tiempo hasta ayer que quise volver a poner esto un poco en marcha. El tema de los comentarios en un blog, es algo imprescindible bajo mi punto de vista, pues es necesario tener un mínimo de feedback e interacción con quien aterriza por aquí por el motivo que sea. Por esa razón, ayer los volví a habilitar, después de haber instalado un sistema antispam, que ya veremos qué tal funciona... 

El módulo CAPTCHA

El módulo usado es CAPTCHA (https://drupal.org/project/captcha), que te da la opción de insertar un test de este tipo en cualquier formulario de la página. Se puede definir un tipo de test por defecto (inicialmente se puede escoger entre el test matemático y el test de la trascripción del texto de una imagen), pero luego sobrescribir el tipo de test para cada formulario en concreto.

En mi caso el tipo de test usado inicialmente en todos los formularios es el de la operación matemática sencilla, puesto que como usuario lo prefiero bastante al test de transcripción de texte de una imagen... Ahora veremos si es suficiente para mantener esto limpio... Por lo menos, durante las primeras 12h, todo parece seguir en orden... 

Como contrapartida, hay que valorar el hecho que el módulo deshabilita el memory caching de las páginas donde se ha insertado un test captcha, ya que si no, para un determinado formulario, al usuario siempre se le pediría la misma operación, que con fuerza bruta muy fácilmente terminaría resolviendo. Esto hace que se pierda parte de la velocidad de la página, especialmente si se colocan formularios en muchas pantallas de la página. 

Actualización a los 5 días...

Ya hemos cambiado el test del Captcha y hemos colocado la transcripción de la imagen.

Los tests matemáticos son menos molestos de cara al usuario, pero su efectividad ha quedado un poco en entredicho, en menos de una semana de pruebas. En estos días, se han colado un total de 8 mensajes de SPAM. Imagino que simplemente por una cuestión de estadística, como el texto correcto acaba siendo un valor casi siempre entre 0 y 100, simplemente por fuerza bruta, uno de cada 100 intentos se acabará colando... Ahora esperemos que con las imágenes la cosa mejore. 

FTTH, Fiber To The Home

Hace un par de semanas, llamaron a casa los de Telefónica para ofrecer la posibilidad de cambiar el tipo de conexión a Internet, y pasar de ADSL a Fibra Óptica, aprovechando que recientemente la habían hecho el despliegue por la zona. Como teníamos pendiente de juntar el móvil de mi pareja y el teléfono de casa con algún plan para mejorar el precio, me decidí por contratar un Movistar Fusión con fibra óptica. Me ofreció el Imagenio gratis durante un par de meses, que le dije que no porque en casa apenas miramos la tele. 

A la semana siguiente llamó la empresa instaladora para realizar la instalación. Quedamos el sábado de esa misma semana a las 9 de la mañana para que hicieran la instalación de la fibra, con una previsión de 2-3 horas. 

La instalación de la FTTH

La instalación de fibra óptica se basa en hacer llegar el cable de fibra óptica del nodo de la calle hasta el router de casa.

Al lado del router montan una especie de roseta donde se hace el empalme de la fibra de la calle con un latiguillo de fibra que queda ya dentro de casa. Este latigullo es el que se conecta a la ONT, que es la unidad que hace la conversión de señal óptica a impulsos eléctricos. Por lo tanto, le entra la fibra óptica, y sale cable de red que conectaremos al router. También de la ONT sale el cable de teléfono para dar el servicio telefónico a casa. Luego ya, a partir del router conectamos los equipos que queramos conectar via Ethernet del modo convencional.

En mi caso, el router que montaron fue un Comtrend VG-8050.

El día del montaje

El técnico para empezar se presentó a casa sobre las 9:30h, después del esfuerzo que hice para levantarme temprano un sábado por la mañana! Después de haberle dicho expresamente al comercial del teléfono que no quería el Imagenio (los comerciales son habituales del "Habla chucho que no te escucho..."), el técnico me aseguraba que en su parte de instalación le aparecía como que sí tenía que instalarlo. En ese momento me lo pensé mejor, y le dije que vale, que me lo quedaba durante el tiempo promocional, y luego ya lo devolvería.

De esta forma, me aseguraba que el técnico me dejaría conectado al router tanto el PC de sobremesa como la TV del comedor, ahorrándome tener que hacer yo el trabajo de cablear unos cuantos metros (entre 12 y 15 metros) con cable Ethernet por dentro del piso. Después de negarme a conectar con un adaptador wifi el PC de sobremesa para ahorrarse él tener que cablear el tema, me pasó el cable hasta el PC. 

Todo montado, hace la primera prueba y no llegaba Internet. Rápido se dió cuenta que era culpa de la ONT, que dijo literalmente que eran "basura" y que esta semana ya le habían fallado 3. Bajó a buscar otra ONT al coche, conectó y listo. Hizo una prueba con su portátil, y le daba una velocidad de bajada de 30Mb... y yo con cara de circumstancias... todo este jaleo por 30Mb... Le digo, y eso...? Y me contesta que nada, que no hay problema, que llegar llegan 100Mb. Y yo... ya, y eso de los 30Mb que pone en el portátil...?? Y dice, nada, estos routers que dá telefónica que son malísimos y fallan la mitad de ellos. Voy al coche a buscarte otro y te lo monto. Baja, monta otro, hace la prueba y estamos igual... Luego ya, me dice que si es su portátil que son viejos y que no dan más velocidad que esa... Yo ya un poco mosca... El tío con prisas para que le firmara el parte porque llevaba una hora y media de retraso en la hora de inicio de su siguiente instalación. Pruebo ahora con mi PC de sobremesa, ahora da unos 45Mb... yo ya flipando... demasiado bonito era lo que había leído de los 100Mb reales... Al final, hago una última prueba con el portátil conectado por cable. Y por fin:

Con el Macbook sí que pude ver que con una tarjeta de red más o menos moderna no había problemas y la conexión efectivamente daba los 100Mb prometidos y los 10Mb de subida. Por fin!!

Según me comentó el técnico, con las tarjetas Ethernet antiguas, la conexión que se establece con el router no da tampoco los 100Mb, así que tocará cambiar la tarjeta del PC de sobremesa para aprovechar la conexión. 

Bueno, al final el técnico se marchó de casa sobre las 13.45 del mediodía (cuando la hora estimada era terminar sobre las 11h-12h...) Pero bueno, yo ya con mi conexión de 100Mb y con el cableado tanto hasta la TV como hasta el despacho, más feliz que una perdiz. 

La conexión vía Wifi, obviamente no es igual que conectada por cable, pero también es bastante rápida: 

Así que, por lo menos hasta el momento, la valoraciónes muy positiva.

Categorias: 

Consumir webservice de Drupal desde PHP

Con esta entrada veremos la forma (una forma) de consumir desde PHP un servicio web publicado mediante Drupal. Lo haremos usando la librería Client URL, cURL, que es una implementación de libcurl para PHP, y que nos permite hacer todo tipo de peticiones desde PHP.

El servicio web en cuestión publicado desde Drupal, es de tipo RESTful, y la particularidad más destacada que tiene es que la autenticación funciona mediante cookie. Esto significa que toda llamada a una función de ese servicio web debe llevar consigo una cookie con una sesion establecida previamente con el servidor

Entonces el procedimiento cuando queremos hacer una petición a una función del servicio, inicialmente haremos una primera petición para autenticarnos y obtener una cookie con la sesión. Una vez hecho esto ya podremos hacer la petición a la función que queramos del sevicio, adjuntando la cookie que hemos obtenido en la petición de autenticación. 

 

El código 

Vamos a ver el código en cuestión: 

<?php
    ///////////////////////////////////////////////////////////////////////
    // Código de ejemplo para llamar a un servicio web publicada con Drupal.
    // Se trata de un servicio de tipo REST, autenticado mediante cookie.
    ///////////////////////////////////////////////////////////////////////
    

    ///////////////////////////////////////////////////////////////////////
    // Primera petición, para autenticarnos y obtener la cookie de sesion
    ///////////////////////////////////////////////////////////////////////
​    $crl = curl_init();
    $urlLogin = "http://example.com/user/login";
    $postdata=array(
        "name"=>"user_name", 
        "pass"=>"user_password",
        "form_id"=>"user_login", 
        "op"=>"Log in"
    );
    
    // URL donde hacer la petición
    curl_setopt($crl, CURLOPT_URL, $urlLogin);
    curl_setopt($crl, CURLOPT_COOKIEFILE, "/tmp/cookies/curlCookie.txt");
    curl_setopt($crl, CURLOPT_COOKIEJAR, "/tmp/cookies/curlCookie.txt");
    curl_setopt($crl, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($crl, CURLOPT_RETURNTRANSFER, 1);
    // Indicamos que vamos a hacer una petición de tipo POST
    curl_setopt($crl, CURLOPT_POST, 1);
    // Y pasamos los parámetros de la llamada post, que es basicamente
    // la variable $postdata que hemos creado al inicio    
    curl_setopt ($crl, CURLOPT_POSTFIELDS, $postdata);    
    // Ejecutamos la llamada
    $result=curl_exec($crl);
    // Para terminar esta primera llamada, nos aseguramos que hemos 
    // podido acceder correctamente, y estamos dentro
    $headers = curl_getinfo($crl);
    if ($headers['url'] == $url) {
        die("Cannot login.");
    }     
    // Si no ha habido imprevistos, cerramos esta primera petición
    curl_close ($crl); 
    

    ///////////////////////////////////////////////////////////////////////
    // Ahora que ya tenemos la cookie guardada de la petición anterior, 
    // hacemos la segunda petición y llamamos a la función del servicio web. 
    ///////////////////////////////////////////////////////////////////////
    $ch = curl_init(); 
    // Url de la petición del servicio web
    $RequestUrl = "http://example.com/samples/get_created_samples.json";
    curl_setopt($ch, CURLOPT_URL,$RequestUrl);    
    // Este parámetro hace que al ejecutar la petición, la función devuelva  
    // la respuesta de la misma
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    // Lo más importante! Pasamos la cookie que hemos obtenido con la 
    // petición inicial    
    curl_setopt($ch, CURLOPT_COOKIEFILE, "/tmp/cookies/curlCookie.txt");
    // Ejecutamos la llamada 
    $result = curl_exec ($ch);
    // Ya tenemos los resultados en $result, podemos cerrar la petición 
    curl_close ($ch); 
   
    // Con la funcion json_decode de PHP pasamos del String de json a un 
    // array con el que trabajar mejor con los datos    
    $json_array = json_decode($result, true);
    foreach ($json_array as $json_object){
        echo ("<b>Nom:</b> ".utf8_decode($json_object['surname']."<br/>"));
        echo ("<b>Cognoms:</b> ".utf8_decode($json_object['lastname']."<br/>"));
        echo ("<b>Ciutat:</b> ".utf8_decode($json_object['city']."<br/>"));        
    }
    
?>

 

Haciendo las peticiones detrás de un proxy

En nuestro caso, tuvimos que añadir adicionalmente la configuración del proxy de nuestra red, puesto que para salir a Internet lo hacemos mediante un servidor proxy. Para hacer esto, simplemente añadimos dos opciones más al objeto curl: la url del proxy y su puerto: 

    $ch = curl_init(); 
    $RequestUrl = "http://example.com/samples/get_created_samples.json";
    // Configuración del proxy
    curl_setopt($ch, CURLOPT_PROXY, "http://proxy.example.edu");
    curl_setopt($ch, CURLOPT_PROXYPORT, "8080");
    curl_setopt($ch, CURLOPT_URL,$RequestUrl);    
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_COOKIEFILE, "/tmp/cookies/curlCookie.txt");
    $result = curl_exec($ch);
    curl_close ($ch); 

Y esto es todo. 

Categorias: 

Páginas

Últimos workarounds

Últimos Short Tips

Puedes encontrarme en

Sites Relacionados