miércoles, 5 de febrero de 2014

Java necesita una revolución.

Mientras miraba el último Humble Bundle, en el apartado de estadísticas encontré que para soportar actualizaciones en tiempo real utilizan una plataforma llamada PubNub, que como por cierto me parece bastante interesante os dejo en enlace al vídeo promocional.



El caso es que por ver un poco la dificultad del sistema, me fui a ver un par de ejemplos, y mi no sorpresa llega cuando pulso en la pestaña de Android. Más de seis veces más líneas código en el peor de los casos.

Entiendo que JavaScript pueda alguno tacharlo como lenguaje fullero donde los hayan, pero ¿qué pasa con C#? ¿Y con iOS? Cada día tengo más claro que la elección de Java como lenguaje de programación para Android no ha sido más que un error de cara a los desarrolladores.

 Renovarse o morir Oracle, recuérdalo!





domingo, 24 de noviembre de 2013

¿Por qué la informática?

Siempre me he preguntado que lleva a una persona a elegir su camino en la vida. La educación que recibes de tus padres, las compañías que frecuentas, tus experiencias o tus creencias forman una opinión, que junto al capricho del azar te empujan a tomar una dirección u otra.

En mi caso, y desde que descubrí los ordenadores casi al mismo tiempo que aprendía a leer, siempre supe que de una forma u otra en mi futuro habría ceros y unos. Y lo supe desde descubrí que algo frío e inerte como un ordenador, hacía más amena la estancia en el hospital a mi abuelo cuando con seis años su nieto le escribía una pancarta que le animaba a ponerse mejor.

Mi padre es lo que yo considero sin lugar a dudas un electrónico frustrado. A el le apasionaba la electrónica, y como buen radioaficionado se hacía sus equipos de música, sus emisoras, e incluso le puso todo tipo de artilugios electrónicos al coche de pedales de su hijo. El fue quien trajo a casa mi primer ordenador, un IBM con veinte interminables "megas" de disco junto con las palabras que más odian aquellas mujeres que han compartido su vida conmigo,  "un momentito", "ahora acabo" e incluso el "un segundo que no puedo guardar".

Con los años llegó Internet, y con él una famosa frase de mi madre (que por aquel entonces veía aquel aparato negro como una caja que la dejaba sin línea de teléfono y que acercaba a su infante todo un mundo de perversiones y peligros) de "si entra internet en casa, me voy yo". Por suerte ella iba de farol, y con el tiempo no tuvo más opción que asumir que Internet era el futuro, y que la batalla contra el progreso es poco más que una causa perdida.

Sin embargo, y aunque suene contradictorio, es justo esto lo que me empuja a continuar. Hay una parte de mi que quiere hacerse vieja rápido, para sentir en mis carnes aquel miedo que sentía mi madre a lo desconocido, a no comprender del todo lo que tiene delante, o incluso para ponerle la cara a mi nieto que a mi me ponía mi abuela cuando yo le enseñaba lo que se podía hacer con un ordenador y ella me miraba con cara de el niño está haciendo brujería.

Y es que la verdad, tengo que confesaros que me impone respeto el futuro, pues entre la radio de mi padre y un mundo interconectado solo han pasado veinticinco años. ¿Qué será de nosotros dentro de otros veinticinco? Como decía una agrupación de carnaval, "lo veremos en la segunda parte del cuplé".

Una radio de válvulas, junto a un servidor doméstico. Algo nuevo, y algo viejo.


Firmado:
El investigador sin bata.

viernes, 8 de noviembre de 2013

Programando bajo los efectos de las drogas.

¿Yo? ¡Éso nunca! Pero sin duda, he encontrado una prueba que me insta a pensar que hay quién  recurre a ellas para trabajar. Mientras compilaba la librería de procesamiento multimedia Xuggler me topé con lo siguiente:


  • En los requisitos para compilar:




  • Durante el proceso de configuración del módulo:



Lo cual nos lleva a una pregunta... ¿En qué piensan los desarrolladores? Y lo que es peor, ¿qué hago yo leyéndolo?

Firmado:
El investigador sin bata.

jueves, 31 de octubre de 2013

Internet de las cosas

Muchos habréis oído hablar de internet del futuro o internet de las cosas, para contextualizar un poco la idea, creo que sería conveniente explicar qué significa este término, para que os hagáis una idea de lo que hay, y de lo que vendrá.

El concepto fue acuñado a principios de siglo inicialmente propuesto por Kevin Ashton, popularizándose entre la más universidades más punteras gracias a varios artículos publicados por el M.I.T. y la prensa del sector. El término hace referencia a una realidad donde los objetos empleados en la vida cotidiana (dispositivos móviles, sensores, RFID, cámaras, impresoras, etc.) están conectados entre sí.

Esta idea es simple de entender, pero tremendamente ambiciosa a nivel tecnológico, pues las implicaciones de los avances en la consecución de su objetivo final cambiarán la vida diaria tal y como la conocemos. Se darán situaciones en las que automáticamente, por ejemplo, podremos preguntarle a las llaves que dónde las dejamos, un termómetro de una sala se comunicará con los electrodomésticos para reducir el impacto ambiental, e incluso otras situaciones en las que el proveedor de productos alimentarios conocerá exactamente cuánta cantidad fabricar de un producto, pues la despensa le informará cuándo se está quedando sin existencias.

Gracias al desarrollo de las tecnologías para reducir el tamaño de los dispositivos electrónicos (la llamada miniaturización), cada vez es más sencillo fabricar dispositivos diminutos con conexión a Internet, progresando paso a paso hacia dicha la meta que plantea el paradigma de la Internet de las Cosas.

Además de satisfacer los requisitos hardware también es necesario desarrollar una capa software que permita el descubrimiento automático tanto de dispositivos como de los servicios que ofrecen.

En este sentido, las aplicaciones del Internet del Futuro deberán ofrecer sus funcionalidades vía interfaces como hacen los servicios, adoptando la visión de la Web de las Cosas (Web of Things, WoT), por ejemplos a través de servicios Web basados en mensajes SOAP, o de APIs RESTful. Estas aplicaciones tendrán que soportar la interoperabilidad entre diversos participantes controlando la convergencia entre ambos mundos, el físico y el virtual, y gestionan dinámicamente los cambios durante la interacción entre diferentes objetos. Más aún, se espera que el mercado global de sistemas y servicios en redes crezca exponencialmente en los próximos años: “hacia más de 50 millardos de dispositivos conectados en 2020”.

Figura 1. Escenario de un sistema de videovigilancia


Para abordar esta cuestión, el estándar emergente de OASIS, DPWS (Devices Profile for Web Services) proporciona la funcionalidad requerida, pudiendo llegar a considerarse como el puerto USB a través de Internet. Tiene objetivos similares al ya implantado UPnP (Universal Plug and Play) pero con una visión más centrada en especificar cada dispositivo como un servicio. 

Mi trabajo actual consiste lograr conexión total entre dispositivos diferentes, con independencia de su plataforma o del protocolo de red que empleen. Si el dispositivo no soporta DPWS de forma nativa (ya sea porque no existe una librería para su hardware o simplemente porque no soporta IP), se construye un dispositivo intermedio que haga de puente entre la red propia del dispositivo y IPv6. Es el caso que mostramos en la imagen siguiente, donde se aprecia la idea que planteo de forma gráfica.


Figura 2. Integración homogénea de dispositivos

Una vez se consiga este objetivo satisfactoriamente en la línea del proyecto nacional, la idea es añadir cierta ontología a las operaciones y a los servicios, de forma que sea posible definir un escenario donde cada dispositivo defina unas reglas de uso del mismo, como podría ser en el ejemplo de la figura uno, establecer una jerarquía de prioridades en el uso de las operaciones, de forma que un agente externo sea capaz de operar con ellos sin intervención del usuario. Esta definición queda algo vaga, pero no os preocupéis, tendréis vuestra explicación.

Firmado:
El investigador sin bata.

domingo, 27 de octubre de 2013

De refranes va la cosa

Nunca aceptéis que os digan que tuvistéis suerte. Hay dos refranes que resumen mi experiencia en mi vida, y personalmente, estoy plenamente convencido que cualquier persona que haya tenido éxito en la vida los conocerá bien de cerca.

Quien no arriesga no gana:

Sacrificar las opciones seguras, por una el convencimiento de que merecería la pena, no es algo que se deba tomar a la ligera. En mi grupo de investigación, los contratos más largos que se suelen hacer a los novatos son de seis meses y siempre ligados a un proyecto de investigación. Por lo que sin importar  si el proyecto dura más, tu primer contrato será de esa duración.

Esto implica tres cosas, una puedes negociar un aumento de sueldo, dos puedes cambiar de entorno a si te das cuenta que la investigación no es lo tuyo, y tres que si a la entidad a cargo de financiar el proyecto le parece que pueden prescindir de él, te quedas en la calle.

Actualmente reconozco que la incertidumbre sobre mi futuro no me afecta demasiado, la clave está en hacer algo de dinero por si las cosas salen mal aguantar el tirón, hasta que salga un contrato al que puedas aspirar o simplemente hacer las maletas y tomar el primer vuelo a ninguna parte.

En lo referente a los aumentos de sueldo es muy importante que sepáis que lo que percibís a final de mes[1], depende de varios factores:

  1. El tipo de proyecto al que va asociado, regional, nacional o europeo. Por norma general cuanto más grande sea el organismo que paga más dinero.
  1. De dónde viene el dinero, si el proyecto es público, privado o una mezcla de ambas. Las empresas pueden llegar a pagar más, pero también presionan más en busca de resultados.
  1. Tu formación académica. Un doctor cobra aproximadamente el doble que yo[2]. Aumentar la retribución consiste en mejorar tu formación académica. 

En base a las ofertas que he ido viendo, los salarios oscilan aproximadamente desde los 1400€  a 2800€ brutos. Depende del sitio, del grupo de investigación y sobretodo de como quiera repartir el presupuesto del proyecto el responsable. Aunque para las ventajas e inconvenientes quiero dedicar una entrada completa.





Quien no llora no mama:

El otro día en un programa del estilo a españoles por el mundo decía un chaval que vivía en Silicon Valley, que la gente que paga 40.000$ al año por la matrícula en Stanford lo hace únicamente por los contactos. Yo no puedo estar más de acuerdo, independientemente de donde, pasar años de tu vida en un sitio para que al salir no sepan ni tu cara, es una completa pérdida de tiempo. Desgraciadamente en España, la mayoría de los alumnos de la Universidad pasan su época de puntillas, con miedo a hablar con un profesor e yendo a academias por miedo a subir a una tutoría. Y los que lo hacen son unos "lameculos". Me gustaría saber a mí si no es más absurdo dedicarse a cerrarse puertas sin motivo alguno.

No os confundais, nadie habla de llevarle el café al profesor, pero si te interesa una asignatura ¿por qué no vas a indagar más? ¿Qué problema hay en sacar una buena nota? A nadie se le caen los anillos por preguntar por un contrato de investigación, o por una beca de colaboración, lo que es seguro que si no preguntas probablemente nadie te la ofrezca. En esta vida hay que llamar a muchas puertas antes de que te abran.

Tenedlo claro si vuestro objetivo es la investigación, necesitas un "padrino". Nadie va a contratar a un investigador que no conozca nadie. Tienes que poder demostrar de forma tangible que vales para el puesto, ya que por ejemplo en mi caso nadie controla las horas que paso aquí, no puede entrar cualquier irresponsable a vivir de la sopa boba del estado. 

Recapitulando

Tenéis que tener claro lo que significa investigar. En el contexto de una empresa construcción, la empresa privada te diría queremos una puerta, de madera y el color puede variar entre marrón y negro. Sin embargo a mí como investigador lo único que me dijeron es queremos un sitio por donde pasar, no sabemos cuál es la mejor forma, ni mucho menos el color. Tendrás que probar por ti mismo. La libertad puede llegar a ser una importante fuente de frustración. Cuando no sepas resolver algo los demás probablemente solo puedan aconsejarte, en mi laboratorio somos lobos solitarios, cada uno tiene su investigación, puedes pedir consejo al de al lado, pero poco más. Incluso el investigador principal de tu proyecto puede que sea incapaz de bajar al nivel de tu problema, pues generalmente se mueven a un nivel más abstracto, ellos son la idea global, pero el día a día de desarrollo sólo lo conoces tu.

Además de analizar las ventajas de trabajar aquí, también quisiera poneros al corriente de qué hago de forma simple, para luego ir profundizando, que seguro que algo de lo que hago os resulta interesante. Todo eso será en los próximos capítulos, ya sabéis no os perdáis ninguno, y si os gusta compartirlo :)

Firmado:
El investigador sin bata.




[1] No olvidéis que siempre hablo por experiencia y ésta se limita a mi actual grupo de investigación.
[2] Mi contrato es el más humilde, pues estoy contratado como técnico de apoyo, debido a que como aún no he entregado el PFC, estoy contratado como si únicamente tuviese Bachillerato/CFGS.

lunes, 21 de octubre de 2013

La decisión

Sinceramente he dado muchas vueltas a cómo y de que manera debería enfocar mi futuro profesional. Pese a que pueda sonar algo cínico dada la situación de muchos jóvenes, un Ingeniero Informático tiene "demasiadas" opciones al acabar la carrera.

Y digo demasiadas porque aunque el sector disponga según un informe una tasa de paro bajísima [1] , la realidad es que la mayoría de estas ofertas de trabajo no pueden ser consideradas de forma seria.

Pero como la intención de esta entrada no es criticar la precariedad y el intrusismo en nuestro sector, volviendo al tema comentar que cuando me planteé mi futuro en Junio, tenía a la vista tres opciones.

  1. Crear con unos compañeros una sociedad limitada y dedicarme a la creación de aplicaciones móviles, centrándome en Android donde ya tengo una dilatada experiencia.
  2. Hacer carrera en una empresa local, de desarrollo de aplicaciones móviles la cual buscaba alguien con mi perfil.
  3. Esperar a que empezara el curso y confiar en que la idea que sacarían contratos de investigación que comencé a escuchar por Mayo, cuajarían cuanto antes.
¿Cuál era, a priori mi mejor opción? Intentemos llegar juntos a la conclusión que yo llegué de nuevo. Para poneos en situación tengo veinticuatro años, en estos momentos vivo en casa de mis padres, y en esta época me pagaba mis "vicios", con una aplicación en Android Market [2] y haciendo de técnico informático para uno de los restaurantes más importantes de Málaga. Es decir, no necesitaba el dinero con urgencia, por lo que me podía permitir el lujo de evitar las temidas "cárnicas". 

En el caso de la primera la descarté principalmente por una razón, "no metas la polla en la olla". Pese a que son brillantes (con unos expedientes que ya los quisiera yo), mis compañeros empezaban de cero en Android, y yo no tenía claro que el proyecto al que ahora se dedican fuera a gustarme como para echarle ocho horas al día. ¿Se podría haber resuelto de mejor manera? Posiblemente sí, pero tomé la opción más sencilla, no molestar. Confío en que algún día me pase como a Roland Wayne, desde aquí, les deseo lo mejor.

La segunda no fue una decisión muy complicada, pese a ofrecerme un buen puesto de trabajo como primer empleo, no veía del todo claro si aguantaría, después de tantas horas con el simulador abierto, un año programando en Android, pero sobretodo tenía la incertidumbre de cual sería mi proyección de futuro, ya que la empresa es muy pequeña en tamaño y las posibilidades de promocionar son prácticamente nulas. 

Como ya solo quedaba una, no tenía más alternativa que apostar todo al mismo color y cruzar los dedos... (Es broma, no ha sido tan dramático en realidad).

Quizás os estéis preguntando por qué no me he planteado marcharme, pero esto, junto con los pros y contras de la tercera opción, lo dejo para después de la publicidad.

Firmado: 
El investigador sin bata.



[1] http://coddii.org/wp-content/uploads/2012/07/INFORME-EMPLEABILIDAD-2012.pdf
[2] http://play.google.com/store/apps/details?id=com.oledev.icotilleoslite

viernes, 18 de octubre de 2013

Declaración de intenciones

El propósito de este blog es contaros (lectores, permitidme que os tutee), que acabo de empezar una nueva etapa de mi vida, en la que tras seis años estudiando Ingeniería Informática, he tomado la decisión de quedarme trabajando en España como investigador en la Universidad.

En vista de que últimamente los medios únicamente hablan de las ventajas de marcharse a otro país, yo quiero romper una lanza a favor de los que aún creen que hay salida dentro de nuestras fronteras, y espero que si alguien está tanteando una decisión similar a la que tomé hace dos meses, le pueda servir de guía en la difícil tarea a la que te enfrentas el día que sales de tu último examen. En mi caso fue un mes de reflexión en el que la pregunta "¿Y ahora qué?" no dejó de repetirse en ningún momento.

Espero que os gusten las entradas que vendrán y ya sabéis que si tenéis alguna pregunta, no dejéis de comentar. Un saludo y hasta la próxima.

Firmado:
El investigador sin bata.