Mantente en contacto con nosotros a través de Facebook. Sólo presiona el botón Me gusta

martes, 29 de julio de 2014

Google Apps Script (GAS) apesta

Hoy no voy a presentar ningún script ni a enseñar a programar en GAS, aunque mi opinión nefasta y detractora al principio no vaya a favor de este lenguaje (pseudo) en algún momento quizá comparta algunos scripts que he realizado para facilitarle la vida a alguien, o quizá no. No he visto comentarios negativos sobre Google Apps Script al cual me voy a referir en este momento por su sigla en inglés "GAS", quizá sea el primero y el último en comentar algo así, igualmente no pretendo hacer un movimiento detractor de esta plataforma sino manifestar mi experiencia personal en ella.

por si acaso si entraste a leer este artículo y aun no sabes a que me refiero, GAS es un lenguaje de script on-cloud basado en Javascript pero a diferencia de éste corre del lado de los servidores de Google, y conecta con algunos servicios de la empresa en cuestión, según Google, GAS fue ideado para facilitarle la vida a los programadores y acelerar la curva de aprendizaje, en este último punto discrepo.

Me acerque a este lenguaje con la necesidad de automatizar algunas tareas repetitivas en una cuenta de AdWords, ahí me encontré con las primeras piedras en el camino, de un pseudolenguaje on-cloud, monopólico y basado en Javascript el cual para poder escribir un programa que hiciera algo tenia que usar el editor on-line de Google, lo primero que pensé ¿por qué no usaron PHP?.

El monopolio de Google,lo estableció así, como el mandamiento programático para que uses algunos servicios sin meterte a hurgar entre las tripas, cada acción, como el envió de un e-mail tiene que ser autorizado desde el editor de scripts,
si bien este pseudolenguaje que es un derivado de javascript sirve por ejemplo, para administrar las famosas spreadsheets , AdWords, Drive, entre otros servicios, es una forma propietaria y muy desprolija para quien viene de otros lenguajes y se considera algo purista, claro que es mi opinión personal, quizá en algún momento la compañía de un paso al costado y realmente implemente soluciones nativas, basadas en algún otro lenguaje de servidor como PHP.

Hoy en día no se puede perder el tiempo reinventado la rueda, considero que GAS es un reinvento de la rueda, una abstracción más para brindarle al desarrollador un servicio mediocre, limitando los servicios a los cuales pueden accederse con GAS para ofrecer servicios adicionales de pago.

Soy consumidor de servicios Google, pero sin ser un zombi de esta empresa considero que la misma tiene patas flojas, muchas cosas por mejorar, y por facilitarle la vida al usuario, tengamos presente que
Google ya viene retirando productos del mercado, como fue el caso de Orkut y viene dando pasos al costado, con varias herramientas y realizando varias modificaciones en su plataforma.

lunes, 28 de julio de 2014







Los rumores ya están corriendo como reguera de pólvora tanto en sitios especializados como en foros de tecnología móvil, para dar una sencilla explicación a esto, vamos a decir que la oferta-demanda esta jugando un rol importante en este argumento, según los fabricantes del iPhone 6, la empresa Foxconn que también se encarga de fabricar equipos Nokia, Sony, Motorola, Microsoft y BlackBerry entre otros, argumentan que debido a las limitaciones legales en su producción, por contrato no pueden adquirir más lineas de montaje para la producción de los equipos, es así que, al incrementarse la producción por la creciente demanda los suministros bajan, así que irremediablemente los costos subirían, por lo tanto indefectiblemente aquí entra en juego la ley de la escasez que provocaría un precipitado aumento de los equipos del stock de otras marcas.



Se espera que iPhone 6 esté a la venta a mediados de Setiembre, mes en que arribaran otros equipos de marcas Sony Xperia Z3, Samsung Galaxy Alfa y BlackBerry, habría que esperar hasta entonces, aver que sucede con estos rumores, si es que se cumplen como lo pronostican.

Fuente: http://www.gsmarena.com/iphone_6_orders_could_lead_to_10_price_hike_by_other_oems-news-9162.php





viernes, 30 de mayo de 2014

API gratuita de geolocalización por IP

Hace unos días encontré una web que ofrece gratis el servicio online de consultas de IP para nuestras aplicaciones, lo bueno de esto es que podemos pasar un par de parámetros para obtener la información de la IP que le pasemos, lo malo es que no podemos efectuar más de 10000 consultas por hora, igualmente en muchos casos no vamos a tener que realizar tantas peticiones al servidor y no creo que lleguemos a este límite salvo en contadas ocasiones como por ejemplo si administramos un portal con miles o millones de visitas por día, claro que para eso existen otras soluciones profesionales pero este servicio esta pensado para pequeños proyectos,

El servicio usa las bases GeoLite de Maxmind las cuales pueden descargarse gratuitamente desde el sitio en cuestión, y la página del proyecto esta alojada en
GitHub

Implementación:

con solo pasarle la ip o el nombre de host nos devuelve los datos referentes a la ip en cuestión

uso:
freegeoip.net/{format}/{ip_or_hostname}

el parámetro {format} nos permite pasarle cualquiera de estos parámetros ( csv, xml, json )

Para aplicarlo en PHP y recuperarlo con JSON
podemos hacerlo de la sig. manera;

(Usé la IP de Facebook para el ejemplo, entiéndase que uds. deberan colocar cualquier IP) 

Este script nos va a devolver un Array de objetos como este:


stdClass Object
(
    [ip] => 173.252.120.113
    [country_code] => US
    [country_name] => United States
    [region_code] => CA
    [region_name] => California
    [city] => Menlo Park
    [zipcode] => 94025
    [latitude] => 37.459
    [longitude] => -122.1781
    [metro_code] => 807
    [area_code] => 650
)

Script:

<?php
//10.000 peticiones por hora
$ip="173.252.120.113";
$r=json_decode(file_get_contents("https://freegeoip.net/json/$ip"));
print_r($r);
?>

Web:http://freegeoip.net/
Código fuente:https://github.com/fiorix/freegeoip

Manejando sesiones en PHP (nivel básico)







Usar sesiones en PHP es de lo más sencillo que hay, siempre recomiendo usarlas en aplicaciones en donde se tenga que mantener una serie de valores constantes al pasar de una página a otra como es el caso típico de las sesiones de usuario,

he visto aplicaciones en donde se pasan los valores de inicio de sesión a través de cookies, o a través de la barra de direcciones con un parámetro del tipo: script.php?id=loquesea , esto es un espanto, una mala práctica de programación, y un riesgo de seguridad importante que compromete toda la aplicación inclusive al entorno donde se esta ejecutando, pero bueno, volviendo al tema de las sesiones, es una buena práctica mantener los datos de usuario en el servidor y no en forma local a través de cookies sino a través de sesiones,

no es el caso de este artículo pero aun es mucho más seguro guardar las sesiones en una base de datos, pero bueno no quiero irme más allá de la finalidad de hacer un "HOWTO" muy sencillo.

Si necesitáramos realizar una aplicación robusta, tendremos que tener en cuenta el uso de https y recurrir a algún framework como CodeIgniter que ya traen un sistema de manejo robusto de sesiones y nos abstraen de ciertas cuestiones técnicas que implican mayor conocimiento sobre seguridad en sesiones,

Básicamente:

para empezar a usar las sesiones debemos invocar a la función session_start();

para asignar un valor a la variable de sesión simplemente hacemos algo como:
$_SESSION ['usuario'] = 'MiUsuario';

Notese: que los valores son almacenados en un Array $_SESSION

para borrar una variable de sesión podemos hacerlo con unset()
unset($_SESSION['usuario']);

y para destruir una sesión completa , esto es como hacer un reset usamos:
session_destroy (); 

Ej.

<?php
// Si no existe crea una sesión "usuario"
session_start();
if (!isset($_SESSION['usuario'])){$sesion = "invitado";$_SESSION ['usuario'] = 'MiUsuario';}else{$sesion=$_SESSION ['usuario'];}
echo $sesion;
?>

<?php
// Si esta seteada la sesión "usuario" la destruye
session_start();
if (!isset($_SESSION['usuario'])){exit;}
session_destroy ();
?>

les recomiendo visitar el manual de PHP:
Funciones de sesión: http://ar2.php.net/manual/es/ref.session.php

en esta web se explayan mejor sobre la seguridad en las sesiones:
https://www.tarlogic.com/como-generar-sesiones-en-php-de-forma-segura

Por razones de tiempo,en este momento no puedo subir una aplicación de muestra, pero les sugiero seguirme en Facebook o Twitter (personal), Twitter (TallerdeScripts) donde iré subiendo algunos programas para que puedan probar.



martes, 20 de mayo de 2014

Cargar tabla MySQL desde archivo csv con un script BASH

Nuevamente un código auto-explicado para cargar una tabla desde un archivo .csv alojado en un servidor de Internet

usese con precaución, cualquier dato en la base de datos será destruido y alimentado desde el archivo.csv

#!/bin/bash
wget http://pagina/archivo.csv
mysql -u MIUSUARIO -pMICLAVE NOMBREBASEDATOS --local-infile << EOF USE NOMBREBASEDATOS; TRUNCATE TABLE MITABLA; LOAD DATA LOCAL INFILE 'archivo.csv' INTO TABLE MITABLA FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' (campo1,campo2,campo3,...); EOF

sábado, 26 de abril de 2014

Promocionar mi empresa con Google AdWords









Para el que no tiene la más remota idea sobre AdWords, a grandes rasgos
AdWords es una plataforma para anunciantes que brinda Google para promocionar sitios web en ubicaciones destacadas en los resultados de búsquedas o como anuncios contextuales en sitios webs, con soporte y orientación a diferentes dispositivos, tablets, móviles, Pc's ...

Los costos para iniciar una campaña en esta plataforma son variables y siempre va a depender de lo que uno este dispuesto a invertir, y aquí comienza la historia...

Para empezar a usar AdWords hay que abrir una cuenta (hasta acá es gratis)  para activar una campaña tenemos que optar por un método de pago, existen dos métodos: prepago y postpago, para hacer una explicación sencilla, en el primer método (prepago _recomendado_) se paga una cantidad fija y en el segundo se paga un monto variable según la actividad de la campaña y este monto va a fluctuar según la cantidad de clics que tuvieron nuestros avisos, es un poco arriesgado iniciar una campaña la cual no sabemos que gastos generaremos y se nos puede ir de las manos abultando los costos a cifras que nos puede dejar espasmados, este método lisa y llanamente no es recomendable.

 Al día de la fecha el costo para iniciar una campaña con AdWords en Argentina en el caso del método Prepago puede ser de $50AR iniciales .

Voy a usar una frase para tratar de acotar la idea, de un viejo concepto de lo barato sale caro, y si querés ganar tenés que invertir, esta regla de oro se cumple con la siguiente afirmación:

 "La inversión y la estrategia de la campaña van a determinar un caso de éxito o un rotundo fracaso"

 Cuando armo una campaña, evalúo el presupuesto a invertir, ya que no va a ser lo mismo promocionar una tienda de mascotas que una cadena de electrodomésticos, cada negocio tiene singularidades y presupuestos acorde a las actividades que realicen.

Es fundamental tener un plan de negocio o una estrategia infundada en gastos iniciales y tomarlos permitaseme denominarlo capital de riesgo, uno nunca va a saber si lo invertido tendrá su retorno en los primeros meses, usualmente para determinar si una campaña va a dar sus frutos, y si sus clics van a convertirse en ventas (conversiones) hay que tomar métricas, pero sin tener una estadística real basada en una linea de tiempo es definitivamente una suerte de azar, y supongo que nadie que quiera hacer negocios, le guste malgastar su dinero en algo tan azaroso como un juego de loterías transformando una estrategia de negocios en un tragamonedas virtual,
Si se trabaja concienzudamente en la campaña con un capital inicial coherente al rubro del anuncio a promocionar, el riesgo es mínimo y las posibilidades de retorno suelen ser favorables

Un estudio serio de mercado, contempla esto, y un especialista en SEO y SEM tiene en cuenta estos detalles, si Ud. que esta  leyendo mi artículo tiene una empresa no dude en delegar el trabajo a los que saben sobre mercadeo en la web y estrategias de posicionamiento en motores de búsqueda ya que para obtener resultados como en todos los ordenes de la vida hay que invertir, también en la inversión existe competencia de la cual tendrá que hacer su nicho para no quedar marginado de otros que hacen lo mismo que Ud.

El tema tiene muchos ribetes y tecnicismos que abarcarían unas cuantas páginas de un blog, tómese este artículo como una entradilla para tener unas primeras nociones sobre esta fabulosa herramienta de marketing, que puede hacer que su negocio despegue quizá con algo que jamas se le hubiera ocurrido implementar en su empresa.




martes, 22 de abril de 2014

Impresoras 3D

La ciencia avanza a pasos agigantados, y entre estos avances están las impresoras 3D que nos permiten construir variados tipos de objetos, esta tecnología ya tiene contemplada diferentes ramas como la medicina, la gastronomía, la arquitectura, el arte, y casi todo lo que podamos imaginar.