miércoles, 24 de diciembre de 2014
Tal como podemos comprobar en Android Studio nos integra Gradle en nuestro proyecto, y ¿que es Gradle? una herramienta de automatización de procesos, tales como compilación, empaquetado, testing, despliegue etc, y todo ello desde la línea de comando y  de esta manera nos podemos evitar utilizar ANT de forma directa, ya que nos permite ejecutar tareas Ant si ya las disponemos.

¿Y como funciona? Básicamente a nuestro proyecto  incluye la estructura de directorios de Gradle independiente de nuestro proyecto.



Dentro de la estructura tenemos distintos archivos de configuración, como:
Settings.gradle -> Que nos permite configurar los módulos que componen nuestro proyecto, etc.
Build.gradle -> Para la configuración del proceso de compilación, empaquetado, firma, etc.. de nuestra aplicación, así como configurar el sdk mínimo o máximo, etc.
gradle.properties-> Establecemos las propiedades del proyecto.
Además dispone de repositorios para configurar aplicaciones pre configurados propios e incluso de Maven.

Podemos con Gradle compilar las dependencias de nuestro proyecto solo con una línea de comando, así como disponer compilaciones incrementa les sólo vuelve ha construir en caso de modificaciones del código.

Es decir nos permite configurar todo el proceso de creación de nuestro proyecto, compilación, testing, empaquetado y además de despliegue.






 Y como lo hace, utilizando un DSL(Domain Specific Lenguage) en este caso utiliza Groovy,  basado en Java evitando tener que configurar en archivos XML de tipo POM , por tanto es bastante bastante atractivo.
Además Android Studio integra una terminal de Gradle.


Y dispone de plugins que podemos instalar y facilitarnos las propias tareas de integración.

¿Y Gradle sólo se utiliza en Android Studio?  No tiene soporte para otros lenguajes e ides, incluso podemos simplemente descargarlo desde Github, descomprimirlo modificar nuestras variables de entorno y hacerlo funcionar de forma rápida siempre sin olvidar tener el JDK instalado no hay que olvidar que su lenguaje es Groovy basado en JAVA.

En definitiva otra herramienta que hay que tener en cuenta  considerando que es Open Source bajo Apache Software License (ASL) y aprender Poco a Poco ;-)

viernes, 19 de diciembre de 2014
Pues eso he estado liado durante unas semanas realizando un curso de formación en PhoneGap/Cordova, y que he aprendido que la tecnología avanza a una velocidad de crucero que requiere que nos subamos al tren para no quedarnos atrás.




En fin que es PhoneGap/Cordova es un marco de trabajo/framework,  PhoneGap es la parte de negocio y Cordova Opensource, pero al final es lo mismo y el ejemplo esta que desde la página web de Phonegap buscas documentación de la Api, y se podría decir que es la misma que  la de Cordova.

Phonegap desde mi punto de vista está orientada a desarrolladores Web, y porque digo esto porque la tecnología básicamente es un webview incrustado  es decir lo que mostramos es una Web.

Esto permite un desarrollo ágil dado que nos permite ejecutar nuestra aplicación a los distintos sistemas operativos móviles, Android, IOs, Windows Phone, de una forma rápida  y transparente hacia el desarrollador entramos en el área de las aplicaciones móviles híbridas, además nos permite interactuar de forma nativa con el SO:
  • Android -> Java.
  • IOs -> Objective- c.
  • Windows Phone -> C#
Lo cual nos abre un abanico de posibilidades más que interesante, por ejemplo en algunos casos que necesitamos acceder algún sensor específico que desde el webview no permita podemos instalar plugins en nativo que nos permite acceder al Api , o simplemente si queremos que no nos pida permisos desde el webview cuando por ejemplo queremos acceder al sistema de Geolocalización lo podemos realizar utilizando los Plugins.
PhoneGap/Cordova dispone de una serie de plugins soportados, así como más de 620 plugins que podemos descargar desde la página web de Cordova,, o bien en caso necesario podemos desarrollar nuestros propios plugins.

Bien y como estructuramos un proyecto de estas características, y aquí una vez más porque tenemos que estar en constante reciclaje.

Dado que nuestra aplicación ejecuta una html local, necesitamos estructurar la aplicación para que sea más aproximada a la experiencia de una aplicación nativa, y para ello debemos evitar lo posible la transiciones entre páginas por ello crearemos un SPA (Single Page Application) y además adaptado al tamaño de los dispositivos por tanto debe ser Responsive  y todo ello lo conseguimos con HTML5.

Después necesitamos una herramienta que nos permita modificar el DOM de nuestra web, por ello debemos utilizar javascript dado que es el lenguaje de programación soportado por nuestro webview de forma nativa, y aquí se abre un gran abanico de posibilidades dado la cantidad de frameworks existentes desde JQuery , hasta el más reciente Angularjs.  Así como cualquier otra librería javascript que necesitemos para el desarrollo de nuestra web.

Indiscutiblemente CSS3  o cualquier framework CSS tipo Less  , Bootstrap o Foundation

Todo esto nos obliga el tener que armarnos con una serie de de herramientas que nos facilite el trabajo como Yeoman   para que nos cree la estructura del proyecto, Grunt para la integración de las tareas en javascript, o Bower  para la gestión de las librerías js que necesita nuestro proyecto.

Y sobre todo por debajo de todo tenemos a Node.js

En fin como he comentado al principio necesitamos seguir avanzando e ir reciclándonos, en mi caso voy a ir poco a poco y ordenando código ;-) 
martes, 9 de diciembre de 2014
En tutoriales anteriores ya habíamos instalado el S.O en nuestra Raspberry Pi ahora vamos ha conectarnos a ella de forma remota, para ello utilizaremos SSH para posteriormente instalar UltraVNC y de esta forma poder conectar al SO  en su entorno gráfico XWindows.


Para ello debemos tener activado el SSH tal y como lo hicimos durante el proceso de configuración del SO en la Raspberry Pi.


A partir de este momento conectamos nuestra Raspberry Pi a nuestro Router tal y como muestro en la siguiente imagen.

Averiguamos la dirección IP que nos asigne el Router para ello debemos entrar en la página de propiedades del mismo normalmente 192.168.1.1 , en mi caso la IP asignada es 168.168.1.36

El siguiente paso es conectar  a nuestra Raspberry mediante SSH si estamos en Windows simplemente deberemos descargarnos la aplicación PUTTY la instalamos y la ejecutamos

Donde en Host ponemos la dirección ip asignada, automáticamente nos abrirá un terminal recordar que usuario es: pi y el password: el que introducimos durante la instalación.
Si lo hacemos mediante linux sólo deberemos introducir en cualquier terminar la instrucción SSH
pero indicándole la dirección ip y el login, sería algo así como SSH 192.168.1.36 -l pi
Nos abrirá un terminal y posteriormente introducimos la clave.

Bien una vez dentro ya podemos instalar Ultra VNC Server para poder abrir el modo gráfico del Sistema operativo instalado en nuestra Raspberry, para ello  ejecutaremos la siguiente línea de comandos:

sudo apt-get install tightvncserver

Una vez instalado para lanzar  el vncserver debemos ejecutar la siguiente línea de comandos:

vncserver :1 -geometry 1280x800 -depth 16 -pixelformat rgb565

Ya sólo nos queda abrir cualquier cliente de ultraVNC y desde cualquier dispositivo conectado a nuestra red local podrá abrir una sesión de la RaspBerry pi+, yo por ejemplo utiliza la app para Chrome

A continuación un Videotutorial de todos los pasos.

Un saludo.
lunes, 1 de diciembre de 2014
En un  mini tutorial anterior vimos como conectar MySql con Visual Studio de una forma sencilla, en el siguiente veremos como conectar en Microsoft SQLServer , pero antes crearemos la base de datos utilizando Management Studio.

Entorno.

Para el desarrollo del tutorial he utiolizado el siguiente entorno.
  • Hardware: HP EliteBook 2540p -620M (2,66 GHz, 4 MB de caché de nivel 3)* — Hasta 3,33 GHz con tecnología Intel Turbo Boost. 
  • Sistema Operativo: Windows 7 Professional. 
  • Visual Studio 2013 y .Net
  • Microsoft Sql Server 2014.

Prerrequesitos.

Debemos tener instalado Microsoft Sql Server, puedes instalarte una versión express y las herramientas de la versión 2014 desde aquí de forma gratuita.


Videotutorial.
Aquí os dejo el videoTutorial que os muestra los pasos a seguir.


Archivos.
Aquí esta el enlace del proyecto subido a GitHub




Bueno se ha liberado la versión 8.0.2 del IDE NetBeans, en la que incluye una serie de correcciones y entre las mejoras cabe destacar:

  • Integración de los servidores de aplicaciones GlassFish 4.1 y Tomcat 8.0.15.
  • Soporte para JDK 8 (Funciones Lambda y Streams, etc.).
  • Soporte de Cordova 3.3 para Android 4.4.
  • Soporte para PHP 5.6.
  • Soporte de Java SE Embedded para Raspberry pi+
  • Soporte para Require JS
  • etc.
En fin un sinfin de cambios que vale la pena actualizar bien desde el propio IDE  si ya lo tienes instalado o instalarlo desde aquí ;-) Que esperas????
sábado, 29 de noviembre de 2014
Esta semana tuve la oportunidad de visitar GeekHubs una lanzadera e incubadora de Start-ups en Valencia. Y que es una Startup, digamos que es el nombre que se pone a una empresa o un emprendedor que se inicia con una buena idea, si quereis más información aquí

.

En el caso de GeekHubs en si mismo era una StartUp y que en menos de 6 meses ha conseguido crecer y tener un grupo de empresas compartiendo un espacio más que interesante.
Visitando la misma me encontre con 4 perfiles básicos de personas:
  • C.E.O
  • Marqueting.
  • Diseño.
  • Técnico.
De primera mano pude ver como se genera una sinergia de conocimiento entre los distintos perfiles así como las distintas empresas que comparten un mismo espacio de trabajo.
Además también organizan ponencias y jornadas técnicas gratuitas sólo tenéis que pasaros por su página para ver los eventos más que interesantes donde participan como por ejemplo Luis Peralta
Ceo de Tuenti, etc., o por su canal de youTube

Así que si estás buscando lanzar tu proyecto y disponer de Mentoring así como un grupo de gente que te puede ayudar adelante ...... GeeksHubs es tu lugar.


viernes, 28 de noviembre de 2014
En este mini tutorial vamos a conectar la distribución MySql con Visual Studio, de una forma sencilla y clara.

Entorno.

Para el desarrollo del tutorial he utilizado el siguiente entorno:

  • Hardware: HP EliteBook 2540p -620M (2,66 GHz, 4 MB de caché de nivel 3)* — Hasta 3,33 GHz con tecnología Intel Turbo Boost. 
  • Sistema Operativo: Windows 7 Professional. 
  • Visual Studio 2013 y .Net
  • MySql
Prerrequesitos.

Debemos tener instalado el conector .net de MySql,  aquí, o lo podemos descargar desde la propia página de MySql o bien desde el gestor de paquetes Nuget



Videotutorial.
Aquí os dejo el videoTutorial que os muestra paso a paso como realizar la conexión.

Archivos.
Aquí esta el enlace  del proyecto subido a GitHub con el archivo SQL para que la creación de la Base de Datos en MySql. 

jueves, 20 de noviembre de 2014
El CrowdFunding ese gran sistema que últimamente hemos visto como se ha utilizado para poder financiar desde proyectos informáticos hasta películas.
Para entender el concepto de CrowdFunding es necesario saber que su éxito se basa en la utilización de las nuevas tecnologías para realizar una proyección de una idea a una gran masa de gente que se interese sobre el proyecto en cuestión.

Sin las nuevas tecnologías y en la era de actual de internet no se conseguiría la financiación necesaria para llevar a cabo grandes proyectos, que como he comentado antes pueden ser hasta películas.
El crowdfunding nace de los primeros proyectos de Open Source donde los desarrolladores inicialmente ofrecían su trabajo de forma desinteresada. Posteriormente, frente al éxito de sus creaciones y también al trabajo que eso conllevaba, empezaron a pedir donaciones y la respuesta fue de nuevo mayor de la esperada. En ese momento, entre los creadores (que requerían de financiación) y los usuarios (que demandaban proyectos creativos y pagaban por ellos) nacía el Crowdfunding, la financiación colectiva, como una nueva opción para financiar, en un primer momento, proyecto creativos. 

Los tipos de crowdFunding los podemos clasificar de la siguiente manera:
  • CrowdFunding y recompensas: Es decir la persona que realiza una inversión recibe algo ha cambio ya bién sea un servicio un producto, o inclusive un simple agradecimiento.
  • CrowdFunding y prestamos: Como su nombre índica se denomina se solicitan unos prestamos que posteriormente deben devolverse con un tipo de interés preestablecido.
  • CrowdFunding y donaciones: Este es el más conocido y es cuando se solicita una donación para llevar a cabo un proyecto, y donde el que realiza la donación lo realiza de forma voluntaria sin esperar recibir nada a cambio.
  • CrowdFunding e inversión: Es cuando se solicita directamente una inversión a cambio de participaciones del proyecto sería como valores de bolsa donde el promotor del proyecto indica el coste de dichas participaciones.
  • También exite el CrowdLending: que sería parecido al tipo de prestamos, sólo que el tipo de interes lo establece el propio prestamista.
En españa existen ya diversos portales , que realizan uno u otro tipo por ejemplo:
  1. goteo.org
  2. www.sociosinversores.es
  3. https://www.mymajorcompany.es
Si quieres un listado de empresas que ofrecen CrowdFunding en España por tipo de servicios te recomienda que sigas este enlace.

Para que nos hagamos una ídea aquí podemos ver una serie de proyectos de CrowdFunding.
Además también existen otras modalidades como el CrowdSourcing   también conocido como “tercerización masiva” o “subcontratación voluntaria”, consiste en externalizar tareas que, tradicionalmente, realizaba un empleado o contratista, a un grupo numeroso de personas o una comunidad (masa), a través de una convocatoria abierta.”

Fuentes:
http://www.infocrowdsourcing.com/plataformas/
http://www.emprendelandia.es/que-es-el-crowdfunding
http://www.universocrowdfunding.com/que-es-el-crowdfunding/

sábado, 15 de noviembre de 2014
Hablar de Shazam es hablar de uno de los grandes dentro de las aplicaciones Móviles tanto para Android como para el sistema operativo de Apple, y lo podemos ver por ejemplo como una de las aplicaciones más descargadas de la Google App Store.



Shazam  fue una de las pioneras en integrar una tecnología de reconocimiento de audio para realizar búsquedas por lo que se denomina huellas digitales de audio a partir del espectrograma. 
Gracias a este tipo de tecnología  realizan la magia y que cautiva a millones de usuarios de reconocer cualquier canción con sólo 10 segundos de audio y reportarte toda la información necesaria  sobre la misma así como la posibilidad de ver vídeos en youtube o comprar el disco del mismo.  En mi caso particular recuerdo la cara de asombro al verla por primera vez que era capaz de reconocer incluso el audio de la propia televisión. 
La idea es sencilla en su concepto y básicamente es hacer la vida fácil al usuario, cuantos de nosotros oímos una canción en la radio, televisión e inclusive en los altavoces de un centro comercial y nos gustaría saber quien es el autor, cantante o simplemente volverla a escuchar, pues Shazam nos facilita toda esa información.
La parte complicada de algoritmos y base de datos masivas ya lo desarrollan la gente de Shazam, además también fue una de las primeras compañías en abrir un nicho de negocio único y aquí esta la clave de su éxito ya que se interesaron por ella otras compañías importantes de la era de Internet como Yahoo y que es participe de la misma de ahí el crecimiento exponencial.

¿Hacia donde se dirige Shazam? A ser una de las aplicaciones con una de las mayores base de datos de audio del mundo, además ha exportarse a otros dispositivos, tales como la TV, o plataformas como Windows phone o dispositivos de Escritorio como Windows 8.
Aquí tenemos un vídeo de como funciona.



¿Pero tiene competencia? Si existen otras aplicaciones similares, de ellas la más importantes son:

  • Soundhound :Disponible para las principales plataformas móviles, esta práctica aplicación te ayudará a descubrir qué canción está sonando en ese momento, quién la está cantando y a qué disco pertenece. Pero ahí no se queda, pues también te muestra las letras de las canciones que reproduzcas en tu dispositivo móvil, integra vídeos de YouTube, tiene soporte para Rdio y Spotify y permite compartir en Facebook y Twitter lo que estás oyendo.
  • MusikMatch: Su función principal es ofrecerte letras de canciones, que se muestran en sincronía con la música, pero para ello incorpora la posibilidad de reconocer una canción si acercas tu teléfono a la fuente de la música. Además, es compatible con varios reproductores, como Spotify, Google Music o Samsung Music Player.


En definitiva a Shazam le queda mucha trayectoria y no me sorprendería con nuevas funcionalidades a la aplicación que nos deje con la boca abierta.

Si quieres más información de como funciona Shazam te aconsejo seguir este enlace 

Via:
http://www.shazam.com/
http://bitelia.com/2013/10/alternativas-a-shazam
http://es.wikipedia.org/wiki/Shazam


lunes, 3 de noviembre de 2014
Una vez ya tenemos preparado nuestra SDCARD conectamos nuestros equipo al monitor, teclado y ratón e iniciamos nuestra RaspBerry PI +

1º La primera pantalla que nos aparece es la de instalación:
Seleccionamos instalar Raspbian, en el desplegable de Lenguaje no busquéis español dado que en esta versión no lo han incorporado, una vez seleccionado el SO pulsamos instalar OS

2º  Una vez instalado tener paciencia os aparece el menú de raspi-config en este momento configuraremos nuestra distribución.
3º Lo primero que haremos es modificar el password de nuestro usuario por defecto tal como indican la gente propia de raspberry el usuario es pi y el password raspberry nosotros lo modificaremos por seguridad, para ello seleccionaremos la opción 2 Change User Password.



4º El siguiente paso en la opción 3 podemos decir que raspberry entre en modo gráfico una vez se inicie, yo lo he dejado por defecto ya lo activaremos más adelante.

5º En la opción de Internacionalización nos abrirá una ventana de submenus;


En ellos modificaremos el idioma del sistema operativo en ella elegiremos Es_es UTF 8 .


En la siguiente opción indicaremos nuestra zona horaria para ello elegiremos Europa y después la ciudad Madrid


Y por último la configuración del teclado si tienes algún teclado especial que marca en el listado lo índicas sino deja el que viene por defecto.


Una vez elegido el teclado indicamos el idioma del mismo en nuestro caso Español.

6º Es activar la cámara en nuestro caso no disponemos y por ello no lo activamos.


7º Es la opción de añadir a Rastrack esta opción permite que nuestra raspberry sea rastreada por Rastrack  nos permite rastrear y ver las pi alrededor de nosotros, lo haremos más adelante.

8º Podemos realizar overcloking sobre el procesador de la Raspberry, en nuestro caso no modificaremos dado que no lo necesitamos, sólo hay que tener en cuenta que aumentar la velocidad de la misma puede disminuir la vida util, por tanto hay que valorar si nos interesa.


9º  Por último tenemos las opciones avanzadas y en particular nos interesa abrir el servicio de SSH  para la conexión remota mediante este protocolo a la Raspberry, sin tener que conectar el monitor, teclado, etc, para ello marcaremos activar.


Aquí os dejo un Vídeo con el proceso perdonar por la calidad pero es grabado con una cámara de fotos ya que por ahora no dispongo de capturadora ;-) 






martes, 28 de octubre de 2014
Bueno como ya os indique he adquirido una tarjeta microSD de 8GB

 Siguiendo las indicaciones de la página web de Raspberry

Vamos a instalar la versión de NOOBS que es la que aconsejan, para ello seguiremos los siguientes pasos:


1º No indican que formateemos nuestra tarjeta para ello nos dirigen a la página de SD Association website y nos descargemos su aplicación para el formateo de la misma denominado SD FORMATER 4.0

2º Una vez descargado e instalado formateamos la tarjeta sin modificar ninguna de las opciones predefinidas de la aplicación.

3º Nos descargamos la versión NOOBS de la propia página de Raspberry, y descomprimimos el zip descargado en nuestra tarjeta SD .


Y de esta forma tendremos preparado nuestra tarjeta para instalar el SO, aquí os dejo un vídeo del proceso.






Un saludo.
lunes, 27 de octubre de 2014
Bueno continuando con mi intención de probar otras tecnologías y dado el chasco que me lleve con el Samsung Gear Live continuo con mi incursión en el mundo de los dispositivos en este caso se trata del superconocido Raspberry Pi , o la frambuesa como algunos lo llaman.


Este pequeño dispositivo no tiene que engañarte por lo de pequeño, ya que en mi caso he adquirido la Raspberry Pi B+ lanzado este verano y tiene las siguientes especificaciones:

  • SoC: Broadcom BCM2835 (CPU, GPU y SDRAM)
  • CPU ARM1176JZF-S a 700 MHz
  • GPU Broadcom VideoCore IV
  • Memoria RAM 512 MB (compartidos con la GPU)
  • Conexiones
    • 4 x USB 2.0
    • 1 x Salida audio mini jack 3.5 mm
    • 1 x Salida audio/vídeo HDMI
    • 1 x Salida vídeo compuesto RCA
    • 1 x Micro USB
    • 1 x RJ45 10/100 Ethernet RJ45
  • Conectividad
    • LAN Red local 10/100
    • WiFi (mediante adaptador USB WiFi compatible, no incluído)
  • Slot MicroSD para tarjetas
  • Alimentación: 5V/600 mA (3.5 W) via microUSB
  • Dimensiones: 85.6 mm x 53.98 mm

  • Estamos hablando de un pc a escala capaz de lanzar un sistema operativo y sin un disco duro físico,sólo funcionando con tarjetas SD .

    En fin todo ello a un precio aproximado de 35 € en fin voy a ir probando cosas y os iré contando

    Aquí os dejo un vídeo de lo que he adquirido y el contenido del mismo 
    Bueno  nos vemos ;-)
    sábado, 25 de octubre de 2014
    1.Introducción

    Bueno veamos los pasos para preparar nuestro proyecto para poder utilizar las librerías de Aforge.


    2.Entorno.

    Para el desarrollo del tutorial he utilizado el siguiente entorno:
    • Hardware: HP EliteBook 2540p -620M (2,66 GHz, 4 MB de caché de nivel 3)* — Hasta 3,33 GHz con tecnología Intel Turbo Boost. 
    • Sistema Operativo: Windows 7 Professional. 
    • Visual Studio 2013 y .Net

    3.Desarrollo.

    Para la instalación de las librerías lo podemos realizar desde dos maneras distintas:

    Descargarlas desde el siguiente enlace web de Aforge  .
    1. Una vez descargado el zip utilizar sólo las dll:
      1. Aforge
      2. Aforge.Video
      3. Aforge.Video.DirectoShow.
    O bien utilizando el administrador de paquete ANuget integrado en el Visual Studio .

    4. VideoTutorial





    5. Conclusiones.
    Como podemos ver la integración de las librerías es muy sencilla en pocos pasos estamos preparados para iniciar nuestro proyecto, en el siguiente tutorial veremos como determinar los dispositivos instalados para la captura de imágenes, su puesta en marcha y la parada de los mismos.

    Nos vemos ;-)
    Canonical acaba de liberar la nueva versión de Ubuntu  "Utopic Unicorn"



    Básicamente los cambios son:

    • Implementación del Kernel 3.16 de Linux.
    • Actualización de algunas de las aplicaciones instaladas en la distribucón:
      • LibreOffice 4.3.2.2
      • Firefox 33
      • Thunderbird 33
      • Nautilus 3.10
      • Evince 3.14
      • Rhythmbox 3.0.3
      • Unity 7.3.1
    Pero el cambio más significativo viene para los desarrolladores con la integración del proyecto Ubuntu Developer Tools Center, un gestor de paquetes que nos mantendrá actualizada nuestra herramientas de desarrollo y en partícular Ubuntu SDK y Ubuntu Studio, lo cual facilitará a los desarrolladores las herramientas necesarias para su trabajo, en fin veremos en que queda todo esto yo por si acaso voy actualizar y ha probarlo ya os contaré ;-)





    Descarga de las diferentes versión de Ubuntu:

    Para actualizarlo desde nuestra versión anterior anterior 14.04 sólo tenemos que seguir los siguientes pasos:
    1. Presionamos Alt+F2 y escribimos “update-manager” (sin las comillas).
    2. Update Manager debe abrirse y decirnos: Hay un nuevo lanzamiento disponible.
    3. Pinchamos en Actualizar y seguimos las instrucciones


    viernes, 24 de octubre de 2014
    Bueno aunque no he podido ver arrancarlo os quiero mostrar lo que he recibido.

    Lo primero una caja  como si fuera madera, la verdad que es bastante bonita.

    Al abrirla nos encontramos con el reloj.
    Y el contenido es aceptable: El Doc para cargar el reloj, y una batería así como un manual de inicio rápido y la garantía.



    Aquí os dejo un vídeo con las primeras impresiones perdonar si la calidad no es muy buena pero lo he realizado con una cámara de no muy buena calidad y también a mi tembleque de manos que me caracteriza ;-)

    En fin espero recibir en los próximos días uno que funcione y veremos como funciona....



    Bueno después de esperar varios días a mi flamante Samsung Gear Live, por fin ha llegado el repartidor de UPS, pero :( cuando lo he ido arrancar y no había manera se me ha quedado esta cara.


    No funciona!!!!!!!!, y me he cabreaaaddoooo muchísimo, en fin la verdad es que después del disgusto y de probar por activa y pasiva que no funcionaba me he puesto en contacto con Google, ya que lo adquirí desde el servicio Google Play


    La verdad y tengo que decir la verdad que el servicio me ha sorprendido gratamente dado que lo único que he tenido que hacer es entrar a la ayuda de Android Wear de google y accediendo al icono Contáctanos







    Puedes hacer que te llamen por teléfono, la verdad es que a sido muy muy rápido, y una vez pasada las cuatro preguntas de rigor la solución es enviarme otro dado que la batería ha llegado muerta de fábrica, cosa extraña porque teóricamente antes de enviar se pasan por un banco de pruebas y dejan algo de batería.

    En fin tengo que esperar otros 4 días así que ya os contaré!!!!! ;-)




    jueves, 23 de octubre de 2014
    Últimamente me he tenido que enfrentar a un pequeño proyecto  en el que debía capturar una fotografía en el dispositivo instalado básicamente una webcam desde una aplicación de escritorio escrita en c#  y almacenarla en una Base de Datos, por ello creo que sería interesante abrir un Tutorial sobre ello dado que puede ser útil para otros fines.


    1. Introducción.
    Después de investigar sobre el tema me encontré con una herramienta OpenSource denominada Aforge.net, esta herramienta es un framework de código abierto .net desarrollada en c# por Desarrolladores e investigadores que abarca desde la captura y el tratamiento de imágenes hasta campos como la inteligencia artificial.
    Dado la potencia del mismo la utilizaremos para desarrollar el tutorial, para más información podéis acceder directamente a su página en http://www.aforgenet.com/framework/ 



    2.Entorno.
    Para el desarrollo del tutorial he utilizado el siguiente entorno:

    • Hardware: HP EliteBook 2540p -620M (2,66 GHz, 4 MB de caché de nivel 3)* — Hasta 3,33 GHz con tecnología Intel Turbo Boost. 
    • Sistema Operativo: Windows 7 Professional. 
    • Visual Studio 2013 y .Net
    3.Listado de Tutoriales.

    Minitutorial 1. Preparando nuestro proyecto.
    martes, 21 de octubre de 2014
    Buenas os presento una web que realicé ya hace dos años de forma voluntaria pero que sigue funcionando  para la asociación Valenciana de Esclerosis Lateral Amiotrófica.



    Creada en Drupal 7 y adecuada la plantilla a los requisitos de la asociación, contiene los siguientes apartados:


    1. Noticias.
    2. Biblioteca.
    3. Biblioteca multimedia.
    4. Blog.
    5. Calendario de Eventos.
    Así como toda la información respecto a la enfermedad, y servicios que provee la asociación, así que si quieres mojarte con el ELA ;-) 

    Síguenos en la web: http:\\www.adela-cv.org

    Un saludo. 
    martes, 30 de septiembre de 2014
    Hace poco comentábamos las últimas novedades que se dejaban ver para la nueva versión del sistema operativo de Microsoft.


    Ya se hablaba de continuar con la numeración siendo Windows 9, pues bien hoy en un pequeño acto Terry Myreson jefe de Windows ha desvelado que el nuevo Windows será Windows 10  y ha dejado entrever todas las novedades que incluíamos en el POST anterior, así que como indica el propio Terry Myreson este nuevo sistema será compatible con todas las plataformas existentes, desde sobremesa, tablets, móviles...., etc estaremos ante la unificación de los sistemas operativos y de esta forma una menor fragmentación del mercado???? El tiempo lo dirá.......



    miércoles, 24 de septiembre de 2014
    Bueno dándole vueltas y buscando por aquí y por allí me he encontrado con  algo denominado como ASO y que es ASO estos ingleses y sus siglas (App Store Optimization) digamos que es el tradicional visión de SEO pero importado al mundo de las Apps, en definitiva se trata de una serie de técnicas para posicionar tu App dentro de las distintas tiendas disponibles. 
    Cosas que no hay olvidar primero que si la App es una castaña, con todos los respetos por mucho que intentes posicionar esta no se reflejara en la misma, no olvides que los usuarios no somos tontos, y lo que menos nos gusta es que nos tomen el pelo por ello debemos tener unos mínimos de calidad para poder posicionar, también cuentan otros factores como "que guste" esa aplicación que cae en gracia y a todos les gusta llevarla, en definitiva hay muchos factores pero el posicionamiento nos facilitara la tarea.


    Para empezar debemos tener en cuenta que cada Store es diferente, y cumple una series de condiciones, por ejemplo Apple y su flamante App Store, tiene un algoritmo propio para el posicionamiento distinto al que utiliza Google Play,  tiene en cuenta tanto el nombre como la descripción del producto.



    En todos los casos ASO se habla de dos tipos de técnicas al igual que en SEO:


    • ON-METADATA:
          Incluye todos los factores que están totalmente bajo nuestro control y que son fácilmente localizables que son:
      • Titulo de la app: Es la base de cualquier optimización , el titulo de la aplicación debe ser lo más corto posible, para que los buscadores puedan leerlo completo, .
      • Elección de palabras clave (Keywords): Tal y como pasa en SEO, necesario identificar palabras adecuadas tipo, categoría etc.
      • Icono: Que sea único e identifique claramente nuestra app
      • Categoría: Definir correctamente la categoría de nuestra App.
      • Descripción: Muy importante, dado que será el primer contacto del futuro usuario una vez te encuentre .
      • Screenshots (capturas): Muy importante que sea atractiva y llamativa para que el usuario la seleccione.
      • Y últimamente una muestra de la App en YouTube: que te permite realizar una presentación de la aplicación.
      • GooglePlus ya que con la última modificación del GoogleAps por ejemplo se encuentra vinculadas.



    • OFF-METADA:
      • Ratings (Calificación dentro del market): Se trata de uno de los factores más importantes ya que tener muchos votos favorables ara que suba dentro del ranking en las búsquedas.
      • Linkbuilding (enlaces donde apunten a la página): Ojo cuanto más enlaces tengas de tu aplicación más probabilidad hay de que nuestra App se encuentre bien posicionada, ya que GooglePlay accede a todos los índices de búsqueda de google
      • Reviews (opiniones de usuarios, tener en cuenta en caso de Google GooglePlus): Los comentarios son muy necesarios, porque nos permitirá mejorar la calidad de nuestra App y por tanto indirectamente subir el Ranking.
      • Número de descargas: Cuanto más descargas más visibilidad.

    En fin son consejos que espero que os sirva para posicionar vuestra App en los diferentes markets pero nunca olvidemos lo esencial que nuestra App tenga calidad, factor fundamental si creemos que si adelante........
    martes, 23 de septiembre de 2014
    Buenas a todos hace poco me vi con un problema y tuve que utilizar una función recursiva, creo que es un tema interesante, y vamos a verlo poco a poco.

    ¿Que es una función recursiva?

    Una función recursiva es aquella que se llama a si misma, es decir se invoca a si misma  cambiando el valor de un parámetro en la llamada, así de sucesivas llamadas recursivas a la función se van obteniendo los distintos valores y cuando se cumple una condición predeterminada esta para y vuelve al anterior y de esta forma el ciclo va finalizando paulatinamente. 



    Entendiendo con un ejemplo.

    El ejemplo más utilizado para explicarlo es utilizar el ejemplo del factorial de un número,  el cual para cualquier entero positivo N, el factorian de N(N!) es el producto de la mutliplicación de todos los enteros menor a él, ejemplo:

    • 1! = 1
    • 2! = 1 x 2 = 2
    • 3! = 1 x 2 x 3 = 6
    • 4! = 1 x 2 x 3 x 4 = 24
    • ......

    Y así infinitamente, como se expresa en java.

    //Función factorial pasandole el número nos cacula el valor factorial de él.
    public static int factorial(int n)

    {
    if (n==1){
    return 1;  //Si es 1 nos devuelve 1
    } else {
    return n * factorial (n-1); // Si es mayor de 1 se multiplica por el valor resultante de llamarse
    }                                             // a si misma pasando por parametro el número anterior y así
                                                   // de forma recursiva.
    }



    En el método main sólo hacemos la llamada al mismo:

    public static void main(String[] args) {
    for (int i = 1; i< 15; i++ )
    System.out.println ("- El número factorial de "+  i +" : "+factorial(i));

    }

    Y podemos ver como funciona, espero que sea claro, nos vemos un saludo.


    jueves, 18 de septiembre de 2014
    Ya está con nosotros la última actualización de iOS en su versión 8, entre sus novedades nos encontramos:


    • iCloud Drive para acceder a nuestros archivos en la nube de apple.
    • Teclados distinto de los de Apple, con privacidad asegurada.
    • Mail mejora en rapidez y usabilidad.
    • Notificaciones interactivas.
    • Spotilight nos permite realizar todo tipo de búsqueda.
    • La incorporación de nuevas appps como Helath, etc.
    Así como la posibilidad de utilizar el dispositivo que tenga instalado iOS8 como un mundo para los videojuegos de iPhone, la idea es permitir el uso de la pantalla táctil, los diferentes sensores del iPhone y el propio mando para controlar los videojuegos, todo la mismo tiempo.

    Aquí os dejo un vídeo con las novedades en la aplicación de la cámara.



    Desde el punto de vista del desarrollador encontramos, con la posibilidad y según promete la misma Apple de 4000 nuevas Apis, lo cual da más libertad a los desarrolladores para crear aplicaciones .
    Otras novedades son:
    • PhotoKit: Los desarrolladores pueden hacer que sus apps de fotografía editen las imágenes directamente en el Carrete sin necesidad de importarlas primero.
    • Api de  Cámara, Ahora las apps de cámara de terceros pueden añadir controles para ajustar la exposición, el enfoque y el balance de blanco.
    • HomeKit, se podrá usar Siri para controlar los dispositivos compatibles.
    • HelathKit, se podrán desarrollar apps de salud y deporte y podrán intercambiar datos.
    • SpriteKit, permitirá y ayudará en el desarrollo de juegos en 2D de alto rendimiento, con estas nuevas tecnologías los personajes del juegos se mueven con más naturalidad y los desarrolladores pueden añadir campos de fuerza, detectar colisiones y generar nuevos efectos de luz.
    • SceneKit, sirve para diseñar escenas en 3D, pensado para el desarrollo de juegos tridimensionales sencillos. Incorpora un motor de física, un generador de partículas y métodos isimplespara programar el comportamiento de los objetos en tres dimensiones. Además está totalmente integrado en SpriteKit, para que los desarrolladores también puedan aprovechar esos recurso en sus juegos en 3D.
    • Metal, es una tecnología que permite sacar el máximo partido a los chips A7 y A8. Está pensada para que la Cpu y la Gpu funcionen juntas y puedan multplicar su rendimiento. Metal admite la tecnología multihilo e incluye herramientas avanzadas para compilar en Xcode.

    En fin veremos sus mejoras en los próximas Apps que publiquen ;-) 

    Bueno vamos a entender que es el patrón MVC (Modelo-Vista-Controlador) para ello como siempre veamos un poco la historia del mismo.

    El patron MVC fue introducido Trygve Reenskaug, durante los años 70, seguidamente, los años 80, Jim Athoff y otros implementaron una versión de MVC para la bibllioteca de clases de Smaltalk-80. Mas tarde, en 1988 MVC se expresó como un concepto general.

    El patrón MVC lo podríamos definir como un patrón de Arquitectura, ya que nos permite organizar el proyecto para que sea efectivo, tanto es así que hoy en día las mayoría de los Frameworks del mercado lo implementan



    ¿Como funciona?

    El patrón nos permite separar toda la aplicación en 3 partes fundamentalmente :

    • Modelo
    • Vista
    • Controlador.
    Son realmente tres capas diferenciadas que tiene su función y que interactuan entre si.

    La capa Modelo

    El modelo representa la parte de la aplicación que implemente la lógica de negocio, por ello es la responsable  de la recuperación de datos, la interacción validación o manipulación de dichos datos.


    La capa Vista.

    La vista nos representa los datos del modelo, estando separada de los objetos del modelo, es responsable del uso de la información de la cual dispone para producir cualquier interfaz de representación de cualquier petición que se represente.

    La capa Controlador.

    En realidad es una capa que sirve de enlace entre las vistas y los modelos, respondiendo a los mecanismos que puedan requerirse para implementar las necesidades de nuestra aplicación. Sin embargo, su responsabilidad no es manipular directamente datos, ni mostrar ningún tipo de salida, sino servir de enlace entre los modelos y las vistas para implementar las diversas necesidades del desarrollo.

    Flujo de trabajo.

    Tal como se puede observar en el diagramar el flujo de trabajo característico sería:


    • El usuario realiza una solicitud, y esta solicitud le llega al controlador.
    • El controlador comunica tanto con modelos como con vistas, para ello a los modelos les solicita datos o les manda realizar actualizaciones de los datos. A las vista les solicita la salida correspondiente, una vez se hayan realizado las operaciones pendientes según se defina en la lógica de negocio.
    • Para producir la salida, en ocasiones las vistas requieran de más información de los modelos, y otras veces será el controlador el responsable de solicitar los datos a los modelos y enviarlos a las vistas, haciendo de puente entre unos y otros.
    • Las vistas envían la salida.
    En definitiva es un patrón muy a tener en cuanto si nos queremos dedicar a la programación dado que se implementa en la mayoría de los Frameworks actuales web, como en muchos otros desarrollos.


    Un saludo.


    Con la tecnología de Blogger.

    Popular Post

    Datos personales