RE Camera, la nueva cámara de HTC

No, el equipo de marketing y desarrollo de marcas de HTC no está hablando en lunfardo, aunque sí esperamos que la nueva cámara de HTC sea una re cámara. Lo cierto es que por ahora se sabe poco y nada de ésta nueva cámara que parece que tiene como mercado objetivo el mismo que las GoPro y las Sony ActionCam, por un lado, es interesante que llegue mas competencia, por el otro es malo, ya que finalmente me había decidido a comprar la ActionCam de Sony, pero ahora voy a esperar a ver que tiene para ofrecer la RE Camera de la empresa taiwanesa.

re camera logo htc

Logo de RE Camera

El lanzamiento se espera para el 8 de octubre, o al menos es la fecha que mencionan en el sitio.

También existe un vídeo que imaginamos está grabado utilizando la cámara.

Y en dicho vídeo al parecer se puede ver la cámara, si es que está siendo filmado con ésta.

Es una RE Camera

Imagen de la RE Camera

Obviamente la imagen no es la mejor, si quieren probar suerte para tener una vista mejorada, pueden probar de verla en el segundo 3 del vídeo.

Lo único que le falta a ésta nueva cámara es que alguien la use para filmar un motochorro al grito de “Migou, migou, migou”.

Forbidden Filename “shell.php”

¿Qué estás pasando?

El error 550 Forbidden Filename, básicamente tu hosting tiene entre sus políticas de nombres no aceptados en el FTP a “shell”, no es algo del todo raro, pero si es algo molesto cuando sucede. Un ejemplo es en la versión 4.0 de WordPress, en donde existe un archivo con ése nombre en “wp-includes\Text\Diff\Engine“.

¿Y ahora que hago?

Hay 2 alternativas, la primera es quejarse, si! A tu empresa de hosting, contactense y expliquen la situación, lo mas común es que no tengan problemas en modificar la configuración para que subir éste archivo no sea un problema.

La otra opción, para quienes extrañan a MacGyver es renombrar el archivo, luego subirlo adonde corresponde y en esa misma carpeta subir un archivo con el siguiente código:


<?php rename('nombre_actual.php', 'shell.php'); ?>

Por ultimo queda ingresar la URL en la cual quedó el archivo que crearon, en el navegador, y con ésto se acaba el sufrimiento.

Dependiendo de la configuración de su hosting en algunos casos se puede renombrar el archivo desde el cliente FTP.

Convertir SVG a PNG, en el navegador y listo para descargar

Ya estamos en un tiempo en el que virtualmente todos los navegadores más usados soportan SVG, por lo cual el uso de éste elemento en los sitios web se ha hecho más común, y aún más con la gran cantidad de librerías disponibles para trabajar con SVG hechas en Javascript, siendo D3.js una de las más populares.

Un detalle que pueden haber notado es que para el usuario es a veces un poco complicado descargar un gráfico hecho en SVG, algo que no pasaba con formatos de imágenes como JPG y PNG. Pero afortunadamente, hay una solución a éste problema, y no puede ser más fácil.

bandera argentina

Un pequeña muestra

Descargar graficos SVG como PNG

saveSvgAsPng es una librería en Javascript que permite descargar fácilmente gráficos SVG en formato PNG, lo cual es más que interesante y muy útil.

El uso es muy sencillo, es solo cuestión de incluir la librería en el sitio, y llamarla mediante la función saveSvgAsPng, con 3 parámetros, el primero es el elemento SVG, el segundo el nombre del archivo que se genera, y el tercero indica el factor de escala, o sea, el tamaño de la imagen respecto al del SVG.

Lo mejor de todo es que como funciona desde el navegador también pueden abrir cualquier SVG que tengan en su PC y utilizar ésta herramienta para convertirlo a PNG.

Mal día para ser el Community Manager de Telefónica

Telefónica publicó un tweet que generó un poco de controversia, el mismo decía:

¡Argentina tiene arte en todas partes! En calles, galerías y hasta en los trenes. RT si te gusta este tipo de arte.

Para los que no lo saben, el gobierno argentino ha estado luchando contra los graffitis en el transporte publico por bastante tiempo, todo comenzó cuando un grupo de vándalos realizó éste “arte” en los trenes recién llegados de China.

Obviamente hay que entender que existen muchas posturas al respecto, y es probable que quien publicó el tweet haya sido alguien que está a favor de los graffitis, lo cual no está mal, pero no es la mejor elección publicarlo desde la cuenta de una empresa.

telefonica trenes tweet

Me mandé una macana

El lugar donde falta arte es en la infraestructura de las empresas de telefonía, o mejor dicho, hay mucho arte y pocas inversiones.

 

ORDER BY avanzado para loops con WordPress (usando WP_Query)

Todo en WordPress es sencillo, hasta que empezamos a hacer cosas mas especificas, y no es porque no tengamos las herramientas para hacerlo, sino porque muchas veces no las conocemos y terminamos escribiendo algún código ninja para salir del paso, y no digo que esté mal, pero en incontables ocasiones terminamos reinventando la rueda, y no de la mejor manera.

reinventar la rueda

Reinventando la rueda

Uno de éstos casos es cuando usamos la clase WP_Query para crear loops customizados, o como deseen llamarlos. En ésta ocasión la idea es ahondar sobre el orden de los posts que se obtienen en el Loop.

WP_Query orderby

En éste ejemplo usamos el parámetro ORDER BY, y elegimos los parámetros “author” y “title”, o sea, ordenamos primero por autor, y si hay 2 posts que tienen el mismo autor, entonces el titulo es el que “decide” el orden.

$args = array( 'orderby' => 'author title', 'order' => 'DESC' );

$query = new WP_Query($args);

El resultado de ésta query es el siguiente:

SELECT SQL_CALC_FOUND_ROWS  wp_posts.ID FROM wp_posts  WHERE 1=1  AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish')  ORDER BY wp_posts.post_author,wp_posts.post_title DESC LIMIT 0, 10

Como ven, en la query generada vemos que se utilizan las columnas “post_author” y “post_title” en el ORDER BY, ésto tiene algunas limitaciones, como por ejemplo, que no se puede ordenar en forma ascendente en una columna y descendente en la otra.

Además, existen casos en lo que se requiere ordenar por día y por otra columna, por autor, por dar un ejemplo, en ése caso hay un problema, si usamos el “orderby” con el parámetro “date”, el segundo parámetro no tendría sentido (en la mayoría de los casos), ya que el parámetro “date” se corresponde con la fecha del post, que tiene incluido la hora, minutos y segundos, por lo tanto es raro que 2 posts tengan la misma fecha, aunque hay casos en los que sí, como cuando los posts fueron migrados a WordPress y los datos de la fecha estaban incompletos.

Filtro posts_orderby

Con el filtro “posts_orderby” lo que se logra es modificar la parte del ORDER_BY de la query que genera WP_Query, su uso es muy sencillo.

add_filter('posts_orderby', 'posts_orderby');

function posts_orderby($orderby_for_query) {
$orderby_for_query = "LEFT(wp_posts.post_date, 10) DESC, wp_posts.post_title ASC";
return $orderby_for_query;
}

$args = ' ';
$the_query = new WP_Query($args);
var_dump($the_query->request);

El resultado del “var_dump” es el siguiente.

SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts WHERE 1=1 AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish') ORDER BY LEFT(wp_posts.post_date, 10) DESC, wp_posts.post_title ASC LIMIT 0, 10

Como ven, el filtro modificó la parte del ORDER_BY con lo que añadimos en la funcion “posts_orderby”. La función LEFT, es una función de MySQL, lo que hace es obtener una subcadena de una cadena, en éste caso la idea es reducir la columna “post_date” para obtener solo la parte del año, mes y día, de ésa forma se logra orden por día, y por el otro atributo que se desee.

Si tienen varias queries, pueden “remover el filtro”, para evitar que afecte a otros loops.

remove_filter( 'posts_orderby', 'posts_orderby' );

Lo ideal, es llamar a ésta función después de crear la query.

Como aclaración, ésto también funciona en las queries por defecto de WordPress (en las que no es necesario crear una instancia de WP_Query).