Detección de Genero con Gender API o Genderize.io

A la hora de detectar el genero de una persona en base al nombre, nos podemos ayudar de dos servicios web, gender API y Genderize.io. Los dos funcionan estupendamente, y los dos tienen un limite de peticiones, y funcionan los dos muy rápidos, y tienen los  dos un funcionamiento prácticamente igual. He creado un gist que usa los dos servicios, por defecto usa Gender API, y que esta configurado para España, aunque se puede cambiar para cualquier país cambiando el código de país.


function generoPersona($nombre, $provider = 'genderAPI')
{
$providers = array(
'genderAPI' => array(
'url' => 'https://gender-api.com/get?name=',
'pais' => '&country=ES'
),
'genderize' => array(
'url' => 'https://api.genderize.io/?name=',
'pais' => '&country_id=es'
)
);
if (array_key_exists($provider, $providers)) {
$dataProvider = $providers[$provider];
}
$generoPersona = 'Hombre';
$curl = curl_init($dataProvider['url'].$nombre.$dataProvider['pais']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$result = json_decode(curl_exec($curl));
if (is_a($result, 'stdClass') && property_exists($result, 'gender')) {
$generoPersona = ($result->gender == 'female')? 'Mujer' : 'Hombre';
}
return $generoPersona;
}

Mas info: https://gender-api.com y https://genderize.io

Anuncio publicitario

SQL Server en Linux

El pasado 7 de Marzo Microsoft anuncio la versión para Linux de su servidor de base de datos, y parece que este es un paso mas para intentar recuperar una batalla que la tiene perdida desde hace muchos años, primero perdida con los servidores para aplicaciones web, ganada por MySQL y la de servidores empresariales ganada por Oracle. Ya realizo un primer avance para los desarrolladores al ofrecer gratuitamente la versión express de SQL Server, y ahora con la de Linux intentara comer mercado a la ya establecida y estandarizada plataforma LAMP, para intentar convertirla en LASP.

De momento la versión aun no esta disponible, pero podéis obtener mas información en:

https://www.microsoft.com/en-us/server-cloud/sql-server-on-linux.aspx

Uso de array_map para codificar los valores de un Array

En alguna situación nos podemos encontrar con la necesidad de tener que codificar todos los valores de un array. Un método largo seria por medio de un foreach o el for, o podemos usar array_map para aplicar una función a todos lo valores contenidos en el array.

 

$encodedArray = array_map("utf8_encode", $decodedArray);

Mas Info: http://php.net/manual/es/function.array-map.php

Comprobar si existe un elemento en un Array con jQuery

Si queremos comprobar si existe un elemento en un array de Javascript podemos usar el método .inArray() de jQuery. Este método es muy parecido a la función indexOf().

Este metodo devuelve -1 cuando no encuentra el elemento y el numero de indice si lo encuentra. Hay que tener en cuenta que este método devuelve 0 si detecta el primer elemento del array, por eso a la hora de realizar la función es conveniente no hacer la comparación con verdadero o falso, y hay que hacerla con -1. Podemos usar un ultimo parámetro si queremos comprobar la existencia de ese valor en ese indice, si existe devuelve 1, si no existe devuelve 0.

Uso: $.inArray(valor, array [,indice])

var colores = ['Azul', 'Rojo', 'Verde', 'Amarillo'];
$.inArray('Verde', colores); //devuelve 2
$.inArray('Azul', colores); // devuelve 0
$.inArray('Rojo', colores, 1); // devuelve 1
$.inArray('Rojo', colores, 2); // devuelve -1
$.inArray('Morado', colores);// devuleve -1

Mas Info: https://api.jquery.com/jQuery.inArray/

Marcar multiples mensajes como no deseados

No se vosotros, pero todos los días en la bandeja de entrada de mi correo, me encuentro mensajes spam, y como usuario de iPhone, a la hora de marcarlos como correo no deseado, la verdad es un poco largo, ya que el procedimiento para hacerlo de uno en uno es:

Deslizamos desde la derecha hacia la izquierda el mensaje que queremos trasladar a no deseado. A continuación pulsamos en Mas y nos aparece el menu donde tenemos que pulsar Marcar… y en la siguiente pantalla pulsamos Trasladar a no deseado.

Tener que realizar esta misma acción en unos cuantos mensajes es muy tedioso, para hacerlo de una manera mas rápida lo podemos hacer seleccionando multiples mensajes.

Sin seleccionar ningún mensaje pulsamos en Editar, que esta arriba a la derecha, a continuación nos aparecerán unos círculos (radio) para poder seleccionar multiples mensajes, seleccionamos los que queramos trasladar a no deseado y pulsamos Marcar. A continuación pulsaremos a Trasladar a no deseado y listo.

Vaciar la cache del DNS en Windows

Muchas veces algunos de los problemas de conexión a Internet pueden venir por tener corrupta la cache DNS de nuestro ordenador, y vaciarla suele resolver varios de esos problemas. Para hacerlo seguiremos los siguientes pasos:

1.- Accederemos a la consola y la ejecutaremos como administrador, una manera sencilla es buscarla como cmd y cuando aparezca en el resultado de la búsqueda haciendo clic con el botón derecho encima del icono, marcamos ejecutar como administrador.

2. Una vez abierta la consola escribiremos: ipconfig /flushdns

3. Una vez realizada nos saldrá un mensaje como este:
Windows IP Configuration Successfully flushed the DNS Resolver Cache.

Aplicar estilo a multiples elementos excepto unos

La semana pasada en Selección múltiple con patrones en CSS explicaba como aplicar estilos a multiples elementos por medio de patrones. Pero ¿que sucede si dentro de ese grupo de elementos hay algunos a los cuales no queremos que se aplique ese estilo? Voy a poner un ejemplo donde nos podemos encontrar con esa situación, supongamos que estamos utilizando bootstrap 3 en nuestra web, y tenemos un formulario en el cual queremos poner un asterisco rojo delante de todos los elementos obligatorios, una manera sencilla y rápida para hacerlo es con CSS, aplicando un simple estilo

label.required:before   {
    content: "*";
    color: red;
}

Con esta regla lo que hacemos es antes de cada label(con el pseudo selector before, si quisiéramos que fuera después lo sustituiríamos por :after) que sea de la clase required le agregamos un * de color rojo. Según como tengamos diseñado el formulario, y si estamos usando elementos radio, nos podemos encontrar que delante de cada etiqueta de radio nos ha puesto el asterisco, para solucionar esto podemos usar el pseudo selector :not de la siguiente manera:

label:not(.radio).required:before   {
    content: "*";
    color: #ff3b30;
}

Espero que os sea de utilidad.

Animaciones de Hide y Show con jQuery

Uno de los efectos a la hora de distribuir el contenido dentro de una pagina web es el de ocultar y mostrar, el .show() y el .hide() de jQuery. Este efecto, a mi modo de entender, queda mas visual si le aplicamos un efecto con jQuery UI. Una manera simple de aplicar estos métodos con efecto es el uso de .slideUp() y .fadeOut() para ocultar y .slideDown() y .fadeIn() para mostrar.

El slideUp() lo que hace es ocultar el contenido con un efecto que hace subir el texto hacia el párrafo superior ocultándose, y slideDown() hace aparecer el texto por debajo del párrafo superior.

El .fadeIn() lo que hace es desvanecer el contenido y el fadeOut() lo contrario.

A estos 4 métodos le podemos pasar como parámetro el tiempo en milisegundos que queremos que dure este, o bien slow, normal, fast, o no pasarle ningún parámetro para que lo haga a velocidad normal. Os dejo un ejemplo con estos 4 efectos

https://jsfiddle.net/rubenlacasa/fw5x54qo/

Mas Info: http://api.jquery.com/category/effects/

Nueva Raspberry Pi 3

Hace unos días salir a la venta la nueva Raspberry Pi 3 con unas cuantas novedades muy interesantes. Para quienes no conozcan lo que es la Rasperry Pi, os dire que es un mini ordenador totalmente funcional con un coste de unos 35 Euros aproximadamente, a este precio70816528 siempre hay que sumarle una tarjeta MicroSD para el sistema operativo, el cargador, o el cable USB a Micro USB para conectarlo, si tenéis un móvil Samsung, el alimentador se puede usar perfectamente, y luego la caja, que no es obligatorio pero viene muy bien ponérsela, en AliExpres o Ebay hay un montón y muy baratas, y luego mi recomendación es usar una llave USB para usarla como almacenamiento externo.

Una de las novedades mas destacable de esta nueva versión es el  nuevo procesador ARMv8 Quad-Core de 64-bit  a 1.2 GHz, el cual da un rendimiento bastante superior al modelo anterior. Así como la inclusión de Wifi y Bluetooth 4.0 en el propio dispositivo, con lo que ya nos ahorramos tener que poner el Wifi USB que había que poner si queríamos conectar nuestro dispositivo via Wifi. El resto de características son iguales que el modelo 2.

El formato sigue siendo el modelo B, al igual que el modelo 2 y el modelo 1 B+ con lo que podemos aprovechar la caja de la versión anterior.

Mas Info: https://www.raspberrypi.org/products/raspberry-pi-3-model-b/

¿Que dispositivos están conectados a mi DropBox?

Dropbox nos permite tener nuestros documentos sincronizados en la nube, y nos viene muy bien tenerlo instalado en nuestros dispositivos para poder acceder a nuestros documentos en cualquier momento, pero, realmente sabemos desde cuantos dispositivos se puede acceder. Una manera de saberlo es accediendo a nuestro Dropbox vía web, y hacemos clic en nuestro usuario, arriba a la derecha, y seleccionamos configuración, nos aparecerá esta pantallascreenshot-area-2016-02-29-203645

 

Después hacemos clic en Seguridad, y nos aparecerán desde cuantos navegadores se permite el inicio de sesión en nuestro Dropbox

screenshot-area-2016-02-29-203708

Dándonos información de cuando fue la ultima actividad y si hacemos clic en la i nos dará mas información y debajo de esto nos aparecerán los dispositivos vinculados

screenshot-area-2016-02-29-203243

Tanto en los dispositivos y navegadores podemos desvincularlos desde esta pantalla.